#include using namespace std; typedef long long LL; int main() { // 1. 入力情報取得. LL N; cin >> N; // 2. 偶奇判定. // ex. N = 1, 2 なら先手勝ち. // ex. N = 3 ならば, // 先: 皿3 から 3枚 -> 後: 皿2 から 1枚 -> 先: 皿2 から 1枚 -> 後: 皿1 から 1枚 // のような手順で, 後手勝利となる. // ex. N = 4 ならば, // 先: 皿4 から 4枚 -> とすると, N = 3 のパターンに持っていけるので, 先手勝利となる. // ex. N = 5 ならば, // 先: 皿5 から 4枚 -> 後: 皿5 から 1枚 とすると, N = 4 のパターンに持っていけるので, 先手勝利となるはず. // -> 後手勝利のパターンに見える. // -> 先: 皿5 から 4枚 -> 後: 皿4 から 3枚 とすると, 皿4, 5 に, 1枚ずつ残るので, N = 3 は, // 先手番が対応することになるので, 後手勝利になるような気がする??? string ans = "O"; if(N % 2 == 1) ans = "X"; if(N == 1) ans = "O"; // 3. その他. // N が 奇数でも, 先手が勝利出来るパターンがあるらしい??? // 8.txt, 15.txt, 16.txt, 99_system_test1.txt, 99_system_test2.txt, // challenge01.txt, gen_case2.txt -> "O" が正解. // LL count = N * (N + 1) / 2; // if(count % 2 == 1) ans = "X"; // 3. 後処理. cout << ans << endl; return 0; }