%
% Летние всероссийские школьные учебно-тренировочные сборы по информатике
% воскресенье, 28 июня 2015 года
%
% Условие: Сергей Копелиович
% Тесты: Сергей Копелиович
% Решения: Сергей Копелиович
% Идея: Глеб Евстропов
%
\gdef\thisproblemauthor{Глеб Евстропов}
\gdef\thisproblemdeveloper{Сергей Копелиович}
\begin{problem}{Общий префикс матриц}
{}{}
%{\textsl{стандартный ввод}}{\textsl{стандартный вывод}}
{2 секунды}{512 мебибайт}{}

Вам даны квадратные матрицы $a$ и $b$. Элементы матриц "--- целые числа от 0 до 100.
Вам нужно для каждой позиции $(x_0, y_0)$ найти такое максимальное $k$,
что для всех $(x, y)$ таких, что $0 \le x < k$ и $0 \le y < k$, верно
$a[x_0 + x, y_0 + y] = b[x, y]$ и индексы не выходят за границы матриц.

\vspace*{0.5em}
Входные данные весят много метров, поэтому вам предоставлен 
\href{http://informatics.letovo.ru/d/matrix_public_part.cpp}{код}, 
который их генерит, в него лишь нужно вставить 
своё решение. А именно вам нужно реализовать функцию \t{solve(an,~a,~bn,~b,~k)},
которая получает матрицу \t{a} размера $\t{an} \times \t{an}$,
матрицу \t{b} размера $\t{bn} \times \t{bn}$ ($\t{bn} \le \t{an}$)
и записывает результат в матрицу \t{k} размера $\t{an} \times \t{an}$.

\vspace*{0.5em}
Формат входных данных для локального тестирования: номер теста.

Формат выходных данных: хеш от результата.

\Scoring

Баллы за каждую группу начисляются только при прохождении всех тестов группы.

\vspace*{0.5em}
\hspace*{-0.5em}\begin{tabular}{ll}
  {\bf Подзадача 1 (25 баллов):} & $1 \le \t{an}, \t{bn} \le 200$. \\  % n^4
  {\bf Подзадача 2 (25 баллов):} & $1 \le \t{an}, \t{bn} \le 500$. \\  % n^3
  {\bf Подзадача 3 (25 баллов):} & $1 \le \t{an}, \t{bn} \le 1600$. \\ % n^2 хешей * log от бинпоиска по ответу
  {\bf Подзадача 4 (25 баллов):} & $1 \le \t{an}, \t{bn} \le 3200$. \\ % n^2 хешей 
\end{tabular}

\Examples

\begin{example}
\exmp{%
4
0 1 0 1
1 1 1 1
0 1 0 1
1 1 0 0
3
0 1 0
1 1 1
0 1 0
}{%
3 0 2 0 
0 0 0 0 
2 0 1 0 
0 0 1 1 
}%
\end{example}

\end{problem}
