#include <iostream>
#include <set>
using namespace std;
#define SZ 200
int main()
{
int t[SZ][SZ];
for (int y=0; y<SZ; y++) {
for (int x=0; x<SZ; x++) {
std::set<int> s;
for (int yy=0; yy<y; yy++)
s.insert(t[yy][x]);
for (int xx=0; xx<x; xx++)
s.insert(t[y][xx]);
int r;
for (r=0; s.count(r); r++) {}
t[y][x] = r;
if (r != (x^y))
{
cout << "Incorrect :( " << endl;
return 0;
}
}
}
cout << "It works!" << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBTWiAyMDAKCmludCBtYWluKCkKewogICAgaW50IHRbU1pdW1NaXTsKICAgIGZvciAoaW50IHk9MDsgeTxTWjsgeSsrKSB7CiAgICAgICAgZm9yIChpbnQgeD0wOyB4PFNaOyB4KyspIHsKICAgICAgICAgICAgc3RkOjpzZXQ8aW50PiBzOwogICAgICAgICAgICBmb3IgKGludCB5eT0wOyB5eTx5OyB5eSsrKQogICAgICAgICAgICAgICAgcy5pbnNlcnQodFt5eV1beF0pOwogICAgICAgICAgICBmb3IgKGludCB4eD0wOyB4eDx4OyB4eCsrKQogICAgICAgICAgICAgICAgcy5pbnNlcnQodFt5XVt4eF0pOwogICAgICAgICAgICBpbnQgcjsKICAgICAgICAgICAgZm9yIChyPTA7IHMuY291bnQocik7IHIrKykge30KICAgICAgICAgICAgdFt5XVt4XSA9IHI7CiAgICAgICAgICAgIGlmIChyICE9ICh4XnkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb3V0IDw8ICJJbmNvcnJlY3QgOiggIiA8PCBlbmRsOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8ICJJdCB3b3JrcyEiIDw8IGVuZGw7Cn0K