#include using namespace std; #define rep(i, l, r) for (int i = (int)(l); i < (int)(r); i++) #define rrep(i, r, l) for (int i = (int)(r); i > (int)(l); i--) #define all(a) (a).begin(), (a).end() #define rall(a) (a).rbegin(), (a).rend() namespace nono { long long range_xor(const long long n) { assert(n >= 0); bool flag = (n & 1) ^ 1; long long res = ((n + 1) >> 1) & 1; for (int i = 1; i < 61; i++) { if (n & (1 << i) && flag) { res |= 1 << i; } } return res; } long long range_xor(const long long l, const long long r) { assert(l > 0 && r > 0); return nono::range_xor(r - 1) ^ nono::range_xor(l - 1); } } /// namespace nono void solve() { long long n; cin >> n; if (nono::range_xor(n) == 0) { cout << 'X' << '\n'; } else { cout << 'O' << '\n'; } } int main() { int t = 1; // cin >> t; while (t--) { solve(); } }