#nullable enable #region var (_input, _iter) = (Array.Empty(), 0); T I() where T : IParsable { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Trim().Split(' '), 0); return T.Parse(_input[_iter++], null); } #endregion var n = I(); var p = I(); var ans = n != 0; Console.WriteLine(ans ? "Yes" : "No"); // for (var n = 0; n <= 30; n++) for (var p = 2; p <= 30; p++) // { // var f = false; // for (var k = 0; k < 100; k++) // { // var s = 0; // var last = 1; // for (var i = 0; i <= n; i++) // { // s = (s + last) % p; // last = last * k % p; // if (s == 0) break; // } // if (s == 0) f = true; // } // if (!f) Console.WriteLine(n + " " + p); // }