結論から言うと, が の倍数ならば Bob さんが勝ち,そうでなければ Sakky さんが勝ちます.
が の倍数でないとき,Sakky さんが勝つことを示します.
以下のような戦略を取ることで Sakky さんは必ず勝利することができます.なお,合同式は を法として考えます.
すなわち,上記の戦略によって,Sakky さんは必ず から操作を始め Bob さんは必ず から操作を始めることになります.
敗北するのは から自分の操作を始めるときであり,これは必ず Bob さんの手番に回ってくることになります.
したがって,Sakky さんは必ず勝利することができます.
逆に が の倍数のときは,同じ戦略を Bob さんにやり返されてしまうため Sakky さんは負けることになります.
コンテスト中に証明まで思いつくのは難しいですが, の値が小さい時の結果を(Grundy数の計算やシミュレーションによって)列挙することで答えを閃くことは可能です.
xxxxxxxxxx
X = int(input())
print('Sakky' if X%3 else 'Bob')