#include long long pow10(int e) { assert(0 <= e && e <= 18); long long r = 1; for (int i = 0; i != e; ++i) { r *= 10; } return r; } #include #include "testlib.h" int main(int argc, char *argv[]) { registerValidation(argc, argv); int N = inf.readInt(2, 40); inf.readSpace(); int K = inf.readInt(1, 2 * pow10(5)); inf.readSpace(); int X = inf.readInt(0, pow10(9)); inf.readSpace(); int Y = inf.readInt(X, pow10(9)); inf.readEoln(); for (int i = 0; i < K; ++i) { inf.readInt(0, 1023); if (i + 1 != K) { inf.readSpace(); } else { inf.readEoln(); } } inf.readEof(); ensure(N % 2 == 0); long long T = 1; for (int i = 0; i < N; ++i) { ensure(T <= LLONG_MAX / K); T *= K; } ensure(T <= 2 * pow10(15)); }