#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 ss = new HashSet(); for (var i = 100000; i <= 999999; i++) { if (i > n) break; var s = i.ToString(); if (s[0] == s[1] && s[2] == s[5] && s[3] == s[4]) { var y = -i; while (Math.Abs(y) <= n) { ss.Add(y); y -= i; } } } var ans = 0L; foreach (var y in ss) { ans += y; ans %= p; if (ans < 0) ans += p; } Console.WriteLine(ans);