#include using namespace std; // @EXPECTED_RESULTS@: WRONG_ANSWER, TIME_LIMIT_EXCEEDED typedef long long ll; typedef long double ld; typedef vector vi; typedef vector vvi; int main() { ll h, w; cin >> h >> w; vvi p(h, vi(w)); for (ll y = 0; y < h; y++) { string s; cin >> s; for (ll x = 0; x < w; x++) { p[y][x] = s[x]; } } for (ll y = 0; y < h; y++) { for (ll x = 0; x < w; x++) { for (ll s = 1; s < max(w, h); s++) { ll Y, X; ll a = p[y][x], b = p[(Y = (y + s) % h)][x], c = p[y][(X = (x + s) % w)], d = p[Y][X]; if (a != b && a != c && a != d && b != c && b != d && c != d) { cout << "possible" << endl; return 0; } } } } cout << "impossible" << endl; }