#include "testlib.h" #include using namespace std; const int MAX_Y = 1'000'000'000; const int MAX_N = 100; const int MAX_A = 10'000'000; const vector kcpc = { "#...#.#####", "#.##..#....", "##....#....", "#.##..#....", "#...#.#####", "...........", "####..#####", "#...#.#....", "####..#....", "#.....#....", "#.....#####" }; const vector kupc = { "#...#.#...#", "#.##..#...#", "##....#...#", "#.##..#...#", "#...#.#####", "...........", "####..#####", "#...#.#....", "####..#....", "#.....#....", "#.....#####" }; int main(int argc, char* argv[]) { registerValidation(argc, argv); int N = inf.readInt(11, MAX_N, "N"); inf.ensuref(N%11 == 0, "invalid N"); int k = N/11; inf.readEoln(); vector S(N); for(int i = 0; i < N; i++) { S[i] = inf.readString(format("[.#]{%d, %d}", N, N), "S_"+to_string(i)); } inf.readEof(); bool iskcpc = true, iskupc = true; for(int i = 0; i < N; i++) for(int j = 0; j < N; j++) { if(S[i][j] != kcpc[i/k][j/k]) iskcpc = false; if(S[i][j] != kupc[i/k][j/k]) iskupc = false; } inf.ensuref(iskcpc || iskupc, "invalid S"); if(iskcpc) cout << "KCPC" << endl; else cout << "KUPC" << endl; }