def get_zcy(n:int) -> int:
str_n = str(n)
res = str_n + str_n[::-1]
return int(res)
def main():
res = 0
inp = input().split()
k = int(inp[0])
p = int(inp[1])
s = 0
for i in range(1, k + 1):
s += get_zcy(i)
print(s % p)
if __name__ == "__main__":
main()
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int b[1000005];
void run_case(){
int n,k;
cin >> n>> k;
int j=1;
ll sum=0;
while(n-->0)
{
string s=to_string(j);
string t=s;
reverse(t.begin(), t.end());
sum=sum+stoll(s+t);
j++;
}
cout << sum%k << endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
ll tests=1;
//cin >> tests;
while (tests-- > 0)
run_case();
}
1650C - Weight of the System of Nested Segments | 1097A - Gennady and a Card Game |
248A - Cupboards | 1641A - Great Sequence |
1537A - Arithmetic Array | 1370A - Maximum GCD |
149A - Business trip | 34A - Reconnaissance 2 |
59A - Word | 462B - Appleman and Card Game |
1560C - Infinity Table | 1605C - Dominant Character |
1399A - Remove Smallest | 208A - Dubstep |
1581A - CQXYM Count Permutations | 337A - Puzzles |
495A - Digital Counter | 796A - Buying A House |
67A - Partial Teacher | 116A - Tram |
1472B - Fair Division | 1281C - Cut and Paste |
141A - Amusing Joke | 112A - Petya and Strings |
677A - Vanya and Fence | 1621A - Stable Arrangement of Rooks |
472A - Design Tutorial Learn from Math | 1368A - C+= |
450A - Jzzhu and Children | 546A - Soldier and Bananas |