//Aakash Jain - SPOOKY
#include <bits/stdc++.h>
using namespace std;
bool subset[500][100001]; //dynamic programming store
int divisors[500];
bool isSpooky(int n) {
int i, j, limit = sqrt(n),
numDivs = 0, //number of divisors
sumDivs = 1; //sum of divisors
divisors[numDivs++] = 1; //add 1 to divisors
for(i = 2; i <= limit; i++)
if(n%i == 0) {
//add i and n/i to divisors
j = n/i;
divisors[numDivs++] = i;
divisors[numDivs++] = j;
sumDivs += i+j;
}
if(i*i == n) {
//if n is a perfect square, its square root would be added twice
//so remove the duplicate occurrence
numDivs--;
sumDivs -= i;
}
if(sumDivs <= n)
return false; //check first condition
//subset sum problem
for(i = 0; i <= numDivs; i++)
subset[i][0] = true;
for(i = 1; i <= n; i++)
subset[0][i] = false;
for(i = 1; i <= numDivs; i++)
for(j = 1; j <= n; j++)
if(j >= divisors[i-1])
subset[i][j] = subset[i-1][j] || subset[i-1][j - divisors[i-1]];
else
subset[i][j] = subset[i-1][j];
return !subset[numDivs][n];//check second condition
}
int main() {
int t, n;
cin >> t;
while(t--) {
cin >> n;
if(isSpooky(n))
cout << "SPOOKY\n";
else
cout << "OK\n";
}
return 0;
}
Ly9BYWthc2ggSmFpbiAtIFNQT09LWQojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmJvb2wgc3Vic2V0WzUwMF1bMTAwMDAxXTsgLy9keW5hbWljIHByb2dyYW1taW5nIHN0b3JlCmludCBkaXZpc29yc1s1MDBdOwoKYm9vbCBpc1Nwb29reShpbnQgbikgewoJaW50IGksIGosIGxpbWl0ID0gc3FydChuKSwKCQludW1EaXZzID0gMCwgLy9udW1iZXIgb2YgZGl2aXNvcnMKCQlzdW1EaXZzID0gMTsgLy9zdW0gb2YgZGl2aXNvcnMKCWRpdmlzb3JzW251bURpdnMrK10gPSAxOyAvL2FkZCAxIHRvIGRpdmlzb3JzCglmb3IoaSA9IDI7IGkgPD0gbGltaXQ7IGkrKykKCQlpZihuJWkgPT0gMCkgewoJCQkvL2FkZCBpIGFuZCBuL2kgdG8gZGl2aXNvcnMKCQkJaiA9IG4vaTsKCQkJZGl2aXNvcnNbbnVtRGl2cysrXSA9IGk7CgkJCWRpdmlzb3JzW251bURpdnMrK10gPSBqOwoJCQlzdW1EaXZzICs9IGkrajsKCQl9CglpZihpKmkgPT0gbikgewoJCS8vaWYgbiBpcyBhIHBlcmZlY3Qgc3F1YXJlLCBpdHMgc3F1YXJlIHJvb3Qgd291bGQgYmUgYWRkZWQgdHdpY2UKCQkvL3NvIHJlbW92ZSB0aGUgZHVwbGljYXRlIG9jY3VycmVuY2UKCQludW1EaXZzLS07CgkJc3VtRGl2cyAtPSBpOwoJfQoJaWYoc3VtRGl2cyA8PSBuKQoJCXJldHVybiBmYWxzZTsgLy9jaGVjayBmaXJzdCBjb25kaXRpb24KCQoJLy9zdWJzZXQgc3VtIHByb2JsZW0KCWZvcihpID0gMDsgaSA8PSBudW1EaXZzOyBpKyspCgkJc3Vic2V0W2ldWzBdID0gdHJ1ZTsKCWZvcihpID0gMTsgaSA8PSBuOyBpKyspCgkJc3Vic2V0WzBdW2ldID0gZmFsc2U7Cglmb3IoaSA9IDE7IGkgPD0gbnVtRGl2czsgaSsrKQoJCWZvcihqID0gMTsgaiA8PSBuOyBqKyspCgkJCWlmKGogPj0gZGl2aXNvcnNbaS0xXSkKCQkJCXN1YnNldFtpXVtqXSA9IHN1YnNldFtpLTFdW2pdIHx8IHN1YnNldFtpLTFdW2ogLSBkaXZpc29yc1tpLTFdXTsKCQkJZWxzZQoJCQkJc3Vic2V0W2ldW2pdID0gc3Vic2V0W2ktMV1bal07CgkKCXJldHVybiAhc3Vic2V0W251bURpdnNdW25dOy8vY2hlY2sgc2Vjb25kIGNvbmRpdGlvbgp9CgppbnQgbWFpbigpIHsKCWludCB0LCBuOwoJY2luID4+IHQ7Cgl3aGlsZSh0LS0pIHsKCQljaW4gPj4gbjsKCQlpZihpc1Nwb29reShuKSkKCQkJY291dCA8PCAiU1BPT0tZXG4iOwoJCWVsc2UKCQkJY291dCA8PCAiT0tcbiI7Cgl9CglyZXR1cm4gMDsKfQ==