#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(i,m,n) for (int i = m; i < n; i++) int values[2020][2020]; int square[2020][2020]; int typ[2020][2020]; int main() { while(1){ int H, W; scanf("%d%d",&H,&W); if (H==0 && W==0) break; for(int h=0;h 2) { int dx2 = values[h][w-2] - values[h][w-1]; int dy2 = values[h-2][w] - values[h-1][w]; if (dx2!=dx0 || dy2!=dy0) square[h][w] = 2; } ret = max(ret, square[h][w]); } } printf("%d\n", ret*ret); } return 0; }