mirror of
https://git.sb/baoshuo/OI-codes.git
synced 2024-12-26 10:12:00 +00:00
4 lines
2.1 MiB (Stored with Git LFS)
4 lines
2.1 MiB (Stored with Git LFS)
200000
|
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
|
423719931 910624937 630877104 997535900 982630080 434291241 233909276 277918494 570442316 817674194 722058201 146408401 416823723 931237688 130456275 360378981 778963318 543505072 306482911 394761558 611703493 828413378 83631608 714951949 670398926 112768008 442628690 467582608 458275970 24843033 433323689 165527578 765603993 367514188 583929376 824713498 539925526 344538310 186583199 836891162 429854709 512754680 142660709 917226402 439291621 16759857 192648806 493590666 494247246 165916866 118700254 95804996 114872876 459368727 601613054 747075975 677192981 487626225 594543535 409898394 869838287 561095440 126001486 966203960 733988312 934062963 300537773 141664752 1566554 912443527 760139819 221117839 478225713 975179546 534957959 935198763 270671403 939460044 429957892 667446095 805152625 113495261 850432421 643460094 806220391 90802293 706180443 270109013 461643839 203237225 685964449 874239297 163103573 897435702 215770111 68915532 398943046 798082573 272089751 705241532 875815561 348907001 272149989 441332179 248106272 150897997 959088970 366852108 252310347 537363672 384521152 175377568 406965350 126819101 294370239 520830396 459420603 369695895 926047113 904429858 948602510 476928050 378484976 949997179 285504566 135316812 899355028 13313420 162946327 800565159 417411384 927106986 919825754 464109731 334922530 734529966 758677270 232854946 318631021 297495559 881734222 603024838 702652245 197182725 204412438 55106060 475704351 611384393 271738718 998229294 738112968 360269170 475598319 567914658 198366551 6746452 448081182 29536565 943309989 98819805 912759286 123586904 283034913 694274606 294077491 437270138 247951042 844868427 689025621 281776914 155417258 199243109 357686291 489436750 682894036 11554819 925566870 148796667 89472773 869065355 575523508 965006521 114346413 146049890 867149312 733540126 372466415 596690393 699522004 22131785 801993502 413848242 127388978 25128058 417056323 716399897 258406671 137908442 832269133 656674896 820791662 332251109 451339362 591928315 909749097 509900214 109969278 989883953 454793750 270967282 880163603 544296584 600620235 148797598 695019445 161981257 141605278 155544927 436904789 734970944 337343793 845616926 197040024 345454142 494298181 714436773 205531190 963725366 551379358 126434267 534796431 461420360 329290261 41387087 370369713 143176134 826414186 308260088 571025607 468432837 509184467 200296839 352289015 773335786 827473208 428598182 15948692 683184052 312606859 206559713 682504554 542687616 687359571 932813304 289948679 140296020 891308838 199678763 62697578 858120792 294665632 512995389 511542784 960579122 226138287 251792774 546201301 595655096 202450622 360537053 499069282 449026913 39872435 523065330 114188738 969515971 156420831 50531495 277377779 280953732 488546486 349812672 221717145 83643195 371584524 686451376 464541948 675460 833533174 99911934 969524287 979989625 469839388 293548923 916424619 218775440 308724299 699620049 743866726 408058957 805040422 822016365 58701956 759126788 466385372 868678672 791621584 337605156 164437044 438765031 102665739 355960895 156530553 497933265 771840375 674819772 694774845 222315329 186099627 263227569 601060881 630555496 489459503 640505251 993103313 777685593 927879412 399881386 551421214 487310436 721155433 778122689 953285748 989483825 313615568 201635759 392779043 152300443 533277756 122679382 822091612 132909419 177492730 11435660 290490034 478231335 896910839 322656864 478257230 782043365 348009260 297772898 764889663 729959132 173248251 536127370 336975502 2901150 710388259 624269339 810176308 884906316 925657661 173780976 534802917 110419921 766671281 384275811 523382725 644080844 421884419 729322357 369191570 490417416 857209147 140963868 870563825 387481326 330868375 464699807 217877720 267149277 204678962 132808717 613557265 613128682 775244691 997638586 857792361 480269661 141764442 992325521 564740892 472870775 795207894 823902245 990784410 331804018 749767585 966721208 421799889 278305653 625884134 466629395 374628629 718459070 73389024 737651657 229585123 744032986 91235064 742030294 223995327 106325072 143122516 260655588 835240262 486925110 541458328 73777575 967657707 333589878 770951494 165709960 643536162 56713523 631195747 579048940 835028493 530899649 944610720 672561054 252400544 925330684 253612936 851122058 986603268 457347680 854206436 506138661 152553633 465287481 314897450 352406408 231179405 384883755 198581271 138947035 997333365 382192132 294960762 389657840 926806573 719726152 627522950 749803061 940093351 545674190 734148440 362353953 690720213 696672146 147558910 262230606 251372316 624496192 588612048 888692189 367414829 380516524 111724631 3479340 944687047 317187095 353739775 639667287 47614842 103370891 987823152 981734169 23319359 61277382 669786588 325632163 22472279 807727917 35163968 390361537 286661339 631031625 305127747 934181979 803980708 601966971 110397178 925733538 235045227 533269244 699460087 673911712 752359245 882926264 367302050 231607020 508521720 689439211 718146958 96934806 622156698 306443049 794351485 752090219 693692375 300454120 91449923 27833416 294592390 869534250 431053857 253837315 164301745 874481407 790959171 989849230 221121193 631299599 764950595 415583257 291229545 646656485 204052813 913629436 895882216 108426358 697569341 775837952 289207730 967317685 767557059 439054739 294448008 404932058 873118412 692909615 643643167 101638278 133195825 19822429 473347087 92221241 511897310 438703297 667941485 64982706 566167912 261095824 935296018 410132163 777234389 659733574 83822775 453637563 685195223 318669540 29418352 456960192 151447423 22203930 825722644 715262866 821336343 954358327 697434483 275864777 57167445 275508237 481822818 120639258 478476818 66923005 619792728 477488609 506751389 235559782 803949425 543771697 618162047 960599821 154672212 478957690 782934890 530359739 494671865 968402378 385786547 45231926 234254739 339125893 133714296 726050195 869200421 497455033 416592640 636111761 669167478 20807588 502299429 697908355 467965476 309755938 297098792 267656583 314911882 197876148 481247698 839832784 881764155 151397002 704523392 22713005 911155990 836275940 354008301 467970155 865148184 557084177 468723718 259838955 548341501 176720036 926180542 53037775 211003529 171058182 505398184 741423403 444695477 629113114 123339820 675157965 91016152 637941347 649587973 200981866 339465410 200104657 909558750 417125556 113385001 256179420 386753859 68787670 765153338 304028720 686792455 810302264 185233751 952624247 81579877 431549145 533918003 839497887 446735496 229014960 759000871 129632675 442417505 218621763 927862708 145656051 754599243 288491152 376857837 841369876 384109023 645765157 533641052 408436363 504362591 715446831 612353553 503121728 215795948 883180917 592116277 572105294 75839408 546773106 711423354 453834021 412862233 317112579 936335162 347263160 546129606 458968645 630814448 372100605 749177016 387930823 314165330 662098795 743413282 298998384 933324211 669332862 856261598 470020211 791496820 736349760 827918326 845625231 110266293 634176035 578580468 514888797 610390558 822900699 779120482 763167152 48246146 218607527 385791163 480044193 290496980 651619511 88696157 28199116 552185244 992802284 466399814 277039503 392833626 829458149 821579956 297073283 675290721 169174583 721940473 896367245 453959333 723853749 950120457 588871887 810875659 336706183 653344291 885053041 384817679 392556117 682643197 947237396 904765832 252176509 483906080 852199497 362499664 435598834 83410219 683949180 472305613 32886038 888072691 511567816 822769521 675166899 675881440 8366886 200438826 654662807 247422689 797009923 572832915 756383456 519203992 624251984 322804819 615023020 617211722 834029388 223214588 846509410 656250768 942522705 504405936 786910558 231116336 179931882 14195472 517464590 487492913 636095783 923496540 425125527 871418039 762387675 959035244 818739951 214095819 646825467 915261513 456747997 777575839 766917444 888546722 290922006 989275905 17840006 970292540 134502687 311449819 972022425 491443092 290493511 917362785 594995339 403861149 748811984 6091639 662065443 731606012 155752923 3176470 588514200 24939581 165648259 57130202 164357934 966955657 957594262 189317216 76976695 472195638 616662841 688291337 566122418 645428474 53531731 302658403 219118458 749374257 458335631 745728128 538506892 933540631 451107099 111928462 971233724 313195573 876963356 668831580 920578503 75439973 328774803 717864439 875583822 9427192 738841672 386158364 30534152 610605976 572002217 59443702 602105711 322103018 654070392 524119966 403036529 71432698 708414262 780744012 424947785 698230906 44599936 121143770 8613751 790642102 414907811 716148133 956696136 796711758 798433865 213903548 85592240 513137645 820459671 485776823 83469480 533825103 240028865 902362046 611003172 226605507 73655687 657552975 243625786 775838346 430364766 58682353 515590037 401928380 997758827 824417278 646904740 107713898 690486387 165563142 3264708 302280837 587304828 728336209 666744616 62924212 406424585 340126238 709364283 691034720 571643723 143548690 107272067 264979345 271604939 29050175 110504995 778572119 510446501 545134130 63845727 673699061 450585661 933923226 359509033 80062375 382638989 230966737 810558267 170432599 99493334 550616053 934543307 704130074 144788233 369163252 961979810 156799165 24517666 949951118 279440186 32331096 516935246 1075356 614567913 809610527 82533358 569705731 400514481 483613523 413688671 136473732 485513768 931441885 930297218 936207377 266674642 837332718 603915672 633815941 396177428 517841686 2351282 187695169 120285909 30327673 256982585 570528094 931018253 667226975 210446053 768039110 131803571 778761880 850669748 679998358 393501600 796422490 105632656 541349726 723355167 64683673 171263896 724118487 459467857 883247926 934224112 799936232 818712704 634327646 872582930 345451224 630065250 317022327 228997402 473001471 316795708 903123662 970918174 350541740 662198821 108102966 996256813 877804217 804614252 660661987 822522528 897191516 987461634 966017731 535860559 979080529 830536410 763873245 224093807 7743720 688407023 850072785 348387359 590543717 316882202 980046914 948724459 542245303 570747643 897641344 221182751 851912623 530011687 654346035 244097801 957110511 44260448 255019506 992641112 448343729 425134822 195990820 505581734 586009862 670431577 158803212 319380984 213271737 126006661 61643293 529502268 159193889 736777080 980902404 977376516 466067710 625087743 506490076 325025538 326398301 973801035 936004680 905522664 40134605 492682853 489600711 419384661 499383505 415708249 209287967 735302389 164865767 850927370 167746521 740440608 518753845 278827333 239674055 877149011 354835836 412707006 586455289 154800900 556224924 962337453 248578257 661263242 444809806 280058683 229278882 885697997 62249280 637501611 731608456 315718145 384503071 280616460 173988502 38838266 619081492 909371745 833888166 331424751 112468855 217839675 64861825 689812394 122095173 335023289 811329192 272422343 852713630 968922600 503475198 869742864 286565880 102706738 981621354 669486746 206978958 195158429 812872681 941410013 851932706 164853952 892958864 8109869 815704672 60353844 190283850 88560917 220408911 241028879 963509069 461409043 394007450 637627866 638962915 483895348 564701679 602950998 370782867 315701148 580356301 758822871 961459318 528836555 394302906 964480687 543151580 289106234 22434561 254967724 440573722 488638236 311109766 468036440 426456941 354865857 895303600 223527727 838484508 473724152 445091134 642637728 188991299 899368541 702316130 853385608 96672750 181322322 82696758 948431113 234918039 57036978 286648992 575949475 160765506 135918992 91923404 161920634 349047266 730711645 494656036 699059455 333598121 875516103 588333829 364112541 524443367 172786308 937820122 520235213 332929848 278688551 977683797 36335665 703825669 128779146 295807056 448411773 977102039 489716364 556042517 405880731 812651942 346380984 759489405 9069717 422676423 97953361 774225277 474528405 467954598 288100409 729410889 239186066 796279938 688555535 411635480 411499231 221315431 504544500 925537951 367605187 486600936 267980643 762200816 939197045 537724285 270465428 983905721 720305424 345762708 727321216 643592817 713666319 836434224 10128509 251110045 172436178 180937916 800019146 143943119 336874559 455772068 371919506 43236243 777003857 41010296 336802695 211252661 96056714 853080780 869524223 720999374 891370630 96220382 687813896 934615230 173997672 787640789 917514022 844985542 901820332 227727753 581974909 417219911 875067967 371834520 802252143 978200597 252416966 110511201 960810213 388338496 385280142 721122828 88343611 338997131 222707185 211434457 440739381 815053549 335002320 498526324 411588867 115939755 682047376 90467541 563677286 146194546 991076565 429434361 573142981 130489132 128003963 984951245 964488193 264386244 249276870 237467527 28106952 845598314 440618639 501319142 420103981 318490827 894668450 84505625 336812220 810970129 875334156 713967027 45579920 642647583 60852367 232171953 585252516 505529441 820174970 12614554 380119824 311181246 101044748 987166954 989848389 832578405 89784653 527611302 47078892 109459085 982690165 492119191 672608236 155807461 710528241 710886432 895266185 742974193 622203783 891416273 747104486 568596067 35011080 456828356 710097822 422082605 805188997 45295922 830069858 144751419 100018790 429612225 860665626 187431280 408768753 545160640 945710252 952266100 644664323 732519632 857567358 74703348 414295201 974224057 647418765 371513019 237588810 816445646 254108186 833891935 511418866 630529017 188329452 52914152 635268757 640928833 724780018 698708059 347285984 60317809 619884636 332124281 464775146 27224070 91829637 431823429 176883768 387875899 874892971 793897018 726932277 952573797 208038219 637399110 805341788 326764727 80359509 598331449 167867980 354783961 88768754 867816969 382301432 106845611 202873012 573825946 45583726 919105093 953776718 610278288 114421690 47553974 309523667 172941147 494165268 518540450 74783734 128769304 680348917 664099960 59076639 541730238 820678648 727631810 94319765 401782223 21228829 490723397 377721850 790232192 110802692 646730071 907268772 472011771 377826855 46343988 68328305 906263063 902673838 247700841 901686228 295708893 372629153 892314853 686692054 995369831 174572000 873056875 239874748 809723940 252648553 536455549 918636628 539644910 175297087 105643692 565743477 687793588 310431479 120539786 246349733 135485695 253492116 235975834 969197198 856306485 946585439 993297374 209248110 524764483 496153648 958538370 942843033 858120150 329008303 816288945 580925714 707966028 829534117 635386500 966158913 365810614 819742413 837263666 346303363 158407579 887367275 948239188 532394774 664131454 832160753 935223272 242933137 501089321 80439854 910511209 43083803 337952021 437814777 171452647 317123048 384284893 503416885 842614442 982746332 936870880 816049543 244213329 891527921 552947901 899474918 105889694 647480879 965161172 695172837 44129061 116454051 485542633 993082916 851363017 294262590 477108697 20521381 635497141 866496091 714679201 398518815 615506653 886150695 61748019 543902797 979036448 57963395 805490866 827631921 984399372 252281790 466196783 89283188 482671382 923885731 600407781 129003973 760704355 553015901 599068869 602072130 244403974 749557265 102762324 920334284 897807396 339586112 36027884 420626482 726014799 537400883 845373508 637596585 699552744 607169335 724913593 553129347 219308614 311691447 249053676 559023980 317363154 524703790 374070640 292722434 369104498 600838528 294951312 663519137 538922 530118601 822964106 460866138 48462582 607922794 664904257 318322538 240520527 100334345 496160838 122246291 278120822 983834436 24545369 732778035 456933729 258568060 872750170 768486416 504649799 38899129 171212500 65270314 722187605 669693053 422294421 489659112 843551426 411066363 822448462 319074905 986770846 419444692 466539821 286538271 728637453 766900782 835547512 15909881 780515641 841933032 273183248 430863453 356635366 382690355 168831630 695191810 187588516 403415628 363650706 284366394 751131035 105902614 436301388 756776574 303879362 874325672 730432638 565047109 988743428 457037219 46790769 143988019 521508552 437304300 177332923 712853693 39336341 520773000 554185836 568224506 290283857 988973099 629927143 714951894 7881075 538900780 669491350 209477339 840433741 453290385 957595331 714941746 548213241 469243800 556958265 500046473 624088927 799566471 804732057 924095973 515932315 267222160 663033556 367392867 671677182 315668000 560497353 839557868 873146989 434244001 366996434 470238209 620299421 331575301 541070475 232594846 706367796 328910875 799509198 169276493 143938234 506678287 514161026 628078206 923570457 555381004 62654066 598560656 6042301 621173121 501092984 817590318 44969759 905083926 11850780 194410453 69345345 654176114 271273184 905830875 695427607 541485803 398266147 91088387 222904980 976863238 19785107 102455654 158626743 381265480 892184848 495895153 744837275 377342196 37727238 835708822 824075809 162150272 851527405 271436682 598562293 547089636 847855146 947992117 735249379 761154323 207600741 130961991 269956747 535047090 440277534 142449420 239026572 480529940 202341611 824802857 727880032 293171233 25850630 779636987 642201690 16505037 639895332 740811839 343647182 335180148 75478874 784145764 872904655 894665535 526286565 173469435 762843665 576214611 271608251 58928981 143606267 158238624 412108452 554740724 21784460 662507361 666038647 136631806 352855937 424804907 55345818 976889393 796774806 545461121 289649745 620629427 561903012 654685223 745912611 69323157 188124459 331145151 426546077 551384910 332442457 949301154 202423888 575886444 858163357 819008800 772347381 359727572 487294945 348714463 969727246 370513816 604410499 776021105 908825411 973205291 944669935 838003769 166660270 465630450 68528752 594178071 71151183 400065522 987530969 774856411 586475251 410682598 17830273 818395263 76624751 479709206 738887534 369674094 574375469 521895672 306372515 366762424 615504294 371522612 553644627 624547323 138159956 891646502 310391182 548169552 665378143 193336436 497056721 854927490 742734786 330077067 534706579 9057709 329948705 248176222 251068621 770123783 438851503 765290054 88275729 932104873 399700758 363759065 4571453 431032655 192162838 849104714 16609806 349284866 890815261 729766703 492910589 273512217 655243046 691612199 817875111 839274122 449631645 967856754 336703537 333130608 386051688 72225629 31871296 55620270 253013386 616533609 589808551 913771622 592394083 4014673 586898709 318189942 553284716 105667046 203877112 531230117 62614732 35423828 807303503 506391230 851039855 831101759 612695841 241156180 998451026 899092919 147925869 294197905 418534967 599921602 634178448 641863425 161335675 609516591 868385687 738236717 766884241 645879946 30225382 624182097 608334401 815682579 974914549 654123041 174980104 77817264 818807317 508766249 633163970 770272133 952527481 831854377 429935771 795608381 147629818 438004204 884835917 810962640 988318966 938652271 226152365 698755865 851609696 297778506 253631001 897580392 563663463 625075336 166649778 530645482 371368917 701573783 797646403 671499750 467717451 351762292 759035253 815066465 40295204 43979649 502467885 889791778 123392175 482493622 982113860 399532493 997721396 581061259 13577350 721553017 117703263 912648919 872554324 530212194 214618647 995620661 557167011 496321824 116116784 880188478 296501444 82583287 956438642 196695804 469704110 304515041 101916115 555040511 927681318 330536538 18386271 972057943 733957505 284898314 369770217 953784536 328362081 467045581 383887046 697328598 849994134 156174259 975444049 553145680 48375339 237913503 510441466 998756437 88748036 864770002 128411169 163393990 492550232 268266730 183746456 33301152 813652657 955332333 598493404 932608666 389240408 161626470 817199397 791909445 476549161 810894058 936639302 395716915 452971356 746066080 712776021 164500710 190144759 271799497 492699989 792159428 714308059 502539830 925887672 160767056 899803662 920323208 339012216 575852624 967661481 615509247 140852295 981159316 613724447 654726862 875162169 604160019 304289456 92750232 987739863 761752641 724777171 71580089 827944211 42885625 224156949 970046567 745658000 613451300 4104569 305242573 429136367 616860127 222918725 865092544 234538751 121954030 736922610 654813768 763340887 582534526 358293161 811620073 828041711 710040793 240255447 627488773 48258966 268776946 2112499 504746373 551563507 2004055 983959144 767176225 111183699 910242101 898765439 452198515 433804811 523127984 530509183 921175708 219527688 676760072 213630157 695629495 233553970 371766798 383570101 3703659 816627813 857858371 74746589 194773345 443382238 789359820 734150949 316162714 440390412 585996798 622432379 521106024 528609387 88164042 423445486 283218146 381345469 597876739 387549381 965127995 252144057 558551884 880299453 621551961 652726501 120023441 647410568 791793398 933710972 982359271 979585117 446561899 498251006 465390085 759763339 820675923 509353516 629315395 881442152 224888541 182217576 105285388 869175297 521743534 117094283 636883601 102299772 680422933 94464182 213143437 905381237 76944735 101196800 140700020 852091545 964862632 99417111 447389816 84974159 497148677 621616873 997584977 964373744 211796992 876707127 691146688 294511224 265287056 295280623 718686122 917595102 59132559 251069739 150179349 228843503 878432602 261349022 122385453 796479462 480831756 693211789 147699947 289141550 80891283 955576168 815773846 493086518 555279042 790037379 897558477 111919196 443391801 485396043 659085722 133869486 573361784 787912360 155357878 689695089 531382884 819288618 551542667 882142913 513131161 926820819 247928499 555398470 33647365 826897762 678106082 148965517 777414793 642810414 910083721 186347594 933538248 126253320 854609361 121581354 265969836 702587287 518440646 592017507 260162480 524634978 28374567 652417114 756406738 236536099 493777923 109438504 759638144 818005536 622510265 459253849 878027122 486062931 556055939 23315784 116501651 520422363 524715888 866203223 224132358 684064108 164283457 305447569 956345367 661703251 579375026 102527184 318777878 206411968 930464889 415600365 734525447 421334154 365437040 613480666 666301793 927332939 633197872 433300923 751201713 740568392 718373679 249257318 8738641 155701924 567363387 154830519 758409082 629458677 430089574 83913973 86601227 327682126 93413310 168765500 632856410 379901398 990125287 607127997 757935700 787147672 106834456 883351117 72129372 88225012 832882729 765610877 679454828 600551628 587103025 294187267 297247069 431723741 602634262 329990489 938626450 110590471 606797171 929038438 380033127 8580691 792234945 532389431 463500679 385876705 330782866 96765980 727811380 672825902 110512750 619159557 748226263 273165064 577979465 967891018 83260913 359454789 512115755 426872343 324199818 572958580 104866925 950044037 871254721 650759314 243695480 991692212 649477504 223716893 565801911 414734442 826525123 727039652 485786647 745067193 880700953 912794197 896761590 304256112 404815369 114908322 667097485 369624461 264845802 125802271 778356973 232425857 606629850 900088326 26142411 410977384 843295600 185248441 951380133 891545193 101548997 663945206 967095406 940103716 576085153 13559346 600395120 670660171 626854123 290630453 493165847 73194235 325363718 163983342 368915469 861118678 12620152 663814216 872435424 714235965 874634756 260109665 382301720 22043025 781432026 105654286 343527963 7806051 747805998 639016891 280106574 227889292 887110711 421129180 303532361 864041103 811123583 545755190 543960069 135990656 290099610 631264000 214186214 195121124 551474581 908456564 430500818 459042085 794486747 821109624 86254567 892921762 836537452 816559158 224663373 555212075 279251135 974989494 515355112 750689448 258819900 802856269 24696157 308863304 342292129 480668918 726672350 261031419 960083081 418839163 627213504 687277269 85785241 937104735 871323807 599028024 787231181 833993047 647209176 447249950 894047322 805581189 160796396 61087933 434478053 657533651 884207696 410323015 33496812 669436261 792019806 514096583 627043151 309915332 920938867 215599624 911333517 1855559 111204267 597365967 470604286 816517375 517892371 785452795 144747791 728858861 733493586 514110971 890458796 226894676 270242808 900859744 538976524 389966141 391923935 882049718 285602585 16927635 154401986 522620271 115785964 310911443 740735638 693945642 691976811 478433251 621602106 882023433 554960452 134285053 821514094 459590212 155809621 264866863 333818819 341452602 172633687 973579532 752247626 780507033 930418772 503935998 186293396 544254002 232364893 786751368 595004664 808692200 644090824 364546680 679542835 818198440 203857454 169874584 337532853 874121680 570292243 441410362 334774328 565667408 138041530 701975299 558834210 67910876 551519113 165432436 755801439 762650459 343311443 417726338 565840133 901115607 491206773 840548775 975562246 847880492 593928882 250341836 272588244 883473422 922936867 644223143 686746669 447092392 307645341 780415080 307143126 710601238 527060991 190506394 686871779 5899153 805606795 292895151 530349733 432716783 95107997 149224379 424844361 122312389 543350523 920578573 769767157 622395427 429679349 806581954 740120864 874547901 624993709 89502630 282795664 225134715 484039248 836916954 147118588 509209541 186504190 534361959 175410153 364538030 25921041 451827959 413428883 101175134 103080563 2584383 113692901 42562379 660559002 901600257 827535919 924976572 286180066 580304634 591696628 897864525 42325592 401964604 826979499 306970265 868090768 925045795 11928530 597295216 283219050 212440160 630954506 56732523 334134562 553681067 86906028 423053766 892889963 658882684 753645809 395226138 514292467 342546631 908497239 322159591 280807431 868248108 240144961 100836036 987740932 70483458 589245501 934539439 687051818 62167351 233120986 891495167 816774034 987168306 108523486 55818086 167343852 426270098 257224852 158847159 868131658 708198582 277107036 401091084 185460808 822211324 956051221 905176191 848151321 747761409 418698015 604918631 639462562 464611340 384517499 133065245 830789587 186542113 786523986 887665536 93320509 772245386 266887602 390825744 465547823 49365185 400306652 695725660 596257750 744875195 425646202 277858439 870138086 72259938 861044332 833040048 558441912 226420083 33764603 812882225 738844693 989631357 687334237 512189573 352293019 820376063 775784604 27073864 906501472 484869035 611894044 859911192 366629515 802568503 337907001 877270454 743774677 852193344 909217506 63359027 909268803 706893807 194676808 978152868 343959862 850814785 826535503 882363942 366183447 508351395 763975140 746535689 865261125 867709506 968216079 871738229 320100873 952620764 572150100 156933015 627236285 999423587 2489964 376878916 47457883 864278362 122138844 405718723 881180154 956168938 332751883 3637013 985825106 320608944 211392061 722392025 131349213 898732670 447587932 913953287 985450911 494627510 957021675 123545723 862247648 606624849 87245465 15501868 749728885 985862942 112692624 731235371 22960720 442479385 867077727 235263942 361196362 70156082 748438431 330904749 501266993 440614168 991765049 93311200 40058274 12573257 563292231 107250798 471334634 778444975 726566416 435452401 735812255 734658624 149733881 853129416 848095508 721299895 189074088 89620757 590725173 154661068 508978612 230348766 189517432 782521774 620133073 610084800 731531356 36936266 426366610 923751761 262434381 399270932 14719911 553902977 502844966 823311180 654436542 368161781 716650701 181744584 605305141 183823185 538016072 969976176 910722458 112720879 978131178 183026281 41397024 634363985 26140724 854635968 40509051 298939797 383182259 172421876 321878928 467049378 948532603 918789388 72089133 443969662 99451176 551547103 827231543 51387237 82552135 730447386 684653782 355289020 776566427 461327417 952520617 513999500 929291928 327145997 308310930 990643764 828021655 580390760 991011053 259425274 919437445 377624194 53741090 272541936 439357057 178542648 478927544 18603489 475501990 888136734 115068603 651535379 226076447 30040358 826110584 93233877 974315220 309750468 523055871 339391282 658766600 803087453 824576032 941691166 571319236 796723781 761977113 145250343 375807479 401188593 106883404 687179316 609112634 21940751 810893237 916987599 91449084 150837589 23054518 438343054 503858854 58691237 12187639 488653610 130673977 757568055 192951809 126261173 199388685 324576850 523251936 162903825 386850904 960072874 952252020 466863983 604990136 672029592 685738483 131773312 56086993 142861879 161302503 633032161 877291963 908539895 262910644 217147378 659203837 969507283 366774093 17520915 492537194 588148724 153237992 548863429 934487778 561602138 976060396 468315400 674528265 379780740 387305641 413179840 936125716 771517438 535341379 35633604 4926301 900206475 706625413 690417529 927984855 978284233 208023811 748058450 203246006 773479979 627571965 244653451 163397538 704452168 870697849 627582532 186500485 599039904 3907373 842882040 138107178 939063872 625937757 884340735 25827506 383073769 628858953 307851202 628549143 321302137 681250160 160052842 524667291 682305065 523063221 210494074 124119823 766609138 289564999 570171767 897149278 791876963 191493716 921583541 355641113 732366618 737507853 102356493 109027560 821590674 424590202 637187004 226954911 647466640 395350793 777650951 455104215 864151961 674858209 608827951 160240426 849699397 86247589 286739171 145915242 931408109 590148133 268943050 204568301 82436155 348063580 122248640 233538967 278727674 533265445 61852177 661633258 545887286 940997576 934013216 934821669 178313674 577039221 915189677 428622621 439456140 214334554 83717068 880671301 692628960 858592661 884293633 212913139 993425470 814440399 784523436 783202230 129201899 740446399 885352508 227927012 907042278 270461241 27279429 790957336 659714788 445706635 341987916 269541348 93008113 407804917 988366991 67830690 916077800 792550637 328025004 926945569 278815838 477356365 169381207 285351393 611237212 414509601 484301171 234519850 360795713 891682873 504879610 330142501 435705973 591678029 664256669 330140475 344829472 940036063 786720978 709014603 574654554 686996435 953168919 167758468 782532193 91478918 405556618 239390446 725035171 88912050 745207153 639578348 380166812 49619867 591587727 830526187 298025915 429059737 60255731 746018655 550176102 864792596 11449076 142462533 430138463 953408727 880278095 561839812 148214385 549885152 713982678 993510257 877836738 239356787 178846442 970350458 526077865 369733094 521277571 139668048 107029187 555660729 642377896 715261815 120121992 217376587 999826434 204331830 397422630 299914008 609479620 193034016 608689859 943434581 109894186 964483315 599717321 780046895 524234851 439278525 155963325 18062005 7299623 143831141 432614539 805465863 360692322 16449329 428251885 832206507 42913150 497378155 596752137 818060169 657935905 547636443 461487569 674532049 231944076 881821628 229454540 593278367 609116426 466494685 939900673 180336149 995191228 981216671 937962216 550436760 439009986 827435583 519892111 893307058 932468836 770818439 790923630 864626334 517674200 590253369 973843665 865371057 932992363 811429747 218068650 342571748 546055071 288425313 426899563 692572230 591147987 311533380 16537868 324430802 576290306 284372584 456479209 708566036 305540443 244157861 441363811 548652599 738561769 550888158 520754718 311497836 151261244 9346132 458183146 961870044 783731055 784130335 67068355 41120863 655105104 257474713 834246897 18714250 463216748 734197073 395013029 771343797 976947279 375347589 531826517 346351184 475172258 470250953 460966891 108138297 950451528 256657035 227656270 165333710 226292657 965626627 365294272 310429571 642509310 398837917 3082633 607780773 469537509 22677219 548955285 127208574 793623673 99620388 650881447 393038629 650273183 691163615 265132723 20332408 370294530 116481066 397123743 565293575 440378279 5356781 850483937 660156349 567528942 252905458 917249732 898519589 228338635 829473819 429692089 406057540 678140939 854562609 107360495 870662096 875274535 716652017 632624189 480574422 189905196 983732390 912954492 497041309 490452403 269983455 151767493 168320916 374487695 706421479 298549668 348986902 196232065 80792305 205123208 987728787 213075217 765860793 999072115 174963583 129940346 423838830 32449235 806346013 743698660 23127689 844542125 214637210 608514081 234511709 679826018 57774682 841471616 149399809 506924779 93164532 231407378 350694941 904472980 812385527 376399553 443942346 354154188 615132536 652582878 803681872 126256812 835729045 285834466 653123859 559549928 853742019 885742439 33014684 45942901 841127185 312553711 340344500 841363995 397673195 78315823 18097932 221943441 233895667 533053497 680815484 430229278 475430034 460169175 159263957 136625949 473520345 217248703 380432546 57427525 710700669 682064510 367340540 835541281 920413447 711185522 204812872 420866824 900880089 851666978 259871361 980102431 899826653 485406327 947058882 789559755 69956857 714943203 629889628 780340234 820571124 238590998 729320494 264478391 976254270 361890737 580188527 973060939 13339269 688687753 186026463 191337725 619217314 774761510 311092028 844839762 599746233 138087545 639838893 820397195 560286384 987843282 619060841 195752785 519036324 62258614 817565639 548483862 126549206 118215061 411816116 358488423 397977866 433985821 762202103 924992136 237548059 803321415 481553064 126320358 371687751 967312677 341198530 160703920 98163653 732323761 813764393 648528146 115501491 715127693 330695982 174351645 433815498 74422562 792885581 358872650 694207134 569953122 475644479 481792461 958471711 709888689 445361421 488378578 878592367 787269350 153175778 15660421 543185523 934607063 254105996 692067273 634109768 394509604 988613405 916124418 916661680 519285333 108763186 745385027 994831619 257110512 97158499 205045706 345350911 780910461 719230171 426943080 342618254 958475465 813715299 38993062 418626421 409156184 358797454 138336431 157249143 587988716 406906825 362965528 675340180 143445199 21469009 63946601 425109716 952767226 141434266 637216398 773315680 294573245 194792720 282475933 980611937 831696186 515449672 114208857 11132768 119022074 912978593 704908147 379919229 86186553 300864721 835543519 692393590 45782861 236263843 926477182 793102135 297193611 582896598 615579324 759963432 229015005 241893867 67476946 921424675 668916654 132252186 455184168 730841055 540605213 132124483 590658979 884121874 633729200 12563196 618688782 285596409 252823285 137738088 242079997 939344090 81275776 187692433 67879414 837181733 67168943 557557083 928580095 266459937 684556627 350756010 53159472 123922800 265827095 241360784 276963572 325472765 533546336 697556325 674443735 96543627 902491208 706109645 225286514 81771047 368284815 216837499 326819918 529768505 178662446 388074897 696665364 280838155 200006922 735299521 320317490 468078384 77255026 358308257 70835029 211857446 861398041 976227201 41941631 14848918 860242899 172976390 549367180 248231697 968543090 904356114 826817203 551177756 36993139 111412054 790352567 652378968 684680331 672326143 175048193 797348694 86942958 524782764 133953081 907350235 455097684 321978048 811527489 500062986 286523145 960420029 805082308 405426724 166085807 963435618 576347919 366567847 71663141 344457771 955616412 881639167 478593921 858997843 853741820 790539497 864225833 575738237 771968456 554345738 184019161 876515018 370152100 668067381 924480491 209116228 156665642 105080282 360953079 654274155 758849470 228443532 165436312 384923429 714689072 95261202 899153027 835123406 575480775 419103415 696007528 957801117 214302062 633855225 621685654 791583884 738204494 163485798 756725665 631158750 104100083 625461038 552910206 268108478 815225117 97085103 406432181 454470461 480625122 352330258 279452674 66511393 678398421 907206706 687517218 233512478 809319390 979597594 147030067 542268570 325111885 809626433 660360304 183728049 572251926 989914172 841152663 272644679 140618753 847767461 614428248 347651294 925385508 422759408 330639101 50258820 495580330 621301012 122631198 242027112 685495623 581579585 378056407 620798979 244489286 251202203 593056457 597983675 546064643 472389218 755190034 868045882 775350820 249650408 211438365 753457963 503925174 876922443 578972656 432989957 256172847 294095619 376638179 769996366 633241660 152116494 291147473 317947725 476102263 183864690 80117180 711208386 547126222 253469996 818126306 428785708 211295006 951672775 158795578 335542603 345132456 118320556 904529539 801227220 382864742 785070717 669242392 927106481 190330084 228361633 641349703 812991854 508203240 140291539 974754118 688995637 151056760 467238799 717946543 789513086 885572289 247327153 404176714 424611453 708543871 693735892 389695399 756236367 249961690 771791609 676457733 418581996 227897237 309731605 940868042 711248957 181975787 315477091 448361088 989316775 379193229 553753978 455262794 989703736 77605950 114213311 479900464 943333635 46869075 264805882 853563131 827781249 732362681 732690023 216911889 947647381 766727012 424192455 427587944 920782117 350302244 169357823 270034932 326503067 62815057 841682110 162075554 627696366 968255812 547704385 510023244 659176760 46157077 507272953 830249169 182413215 339291390 540022179 937284377 717583386 196619495 756255050 594674907 692074742 998949128 310274439 754648970 805604337 680966515 581017675 817699888 357688863 339734219 94173596 969585926 917857636 837405120 856225611 445573523 107924083 393799975 841603624 262630785 480791513 234554870 531215761 293134270 682533547 542969697 292016864 439026748 961006155 312399251 439127290 939482313 376940358 294553470 413154481 643360433 982110665 535621012 791816469 513291595 589416902 879624931 977899837 997340580 627246914 548056739 914955518 996780797 115335536 674166482 850174550 267707211 731551651 152595048 256087496 782050898 265444513 776709385 595894409 587172472 736569806 532373254 185627099 830646352 980893321 442194391 268973155 329815109 612273896 419777886 558460988 790816334 773323155 221069959 441658969 613894882 570738563 267101486 761037306 625633871 826378405 956016747 514332022 602371436 686862718 897354814 4330431 393953804 785600628 221992358 55131435 517443651 404667349 324555853 550520495 127749663 28243165 917457459 751960998 612224482 13962236 250404304 24545360 5231382 399822633 261060294 856988343 695611753 445916637 691459004 549405889 821948019 469733241 385778576 301751714 366825152 773274974 518649882 471947505 668531857 884738219 477959771 164343268 994827487 38975410 715583533 987240826 133572434 366947180 614244314 162539677 106502570 839362893 668523389 303009934 456978052 893376268 608614561 348479613 40838046 859927808 258227172 863791984 696058613 687082876 25604292 441209426 495538138 899244055 986306030 181026339 692067870 300910211 391950506 881245411 864254370 374675882 517988480 790887185 120648809 830010110 711278142 938488819 404737559 422640917 738879346 772437397 627775553 942219816 956959740 246490686 874889650 81556675 936463009 927175023 460628130 724540374 22645268 222234195 262596460 292141662 436359208 763102107 78423640 534646067 251023921 984884810 552606420 586792474 385509667 990875394 231665100 960330903 958709594 639685545 604988404 21910921 241830748 381272962 374465447 292454766 633107717 701176554 875329312 154805120 403882642 751469527 306150584 803431453 694457062 243584423 971536197 542516996 681549976 526785341 78354965 382565107 171040581 514381506 71560275 436608168 201461321 304277021 427684925 840422316 925272443 879747028 77902753 595326414 4290339 23163285 329313078 255607460 710260456 122020608 853024615 864767031 746907405 523852194 96940086 730418572 681889864 16173986 418812845 324736576 459958275 529664088 998096681 894336301 874442276 451642767 104967714 860672655 704573679 629916754 201588435 28886190 444736473 522750477 667126988 28821032 966025403 297986792 897632512 981546716 73233362 870454535 806023796 215847541 662493592 947868095 295597045 449972687 157688133 150129577 802456669 275758609 815563781 737403086 712776463 433906692 302023344 495399109 352213019 308828680 776956617 435601796 306217953 118181019 435735350 229052148 389632074 869611628 356433658 650719346 33674486 760645844 107352256 641639782 682814365 312710606 781860334 677606194 964482486 354853831 739723500 119928601 18373413 482083546 143306106 929360575 627838309 17965468 180609260 485925116 789013160 688169056 409641156 434366582 802042727 779679032 866300369 334274491 342938127 218612085 342203110 935050648 538313778 110032383 126438649 599592653 739751188 489920008 292023147 442937110 253829985 769729217 640079581 881162612 77345674 967032376 680486909 252213024 536431399 912767959 224885166 826117691 453631062 617152968 985249666 674553796 247666456 689871625 530393377 243671073 902625379 924951383 815586572 962506028 660495471 599064425 513060187 661601176 953190796 980248016 920674677 447411220 372614485 841116612 29242835 956926000 576012155 430628271 657206604 861838877 593074313 165443494 519819496 86492986 396060570 61316488 384576952 157537835 274682542 823250320 843070256 259076803 291868514 280893050 807807818 559415489 276966752 67968966 739226239 176864501 499847557 717115378 181005855 598621630 129364151 771112125 601233876 130391275 678905204 737393926 934528309 496665631 827664159 963227314 740420943 754263512 495792647 669532331 766759867 169414945 751700705 678591956 770247277 167326908 63654782 970063381 104494842 454977744 363059779 230523914 677704297 772715671 37142404 210490886 342027119 345621383 99435704 667810658 648258402 673758384 671962726 973625950 909447938 390136429 619730510 492720649 420307437 428938430 673944015 492010810 413326531 522313258 313591263 95563108 890718122 661460762 464624943 322321143 432229707 20854154 640616739 569131344 372326405 787784019 74659481 886703151 184810592 342412448 912466498 350261519 707558903 702387977 242834104 496935289 89163276 798705970 626972287 992104970 728295646 852991532 132326584 747858024 288418045 62128673 291338667 523810749 835167911 895743767 336974490 622499233 979045471 496932505 639711849 302164453 854981369 653973129 358011161 404163686 199587409 489975430 738353411 485923404 601439106 831618517 507715261 565557698 249552759 434124805 37821068 277411256 332712292 1054088 515933217 460085596 323415857 795080232 359406472 289902169 383485038 544948636 228934139 221786500 529925458 712850193 447616510 14471089 581217338 645950378 948159916 422746927 413280220 780016992 606091164 254707263 581247480 438601052 800987800 225877804 470410032 623476422 100827406 483277584 494898649 552495618 175373343 887164096 887637018 546828437 167534956 57236426 126815792 836151056 537926450 765821776 642822239 307361005 346202183 885727721 76883575 545818302 828313789 110612735 763081119 348189332 879054317 113284580 934087964 350101239 648351327 418004812 216666499 647074384 318443388 548255028 254682308 146900670 563451208 812086997 491262779 410103819 119774106 970823471 923436555 650047054 878902541 807017082 146947227 954981257 629806256 291507568 748675459 606005789 22241150 759624003 997216443 708508999 438952047 227436243 184442935 235454709 264623102 327111276 397668956 166103057 790048606 732601454 338637552 610111278 930781467 239684699 63707992 802528302 761499659 776227084 544279439 785430682 902909680 199591344 271715401 418379939 561957801 833517820 792331426 965464231 69520486 52514747 120591546 223748255 366996275 481087468 803046579 583611905 787787768 601364423 772097687 931957751 606384453 726431376 568302033 716765298 251791431 859128383 178013453 599615452 153086121 783114220 697601327 7942477 574283421 250494475 74496364 538144006 16634463 315278145 656753190 175738529 214348863 790134904 942513623 712732805 825552846 748493904 532515887 311043498 397104811 321341557 840583386 915772331 353962371 439800890 550225475 442555440 405841703 798939405 447416023 321282165 74263326 292172164 124541922 226666725 532735557 706963824 736942394 465151077 328853670 205988115 120802922 709322560 589910662 682765029 338022117 67039422 565943248 80359530 374818435 546166274 591302154 176396748 162638386 454293109 650999604 837268500 411468423 110036099 860374856 870393055 276626018 411214822 387644803 62351515 69226787 861289151 156530137 173769163 950380096 233779332 775743585 522694893 833573406 898456758 841139690 155682949 63940790 733447373 213747811 762762804 231412681 405245087 95644010 189530648 185475730 269872602 904968203 814327949 670627115 11575156 567800034 466316309 886084838 929599266 103377041 704846675 321487505 370257999 296047542 834873923 354091097 107114843 407526448 392879715 991940478 542947028 679000058 334411076 398286694 118184839 730323441 403502678 448286686 558848457 342975485 19845878 440658719 338354276 50512897 117652762 19547219 758491746 942739365 236834629 486400698 381635992 813247651 625070197 47990356 411596526 185524537 979167167 315324064 230219232 266776868 487745625 144216568 533097638 274499437 36834100 559571725 330982855 648883590 270585655 101034233 905945826 366414333 581842741 386856322 66594693 696905612 743265301 595883774 816094554 963371894 336211803 563828616 183007159 578611236 777459738 720624399 57134773 391261157 904499147 56736000 783033843 68310014 320909004 952907473 83596978 764585231 314433978 477834152 420818260 868586410 271026195 436450263 833860464 385786598 288352884 679370415 133534573 891732133 46573810 8881666 346704299 744968056 962544249 926369384 503051160 805168232 882524593 593883224 84826446 19544418 673098303 129664273 345538530 769879786 112410050 507354848 980748272 391622372 280291716 96968336 706078190 863494812 837085584 657297187 118702222 965006068 888962930 507076768 791565080 243669125 565361776 401082781 822695891 789110864 242547842 784213306 326220443 410744369 575266778 371095812 498226492 955164465 348804423 876153264 988405520 179550248 237208513 564533415 267404330 413511405 601483667 959028483 258639213 918788746 171764312 920201046 312768612 653531045 941239145 692370818 95432292 993178965 500959845 586575041 107930606 714682020 411309847 408525443 481126489 1432262 857910474 671547464 907453643 286302638 221737645 228684874 29859233 152888175 413722331 917248165 557252114 400914817 981560391 190569663 823269713 36527039 619862995 525595736 674672869 157326063 599194559 186492222 104001070 864291735 715523488 162073326 239786412 408488610 521297264 304924455 164139282 648025152 920776466 752392527 521817331 284139208 292756913 114990603 671003459 881745859 708357387 818920568 855335697 896942192 316978004 209113825 991433580 665141049 370739565 379389560 303115841 510302044 299698832 726667630 927864556 487891134 903721923 821948052 247980273 786598686 571848461 971813507 692023066 354460498 460644628 332004810 577723465 689008072 902556989 886087651 901694985 988704048 346391022 65063977 128728098 195022545 348128211 482888066 595630283 142013663 606993140 260766142 229935430 207799707 87371942 352405929 142496903 365750323 288380904 242251663 13224623 908100981 279282921 727153277 466351857 608905773 971801464 970470581 643898987 776230785 431686725 273094599 271260490 766989438 676467790 679087462 551274988 655303666 370488447 655982688 95010291 39254593 130166972 448746116 761178752 810087273 875933802 571712136 320533350 693545322 20023098 266192297 575922314 660976880 20875773 875883889 439863515 4859604 833583082 917321560 463191139 591546850 113131822 953194808 979232044 925634407 912111847 202049517 146667038 300334453 935722025 750605333 657002318 865354025 143080545 90344880 621877159 799850390 394839670 398733952 869617661 8677461 585820667 737824874 31156913 906811298 104371035 225461337 909382461 797604078 852105713 70005797 730638170 290678787 81022338 753700804 789654887 268872839 670322796 764368561 126956252 836045610 362928538 217032172 212265904 210600272 800691629 552745217 950547153 537160721 137928508 664245240 674620385 940244204 986087042 79373370 40594429 441250685 523206976 42294897 435772134 972210646 787829025 72301572 141698547 966378234 586293775 481783901 30847545 909813057 798120955 931918261 541199730 744934229 450644574 96360253 308627090 797081831 874396454 198021703 144664524 718762458 979656910 38638693 575821860 567582030 186813943 739402051 568004705 63660262 540729992 588401748 537990331 834990081 586028084 529905120 652380334 758399221 686068013 563117425 300153968 942175455 533520905 256103737 561597971 552337510 287036942 735250733 784877024 585154208 24523287 518383033 629440883 614267626 28990891 279348763 203571363 190814564 148805091 521179353 901841269 442640499 930554444 188674999 167496614 205248005 573865853 373977519 499216395 212287339 94565984 437417207 800422523 968053857 564057860 850624619 139846334 652525387 472691066 542262311 843106177 286973550 420281424 310951830 66728901 428901390 918357213 805475601 430364742 683716130 183982045 860728608 857625112 113304083 823217549 804549977 850553402 138169550 688921830 302770653 362224294 261516403 80519787 477911920 850871849 608417622 814727258 205698220 328126052 74948577 629028621 451035399 802685828 177459571 476884975 517729426 906862668 573363458 953703804 893646224 398902901 166790499 548887522 804367242 777194797 462772549 817956053 119721879 494826098 46890543 318384829 348964501 392417906 182607457 553280202 916852278 787892205 975067677 848887874 389883997 14920357 303135713 34671527 714567470 474229490 655560313 648371230 218167056 112952678 734988521 485028069 380774528 330562756 464130213 497690654 437907981 716508987 14691965 66021635 720966019 812919018 3807865 945144733 594566573 885831721 903469874 815629694 683541148 808525629 408680789 835915745 191012083 869778356 672681392 150109696 187204424 618333141 284833674 486530147 189053171 196912294 265269999 533843979 129697860 857388391 277700792 349231511 263241253 285414212 757046182 691599709 554191955 199753194 848423914 268785571 213779361 278610052 318961746 306733310 636738676 205602704 38110675 892537060 78778619 387685108 366338960 651839037 914098349 765049476 445071369 869036150 423977489 793782719 907423333 865698958 747632413 687530405 500927997 405080895 495377375 654473455 549338954 255129051 415819377 451371488 231955204 663119725 277717821 300540841 136576625 542271039 670097117 112668131 249799955 725441964 258451530 107336765 893654584 861526878 10473177 688235807 200943289 859012252 353838579 439810766 357209891 532185149 844326495 674967169 868711062 139243797 76569313 94731438 700394177 202694367 452868469 762239015 406494445 222327988 40896013 848852252 696145199 806673469 71963710 670416852 102150471 236976312 305028902 381089096 453113085 87122318 783880178 746663900 999443361 33409351 502297825 274179555 209261806 76463093 855849139 375249539 530265287 646585165 683700477 911887976 272512843 936623391 492215826 296133511 703887673 851038668 361602310 696483409 290798580 179051158 438271582 40140345 779180706 21214732 627004158 936425429 245763005 813911114 731903160 956660599 306358037 939026636 792065731 21740442 94855454 968664034 634342082 228685930 555268740 878402321 62023683 208168090 165659023 942087600 191818335 59420756 550203885 690188862 328804032 239589489 179785679 729049081 999946611 486208829 442345980 284486689 884496853 210548632 391891138 573924098 873096819 593194622 274096562 610432698 287515536 917061444 526118841 811945017 211231812 971063705 149550070 984786785 676818087 989333663 301184828 555982152 2585879 303085811 371831480 640814186 870909541 556215101 950042465 455264652 631119986 523110598 741645904 321589343 695114517 622583755 181469492 143693469 156038243 863614995 951910909 376914335 682955314 214941813 353513322 572013334 377430066 61629909 365043798 83226161 365856213 873220498 513134454 24950253 473722099 340542583 625115847 204978889 42214157 970365296 832463002 142525854 416366963 926513639 566782506 881664700 257497182 434686774 404646670 672691457 759092994 546275289 894695929 289098721 757621665 128363159 221811886 770883330 265122920 996260008 944050959 311228347 772364917 609723073 407943796 761799481 621097190 889464629 235558729 220951057 722334185 828303001 225472441 385373487 305702914 395698714 429399486 671167198 232000050 306245311 507611759 23815275 723743216 638782571 764933278 661920264 496312084 999901937 863030710 39640624 334532474 689566995 920164342 771545756 601091608 894081351 986066817 52221028 652771206 751626001 13501903 524253144 66492114 348299308 348427726 339435676 260096073 22146785 78067849 452160469 103983900 307779991 835489234 534164648 946800714 159832119 986646776 432326980 454635798 122999364 758902170 110004411 873707394 822347368 794022315 114810886 659353500 781009470 214604881 58008651 416094759 701278768 816202420 367612767 347618886 982427181 616261417 754881112 350116268 207338922 623242663 206676210 505975173 716773833 864964741 956009306 15694701 389141842 721753188 93751285 760675447 8422596 172163661 178962700 378518839 238952351 826450125 456083591 109507944 527244659 464795135 905261963 697224004 316005529 172503035 237756302 227826558 940840520 73580762 163936068 477799329 558741662 843552789 783557165 345554982 74080099 560659748 739942027 601913310 562045762 313403934 754551716 55226920 968364010 734016445 85783999 342957679 754039535 263896282 355552818 400538673 199988803 822484139 507951467 600219699 799243865 933893124 263719851 218894232 435736097 198919306 364948716 426846297 55857847 620788912 86526964 515748343 998130597 123501713 13169596 382622339 349868220 548991551 607818100 965674194 329090818 553324124 467674433 745690532 90927395 368204398 272708090 701861687 812068839 324586147 321746099 987575390 76352905 363244972 544771674 787033689 259459468 197771793 712770985 239642613 165664583 602034072 815203060 45885421 57627927 783428994 154325098 657886405 274604862 286849268 760327618 47747742 657005214 239482829 692091500 976132310 499500713 593672960 932425399 603907724 934867157 98956770 905230872 887007556 532715763 867014252 601663453 882468538 365157112 788694958 683937310 479329894 67394075 409532363 163702747 833833173 746695098 863574317 911896865 77908408 861555107 211452099 326445236 867896587 334677618 435768659 505307110 654009166 158783112 146300765 344614094 215045803 947220043 490536063 641891785 54190258 966273242 868100782 569798955 156875055 116338079 437158715 54256208 609174877 889806870 41481455 912293698 549115641 53705164 989654296 456667947 905421170 587622165 261805664 871552825 215780060 203543364 992593331 916935564 850584380 721484532 963652998 502877489 170873653 648822574 615627010 906248500 631508719 541208049 558863670 332921930 107637698 355387020 457777295 686305161 826297850 499038456 42614356 669043820 172259408 591686139 964251328 430165587 660940068 353190661 268362384 556934854 269040859 79289564 865680404 324061107 205707804 232572782 963744287 32783108 614610303 841001358 191243692 157728428 530645294 457400160 234493117 34338959 479220967 105014589 714166953 513347870 292709594 563668915 259679813 772913357 571555755 79966212 91104672 687631943 738666746 412649658 383610519 258723667 745028683 620744908 361994472 942512123 980002418 554075405 591680229 881368566 340973211 979719369 647028260 216115013 493998275 306732547 717997889 338312742 924757156 659823556 575519731 373001652 550923104 773934185 354017451 717483498 179148941 899025759 725463566 991466461 365216880 659514630 356348884 570956969 117067505 837774599 455699481 81718196 360022178 582266057 492088636 127540783 391398474 643665241 322429010 93326046 819417890 121293285 475235200 513160958 273825825 665860875 319060579 893415399 562459310 201295308 661186147 107224891 418932402 955514985 252302070 912763494 167277775 616414025 907972480 466550713 162700389 535098795 461454496 390425612 878683834 396318812 363667738 251758471 567043572 580620092 753180276 700539831 533804313 836314250 776283873 101213417 569428624 819118422 206813823 343694403 835836087 845487187 629805569 959993549 726417468 940527742 702747065 209641619 71531223 697170854 674707505 704851916 689181284 271245417 118864130 294145496 869701821 414899155 138061883 862601526 43325408 597519944 811584943 261055015 418323396 865442064 430891069 367808058 309071089 67203956 949891190 561503504 446268529 617968881 872199500 868618687 608639748 515731096 6373600 529300412 31999703 306347172 768645957 320596595 980905310 227572499 535493265 411662519 857174609 844171470 330329258 512709612 246400568 393373392 604159945 947514137 880423175 797965697 967441669 76178726 72397934 417463622 231017758 569317109 713403448 319657075 777354548 39815655 793732552 390069987 470283213 321200137 356935131 160777964 261741706 240144272 501022745 90363770 381305147 363492247 292639407 735862880 391038094 553472609 400031832 105260214 116690904 691132438 264125068 847052438 188529194 679427199 200248916 389673234 632990007 596607628 340369710 878042222 915401337 251303886 597702294 146528997 285782174 194426529 257440255 391310115 673929115 850229965 156756695 537270974 840513699 390235931 473371416 676574612 711222364 337431054 311526755 768181247 992560488 978941213 561195398 102665272 355757092 686170035 218158408 869784882 34892693 647351916 96418751 974566541 867419327 938244772 596497833 706167769 215341086 361505505 492068771 148297365 783641519 313317253 473613138 628356576 354035767 667196131 349360167 759313037 474894898 236007877 414388391 358570311 714693367 421723097 188014489 313868948 226888838 137426772 917463604 540442385 252695476 426822413 675407574 983000545 298961917 922229719 598846226 58154639 922937366 345605684 37908708 348449435 923866245 513177675 129042674 778245127 972371205 517917727 749917409 847873369 519574967 183397007 912019925 303680021 791857831 184217177 324643612 456538123 181060611 60384157 831881761 825454495 141776199 17155442 746405149 12386136 800379362 601550962 312388573 126361078 323820131 961179132 928412450 769549516 315131512 556078361 246453695 177023080 899020623 149759343 692959517 44472953 960557379 279058611 202388681 168715814 783489577 70669970 712820617 185593399 747276624 686801265 927847012 639188836 68005115 593552040 626590289 267950459 164137707 413500369 180117527 164686005 749618696 27475654 721862273 374121722 874865997 403759591 611153896 670129746 875601670 444630096 305699466 548641581 802470305 482411476 483903482 701503044 556432457 322235905 89078745 252899996 393503406 578683220 97096448 877899439 241174421 572411940 836419082 479575639 180038854 678611899 500033600 705616825 682685595 254438691 623717538 835148707 552453541 181148944 876586931 908795682 967687504 127193095 399569583 29094097 815934197 615935422 716340807 711731470 803913378 124973659 23227130 950177317 434915391 542648218 552601615 558935543 660318515 860849895 954230395 572216931 763394723 756846060 917178546 869686822 763352773 560436432 677173469 787263612 550079537 973434948 861670037 543127980 284612506 337576469 782365964 470257699 814977834 700546952 605309976 525474999 62858531 158207591 811269742 142141115 112410804 850344523 600878372 628652535 50603571 301808052 349627889 520193580 284230653 906506770 427718914 78788940 356147506 423828138 352947817 399077108 834392257 664626837 70390989 869430012 691587019 446848058 735470588 126703386 10054956 566300223 425176562 585197603 712336317 752984453 592731536 71889845 740853152 880184370 546416533 477276136 322876886 592703442 628881588 465728191 369187951 953376797 724458112 14531399 558803777 992627880 817843128 730123035 52093973 63801726 464292465 264002330 803307163 631639961 672207545 695430061 70219175 767636859 767841505 554320702 899400502 268353380 882319064 972038827 150234860 95569917 2645662 492372054 9878381 487661334 933270865 625275717 546788283 274843314 960342606 105270966 19668634 445978831 420153275 780999212 726139231 947734589 586324712 83460140 764272892 58988835 862480214 853416117 588845442 689395980 892480749 856334424 301379788 440844669 131489489 140148246 173539053 154983781 872428571 734241725 675907186 335946159 38048011 877675661 284910890 831938696 853107840 270504950 433797767 886035147 674818544 45609094 500088426 569962100 933383496 306736627 942046755 44097922 338558005 300951142 215590367 923803029 753296580 883022281 629513280 806379948 705117119 268107714 230539145 458579252 768344299 979621848 564284177 497801587 712585826 120929396 786197121 235918880 54587931 702857787 999073933 480388148 945132325 854445157 521971274 182778410 4113894 855300719 547857677 107962232 74627352 482173609 470936126 223823634 762081375 251924723 593914196 470053005 640791027 172409010 943009030 910783739 940065106 464506478 428789543 474064571 310676246 601897615 408764669 4018128 925326533 121745611 945079065 731167553 596074037 266006188 641280502 329707210 215577312 463442092 497665256 744329104 808035288 819348802 403398531 463729365 984495905 301832634 203550124 858855353 486209428 654033571 459795593 636542463 39963329 11878931 914720699 794012228 295674706 925539525 381106423 729550973 75757115 392368590 409266149 780424182 404960897 705882045 648059708 469545318 667777145 382703763 765063026 865050465 794235344 789345350 185696425 211531183 467673424 628065471 811146469 569867740 856077905 483818130 626726597 742006924 349998144 155607649 800709952 462917496 688342354 840013718 812265697 824100177 650482420 372408922 235668195 544735698 131511354 121784264 840943188 943215805 383406430 5981093 526075707 392162319 833527913 466130960 467154362 218415099 728537057 635752978 439912427 612777910 19678265 250952705 72265736 944630073 611555696 660944669 240494035 774233215 899949297 208984615 557151548 253517375 605867376 366952640 215786478 994387198 817065457 170530428 219659434 964594779 412656460 333899576 824321917 9572977 286500726 583557685 152225082 21574553 326305846 659508085 773147117 533656201 448765710 878210675 646546496 760413496 785901617 130966194 146351144 455088255 31685072 629348073 924699986 480529426 85709194 751921509 560446063 846262778 193151118 895547389 837778772 154494299 913702771 632284135 777957448 431610489 1677144 638579159 602036516 33071884 744369940 397652739 154935568 563769167 813636105 99049818 888096611 308655445 897867514 205015677 405600850 673397661 600423009 933931193 258394296 60172419 428593167 112814709 533682670 177028936 87889548 288816074 405160229 227140039 360335032 863380843 12011104 250488093 59429108 679347147 681178786 778516919 920282666 59349543 524511813 858929118 275259729 976801170 534767407 688866827 107367792 468903911 866831565 686177387 595650066 559591742 536458835 648834068 37546121 369966733 772920882 850723172 263920412 802553636 11231486 813761528 42140359 496429974 304479226 408859975 900751154 993617531 606513324 60524980 946150263 609849813 526852546 725151097 970532882 81390267 818628159 900307850 668944192 846514101 540744778 152931615 708167748 854146680 566520254 151600235 822311440 318769345 194102566 752757878 989399244 597744662 354436951 327971476 62834934 553804831 605064100 765678230 958292432 272113797 420877386 989292690 738384928 489393536 95601896 232219643 153417154 24164027 455222384 367745008 860020494 936117772 847625555 624497496 402819977 99943825 982268028 512045775 729440520 471388556 984826754 550654080 237322583 862783698 111320500 883766180 332288558 835299741 680910591 769628722 793472464 727596810 635438682 889946802 444458103 326049078 483179104 71395291 274679046 979477045 538098183 434511902 705795146 751732709 158245248 687240143 955358758 478783013 326049109 423155551 836370970 630383548 766915607 537283136 747324811 919402735 508879911 688208481 337091234 227384532 760837073 365758222 334983066 959765511 792243549 938388482 444803833 876691707 640861226 583138585 140884677 522770884 878501852 872003773 519393443 259793097 7613275 260396906 460999709 783362936 862424787 761788006 84846425 711170133 288277341 847760412 151271688 862886538 275119383 671275494 738438400 606316557 859854244 209052575 496772381 637996794 564929204 78549836 976369473 974552992 566702268 38402527 585081229 121453721 827841213 442456969 769739622 419748498 10918592 497219626 151650941 575591195 744765287 283998221 880794825 700953139 700607130 703059894 338936790 856598899 911306265 897672289 986214662 695773544 862367533 668466601 322474658 983437236 186480466 983242644 699697821 422366204 598611905 961069765 181654543 365271240 798834107 870542786 759020580 445109684 955612923 448949934 61933812 208188879 778502734 310931457 314689298 701478582 804496990 987256098 109225587 297700866 360455668 656492292 423495019 437917920 752351924 278509000 762075853 788148590 47785342 24938730 408542105 981291488 57910281 186660292 636953925 763465468 943502187 343340598 12571164 355514773 527776852 508061107 945604677 410029950 993543892 901211246 255778361 639502123 53273858 989217381 844027014 302207651 827834610 783479387 31262594 483026151 680114665 470149334 894664388 994236288 553202969 70425258 157804411 284760011 973965859 965632694 989077310 988789411 48812260 166321675 324069522 603117624 69578045 948752897 932187454 981283154 752963398 283457751 627177712 895799122 1514074 487244113 132950355 338845019 490606951 740236864 18852920 143310544 675809736 951523480 426493098 171371462 296223536 182233827 807912345 693737955 509928095 337302304 410102630 700810242 200589019 876585200 496850442 762446580 1814833 179192744 153423063 681571127 202736555 499537157 994296327 299758445 692528640 48634722 320195878 317201992 760497902 21131012 180003218 19193738 445084949 418479376 205725878 149516014 340232591 615924853 624532534 864487335 969041611 880471319 451742589 170201879 963529180 148536502 358343091 485443509 451497621 490109828 976976161 122289027 958291737 390190003 885401785 242627138 144110865 846008036 311249380 503318400 660007843 125428156 341598995 840749078 626659090 252013241 85839971 786238200 133158840 631972687 53302796 47689254 796253849 276383733 207990898 824954388 627996751 300255554 977371486 182502455 16012394 108058468 499978953 441314919 872399363 558260826 218910638 29049649 952709115 492700416 637458560 955602505 539103074 123244225 657284209 843716810 36221149 981960909 374750399 613975080 596316128 781698366 536083765 675046343 260467122 220506444 221821292 903694471 997914082 708619454 884847227 251873033 66277640 521698764 298100889 41436022 164713018 430334370 929364928 395484482 137462306 124267139 764564080 146549507 791258594 894210706 150788794 786318835 824014569 843620033 695234431 609381711 223752490 913505820 57123341 308363537 726664213 454469684 546778092 546857843 565304357 801334407 804408032 150721842 76193891 63839770 5862904 552987231 231029275 607171499 953481205 722593125 851358097 395317627 750039983 702792606 883241745 839429810 953518950 993777819 771864169 855717593 474307877 788704363 536236576 353842946 611206925 186115939 768748029 900548825 865533686 852576607 427962075 535889503 497766559 629926188 52697161 236996505 219277132 933622717 834322643 885070968 826379563 821539770 513771814 600771799 197569299 946399202 723131586 948521162 94959856 465107823 236746593 453487908 731825675 921692330 130623215 221235903 444833722 439966242 420598359 375844650 746418557 146505279 106103104 664736534 596747871 124847578 752012475 224511705 822023729 426123050 106209366 734233957 915200712 913255448 962654477 205899467 148316543 679131480 775231531 672512398 601831399 403031698 170143487 214499643 377946254 868409912 845867758 653502232 391843707 302214087 699073996 659834651 608260893 660345423 798051276 34133218 756398472 46142322 703338639 155358747 807092177 802156822 997676778 407773743 891943832 232137422 300429887 112102698 144826192 72109310 967034691 755212750 92174052 766670317 261850890 538145792 187120525 480947056 909155797 595999188 273265415 133159419 996083576 648992412 835565324 638307263 763124351 206720920 31009948 994099926 62397477 240558797 991872195 216026054 507868257 792509467 697828369 939163089 325479270 642197250 696079580 738208555 807198828 881484259 386000490 420640590 669915797 994138067 955953419 97168468 72153255 432277050 978925641 243556159 341849970 392977052 299600419 570167487 567298783 636825187 250574537 939243803 203770878 239314431 917513299 659667226 895945833 48865709 125548861 908742164 231349795 638571230 571154154 726193424 641745394 444225830 603115468 847738521 80930909 882711147 25637498 239688647 346682405 414914208 863677685 343923297 128603709 912983719 335904465 824161229 420587853 459406830 668469991 173110091 197889385 200762552 238995368 490174222 380530214 884909767 893639188 939500778 428972720 887050411 632227352 560005572 841839197 927506973 246619476 127908786 324339077 685977372 971388732 783032710 794429899 34262137 119300570 939201270 684706689 101373984 889634661 507903379 413599845 195118946 427511386 686592902 101840622 161262726 625696933 55706736 668138154 722984164 151829984 655390435 5521762 471702576 677577194 711536997 409800784 99361384 692458971 273006088 658278858 679615381 305403735 851826810 995177761 998299888 48687713 252862755 479495536 954744605 533449229 742085898 108125712 321807806 428109644 71687110 257184798 942540445 368193872 675928655 296824994 574255228 981598950 708573083 959330274 454328459 453368282 220903975 42956554 259833420 100644714 803377566 995913534 44691422 992741517 847701176 83745525 793650601 703269646 620801026 722273349 518820820 129842231 43998855 39704660 561036858 130789241 902608651 619931730 582721366 440494117 297611299 799017380 958666448 298237969 419535319 735735103 199468477 617351758 953126591 485866272 787830441 159474593 219414565 142190057 904859840 281058811 50312836 862210349 614692049 938614607 44650177 771201562 608433511 370267378 63436599 908820836 405132981 385420644 895650960 459908050 242930909 546636178 141528939 533910870 775781098 815384106 672692362 850715904 371788425 749396047 462817740 426691302 79013240 689878277 982973218 370466677 119537125 875310796 726971935 644121312 196305026 265705944 810887134 305042532 451195701 96522946 942100196 828175201 824183901 691167111 133083822 983492199 8039752 719597853 340373215 53989291 257636819 620105821 459594761 624332164 840423630 458303692 679726139 900806941 785089729 77348104 690087153 51676261 362872235 263305687 334702896 306972592 287206074 421977161 74159323 561064545 14540969 219487132 478264108 397729857 93041231 890224008 92849007 538777505 141730661 931394310 217116674 32045089 160374706 89851509 820945797 95694401 576689266 339697794 759195339 675097273 302913627 444614945 931320587 840987829 98074335 189835587 397457842 199763816 467538145 597542344 41403906 169361726 813152955 564183231 480495928 246840305 986229073 967384456 315713948 581791931 563034776 630971955 723929772 853382430 846363530 698771802 950877933 693674006 755530630 19470267 193059097 767723388 841683389 912810784 487779078 480317180 743183067 145025534 520169043 358441206 56646857 688748685 581889286 930161969 722474004 315500230 914673474 727635152 872325895 297923405 341323968 907926924 411277341 995743746 936262538 634839815 364539938 868838429 475785018 531747703 998938282 896876486 36122202 822622635 224416283 748563772 917128441 637581859 899564581 835803796 26239575 947903000 368560542 698608161 953540106 790194829 896125052 743963588 578704713 113786931 649329487 865823553 12995504 327745543 898607756 193264874 425718206 396095739 251800254 113368081 408295201 297080340 40365405 750704683 922041124 748412412 545707964 248247967 717499822 627405892 347005887 612062173 774560666 318138807 31637440 593763014 640219930 682657501 686263005 31557876 321950050 656348747 880235169 245428121 418415556 126306357 850244725 255819630 138087410 406649438 768612212 769840539 558931633 297151096 411995673 134242267 1990721 489600993 422511365 177045544 462439544 568581689 449323462 870614093 644727756 643090144 38365038 778890767 195027471 69607060 371993400 412421080 665495137 418172026 739888617 372674748 63617676 917439008 395268245 509654066 709887487 80250590 92473376 586237207 298797545 911737845 677967217 739574692 178264614 325836178 291819541 376855217 822523924 424249226 470643412 962238662 274003252 4348041 48402715 351239728 786163219 812544659 674078856 921241678 931382579 846400631 721621524 977235466 774180357 272295086 184998551 931075490 594398888 301575226 463646732 950141106 7085484 776009062 541764521 453144410 517238018 637398783 25028447 187867000 902933743 546341880 60188475 390414865 760240494 681172861 19835585 294104952 458561208 628266424 70846007 571295898 719629210 869963649 720690538 451059481 507526336 833575900 91283575 632597092 968797496 982956961 8792708 113136461 988469052 200665423 45481646 992581645 626948770 647106648 171207440 590758044 102515626 925469162 930250712 295132771 855908478 864019060 321774852 256181389 493539834 680534210 566463178 571357579 565091249 816006332 197044512 223805039 59714717 341296051 37917632 946424425 184780548 207218539 953992661 191397450 313367018 136306873 666365251 683993332 417733791 278229040 747695939 913135117 246017218 326426856 83473489 115368291 304021067 144393844 166588159 218184429 140803077 175056895 63512484 57362256 209892827 757486414 217312294 575131251 421536707 35562224 396038955 58375332 485032091 273358277 80017532 456303676 995358549 16710261 985706408 307880174 199181540 477105070 609623266 707785313 276080441 494857772 814727214 723669169 9495898 708655203 720401491 767316057 753840468 318776896 73487500 530904095 786276317 328684181 307789150 440863663 245629511 399281041 590079077 546541024 120977429 467664335 596232188 238210582 422350513 423041624 938776860 792904836 936279761 535368624 218541576 761678973 691646398 501071726 836521249 573034933 49563971 627279404 226492572 374989571 535296861 62148682 787278949 719868973 882710717 55198885 976675464 39153874 681520053 805236443 719312208 318403465 851004363 218406735 31523624 707787562 29482519 514988793 986318151 114716776 159224363 225146984 323485602 302565498 337518425 563893756 746343777 196924306 334895104 644168051 215968928 285019642 722505383 928017371 845914176 724461996 448683860 849554909 423041286 446801865 172952331 786187416 609942393 292927466 244817585 847797823 840222752 914104855 39308668 220596874 969941807 385330138 115658012 554747699 357126926 643173862 528185063 253066100 503109612 84485396 632192288 71856177 949648667 289989977 786232760 67697077 205949712 56110760 457384331 584741748 170304144 221994663 847909240 284262750 387698513 415282746 591549308 463336939 625632576 163732471 915120865 721306702 726952868 214283444 918425465 836091111 405091883 935966337 660634258 600808144 92803579 434078325 472932812 341110533 867631086 214607930 839760759 882368743 982952152 163258175 973278965 66419171 925858192 141972785 956725852 692553085 281588507 94070063 960377805 342288218 773299622 347102785 526163288 70138254 860981387 876655529 996884564 943221066 791374794 532267309 617007010 17478022 772972835 887398691 995891317 187031993 359950622 794356618 204626687 638697349 855401321 544460035 402064870 654784045 770963692 551715161 238753371 934163666 110431109 452929687 798533998 696254338 86950918 642626046 992384190 107685265 199897961 196861323 753767660 476495107 91819023 327372838 663049086 193605019 96325721 744799836 77949804 853059898 953283287 369622506 309224537 888748756 490844662 212008045 338179118 456333342 962106592 228275330 855696712 324788227 104646431 341766088 29767109 263929579 519771007 180702777 944882941 623206916 406215424 724700162 668541536 486842569 828583936 702797852 823430090 268201609 245512706 195223936 695517862 152609716 226106358 111813619 943782770 170321975 81474130 125523181 984725886 459054779 785797911 889937744 517444136 398393634 269102084 920552278 154230241 688288842 542160889 624190253 424314754 849800897 355329296 196875816 419168603 25142492 618982590 59020107 325275493 324152290 503938659 909686398 324948654 666062967 958049208 451236276 385347695 907825307 320262734 844882703 499984622 315302413 755897479 570228497 259097263 980325309 73908068 655958270 100230664 50530541 613926184 540514029 946750932 409100521 122838320 767825153 598652170 161229141 178427771 470156442 556231168 480810476 954667921 482193627 211448148 728197724 691942551 30321562 966463277 503444256 498184745 608500215 916596274 386217124 284779314 490441900 522975952 444075347 535322507 713362016 994102540 377355593 709918955 503077487 259392627 415289153 954615248 311196914 808863675 769573523 199179176 86269174 538285654 474188982 190646265 697679417 991732242 588549180 742638417 252014635 817048074 61486259 50008254 556369800 237945545 395205645 916015634 196389206 429413161 851858492 210659292 855956854 561846373 884205730 79464608 450515529 464854323 920163700 4399686 486743943 166115857 350623042 654393658 713124182 711465250 502957308 826654325 76860107 827810443 483250913 235931451 892670728 667917758 979686985 211355181 353721723 604998049 88519879 508103614 277716982 261188033 290393649 160726199 445442356 433292885 992380323 170914702 479784260 498120872 629496047 433357291 127113838 90151213 658286524 314696270 103496117 649467693 665407300 371512337 43651967 635314409 453471058 872524979 702476262 869888536 298783592 542898215 805716320 939197818 758513393 53630956 785922022 699885672 275779335 620646689 511351013 179013592 784601087 564173438 596064847 458235667 721287396 734079415 96882563 143227609 448682858 954909743 140224776 978444353 560843286 754768270 689499279 119565235 331130726 771134910 24463181 794549808 901172905 598919228 824529767 479754586 249584119 9813424 130765250 263358815 205576644 967751787 430167432 956446943 669519388 85167997 463886958 424374336 485704786 195683965 38971178 995029337 941655510 305751081 804388129 720954465 177286113 821054665 84109639 610716960 911756773 311837784 721554394 783096076 805390918 608483808 826618631 915701193 363682160 864157218 788451092 730237314 687475815 806295550 507188137 675713720 609834654 997334659 699560957 379696714 417755097 654845664 486244964 690143400 538497360 451940699 772708908 699219002 665967898 476378986 865667984 305367231 759600205 281861681 741949321 363650251 679674954 265060331 261966847 72893555 398763826 844924143 496653650 941295815 961809345 97572174 464880527 381370641 112089816 288691272 626230396 292620421 189900642 716058313 928396253 703258735 568367065 927847092 212236706 281858579 891586640 40065264 504598148 967638905 524578188 86041789 971524163 381243328 481804609 747512463 539659599 149547555 329816358 547632691 391292799 601067019 916544238 273933122 634561083 11929217 561469686 69583616 942328840 699786293 158921929 144737208 474359892 837710668 810043863 298256761 609095755 555794741 130442805 805425856 494751158 881435590 837731591 144631364 816738230 169179744 287393717 826717760 623853086 355093511 309776721 738413815 649351633 739627044 774654924 111009509 882990228 7087224 882069785 471113592 439017920 94948714 323409737 987808054 930228454 242512339 201744343 487642600 777635676 411897547 107462634 728238334 309952987 772651167 16775600 423432937 693960617 221483269 706633949 892777873 289794918 507894133 471703932 788634334 443635335 397459454 611841720 70682580 277153146 211099249 265799590 966718382 543327127 1892571 494032164 260458983 386251530 525999236 168350484 917251298 150323447 66197530 998311591 201410218 472834169 828668997 399583235 624202467 113405475 62765750 743313313 275042791 110957897 791490058 625832042 198605848 894249986 811273409 379581744 987963558 310120464 504681661 530893931 317944781 200133245 158177698 218525112 845699299 877215781 455331870 458912137 897864903 5635588 801981814 602105096 94463880 915141423 189834737 540025284 299801012 972340391 285081905 282162316 770188539 320721049 837488322 116700075 489081563 596044768 239445471 69694826 7504885 989651506 654497491 471410275 328192333 858277072 28015532 766680138 444573582 96769190 491960433 145593010 991532646 817884940 275616668 208678210 656708261 813087159 630553654 728503611 205765622 729165214 649435387 965617474 513909779 16512648 549528045 786307685 803038623 697994289 917080734 250208882 536188257 425357241 93103260 867467511 510930593 376921903 480920272 198070375 272625620 167967817 8383665 785265118 497710118 800353998 301872831 875404984 470690772 145527989 294513126 685862157 255542098 542124753 740198600 90802327 659985577 55545635 872798171 957738648 627543507 983151636 699314402 389681025 10068403 397479855 140108331 292384110 211063443 447489708 909521008 127714759 161838288 122498616 456233786 131048518 374308420 531442704 75237349 177301441 738419941 990744259 236058719 851978918 652596236 366180742 502809731 268893433 851465137 199571995 218423618 965700590 292258179 839919297 741504040 930097458 814694218 360953690 420529167 521902948 705074501 91474014 470862874 73442748 194300025 169663892 479032374 644163292 906424104 315374177 483168948 475898763 220767651 747431841 500299429 823808353 859962950 636135644 224478704 591117578 618458960 351904416 892949634 674909111 149750599 927677711 133281623 209503402 511946609 168871805 741717613 770968155 278720919 851678001 616577702 239542167 867728541 8510844 571445572 281223499 899077334 619352408 145942553 927839200 915782253 904645718 335690407 973287556 442090183 665384614 998503338 566168552 910902412 715142306 529424602 289446468 599385266 822118666 792723019 638490532 79817251 885352771 329127271 204776314 85562635 659138951 366311358 923005058 75659477 390807058 12782058 589427308 608053464 517841364 450840011 817497532 223270250 261918765 223869817 228066660 196289425 186498574 700417421 211599244 866792537 452523613 759355195 6796125 965383495 357427147 799508519 206480497 715301315 255284465 737638394 905653648 243815011 696624281 42366048 302158693 669026550 906336624 242196899 250710535 218863302 352985088 207341593 442793389 615119597 889580406 637867573 770067270 6531756 46697351 212388663 962515009 114550628 92519661 557052964 770596880 354046351 370171314 352999907 266817496 1511363 586399444 863589749 139962860 378602184 715637429 947558961 199119716 903196011 445144222 28602627 913170999 124096083 564028862 36945431 281408921 246486256 839612488 686989638 298190841 324901090 631961299 175783678 987091075 682869000 652744755 184097154 429155004 13039139 929153368 206692302 270355468 525508897 229083449 630168453 629490872 716418865 493079461 106404981 782369255 439256306 762381238 124071900 295519043 101190729 945839575 635984638 517775613 983481803 774145011 774276831 831722720 381366634 326332458 347498782 493256580 944780451 236580935 928137351 809199850 126417373 407848922 71333197 280671377 543771326 133777279 828545130 174028377 333062812 71690113 783594774 309365908 287780953 197247442 813583884 598734009 909150941 458330693 41997119 54898022 357892079 790664801 398438778 102338270 955454620 493918492 648025205 936005417 918440355 562160397 596308700 443094477 637163697 697595752 65558920 201752285 436418708 384622762 977633234 780150937 901131411 857410219 852657924 974812471 367346959 264060012 422896255 924795248 160442310 918790082 95677576 360415815 285597353 909882114 542905663 547057960 388061898 940358255 174491670 62493125 634690194 867922336 87540386 403287985 879039563 524486807 223445505 107756475 834158996 356008298 2870068 348431420 900971336 602308667 70872345 581464757 645363559 588582938 244675258 614277243 270020040 459301582 666576096 402180896 76023526 532576726 795370426 705476723 573986546 251003873 621480055 824523864 667695354 760607323 385127638 98238273 752268932 816368989 374085444 255467879 675170820 913494593 288878788 417679749 145327463 220705600 962269280 223003912 938998635 570086926 965242309 260290154 309417501 459189621 539390915 633351373 790779761 288480704 614279704 609185201 637058741 140068608 621460810 626709219 404664813 732737764 469585982 400657729 672203555 596330984 926444186 703585751 429767067 513894384 83071991 615845352 128160755 87462261 553157937 701085943 77983987 446994823 14047751 579525819 238084829 312103883 89371137 292475579 240286104 657994768 19926930 342173096 268449054 570072793 14270748 573969242 364635924 812551415 29674534 818541245 327884902 596093760 559593813 896818345 269965964 554068103 579610655 160761501 984874063 294625013 470536734 915064852 656312915 16531217 966273546 175636543 269467794 375878563 536777186 67637621 994146629 11221482 643858128 806459982 937426521 361449753 320525779 745534349 724686844 801601646 496016485 951774717 513262463 445919950 866677729 7659033 210241208 906613141 395308283 308206963 726147330 762555720 38665385 56971252 198647351 194468143 638847170 560387055 17330936 863688230 36893867 186015241 92973393 885200838 259804391 439762565 668884576 901430780 153161512 257010127 546775524 569481778 464249828 476610099 895986809 164212604 554699325 828824942 141563051 307075015 434870480 518835248 32895383 585501949 997578197 665328128 567845694 673251921 541497561 275585575 503161511 517832928 909950107 29566099 488163138 90212305 485867848 833715878 88151187 220024356 101800625 124608363 993394882 706101095 794877673 399649733 702835560 810676995 82001580 132828599 799270652 88226264 129485905 400239631 881198554 962120399 684325818 215358740 366111765 472826277 81693360 67375383 926422101 977010318 109713594 143567423 607473109 242309349 653855911 347947152 944467637 554764379 883098524 812727311 474038785 812370791 69142328 482865072 580168577 149275254 221634856 604365821 710066609 466778357 542391873 76839162 40934993 684303576 186588165 722593815 368291404 943442789 713875660 472452048 402149954 738915747 10279994 968590401 261631752 493610514 16793950 523727398 6420419 672820415 887853922 470925373 337330196 758965197 496793519 885840565 369111364 765249262 682249461 200562938 936608889 346331158 463514421 942216612 924799006 595637619 894262507 519444098 752446891 505781558 930612130 18994919 634943381 805994781 866462716 853184447 340744521 778753044 556818056 750413482 520698491 314827691 86880064 103438526 728580256 837067924 528594995 689108530 720029799 12403185 812940184 737898799 880287087 218367477 370083238 905557670 347275835 536580246 291049690 679203759 176983517 639840182 690694732 343981825 406055928 337884263 781455130 336600448 465703547 688352038 577487805 784517157 610089284 992660774 259045231 802186030 854614892 241001051 820537114 251083813 428579904 791342841 999241452 965607940 191194988 295537190 441822481 844187642 322586706 632440581 390667469 365814495 707574367 697844329 502945097 871989634 238676528 114684038 250146713 284645017 603006435 853188677 84716903 303223248 916284076 616054275 812969656 159835741 590234850 917485761 681178714 213077786 159667218 975149162 393007949 970566373 532304294 12066679 121466435 984187599 321986274 639820284 948644149 719729668 581356682 816992786 351196229 629920101 660829244 216463816 870579137 873532580 269454850 599450376 633467403 658519934 750828444 936307598 768501179 132503668 831082805 317030064 70165504 954047542 651949794 752945321 847238365 143006471 937619467 188170715 346772323 492424606 166172885 384216764 151870503 284039411 716009959 476004995 143251946 208375616 247407223 417760121 453921992 338087187 529859834 195281491 222468980 841456877 966843759 895362248 666853041 577593932 514338894 504892304 547443236 761130555 30517914 71045261 196638372 422428282 858060868 681151259 751432870 662457199 974306149 588045767 940452522 205723822 646581515 951617968 323956412 634292773 970998029 336430290 472623817 840371062 839129570 273707872 462620143 510991059 575526862 380897944 273661439 494701870 395288121 979974104 55801348 32796839 291995628 745969013 384128838 558639767 827745767 768501185 692825349 629917136 108985057 626256775 232448620 999409898 289851173 992043339 176135336 965275196 129973870 440254852 85956003 87592989 327318469 250750463 981940849 519984480 196827856 999230571 328827199 753878711 776120923 772799934 232154790 988824906 515081015 674439930 403584540 833792365 727722655 721966904 900780085 642182830 940218035 669127425 15757441 749259486 432328869 839494145 632175153 295469783 327570105 339053952 118931107 671711529 137165264 111944161 519341178 585371689 925216436 975672817 959689105 211198437 971006401 765225745 866303262 368618594 29899172 680659695 460410219 364421361 887262242 944803341 402031807 656525191 340189992 321234131 520969862 97254437 825188597 546947107 781621384 568854257 317245433 430691283 678653957 746315578 50378665 153314334 405597498 175986663 332924121 190742255 808411979 898955387 713218180 766357002 659019430 251955229 243273304 231860279 324135607 796178777 654511538 374064182 174751361 758072118 843783009 652938878 138803769 211059593 631510913 27704019 770770782 952400912 702457080 243176102 832231329 310964375 547489844 103985146 304769699 733336184 799424990 152440263 554659405 434423783 304369450 233836533 631314947 563247959 838930415 286675547 131892164 750728214 363679239 757688494 531905297 345504202 659519009 550590185 514335375 123062679 948293128 620895773 468122041 397240495 106917451 464635652 290166545 809248650 989367997 630021561 544252452 10200277 439572140 30451119 795917206 740591830 280753096 194967269 827670090 581939292 682550894 194939711 372126375 543628480 448906214 65018920 938649216 473270727 221782086 81058436 211816166 526931389 962258969 178908370 184217964 490338103 834892047 198105905 314514589 181065992 502498541 702512278 728758892 563717925 495175438 413112180 184290264 430728197 347777895 608592402 353262107 315358090 738498336 941530590 45872068 352030597 121929487 237128147 747482858 530033041 488773432 369341556 660123329 748456288 400167878 365904706 84034096 486612082 853953669 737413584 964613037 658511441 416597179 711978953 599406716 267692634 754577540 450382653 723566467 237501132 960438520 109998202 218245585 151752276 800891538 494605242 496201446 14622831 739335120 462259004 871863508 67420706 228863208 650534733 326073514 311238584 190412756 552241389 605647162 349174927 240838042 21891150 889135807 708506137 79981655 950993335 235821048 160227421 381120002 887126505 177078652 259049478 9383575 26858585 643204718 323758615 268061275 709647878 229885890 292343292 16714353 367704459 781922730 524800170 648050319 287680586 407877700 396008079 94896533 293322666 506207455 801527404 129793902 744550414 585796870 12517534 83196680 647864750 897610524 432733566 368698237 250951703 569092971 531090834 175152944 387871494 119609845 83214069 732700384 273505712 494853993 776938995 247912384 682549089 596056517 743045588 817879344 325137729 791364124 385200939 334030285 165932524 826360976 677956035 556073572 214801002 924233836 532647037 227138462 968672458 973265739 738198941 171415375 271129522 494556646 375019705 177090425 55414186 709841068 258690185 506682637 440235460 506330488 483229892 696020511 206836644 934338894 419803089 10411658 938547451 356972171 712669321 788694688 589207088 706808823 226066767 200944263 656247329 960627324 168403679 677663291 179479676 431832824 750087398 6675942 343787147 93377785 932953467 39205869 596256471 139893304 863003065 360107204 268465577 265165204 718384601 685691024 170345040 81108510 486562767 394203935 214957350 730784422 626249420 786238121 782079485 958522761 367362735 477830430 580207787 947622022 112520258 871187853 898980883 600191014 567775411 937459747 627408836 322049369 682187287 60234855 755346456 20901988 40002745 720722828 429052795 50047454 692065827 300414160 227316852 226248522 742698131 482383580 318523447 947087117 618187238 360514508 968149316 179357512 681347509 993275473 914769659 462194434 598478451 899861947 359107627 387756186 36204760 987134449 234555100 12302707 995960622 806825967 984692859 64983759 313236483 57696166 345459524 784775136 920221082 695926975 246090081 598633838 653868789 66220170 983395128 119566548 934874365 648962966 388879939 301742485 645144562 315009841 230918225 437418322 995548979 827777343 488875483 294559683 268234795 851480232 670004529 587635355 298272298 546306033 959906332 8444561 638662017 185178981 917568433 416255646 78903084 25340185 317160397 191493123 720055547 521287255 19392903 643514518 835371387 181935067 680887401 750852886 655332209 75275389 276540163 522552175 534968823 702970874 765879875 883750360 772995887 805902884 146894667 513277051 854728938 516651886 453580442 729870347 494145747 386282541 465477565 316024357 12299571 967061763 154744895 986823958 282132341 770475477 50573193 523004418 194257893 703298587 691011929 426052292 426802528 698187513 911784451 607964152 796195349 943485595 480910030 720000452 321383359 984238634 231319933 937653660 462555689 496681064 444161228 365279777 831877076 526602642 979774776 639177241 205603492 80859389 195917602 11625412 878859226 143422397 908615237 728172771 801615110 115816946 43310502 671689483 865509554 757924905 26578842 946126599 762148712 951788888 815926672 625402937 189835722 17998437 458160128 766881476 886273227 492193021 303413727 921713651 574402082 18030008 43107521 993216453 104122325 547327940 244580265 551710300 703330271 241058013 388860891 876649583 161139079 465743116 618796024 77776783 61364645 789349876 37619392 694107064 811727834 753050166 689115846 797066465 63196500 68089046 382217695 988253899 353795603 679921087 74811908 217143122 857675163 221270532 740742245 971603355 821838398 20612951 563366303 269836434 252756864 224548572 667626013 655859931 137118856 501111586 936485145 646687704 33935575 596015903 242703448 53137447 443783438 324442162 746721526 110970482 310738676 777569733 415853725 64744514 545084874 456323514 508746303 740082703 630156564 195656753 655054268 612811522 513216938 876463801 586513668 610783621 446580493 13313633 706659528 559067549 994789355 782074307 727737835 503479769 700340135 962438439 16599223 188683838 508036468 11411935 430428792 218255620 817355392 953933341 788367087 398581738 279319332 62942362 445207858 950105867 332345551 750588787 118187449 105713080 879971997 918821893 602247912 625400364 93750110 329005005 103711417 554217386 790054260 694909754 541724794 242980135 217688120 590900502 15067575 984104702 306497021 599596069 515619250 200540997 249287662 137117576 438121172 467555195 699284711 539306519 931739387 236378614 687338823 344392458 164239438 568838471 514955268 518924962 323171898 973237637 753378765 848074347 294651118 23526840 866409384 802735045 331661514 921256603 186161727 666395666 321191094 124510397 392756638 662919832 533246968 418679130 791869288 287785635 419528858 815048318 952191766 33662657 234152368 175860997 269037203 289638835 202186876 880221136 839848878 748993577 985347595 757717733 586352973 949596689 823161826 423554073 467674072 794152603 667256591 478092861 245169952 771061776 782224557 20050232 273985503 995020838 308217539 464140132 904505574 666477940 472255089 87046350 745681426 750263243 886274983 889341432 783131416 690953007 964620796 694703375 266072176 791608278 19164814 914398460 110113556 82793583 662080105 784606384 925200806 619698259 652047573 163267325 330453604 209712556 380914405 651787636 206978276 264869452 611086815 653398342 939859518 515094168 588531952 239117315 284734740 24261787 83104444 318210108 635542477 15200690 930389352 813314685 817447600 440318574 144957284 734010159 180368023 363092822 14657475 847303325 173533322 496782327 731402020 599800781 405871543 203093867 138601001 93751456 641567131 276687712 45253147 375977812 762049825 679190661 824745088 772927534 459760690 671222882 442134556 926326634 635112690 116930206 809572631 714286226 623149890 440653935 120337145 292881468 448204691 143143945 534000437 418131641 394382598 514956651 33298930 250765743 805518021 289627658 663147661 938997926 23838781 152042525 742306331 59666934 928126976 964718400 756958684 601320958 692929796 339408777 264613912 559067125 644752120 713038246 399721328 422865461 854467761 755591848 56246964 735455457 660961801 583588995 695794752 169826974 151493469 953757861 712928625 799626764 732051323 289081668 617025068 454970969 401272376 274920731 10312081 235753837 193250623 851614534 576867733 284628393 528977162 854782387 51969189 537200737 862388793 892427866 462522965 9812332 172592275 455994667 903937762 458590225 479352640 820548239 139309391 117727045 85366165 302098398 656465774 403908660 841278132 496967625 68090369 483853948 302953558 468645468 44417173 978212880 693521041 204765191 748741128 481633491 158995762 786652905 389424868 316962600 242633716 645036948 928715441 230315420 401776443 73195971 709172320 722497711 231681168 965199349 150821252 539574642 807507538 26359517 743577550 738564925 204910853 701855842 679750443 66649806 100365156 398363873 430221088 743715267 539770834 861127055 326961210 48353009 910559468 386756572 115010258 624157103 526149987 81878221 236374834 409650275 553102664 239911190 467391319 473450384 173220772 78357077 220746209 210020944 275050899 423728479 930097528 505354852 88285379 245481572 836453261 689078594 40635557 764964247 135553330 146215 135722905 682885909 912754904 853049127 960853978 660069114 794603938 387519293 273916927 869896696 955121779 831300253 526714620 710598806 166876278 480742909 163532817 310556360 988814447 960334823 411109717 983732166 581854348 979721151 775299624 404694040 775194495 258258749 761695471 349833314 871503156 634778814 154799346 54077059 389870361 384039095 891590622 584607489 971762700 332119515 561601764 766339459 282925427 440484558 844285146 486648785 757313091 239898563 230196077 904810170 590631717 821027327 764633344 621021833 836958296 373140130 657970255 202629338 565795633 999670245 843873583 914901830 723699455 925440921 111814479 243029262 552194149 421802765 685300653 465954167 579107202 388164347 360882515 492010604 682137318 317337427 448153304 481026485 957061203 768454821 747923803 650311420 509481040 4561771 802397210 930936603 643202709 355379932 285187942 266835099 372588991 942022617 688110526 844838964 588353294 413443944 102666215 782224596 924027527 338461417 428567697 219881082 474940243 522120179 757045247 21667751 294463211 397928710 531085655 810754235 533407617 318213667 115887841 207070133 972544438 244325691 739912090 226718753 361834635 997908788 635874740 799412196 3789798 394544447 62561446 425229803 260271276 167498003 397618441 686385365 248688269 604292163 932552721 349722214 95815966 226658773 23997049 599760254 127334425 165906146 387062130 681933695 678684898 868273291 29375274 183119202 935179797 630459056 324669111 954677924 306853931 173111641 294614220 911887778 411997772 734573226 149282282 464786452 128164831 593121574 559600013 492123209 814750189 814432621 960967805 719263284 705573617 982381895 707511411 638882908 840478073 170360166 620661197 655716677 606941281 636682747 393362189 34252619 304901238 712960022 938156544 93185489 802449995 508070082 140591784 414766587 267792234 863019951 196613364 943154296 593162814 893303247 915041111 360225833 867915469 727320776 765367953 306017324 668749253 801165417 430470458 229070096 140575739 980163227 81330731 878035158 721622372 858420990 713975253 378766190 528707513 492066159 871537130 965554890 246107662 578852587 498153350 91699019 711905924 453314813 215811391 500365867 603471437 422011637 178575578 608273499 912020961 43759647 281825198 878752296 640226234 496756897 68136130 458180010 178152770 857654320 565414401 908519597 14873909 202114822 612897682 585027759 26239114 482898740 307957120 436513490 60964501 283243114 778150202 503720763 943631223 328807165 404424561 57588715 515299399 45637149 549930759 163792094 2723785 177159187 104250724 537763234 180013501 917936333 839847825 197922731 291144523 357080559 204762307 668911536 153640454 381922175 106399301 119286657 522213383 374145448 206226932 614422805 438913877 806497571 241143652 524865004 496153085 669572744 456878557 704422716 77424830 436297694 509084653 644398987 307342503 666588421 478610834 516888347 388396496 448884114 284336106 511799145 637650744 947385783 706027469 83681022 833972234 81129348 68069467 685678618 640671072 176374934 79993187 306548581 584662722 199759284 615970428 996657802 785600477 83168444 599038119 233308294 996294083 736008869 636717890 278856616 260766806 57541700 287359418 76650438 547057329 388481013 792379242 913886809 147681052 61593750 764049271 196763959 847355951 626413841 167461501 743266290 266584167 753802382 230288673 196258826 396458986 512410686 582562619 205546644 982509679 427525337 88631550 774939781 30330101 620576401 549230437 451953080 622164587 757135837 144953821 714626580 502204785 746160970 970914185 347033451 819105772 494363740 685407688 606138313 62684004 949382685 315239563 207392754 626600279 375051453 842001753 656378938 390035058 182681591 443426283 673555449 660902124 357316490 215223371 160300934 955486791 911648625 165689584 915577047 657479186 921525257 938549424 3778735 345726848 81601410 947620992 379663617 204726039 331710024 735078035 221481660 516643405 918215157 869014004 541672099 850842713 265245675 95168016 1146891 769160126 118859887 291963825 264153852 256123471 142665028 868605263 686565407 840707708 154354354 71371522 895440851 998038771 994293565 504929644 634619986 744686321 198450341 269769517 429376536 12239656 514949091 617504636 796001485 988657872 278991215 433383544 921544542 158947510 324022935 562174664 401088369 493423401 736984698 373137751 258271888 502610353 388360762 94249090 785808572 791324694 932216600 931042398 204722567 636049195 337459927 451027286 369232184 565537372 220069658 769026119 513158238 116099752 91739997 905390498 251150043 706318125 364818136 912151176 352725373 363529521 256510062 577839967 459740688 228228209 104671116 528603560 507932943 299295503 938184093 410113326 763383384 702970659 928816998 896069105 292001274 953389084 309938940 997878605 314229273 401654425 13269000 745155150 443860453 496069332 656880642 704486262 974597217 119881522 874222985 849025972 309366655 336059933 805791064 709238769 863162671 187726049 437164552 999667516 15145692 912882721 552654143 800842434 167419408 121119941 981369831 336673836 804076976 228162274 987170833 466670755 465477629 765067065 718660420 416053714 901050359 617328093 599347332 384341303 918795367 272517543 259501410 135699561 410815049 139658550 286052036 830872633 471119561 171641636 630827921 699506227 612283998 139595382 152425622 253845539 924875902 336607268 423831634 987483133 19416058 7563543 415666593 844173573 975114042 393774151 179844221 273486029 954502967 740259667 98522601 260850431 356248250 385255547 266945918 645669565 577979089 90219611 543558284 332895253 709732953 343384261 603668891 784434888 930281280 3021757 448737991 874441934 806556731 12873778 127047700 579637256 778495425 137661365 542092817 225814151 625568341 295544225 120004751 949279210 828804695 143909757 350392482 840736161 220398442 549732775 693634565 756736341 132450760 61094741 414274410 673882658 710189024 146638524 441032318 461205193 262126457 431998785 880292442 354506360 992308892 242165795 544343247 793894389 352276590 124972374 332277599 853877678 628299459 960921048 705704684 211154966 940214229 951605338 204657758 815887263 733468970 676868465 840329429 777089930 638080901 249916060 213990970 672640892 641226521 411492205 835002948 807356192 92175803 580620892 426639658 674540636 608293512 790892864 46364719 658975708 950955618 241267047 492158015 540399322 659751451 868116141 457669499 245651526 266746769 818475724 577242566 255580801 481435677 804559922 506849764 646261525 220841965 186326880 338347125 188869699 249864158 287135329 247764172 860678396 877528994 686246174 804908834 266149748 595968178 722002930 960494421 241326611 597715812 946136504 664886956 645640595 31133879 737801043 76217750 381604541 326796125 403612551 991807405 236590835 728559224 223174091 8678252 634008723 702291841 455552529 202295489 525063233 946185780 726000119 939186577 189875453 81319241 466800515 725631953 126139337 336818871 993113318 572249070 767408024 23281512 319595351 393308780 759944351 919792006 810328302 955157391 246110269 658895336 548658967 484100779 752117168 838423872 992168223 766166827 233157701 528972797 585736821 22060196 379163941 655980289 886651922 933652596 944330957 759648875 826505886 515538359 650177343 386253782 825488782 557275526 274720351 952481661 735288217 406525112 815231333 91798543 948460805 746772591 727372020 621973554 189838446 490364794 630378790 803632491 755909207 557369220 635518194 699496265 543642850 757681349 571498449 315851968 750929211 847442326 16663412 900675251 525449580 583142159 481943627 312792328 502669817 929194426 336094419 757454786 851196713 572472362 737348912 275445813 146018478 718625666 921533916 266528414 621303372 593017891 900056285 474838083 918290264 637450499 210132496 435297060 109983432 957621463 965183833 387342162 960415238 948414148 816626227 31153281 13891281 134668493 467212019 515676456 905168246 743216738 983505742 707899912 463712087 705917527 28906114 575571105 97623462 561889759 70561490 787401254 298688145 309891245 964032661 767212840 310959106 399386209 950413574 241254459 728540077 930230696 491498347 927475173 946657040 747483147 674624535 648263328 71911226 497428344 323144460 698411324 222314162 981488130 414152552 687199526 147610132 827391117 598858477 940253588 876196675 88080367 167563724 565648653 108045305 709407002 277988764 174945524 597060534 343212293 210060564 439385593 199396030 372138094 831301476 212545698 481960510 896314831 733015070 803973783 458330490 296931236 949800168 399036613 995244035 178010529 633482154 530906777 927739937 634552367 725857963 581184040 223551784 295117758 591844090 258754258 854746666 143677469 449734467 559276643 350897948 873842867 866563546 1146366 419950182 346636362 133178580 383476302 942179430 836903521 714868324 85315102 86589102 10099804 948913136 866214478 179371602 620921543 864113532 622422423 947678493 180526365 932674756 655625333 366041177 284575568 443111158 60058947 624880130 373470663 642929205 99015156 577369024 397178494 108662027 359495024 622566085 536959501 671885665 228043885 676639312 866407315 446462873 777135606 30315882 422649028 302632514 765092609 920681274 707531518 886242438 880859782 650586957 986185083 399234821 74372133 127175398 733471465 226428844 347694003 918437994 109038113 775201483 331431873 6032320 860230393 49013537 611889929 750575386 697315422 167011994 5302788 388338867 213969130 711204729 464293130 990942368 485853546 788352000 787363759 531245598 3610053 985019684 672971088 616331918 984462725 520711866 153106409 517913367 276927367 142226864 630982352 992570113 204329362 291426616 328877992 552330979 195652268 727065788 764036973 740860285 934429816 942312940 76609741 418868541 182727661 885939984 129787792 669984059 731587533 208255330 885410727 918570605 144065537 553278248 110839876 721583201 119154139 834787264 568140000 679511024 819491073 295991837 406848640 781472242 57818125 790982702 745860272 329535702 637575966 352613798 253973309 225684897 203012413 655063381 898140536 129379281 846427015 518133883 341730422 819250752 657831835 206910029 675243125 415146422 260264673 126953763 719563059 336523514 787458632 846445288 973309391 399377033 472448520 159223083 20199828 759470744 919674845 368301715 23017770 295011214 875181218 98337833 86606084 316794900 244467911 58531307 5798955 565203884 108911582 733479079 6000113 276599493 264629726 925390030 812908434 465685914 728617700 91747802 506064961 198187590 205868506 100808970 952274694 202028197 499569202 792138885 866473204 839623657 296726009 619712193 791975359 906506920 359583013 830978220 234475735 465280968 112121227 704986258 769356965 436531204 797935114 558871508 597167412 678027484 88265939 418778555 682337752 680966073 900845516 532528962 390543764 271264820 105317635 892221203 951769480 896479044 142940854 267081927 135002493 806296982 987709622 999569803 615498641 823648877 595770685 163078054 343884265 588181903 764262529 615108013 205898273 415624151 830852175 850635686 453432806 487018569 304889458 686024639 479374422 961446192 673156264 561950373 144834563 793957941 794606674 309624724 955548501 216240564 692461766 538331042 448150734 46030412 693545430 297439352 208987213 951200359 635650244 997518941 70877752 438930216 754528127 565724713 136485128 630491908 604069824 680442075 19707838 704695024 437291307 669205747 87240639 848408745 443425384 987663733 715049521 462283968 87073850 716220230 76494711 90594834 662730219 600322153 374616547 195815669 779195020 879079942 969194258 721026330 7648112 708891616 464643682 486014536 681928759 287577388 812312169 165863458 693012541 410090877 999769804 504207566 991206212 120731689 228833452 3239803 474792628 109913153 742033194 160470877 895140527 238126590 405459814 119932217 995012497 248687970 731116229 159164205 986011211 950361574 322463238 480610190 860180645 83841174 375138534 559436115 799218553 743594703 87907734 38381211 173382071 594093016 993003849 989967835 349931098 743485702 422953124 879218515 859725829 913082394 765826286 379156005 76830607 177470972 702402097 268990867 108132697 820619481 696754168 932217164 788245852 57414711 906067551 625921139 854986770 157530099 772078456 498926251 854290154 377502880 636048923 558135030 436389787 669463891 230493828 138485141 900079275 417762470 193491364 810770500 467862728 757934939 310223132 973217181 641310125 658220641 180398910 45151674 989474054 136565761 253524496 525747802 867017312 963758112 335079302 273630896 460113424 466978443 247251065 260856852 881537546 477216827 88853077 879617465 87438021 21363275 158535830 283159061 836755473 318636799 469546375 749694655 119861066 992692843 934600953 514877958 663584531 444875327 232206366 524316051 188737679 168604471 436850366 924697119 776302915 975194330 702133542 794059553 49071133 396411671 530587770 572850193 552346454 6091000 572690003 937624527 237040200 301801943 722836680 604690818 964760950 174811333 865632801 131483923 600079476 208351616 51514516 257151727 844250277 341912786 704676883 378211076 839631348 558873934 424703842 900089271 549825081 777711290 683787700 554444682 652010819 743230846 182785105 777663134 132784353 55133970 37377439 19013961 10664369 235101801 805489020 475775959 484551230 562991198 23814092 821215280 65830749 157002605 590059237 349215974 242616703 236215852 846863532 794151036 862785893 790072008 464567328 336483352 843551152 642951640 592161151 339835906 202728289 739761563 851902267 527753294 420063582 710136703 97004183 611703843 770183159 911598463 23546222 587883637 461041470 902388428 186532111 966768276 738713431 357512273 817659205 303401845 391944554 116531103 330829091 477536426 865767627 876161540 388978897 623564361 646876488 498036103 924618573 625849738 289238894 209665803 621795101 350083498 587087551 265227709 798053401 215917533 185725398 931939768 486979028 105299389 117792845 421995454 613284296 313563626 234876810 428694994 243166316 646262257 507792880 917687552 199255180 345498452 953718608 174227769 5841695 375980214 407462046 826124214 233766393 326872342 391449075 246788152 879463585 857543646 426601882 854194196 279086973 79088712 705869875 899874137 993924009 791823500 353701506 54729068 467715688 629748375 933090081 325403010 655719798 78814497 904516837 485110459 478556592 218125161 628541021 775448537 736944901 238358339 589975072 726955681 423791081 198185454 601320234 482127658 518966014 305829799 557980653 453161536 169243207 177121784 342446303 455872788 367704954 133384249 262832225 215630188 557853903 656171721 444912716 737294645 147056942 319838264 979512544 351616144 272393788 292819418 413732388 731672332 5965479 648906720 209075183 267878249 429786436 934222577 897810158 526366461 188712456 864304583 630594055 867252194 534595043 366353734 921681828 626523659 981561020 273217200 735931372 545028067 340511751 114440995 259235043 200000375 866676262 854646145 601508775 219830269 50842319 128982686 888463151 157096060 517133744 408007156 127444283 767765978 826821166 563566201 131187508 43178775 472771441 88045646 196037182 958765390 757501711 442104205 131388052 70194014 114811770 348849635 405361734 419126051 688936535 517638646 293227615 683835053 348101070 670433019 294448953 668885475 54856053 189227840 19494281 182857150 4500256 626477278 349913095 294894540 669441946 440349970 223228137 293542056 429276508 227279651 864397155 814727575 416372045 205116177 815425027 683757524 686836416 861215083 485395718 894984396 2226885 478474508 13582598 128270266 895350850 11438706 809731646 784754224 56211610 889365253 666467139 240305603 575625490 28909407 572065211 724631413 56853357 209066751 260317434 941309152 359894493 215681315 987114734 943859244 813354075 113674351 968349344 513411267 354685890 636679825 457293751 866880629 271592167 892947880 178654364 632151716 269218546 425677420 915424596 323149606 63078156 36488429 71690336 113507126 846824896 831624287 850399599 697734124 952317866 677565584 445613870 267165756 773004634 205546848 948518573 901031666 209060274 261577191 348522898 979299194 891846997 401429979 481909608 642585911 878699108 133247420 431518656 859669080 437917892 320926591 829805150 101765456 942133854 497857979 832974149 984995976 508036574 920178448 733703381 960216673 986034416 201813374 42976494 333968483 435500453 468457956 669601654 788233951 23237246 255672576 432544179 315151765 629247302 532577178 341047366 600238806 4655994 768104620 702523858 410461625 10951396 168226918 640296889 924541275 89526743 818931686 854223528 486110119 427374832 17563045 990921107 435770477 932929220 562810080 495819271 264475712 862073704 837405857 409905914 654774603 325715465 635709824 15818403 325978029 992515233 699288433 177402717 190966128 95402714 929940056 533823351 388545759 267875198 891261827 574089202 400850264 735529987 734101855 21934876 21119681 350215690 626955764 340045794 365958457 202316787 810923926 461972509 129606965 794616867 93468891 643830730 92968669 781522117 956022280 278929602 551635083 307111264 412226821 184880220 906498521 589263366 87066352 122131546 652928070 951052467 470616170 750890407 991110062 29323301 538084203 58582098 224769351 236960701 556786015 829003140 53683242 973092710 670505017 809255946 59206616 412944200 135419406 195926731 579549 29541590 280369954 87481782 510347870 475600098 117075630 166259342 568119625 274362799 944734778 52520823 782024452 868228392 717167149 442583649 158281170 949319358 765103275 832272585 926758752 547831221 722118773 124044857 465635173 393826638 394392939 446958800 438006217 80007969 749478582 229212495 12088963 932881941 864801590 974959420 621754541 62919916 99458516 706078669 743044193 505195896 327598474 307391420 113020043 590783976 814730927 561419057 159880039 929029237 129873786 38646874 154561188 176344262 194073082 424870732 716515804 163136480 218951723 657129178 68656472 559401581 180933345 190813270 861649808 732773847 993682820 653862099 526119407 184226055 312790842 126047462 607531244 179630295 113889727 683976491 464223940 696632142 423842683 885355982 268820664 592146544 982541743 56418109 51693793 467214666 410316903 375808751 860358928 114019114 985801985 798880355 405207498 307131484 479666655 475597024 172906386 192180295 744852467 660159938 772566401 147447247 823263629 244455839 61858225 333525745 495405562 334539196 854312848 59393882 264730674 227603529 763736852 162619561 389427543 165585586 614283936 182151477 136271267 631801547 648289151 446093073 511935875 673872743 219160410 607864155 989156093 480697581 82945934 797005547 725145797 243512756 641595653 700960132 919888787 436752132 531900176 251920609 435395592 116735177 561566267 872005374 534579545 273583410 971774119 898334816 870404281 276030369 673663876 625054837 354736657 475122777 521668833 927239248 120165641 190166989 228062583 552963715 658701425 172723371 832245317 820170263 897655828 456425032 61346520 206785330 79481674 293233737 34413069 216002476 928610646 235932025 934042590 117080248 838185911 98635889 828095074 113281369 457983950 428117227 702638931 595297346 357998505 81705267 368885459 480046647 755426232 523447053 699977251 324022922 751953047 677891106 544776494 733212296 457594899 963677650 482557129 555412601 300987383 919759198 586648952 318859056 453504770 404398600 584326267 595491776 322344999 632511875 501897784 378392897 570558472 542645352 615768614 196528093 575611207 75320941 909380648 283001515 262024547 290077653 293194694 490997450 891272032 907837227 79675009 161219316 403028070 390883232 772498207 908264805 910813927 660183603 51303264 916085346 943401820 655111576 134118472 81336335 37252363 771095805 316249816 654955183 725748681 990702559 384754556 688776269 77738126 97181390 999566070 603106506 886132466 75574251 712402229 383507816 839358159 691306357 930338400 227371762 925526632 83791321 114330124 976529456 350821709 175462512 70243788 749665338 61257095 586752871 493417097 523629120 937683327 836391392 361538148 941933918 802933939 685743406 267559311 846283941 79599770 594139156 425245652 970775269 30568085 590216289 825138223 576719441 542780146 479827082 906119043 316714762 967836283 952722988 359154209 541666020 673610409 620152813 65422606 776115221 425990870 639690015 695611107 336133883 234775362 727539281 589262707 383668689 351624361 403959038 320136170 481822116 514080283 599490651 36822149 275380727 935755144 492554903 368797030 591898152 372038459 277037407 193142641 617020264 750383477 868928518 764643970 229138301 991953370 595293329 336618567 186681047 541858127 339402735 534561221 43352563 520053609 413821084 179716933 330575262 228627025 167586060 626082620 304312119 189473073 250047851 93965312 87807765 467895531 155553019 754767010 811122556 309682691 465358401 538479688 772323401 542123934 733999530 327044963 350795440 933255102 88657252 634041471 274630554 44886587 293545899 782208373 604416315 243302789 945345525 130506087 749975437 409510002 101520979 540568946 683868198 377989180 793696875 329646160 428551884 804322546 819800649 110842483 585898870 791747421 559004869 52467259 660296353 987288382 762823664 798068545 179748508 663472930 949545146 341663701 486677214 362781662 648553122 925906346 221189588 401087554 170408495 168686705 83856903 785237717 103145222 552582735 444676467 688068945 145392417 950011553 244208724 655349465 270260919 922671434 224626953 100247646 71059547 9849028 224425958 640451277 337339627 951490579 970571207 887765918 986378963 760168667 167366509 791849593 795225245 926598450 97490705 645111741 57949149 688618475 899445359 136576249 239127526 254080676 779680066 748994512 198078341 300539792 141749903 870940896 883956132 286902784 282986395 359547294 86629253 812114579 50520709 618892300 631519000 197156743 915788558 396561389 599007250 348706680 477172566 83707385 868828323 252419973 961254012 935810769 988544809 508519998 923593183 457951712 194123607 305103897 519404320 227437447 481785839 477878346 610496418 375848548 706197590 111229012 383392498 748248165 700498209 256867830 942810970 847904520 40122110 241203031 567804152 123058739 538237079 116268942 158543218 72369 886315561 231967104 776020948 362862787 633715729 478943628 68602494 479124902 316733442 91469823 143236250 506741431 156211688 644073791 377884893 50527735 197854817 864506518 330463434 569292345 46414242 187435501 395580733 338563678 914807094 334744966 127805911 102931348 483303527 541509527 806175308 303653478 359110566 337330596 215658538 392671268 877820930 760445511 701464079 422366407 890602399 209989697 598606611 333913818 456516135 647172644 111429000 512572829 791208453 667924771 470827820 997101794 521274643 572318796 601703696 897662715 54193596 442173661 361707283 772664262 907375870 864346537 209653359 345110382 10081895 111880918 671888328 872531334 848763065 600570617 180252509 402584714 981367722 211356146 930912071 291052481 436984694 204685984 760595570 653529535 238576909 50043127 751680847 503554036 689025775 421836463 201111007 865073149 570161290 203745952 800022898 920876632 912081163 469232710 120745796 24222071 754253716 6413907 305746276 172280743 495977537 897835840 52845003 627210960 629200910 982573062 946135062 775155598 406617626 137277303 166322936 207309810 321554401 153774061 486082665 493886899 990313262 774581629 593406479 962601267 411348655 125004965 705264681 901015415 214982732 888816475 856557318 546869552 994635937 191194999 279625665 608782711 559901050 885457397 781320094 935268818 147506922 622822974 587031999 70740242 845127400 312184861 776397262 196332761 941763002 541479918 257524968 939111816 156221137 429065580 296233839 242097175 86116990 888582561 178966750 92014286 392317751 141208745 848251665 48566646 17449301 791987859 484012334 98165417 919630065 579369989 948244083 884013733 421971440 712450011 886072952 785376774 316428266 748202705 901307871 253165298 737094158 116571569 534411733 696432651 391927796 593831392 886795871 911151893 266742419 753304686 962357028 344265618 862830802 600954315 354529784 333219478 632143455 354323516 56290433 518205303 251548479 116932212 922453465 226862878 319453160 555558414 861329195 292740126 727213282 206270762 695667661 248516191 261012874 289560595 842474534 618992275 836109445 783505716 805820961 617548061 664795275 750821044 481898498 727069851 275682888 398729128 735321884 979544709 124993076 347612506 777454603 751035100 378481299 681033898 221513829 172245477 520215622 596635211 368101627 444921372 179240804 685677605 596842389 702562221 837959982 717537529 219138954 420629350 372887670 693023616 376716253 205409949 836997197 917925569 167179531 343363910 151992466 307930519 763656066 942966850 900282353 371986130 467696776 453640136 927718550 287491067 319062289 4575457 924858356 287130505 991051544 155885254 571953235 749138682 819204984 349644234 858393508 738697922 243067762 354908498 602228720 198562370 880160649 487835172 974310324 600477668 123360367 585382538 710295451 235401784 407669343 214886841 196821091 367043145 366493037 854421697 264060751 874302193 51894552 52568297 502280428 617643134 946986954 886712892 355368019 406583609 665903143 851341803 564770299 760113532 341150828 908968517 651266835 648000950 452018042 432286891 702397404 347446011 74823701 101795622 582315662 112455834 284412295 970444605 874173 113424913 652643310 467706893 718357733 269857756 729986360 457930196 916611387 785891746 117225529 185276846 215387627 173733643 431590940 931355261 165591080 226293962 715560946 628491017 164569671 992271713 731772015 9891275 454101502 4286622 566499102 851861892 812981352 761563598 679748056 435853478 487105021 530435295 391297969 317126224 351352216 475539346 333469608 506444500 651688916 302965820 509179899 659925264 152630811 300814124 884420601 894389345 461907436 685616609 55875984 167917851 817326426 984354233 676999186 515127314 217292162 22018139 191286528 286602485 409978076 260516117 609909882 436695915 327818895 804559499 568036242 226194660 472022799 779342517 451156881 776491529 806578267 662437884 219110681 728122268 643422757 630962995 706082041 492332401 197228446 212680654 885078315 646520667 223785707 249498769 970550269 552834256 506373676 26691429 436747053 780687778 77088289 546610611 180450265 280853517 859422119 545564693 637553334 258111235 34056584 922916428 522207834 26930375 892824417 319726937 296107048 316575881 472161315 394735948 925256120 592022979 75148954 574115218 35097681 970893691 597611154 218783939 187082130 426974199 23101519 596065152 44596424 552232372 857000211 877436036 22165983 845437957 435564580 90131582 937953651 791501224 232366372 831033981 570583976 809186538 75412924 537920471 953084350 596858498 417886209 348688170 314017294 822927642 606653936 994827175 881857052 317200746 901418420 990450844 354704763 237286472 110980280 865904541 532683600 428774383 658933838 408961681 788338718 568205919 337811300 747428184 439686304 599581192 171377530 78611946 681810953 657029191 117723300 142302615 570568571 162927581 810403804 766262068 66444867 90726603 252026025 68442583 343944481 158477407 562946679 279864500 571662186 538995015 595150643 991918399 246593261 870465462 331092206 576365259 488891040 430508404 41368410 622068760 964122875 324926603 606579913 478932020 147043391 485110022 191201036 592874549 351099230 924732513 595431214 916007093 438470236 767014014 476543704 16036630 636858718 746653736 899134598 467125413 583089305 604313076 695938114 194831091 417208951 231336923 913814510 639174623 262753529 187980023 556014019 60542141 799910534 843895400 87565967 505927660 578160337 135432171 323433677 59847770 564557428 817651525 934565167 648492429 278305592 648354584 110809945 117138979 408465072 180563622 498322124 825535171 939393779 532314832 143508586 757428789 462693082 167867489 969150063 128884491 784300345 188126524 997736243 164307472 454145093 846019954 271612917 455203479 487681878 186723935 276532217 873032727 787893332 185641613 43972989 404221962 789120151 565153136 831198130 556715775 197227659 576659246 769329306 390693034 402603101 18760428 669506699 786050831 255316862 698707938 115357844 124834526 719958131 636329358 521299776 101737162 89146161 41947731 545590821 255218279 560086145 866743255 689375236 207126246 211675653 502948123 794472920 861036310 17504989 465352596 656713574 500877467 110875559 355981808 323118835 129782312 997295897 208838449 833164974 784908453 48072719 815759001 491882572 625122823 529530619 501217155 901060658 981207894 368049567 236445546 430033776 107273409 929874114 382168087 89500757 90155953 939195323 881299994 499099190 508331379 231774663 381711758 718709816 523612823 418105646 384921227 170086615 787876457 188728330 879790270 517315115 790217648 136146772 986676287 809084995 215681339 554171240 445056107 166216892 364193713 599235614 620684526 6709783 30105796 149891572 379228221 579127395 942270762 326192806 83358279 479887839 743643978 818012851 408175589 83616655 1491755 41817171 515956772 484898033 727528918 786310730 45798770 154657453 258664045 143739983 232561822 774475265 131019633 381143805 123792572 117611606 488995509 850777209 859341963 224223019 948838982 838936051 240192643 574076465 890508587 644973759 988197201 865953842 249714876 24106291 971848515 419137811 48973463 945561950 824698755 158013991 811692723 56341955 511301886 638874367 347913446 363757427 423046005 732322173 212717868 706201814 830938232 621749350 609700782 826709719 939218859 718297512 146507249 741883209 103667264 875840582 324608285 353183919 68674077 126427083 953838643 568453476 734696589 68753686 913606942 739980885 582975412 565697101 612708877 188811891 456310198 864898253 126820036 295811298 177032451 36913488 637676459 802092652 232502171 449250225 921989274 103916139 221936324 935455730 553367528 132847749 54944057 925588157 749840813 203288627 307489690 547850543 497366579 773049949 476129440 91679271 564720736 552658969 691297452 849031317 827434960 442793104 429204452 961896404 724349355 620830073 324079719 19184346 443120167 75188046 944837549 717013183 706530253 944974682 443172698 16047951 776345018 328055367 217320267 818341608 237006619 987407169 423075370 150426011 954466336 322381797 945928606 295467937 584619565 944355402 724987780 693550929 383156006 384520583 240711508 240975696 476358704 876341752 271706988 381403305 464536759 201057003 180022586 988023195 5600644 316216775 914814151 701883175 951096751 340787717 30683864 369163876 878159101 21812619 461953927 566673069 248236216 70048541 801885196 725818108 236736225 885688728 452733442 210549935 589174311 30429032 754822696 276489542 194845363 34745283 626779188 18338267 311743347 247196052 278202041 734510390 70270912 127869723 600709917 645782298 432127361 634131740 275227442 12818666 45523712 896787082 703920644 127460044 956454426 353920721 830635472 226603519 812117875 180731460 50156520 187963459 875192675 864453255 384840010 770490478 109111211 430074356 431789127 978610478 845536055 800565382 920507393 93856991 543484383 727226337 222571031 471965921 578993659 384194748 146513028 643071756 29450090 64644420 647607886 56806643 534207833 86235757 447584842 996996956 562311160 668069024 193940747 669699262 460738457 17738243 943693541 833704071 12461579 949576268 495903294 727526340 105650161 97812276 366300643 971383080 19931989 574705944 101602149 534896694 766131554 16643568 651599560 701790420 924883904 657932080 195900985 820347274 810714663 914331909 913331816 823313209 798055682 233420492 454892943 770386031 230294408 962288338 305285510 295291688 617951586 197547963 552980489 168006956 205387386 864816603 706892648 522644101 790401987 918147992 300729450 397622867 481547743 525870093 468856616 427049930 409225241 505298808 246559724 940463834 142091548 644436130 604183283 214641848 216736344 787673443 737076738 805477638 818599304 582967059 13736126 980422920 324992334 450193204 657140755 189053699 54476670 470637938 965513310 403409775 926952114 125263321 379476140 528352954 902937519 26198923 937447205 839951840 710768549 274185911 211528459 179722468 474593655 25702356 366240677 628859020 734265058 351960932 573965177 270783122 261705541 713889603 356444174 734935862 991994806 387602241 402364311 235160771 948773985 464679563 711083860 789626819 25971330 652547657 649934674 75748014 864403140 298059760 343836126 329670407 96152593 564887245 877498570 243070357 300764704 290823426 205351385 460923445 769084747 291012722 502920448 818861731 92099513 592502391 403342281 480070074 746226466 168322514 529204089 850507612 854182673 211415256 652487249 515113615 341248791 599509870 242169901 341091847 615052697 99640705 128213641 59203901 411349718 133249884 762928536 407309737 70713026 7031882 999729709 12088453 917677028 565372756 120677375 194419873 251152763 233158305 227248905 851025634 812952936 104084986 931771806 236798995 70442125 111082926 590212010 600980438 892788016 352044074 301542175 7035481 53901466 934599417 342340128 382712546 950322092 34188378 333128406 648686693 117120120 203129797 650061788 678081124 794000197 145432777 879277814 375354897 764636733 161855360 952949061 655532948 136483775 166999177 612693811 680497854 533975481 190689799 392649974 760066075 613433576 673454775 949937742 491884503 593933783 747259789 572577650 104747691 140795730 415206964 990523372 679369962 855754405 984739954 345414734 283237026 628794818 319757444 165548465 750464267 944514649 41468265 239758496 263746290 550610570 751906287 826651469 954442936 888789031 239663595 327377868 558456346 614731140 712579414 735376130 981056567 527655918 510737422 667518583 440167089 472405768 405564558 884879576 599811433 700236075 565291447 114567141 932858992 493377714 135493280 405215915 558391549 769392802 747132463 86626639 223093255 227494645 698891959 653638307 393124685 95900186 757135856 867866116 76014071 572565864 511283969 818616749 507866033 407280277 672177045 251612609 282134925 690976239 419919487 724256817 96552808 197268939 304411029 360475469 986556578 873595689 192017648 589499978 304869649 387718758 31920678 658209289 440401330 625465696 874201208 917768924 76396788 601852847 901365743 146967114 439790584 883115730 754113728 575526023 605071847 585795417 372666161 971785869 171495188 987390268 434662797 321793092 988975265 677844822 163079975 876174872 941068078 320677877 195316053 365668675 935295300 229629281 749433260 142329122 925411946 448438766 858947200 498084146 141021575 512451212 713004945 99599535 8847340 854581077 723500156 574860832 841790394 377819554 998657788 517166034 622723675 115308455 567086871 960573841 340523485 182956716 194219335 531249749 440414976 405462356 78929674 857324655 849221616 845815061 879578928 384396688 343467925 290733802 177447806 672636462 484697044 204160062 705096038 457584293 713864044 598888040 608137189 683932996 856225775 667402963 507713953 96053686 206977322 486284041 338856281 899355455 285137987 259607947 309049456 262893085 191244872 670826845 157104303 928108392 178777621 732073292 855002734 511337109 845788742 442192390 992027943 20467104 941055236 505389046 558407828 970975816 420321342 930482158 553226530 450156401 257708016 657952060 732045025 482091191 888297764 103207481 813296229 194367520 365896829 541637065 258141222 20426156 913331257 982044969 850920048 203109774 920090234 400860087 592972860 146720065 737026042 494554102 14436333 107087411 343428485 825845239 631984676 188862448 845711965 409380497 136894998 604291573 136571322 766330742 247440 530449834 262739967 423200569 334442863 867514801 259001475 375357877 313252986 870231673 741232898 105793964 877057551 617696389 110067613 52111727 115129320 607817418 682347631 97877434 696519633 358058185 968398069 829017742 311294316 186976238 929161176 913345418 353864693 483930552 220388142 654820935 354818137 401011146 35862178 220446560 791241040 542134446 413427060 207364661 858363330 34634699 866958278 880752904 450376198 848139066 932900991 603786508 309781767 724289288 450065791 120885954 852344174 205872004 441716001 587607190 669843112 316647796 751088063 163071140 695898741 644583674 145559958 721825995 970072301 199155698 929509068 457681455 198475133 309784784 427433215 484186939 550983851 226451752 310265332 160063763 725840896 593611428 977512835 876571035 19273540 4116865 161235491 600460486 433534756 757221540 822252747 245358243 532358528 902626580 667502068 702581136 460212973 678887519 433609233 268266704 891568112 7135643 549870447 578406605 221944069 265416838 375740641 234245294 324287102 791932485 355193498 824565850 123387839 951560989 652799859 571409394 457507226 627577289 741780225 99708731 184160638 765442195 728882512 84774941 19726053 911570118 682147471 687197027 725151434 803736108 276941021 36033011 436390257 887368098 224095794 913655980 792257755 470480382 279608243 401753979 776279993 794670105 907396171 499054344 584738261 217497260 554385197 591929866 134563827 653693733 979046608 258329353 41863482 77826472 883886605 493272706 990431756 358116890 427057051 331114545 259335852 400740671 273943007 279521656 257237332 607946113 536977576 752078426 464186908 87898085 29064431 757298148 326069654 828593603 301088731 168093471 76050437 170248838 350113636 934800629 795398139 923725921 208968835 633597133 697029713 204170934 755526588 313356858 474925530 234757772 252596804 78847004 469952453 843574101 24187381 97438682 784834311 544441244 79205459 647278189 968280783 738423535 176839059 491239568 163987479 821595445 278598251 286957467 596019503 965715455 481680098 769913857 282272914 177163087 348871417 134181244 998833871 653357054 148996766 16014128 575992909 868231578 86275893 145424351 595626238 135645393 674527978 311289196 432410450 507362450 768962282 790426863 685853417 412034525 779869434 593883821 677234301 854347162 267694465 869430800 951422696 1467709 548835371 596333941 989725477 70230854 462961108 818700179 520056741 286693751 212097670 445347687 293809000 96561462 212097418 505913892 456373722 268260413 257792834 577139057 438529766 242919166 136339736 2699999 721191574 725772128 568477718 160530117 466811655 303063920 797340490 785587389 626117526 748958892 689714383 801008440 234893448 737968486 783365249 439335198 799996916 851211271 975836073 316315086 648956524 625030591 946860011 883473323 75453316 496180009 728387310 20576376 703989025 631255943 70808230 992308494 122096581 387996956 534995728 53547395 261104234 192819489 791269560 442920335 788561135 342834578 840024245 461221352 625676003 290382196 784600480 438628507 80385501 57822674 84875444 200818096 851387432 887540756 161159121 120578642 953728469 266328462 761631068 824333546 996357581 801639928 752974882 422215150 509732006 684661247 586740573 73467086 672925892 876950404 269553038 214997017 916630310 629048680 722039917 359259178 731130198 141437396 535692714 968149450 170021655 985539645 827929952 277487431 738188348 489835918 12690025 746201888 357593437 145261332 555401722 335760796 92318280 610449921 318645624 109914760 355018992 963235594 898558155 812348311 515880033 84559320 201665959 68485585 782294450 685022257 150624588 570548545 323746212 246047989 719217152 601270591 50989929 228236004 866487136 312240554 699868485 566048961 255193550 182474824 773493312 505125085 814356025 333896349 687399925 390698016 845793802 629549968 121823656 160856567 998740324 430887227 58868238 536096027 729481117 804161915 915834189 771402728 301935062 731441671 678612298 90652784 556050719 739799345 805961215 269078547 830334783 391305565 284961181 941366812 698254095 809911803 402245495 85252555 671543452 195741300 605377126 73426154 577427895 292041669 544496918 204579624 8299599 255892842 895129719 399668186 413350188 508351281 994649171 709410044 109936975 262862710 469835527 925618184 243221184 405086092 744983388 673308152 122312374 778588469 562782270 839181177 110715249 106271820 505305771 901158116 42800607 54356189 769997008 338919786 646978089 903693781 705592443 176003345 753153171 575768510 951180416 740266720 771405045 359271485 809961233 540747634 812349540 853550248 956789093 45236305 119609941 351974479 985174064 189521712 561415618 248449274 922306045 383465718 928349227 222996403 569386762 144234799 44612696 577070292 453979247 126500754 734641851 401149563 185218996 977102867 905267464 384635181 630106047 791628444 693173362 585451843 294441145 500222483 889377850 589562332 404449396 211361995 287623550 72509097 673824437 846328858 812928368 827525150 166904308 227622189 779718818 994914933 133714267 294027149 301797666 657526361 357015582 299253982 110008816 807454122 89891692 99883701 839585057 801114939 997624630 343232541 521720087 131189241 551962527 594071046 881581912 933126097 360521688 251954741 53348769 900415784 363501586 479144752 250294275 259662959 280823499 34323304 641762019 234629988 727642885 363360360 280626526 739804951 94045714 378970532 218507389 180875428 289361109 914708736 164900943 310373866 274502553 968750345 448835331 398291244 228999991 500119196 706826443 863224816 554979291 776054497 106880175 13823089 310542663 113400250 126496036 560122012 836834201 616336228 528192167 696088173 828910951 706847040 161786763 431153667 324480940 776711427 753828947 931646423 618919882 87293994 454797678 458684866 78105016 977914891 496559093 399463164 896836244 901588607 556756484 82624161 963662813 307241204 43613935 942429501 80921753 91843568 546960047 782829858 881263922 14422150 938723730 551644971 696084649 955932486 965671068 414071072 197069027 324448833 439600311 822211542 12092893 829771940 118375248 559916081 839066918 413562632 316357041 735761094 295825277 798145588 796641516 249131732 801966333 177145779 274455441 483172766 970001196 732486378 68488507 14528681 507785261 464303934 698668570 218854538 625294861 120573896 103654855 620292411 676355824 391734650 207641508 39917326 20238714 372695154 282716422 288762517 606184200 903127543 514745640 797877130 108391207 499047209 565999741 614610141 161617341 489775828 732706460 966777276 450359846 791654173 355303683 927461047 853605813 884668748 97746903 99788390 5203277 598462897 14858931 206297724 230201141 78442556 494700579 925591253 946803248 863981888 792273445 510785153 17048528 643505605 517817319 435145956 295733912 16226181 378730058 32749000 849671257 464969684 522467119 874221536 973791692 74891141 996654027 596946515 646056301 740947515 40874031 868374377 57261099 426312581 820426715 567568527 899936529 464306683 299471915 934558937 827943901 168329565 195827182 906382443 951365984 809272565 982087781 502337939 278965814 189356748 486023746 612994868 554020083 942965675 544647708 558921884 362269539 92295078 14519284 400980515 681852726 38355259 495866684 413648472 791650004 592899665 812986734 410042213 255277643 291794141 626188881 65239453 413377428 198299606 956664176 30208362 416727262 15606435 815448077 316406359 749076991 415410005 397881751 191255479 435035160 371218011 175835826 665852774 564908956 36506048 13942148 376757336 318821461 550824653 828408857 426347214 797401120 139907455 15182094 727358506 395534065 341029309 19039786 664213366 14847781 338765117 715063340 778424189 715820485 334395598 617532394 488397673 969308544 891493017 142205453 818668948 626411955 218052056 579700976 95150182 603697166 477494637 15797506 390398411 325506510 546370707 59619613 182954690 172104102 631525498 18726297 319616822 643783904 846896237 210733304 306172553 614942211 581127387 452883437 553407299 747702843 357035627 146486780 806805366 754707529 242665273 419092942 833263953 388417335 7685522 219592502 418259720 206976501 176422095 136137242 255438468 493035318 779074162 150788010 608094695 248658692 131107687 504763076 559193015 941831044 363799157 204072579 437884555 219784792 438774633 813243808 98326519 432715527 958558 822047808 40608301 90568807 262385127 791596960 248773825 621496494 634372633 574261573 883942833 280082734 545613733 568038403 935471676 708563251 762862059 974169144 598081788 989016838 591091348 307010832 87648984 421733070 893973081 53064526 281279814 657110184 736171284 422868942 604547513 443417703 840999389 805082868 628209074 127114657 159191815 517961032 816000888 210154709 971714510 322697757 88222703 33648773 48320234 931207245 486004457 962609041 878945223 730220272 542418752 797327400 562839862 963696167 83293602 592044139 441891741 596460177 873969299 602391486 488177342 37253105 774323146 608572192 221203832 135449821 781171532 258377176 678846138 116042766 966018876 743239997 566150582 67037692 357387902 660475608 509911689 23944049 258197867 527052242 519834110 5515767 998474791 381287016 911845796 632920777 337588913 862307093 202486901 23593227 644361028 342453973 601553926 318820512 669753683 834924813 975435624 880016085 149078354 810729003 134379958 602765837 426146771 892747112 519311391 357055251 837380105 640091083 470839765 833266687 223119905 299391262 222292861 371315282 116005684 315492603 430746264 327600421 275481918 497744824 975076661 710446644 446839484 794593009 304232057 209383400 139441364 392275561 42323200 366250718 29172656 453883777 797589631 558629391 841829008 598967804 730704566 444196302 608787560 932510017 558897180 315567237 160165962 669884079 958461701 464525019 316963448 357238479 647153546 771403778 608808265 266245043 20473538 638994637 489030391 860916069 517632356 953796514 571978711 640596766 16779963 27835997 126112834 237219922 278759170 16830976 133611915 233885938 911971568 117295459 917580485 558241731 117389282 177795045 365851141 279339402 357163929 354415932 730074300 434594159 823571932 647455204 396653168 581459533 878146520 931569780 113220917 323970723 164293475 357393301 996327390 79942023 778543972 435774871 612289490 146158158 961332977 461714671 371476304 200126677 575235327 924048392 621402518 317172019 840291737 974250369 686201760 913592699 419396111 935691637 68238775 172247996 277891410 5093099 607320452 623217490 429151101 201524710 213957905 725035397 980208107 745996905 316593911 58787812 637022863 602358711 688974534 500426258 589978499 76825282 603928160 357681969 706396346 209154625 563667998 46756260 316939841 995638131 496343964 919637450 447995421 885439213 924624686 540856541 320066409 625027181 637983453 957676433 233704927 450633401 126125932 906850557 912303002 730747337 836220331 839733134 517853461 912328762 348622983 206845483 639384532 309360372 162445025 69078187 60546341 742533913 342749971 297896470 574062188 738905615 858228189 874194952 867910509 724283763 566447197 408590279 45584389 830445667 431025915 736282933 773307271 597535927 795696460 467488767 936245769 340839916 584623850 429959411 739253553 173833109 802085409 793028913 75554719 734681751 116371913 496656447 970966698 286118476 270499288 27539354 506551792 152564344 767152835 320704476 894105860 966444693 908851030 801239103 661347473 187044453 48614235 294403147 587195326 740173930 692005885 670291332 199228092 829745631 633090135 28242711 227203892 136921076 359781113 964885018 436857593 182570065 287663160 991608502 700105355 833425472 736200681 709678340 882266520 129829978 576582155 554728117 982881541 860887404 815995215 633039727 465453112 625155710 545124000 942112587 673809063 815124550 501041525 203912147 442711573 576564121 14092204 353529792 639114657 186162757 193808090 597967521 257160072 842836173 723841839 378605079 439198383 523072600 824299323 456245586 120585008 831445716 826425947 678123984 232952441 925025 218208097 730241105 269512551 477470566 372492601 897749288 360478993 32843687 535412273 564637016 113098199 421706166 779271835 52800910 94762505 829133230 768693898 897882 12921528 776693033 455545167 174871989 53179313 745535839 474195508 137089238 483216634 985871329 938194523 294010570 216012502 916625491 988945121 135548118 608890034 408422915 672166515 669644797 940449920 106049994 299716267 577727236 274737542 468058583 44713220 620405439 914799658 806886056 5324200 448249297 383571559 408167287 433189846 590706850 419616262 688544586 520423323 954537892 778611151 878732598 120611729 157548513 268905287 968252169 441001815 947078358 174374790 488154815 368242528 144838442 367552529 431563388 535742508 734398485 263830969 338516869 190031039 751991862 949862040 605076229 46321867 132861988 103238751 479333099 982716914 250544569 395860457 239000760 883985886 505855848 739965070 377700737 824853984 662541657 189166224 763540515 136036104 191707892 890356177 165924136 474150034 782734163 886945007 885128082 695424181 509464189 185622807 482518783 206386497 840967407 232521302 814547314 42921477 785216114 418312728 453954997 743937148 662760096 287100843 291300782 554170100 559190771 824805563 935363594 258119119 885447182 839258389 597703628 217108398 579636415 229080301 821289981 567246813 543391194 661972869 462075232 986985495 150358100 980850558 519457388 148689307 158786751 139062851 692875297 528322078 920264454 621564614 505700055 578084568 161815933 567520818 921073453 350033740 512258039 858138067 20538956 847360053 639643677 783698821 486432413 122765654 358616386 884166255 377577734 669583719 930363833 50370133 924227964 424217548 626654667 281357180 463966597 515336440 408171449 979783785 74700481 487778620 43896278 936921813 150949544 538802295 703405637 271040550 393747293 606923633 60009824 141775975 591370617 869086643 295833876 424140631 701326435 286806884 157754088 702017988 244840276 721753389 675657845 717027286 28777152 655859691 304787783 811836126 995050021 340234708 165121429 117834134 852039179 101343802 339050591 869258270 173376236 44763336 350874991 966747235 698374343 346790817 597529253 755510236 687372773 547013706 546552914 430175708 499248545 979911882 963319313 574613708 382159216 157129678 858218768 419791765 92581794 960618438 442806650 717246075 588099388 958190720 311196351 586566932 666236898 549377685 968311232 617411004 27869772 401540134 968934221 718903035 736557789 487047101 88712254 354358722 779215656 951828927 33018744 78099068 118680914 586319806 873738258 538287520 982525338 26344428 116314448 817971440 929607319 303544736 469784244 294381950 45965462 518459766 872995990 592927906 271119366 438100070 850670480 571722118 859339407 189727110 895513413 764908387 370295005 780616275 464007989 459465650 855891158 556459014 203138367 594399233 291317416 920557467 185507435 888927569 101075884 988268392 550434688 311578489 666549700 828605145 459150729 454319604 652719084 620153028 344629299 161478023 811430300 727645842 569443833 642493750 385615285 863091137 12600606 47622215 493927219 649469775 327751760 989974144 98499383 520082663 773962126 252605164 52985901 955685619 920074645 840543529 756067884 92140225 868633194 358580150 305975080 159637659 1633332 732746115 401983351 557994220 231420938 927106808 389824940 282837738 928057030 139250446 219363354 71041828 458114907 265586218 661677455 583312083 869301983 448551330 638944670 671218726 670624333 432426246 258411276 548494428 119527042 583635475 694612704 589419973 560657322 666513504 564557981 158281047 786634860 131919041 263482675 172482374 305116067 113670269 267638121 478114021 504102024 41422469 501546708 26039337 400329511 299306389 85517457 790269003 670850265 393639854 495390945 329576728 57034036 441252838 846654348 54767420 505542328 754246747 467709358 604979556 609174799 308723541 477590940 189727114 635397581 203109395 886476804 56080111 977530586 786335067 125295730 887827827 604043701 988037452 63326559 757555085 855608173 368118382 265251029 269496604 941452278 840802549 521820166 329145940 552309065 970211447 382341913 407653813 936430600 735650404 841527556 969499719 678373637 854273657 145358305 406905703 557731603 44283587 224348408 660515794 349400280 588906244 553807665 742250643 972557427 282124880 210773456 392063019 185399322 689529927 832356080 588524140 794546947 353028418 516409715 726916248 694420605 520264144 578437379 967839157 87194263 819587963 993691932 881534591 97812184 653080182 705921654 279213090 78248742 139037547 441829157 100198081 338199962 624244280 719869445 538272969 461954311 693809441 647313845 650609514 773903999 604190663 757585710 744807 58813477 878131728 897890269 549282214 389949775 676759763 866379560 97311675 622562815 727522414 82367431 277548941 60186466 858283000 523685920 57932193 952408758 379409876 161220868 853618704 161698184 918698403 383492480 293507573 81558931 700116511 375380613 673758044 201757999 625564350 162767582 416493910 989278011 119520819 35066932 784069131 702099011 334143307 667119380 784099204 749254357 399515699 840723612 432733149 567863194 757253411 804503203 280230400 691900316 989006333 10524843 852733081 748768627 857333805 862246550 782251092 348315770 882325327 815506076 838710656 301350094 618330877 114671530 995751976 820883421 380387723 602650218 359998816 69130487 185827468 273961239 538926645 855481124 492035621 85584026 962305377 261071304 679013353 828936067 935595213 926934831 150823649 718336601 364844560 854854966 64809043 488995116 245682367 278706555 855831986 681586239 150227607 950960870 707580689 187116842 113651735 359174873 655512347 710184994 384746720 590061616 650614234 31977104 132073617 962389182 482870888 236257221 464535887 60343529 126168763 991259928 69529016 776168421 263333182 88905959 75341684 76134680 515659273 166211613 882334099 693950590 754381181 456078752 795281231 463696149 115691789 324508391 630042257 604192666 696137779 832767510 800863149 316070946 598654724 544064174 788327343 158005382 993754844 513698963 67521632 992098976 299279159 899932705 215563685 488798482 237997841 775196798 165406826 953428784 70316192 215835550 524175663 595528188 304882769 254713846 322251294 294437947 972618323 288370329 103397835 90924684 381692025 302887479 820532114 683475368 946331908 905781310 105584695 797658532 507997195 76822285 496229428 589263265 975027464 753419017 797319437 81995524 638397831 762777775 698809217 391979698 605550196 948065721 840431149 585176458 912005054 228690769 882825777 811537547 750245358 53295462 786243867 407737415 101943118 280516349 538185964 109007914 87336212 796217634 37120609 664021362 825170138 696623784 14998542 978644865 393954896 510592585 975900529 940758936 343329194 700976430 938857236 732311 708724550 846055010 998252881 449291065 510629164 263424751 634002406 415075914 82260112 156415570 938187018 483067015 752059699 299993648 489894257 155275902 310738926 942273536 64002448 774651164 90084979 541719980 728343558 866216841 854465421 595629832 766528674 641003434 505343273 168161719 380985607 230996305 804839576 962068182 554023181 631394682 675453109 168957942 158706513 913780747 2760835 280805343 805264036 832228821 975495839 792540515 789667856 806860716 979144854 641740473 57227223 522765297 697813390 629845731 846275662 354733916 105341810 700887462 99972361 749585503 996535834 118327546 8858254 854386392 19739823 349229119 166322129 269013960 168116316 458551155 956624666 541285930 957531711 679344697 851884257 699202781 347799680 662355922 628440928 961256613 288457124 170084563 25947517 127329679 991649610 301731186 50975834 340809644 49566171 608080376 338639726 120345147 230534981 328409452 696097593 861866636 28327612 533561276 228977781 546215646 599262000 863166111 120896992 730951365 591542497 367988504 624298897 341088242 534951614 563359550 739578070 737010351 577995624 149117792 101751075 997310422 441752514 864346928 828567818 235305321 363687097 369884004 28944580 678794603 581968973 120912667 490808880 263241130 768285169 782790962 105060273 222221726 643984179 383178427 474028499 557776726 117040208 480815586 53979316 571114382 951146242 79321800 930189414 264009549 98151670 607551777 608058837 722879901 766115708 569278740 787375012 101918623 248246978 562088764 529539888 824453979 233300596 840237655 319659438 239524731 558511974 309616085 70815819 715989818 213993611 100148566 206014832 963439927 952995331 951605677 961680867 622063477 794334084 347213148 758016685 252024971 373296806 861220140 703802206 506862527 895296374 966438201 471263365 501170434 620737455 78622784 24634083 459695405 859883639 121245172 71672141 28339825 5551315 287575248 329895708 382755772 281702287 921705527 523498012 620410430 518979843 535816520 447960725 705571515 401658533 885478011 505819739 168544968 922300190 840227403 945563908 975629778 655177479 499321611 417870882 881342609 407268202 860410848 679148722 611682158 470985619 504091681 483484091 576754332 441046465 217071254 630790299 376589590 181124487 337592754 639642655 799210210 504521501 111686427 844383242 230295843 212280524 682713364 617587852 217631709 914072667 698388841 202971187 997418096 302573848 788700555 394858843 837720944 676394661 518295938 246358450 573803978 701433963 882850494 198045256 15079694 623686288 631106696 603038539 946033974 443964614 631785643 802714228 151973997 332103717 366865782 850299941 203720516 254160617 504358200 366945518 978307507 925597462 596266226 449716021 993686169 706987489 513257556 27899946 516086554 780123179 396091834 808046526 741971270 76882127 907505495 441810221 333537274 648033044 278113205 625624840 236804825 981369696 150209372 540615536 477899750 775816704 613083480 918571824 490852006 788699071 95649710 915353546 502630629 228321577 33690709 258942567 13745421 69117866 13930271 505092402 431833320 966300803 689586762 445000671 909895754 63532288 441971241 151295609 747615107 558362249 760830252 833231009 618842572 564082001 17487611 796706506 876968021 561874093 221992788 681058751 863319168 305717219 500264645 202993424 565354042 577126123 388802751 715227826 409201052 206096310 888121382 579707498 211884751 492284491 745226489 371877143 915244464 317448250 311628812 761634867 920057020 706701256 160192510 684426852 797195008 507744458 990201905 217091255 145150136 664680806 86864052 615124915 459215163 446495803 876624370 88289422 544399736 143276340 693146299 460186221 443922309 400324504 967703691 913173754 724764052 979147338 674359017 526591854 270244324 592589403 796802994 338514224 712113115 815857224 280913093 94825843 754922288 178465449 755180638 795771505 394406508 280393650 348421890 910492945 961429563 976470167 348161773 428108243 599771651 970770307 342484192 600167506 226181587 780453815 279303717 324030761 82707002 398075974 664661401 734822490 607953609 516737498 785926243 787207468 637969984 942320643 905992111 50915500 592242820 244821566 965769857 959551805 135705224 247837692 167572771 446615929 729821773 853927079 369617510 363439546 352848099 248780426 667370439 262116153 752500756 441206303 525300983 762436795 501160979 852861522 461453646 341346980 804624666 678942055 112684958 311274018 350256837 909486092 584826298 323173222 552417024 608505348 518617457 973875727 555513996 212255276 921594813 610397417 620557949 322884187 88857483 638955104 230003625 633105405 318139926 478510635 531099013 322820209 3546718 858304010 841945094 225355365 613775936 476789795 636368348 914412041 712982158 337948276 891377590 544117991 528646034 685497814 573618955 81576913 51706414 546036420 675614770 100274525 943830316 873227334 958278652 663596402 13767139 361967101 89105991 460963217 648734545 627530424 15469487 63254536 982311080 188732105 560046937 711327312 881372389 749264557 30847533 850340253 126959563 423965870 242868067 506404523 767923244 430158461 528514901 403140189 270957513 59404771 902095802 252426791 35439297 686825270 423190352 5663190 151631141 728500025 875213118 687862434 19829978 811817358 914534212 123641279 34899863 19502545 357707011 422646649 207876008 144824099 664454507 763814371 520297625 931453708 834442255 584194703 315870576 554233460 396013967 683291149 408810784 789220245 935708830 953420588 236282331 351741499 733310128 885551078 423768117 716343339 740661015 533971965 934732938 594330323 6714007 392775407 426297757 955336402 485316125 294763950 129800943 907047882 982189885 466376167 603316413 951104 507191629 20050333 432683365 601062958 378386529 279546334 802598928 691093111 323700431 644343165 846442781 247406140 765638663 558410099 99389875 804960882 783247808 689323576 187987525 526124466 696032116 989145332 905264027 239209859 852945849 764333087 550107815 462938171 72531642 984934052 224968229 662919098 674956706 318558197 494555950 959052529 504359112 210536884 38077668 754793808 902653474 582116762 428842507 673503633 54056121 416548576 929975242 894341369 230285724 208942609 828523837 176070839 310036144 133793376 713562171 572872928 75781054 164249225 18758377 35042757 819954846 25204192 900350898 812461580 244460744 758345194 991922300 570756659 578611802 109748028 116163392 586752564 548865711 691365390 273882255 774009940 462301818 434460077 610053093 501038681 638098987 143041210 530306864 561949672 888811106 221541566 198089043 878010670 616264262 651715983 493696045 881446345 216424116 244177507 417982324 419188652 133323910 137738162 720719851 838413928 159146118 241428419 145223801 903285063 631805239 487769561 424323563 277666919 291433116 194370080 669665573 49831630 121729253 895232351 764188366 421136677 664538309 354474322 928835694 921306798 450652147 943372533 878803800 694560609 45623303 695367857 762472743 740959821 749220370 685642551 606442690 357534529 994946043 887315272 149115841 427706731 481803924 639904457 462305958 464125695 862169014 988190966 166049164 992882382 470602348 666351469 786217832 573457071 705693901 631236258 60332987 31309645 524509885 516563889 785705450 396481626 670996184 215243621 222993465 969307021 504419568 344347131 522083529 971735737 7292088 381135601 511983558 29253510 75216568 752252424 697141646 851731284 857142002 854528969 364775568 458991972 653326389 840716547 717932160 813465334 167811233 708503244 353827160 779821704 314498986 91322303 998868596 964082852 48938073 579348908 749374609 710961767 983664132 581306814 147100786 203481628 522743375 986460800 296399332 471138140 971627201 386132003 412352946 484049725 153923388 337870040 820210721 700183067 864855560 698351244 646305236 916859733 344139040 990643832 741750499 199958511 526453946 187589842 639765603 86851411 324311674 873559745 428116648 460855217 207607631 619782776 584763326 350941959 270244173 367374027 17424649 730500722 488165365 67690410 23911439 94138368 287265875 802030936 160090709 9266359 865833403 732994540 766248826 889959461 412528417 177387688 969127182 381578406 350773409 328023987 97964145 420910555 178564774 225722393 124095129 171099862 609602575 908520891 414599054 465027687 498895535 653585534 555544502 291612054 744401106 857624608 513146030 16662783 5298267 246658562 243201949 583768301 51548814 493999674 366512515 720286797 180027673 826345484 484957896 894385834 67630031 767384416 604164674 901346159 245170073 620334709 831480422 632302478 501282338 724023992 579142143 342604453 254160191 456184678 659173272 121756650 915629498 799871078 846320248 992757581 290571628 972729293 897254085 547541559 407712914 521424228 427280512 60254987 137385238 15210576 787028693 463186969 963594297 143516286 516008178 866779337 885392582 320488022 279330784 858592244 832915754 502177730 316837533 692212899 950485093 84080066 441728400 954927598 130768744 667910459 522785409 822789166 25462158 493397523 37497109 723968126 457839423 213686316 132743789 16807431 492264375 107042121 942151395 898791313 239116233 45972497 797963326 909215403 325567682 950673700 665064395 313885527 897449988 943186968 36001392 822332717 534457398 211939416 814032810 242292202 600220085 805636682 643468133 955107977 146911249 105324145 375567847 289084588 559334126 421879423 150259734 51692986 84478540 631503324 301616081 851029024 805432944 570533109 519709653 236530459 301297029 829548441 216129177 570501769 419132025 831334694 667339104 834305256 435417825 655214603 769590839 116946135 935716914 864544989 822434293 137793015 735899705 775469164 786333481 497500854 390207621 810436664 654205150 492224334 62018691 264468075 75583315 36025992 758151245 742550326 433678538 167585496 194274195 962160398 788947248 661869791 580658159 479072471 118533983 480405994 661719965 272771962 125374237 384543032 4640258 869562795 524423828 883684011 127309696 369953665 64907049 55589345 563192263 298655602 591746220 782054049 812611755 880472349 121505631 918572026 151155331 596586249 370664166 620765067 26637941 628725767 763785339 749237248 480743149 364633779 718723957 413052240 601831629 140769566 129983453 654943833 5690814 459170232 554355133 216350258 512357511 868954265 448354066 845990494 728422052 671025242 251648229 462151850 419765593 829587920 117475841 472828774 837959788 707782117 736747655 463163268 401834904 505748404 423362383 823735709 171197477 741080036 593154069 218760295 698897633 886637582 681094445 866779118 780081074 576358221 244753091 220231015 583890655 450157094 688558716 46730977 453654892 789592835 851201013 849906724 255430644 720818021 758992018 885331217 715823000 688334603 219959119 2902022 928092366 623113081 514973021 618021809 586218689 414266280 152004159 302901939 793700646 570202932 11511578 380367881 792952385 392537176 212420167 709146532 317573825 865656872 939113102 36688289 919026244 972424185 667167550 553544056 627609824 102198867 337302167 982671719 88151773 809937666 532422664 109582582 806386234 596906706 954861708 676056695 396332235 542939788 264897415 954964555 349587814 350639560 224981139 349756786 141014652 203093636 303027689 105971176 159175521 570474447 692071265 611653527 821454333 833942097 816055061 296796464 762545420 588615896 792024651 325621467 483196903 896191495 878850983 459487795 987983641 430609304 683866320 87034511 670871928 382311938 236259930 529633963 599817467 858689076 787670629 636405914 624542941 538843002 215444454 820712530 984763498 939355228 858456934 995751058 137817723 889643574 776121838 664984440 603714607 469492075 110312458 278318550 675765375 467241859 384287427 747089708 892639219 873556843 913566707 842756645 184114144 762638348 225541412 37213462 626132551 516670732 929371680 400292173 394307007 812343058 947371560 387098846 761542253 246902695 590670778 350200398 981441806 703940376 240506994 390387468 237586630 385947069 822783955 19652472 533557005 770752224 5643347 950349849 282584914 698968550 44059492 5244016 75335273 865074778 777669860 866594050 720366275 36467381 18949361 208469534 619354237 521932292 368001315 817219820 889476918 23597663 440249188 475572094 632957940 731219991 620978097 832902712 865735401 691874506 596167024 448244683 578423608 648412836 698380480 864687216 876884871 623579159 109866215 182190038 676870902 31535009 147981546 616842189 247257669 79785447 598267039 881991343 928099459 564320652 347878041 454958841 470349310 899135019 650658364 22237352 387232223 9908286 562229812 299260628 697066658 389874735 378707172 69197067 148670855 540986345 924673344 402669770 177249969 402561910 202448372 559194833 447724965 78446938 158618499 635544389 389385589 621626508 91401425 938425970 158271352 930915196 705851794 186099647 632971596 339182299 149335276 25360693 353963484 756083963 748933834 606481595 809123857 462857271 539813165 492313569 550171680 297116213 423479263 50678697 821827471 710670289 840693503 435869231 544789186 491519563 858344346 918319614 71240553 937977279 246306423 358875081 741311399 420216356 893372571 490997863 770204547 473524393 979743756 75569950 828572279 500063906 666305551 672680234 204405702 545870974 743389230 998006095 394126022 903853336 468630302 564642709 476606830 274259761 401205650 73932377 662541032 287290957 371318193 918113498 351296673 779292484 573925634 933701772 75754657 939833923 214416858 708099426 639789442 878624523 26982462 25577232 371966712 55021042 814466364 893722587 833078881 577857221 7883250 96295701 977261668 439630059 316823454 43618665 504331088 896321548 932747876 944786523 562681213 943651703 737003197 253366174 636208472 101680556 692700017 70449499 652263457 482399828 986742661 533216884 783298953 192139414 979733142 719544069 958058926 821810921 174005030 731217534 579866192 920875847 178814887 268171502 135184201 168506148 865549517 506716170 84494925 489232438 845019645 656811867 33896439 950791141 351144279 3015139 632227650 577975254 404351299 296965825 241218529 547331042 380664189 357643916 610956844 381487641 354578841 258943297 969429908 827107187 103001884 552623489 502869408 541930833 539253829 456477926 214005276 356805054 468443094 407794807 401469146 96709193 681250574 448189436 122180146 532453342 620559843 657000075 825520495 647555257 366613452 514466738 963252866 651790681 558312065 106990501 180864965 998186294 292010319 365080701 952986598 898282091 686483194 957421767 929844381 197143762 72324095 6442112 303292967 247168784 274376365 846908730 434176692 349825416 137503843 357990926 895521636 340270125 354828105 577329316 488351396 703517352 609547956 585699907 241331615 433350976 850230603 907004534 50464483 703286017 8029084 817979154 957001820 175664181 349981871 408548401 660350797 241817489 388235788 205869607 126881720 220024036 399558206 494408892 56893225 176395485 673852280 164122546 758131675 927389299 127448605 553122732 535073595 355970238 36654423 473084631 202417241 776810889 862978915 837980254 23668052 939331049 206592799 279662534 418696743 577254682 484421001 30900795 415251571 800408237 977120620 324497770 34630253 621817618 929599503 552891186 861116580 127939713 661746523 920469328 443910722 765702207 143835357 246428236 142859962 122279737 583806505 909672131 317635200 277317601 637330195 969447270 387336589 990459056 943923900 273908304 231419128 871428967 223976222 315097830 881055634 351287037 591036758 34787325 363591598 625836488 311521751 27119970 335294741 840113691 350117567 727655563 454722471 807457173 915293730 986982441 568775927 364273833 380081682 516067648 820390012 925807422 433613212 895544728 486075975 229621752 922671661 329698200 590304168 178293265 424489021 807362570 156018179 386293015 553074599 18801148 435273973 790288000 385010698 975254754 323979654 254844110 164055734 300084476 612368698 561442104 62762778 995135163 268083308 446654782 646562348 777713960 258928215 919049458 476699851 987067665 230442402 315192681 507597505 566610609 78135985 66359064 704465261 285898527 178761492 330078785 559296580 238153867 228239337 302656349 288631381 69672044 934954272 688090306 620040531 478159188 897523324 866710375 512966005 326697488 768599741 816471131 520562092 488552121 401226062 353515829 620040768 567626732 335654448 114037928 757803348 847597471 894327541 790390330 135002255 894905145 521228137 513526676 260162097 392988574 286641171 764530381 144674840 867360112 252069940 6616580 654537046 566096506 84173941 55034517 979866357 652720927 414958936 94977952 875415234 746032595 270205965 776431689 273831001 149460703 601298155 417048465 204342752 33608849 575698584 215272970 590526551 640446966 177449995 688176885 626267367 641568211 475420405 249811872 842545322 86118989 122116156 312109794 351073681 795411364 7396901 962138924 982729245 163435868 544331577 885445670 537331505 247715701 548734767 112762600 240876799 180772293 729790814 424314954 744042837 453495707 33970825 941064499 110576639 355889495 480213974 167568549 723211727 218597805 605591569 860958620 993556187 556496428 936635132 336832340 496751975 670455686 541106564 437368110 473702206 254942230 272616020 775499509 444674156 180272094 333530630 455505305 433571038 255854202 424814651 946500318 559250375 789936986 945724515 323920805 923119913 600544204 228903971 778046583 948792594 692433283 509024075 322716426 70001771 633762890 32621491 761585162 306782792 949378889 908439711 328396529 265298748 818052772 294333047 750137448 988155853 941775217 813573496 627560500 832621762 41276616 38761557 607896758 712402928 163012485 529634874 917729530 998871228 355290585 394908844 106780707 579910806 798592209 161680952 193623100 812940272 374359991 397871517 322895047 368234173 863115754 6140519 580263814 105716622 248489401 292876960 813093655 572243102 920065655 390236030 558838449 64463041 683753885 144764782 103393680 951773386 661516814 355200329 491287926 474245259 806775900 364293759 448964414 506860334 213928612 73126140 485331233 796479808 532388861 830733835 240105133 241727112 408857721 902198591 465098591 777470771 985182509 875340137 818501353 209429863 150681270 33728144 148878763 779555444 413198096 461052201 81859201 296162041 293622681 986771942 421955414 578736662 621344714 758972242 91801131 982461531 315377208 190868709 109360845 671438118 782606161 927939903 227818459 433309066 134979210 417227580 591667816 795802802 896483681 219012494 841044969 50705347 923376151 636676911 899686001 807144796 912949434 529595875 898953949 294551495 314700351 304867501 198879717 995280150 603973533 345384823 123515206 250646282 319093594 828099915 238803115 389721033 207191620 339696497 481986206 97921849 343279399 476263136 887105685 652921541 558367927 97879876 850502004 649315313 130222381 228385141 524538170 312000376 335170512 268178291 110433749 376159216 883238183 632244170 655807290 766071758 957963824 761814700 732250037 723254814 931133213 376751736 412133311 441021638 372719376 276021942 554958324 711570101 831809316 264408327 373570538 190250837 151071916 874339342 64204104 350515078 284726195 376168922 989567845 66736466 224049424 727554834 567489463 182947148 934130190 298663817 516733456 946631667 970941195 92066100 333482768 304587475 814073851 591734265 411946117 512913570 411482362 41947890 183716931 878885941 255714607 559246920 157006919 736905856 465858269 627233596 13488212 890541643 799162362 724156012 136013106 364842406 919635239 279956538 616660023 202933409 765808291 405471871 551667884 19797474 181244526 57591959 369470164 795283388 233374894 150835691 836597417 318444608 245228717 479146192 700004117 820702731 182514276 870473946 942592932 131083883 177629451 909004497 740977429 116298985 417614303 575366944 360757692 961967620 903287069 68747767 625054404 385867838 830881505 655279520 738694768 159869619 370613475 104020238 78048101 16734789 375474115 918773828 528718178 67525364 475635219 874635501 650677293 7982046 75982455 648786808 133374041 230516786 333608814 913928011 93414310 179472176 325986717 645385363 421648284 484264567 551197868 692388794 652020283 976897724 142227525 948454089 418766615 26118480 187187522 430845509 855186659 91000134 915228546 534536715 169071893 456213235 51999933 901928890 458742372 303858421 296000752 789495176 440084436 701284378 427412230 369881510 587776456 110010611 145831276 299114187 693575078 713995322 469861990 466563571 65436659 709906349 28056876 376468756 838669121 218395461 545546053 629385618 371136398 883442204 86074984 33854665 761008035 138560499 545242745 661127233 139919005 341251475 950155650 235851256 584158398 675004363 20872181 986836029 615613963 312305690 729818315 983134513 287869169 766950959 982519704 929853062 96185123 492711159 822940738 402738466 868451431 511142528 216604001 419195755 796692464 702915177 494265373 492652594 675990628 925153405 413995914 767443568 144069410 786391332 26645204 215047437 940626873 530415032 532081537 165576618 318275301 952728444 644629253 870804712 67017029 176092735 551191094 838688111 185747218 477213143 485167882 725712023 125020176 313572986 991991202 33123843 802675244 980130064 825461762 396405484 730119365 240265917 181964145 938101332 682613971 348324785 770818802 292341518 811596682 197732260 850630655 239242094 450777706 669177604 200019348 777264998 472262036 801261558 249833968 299223781 724027806 85896767 744723322 167876408 707743480 781979883 760422123 136377673 20436668 602476390 706097617 516472451 880594857 473526893 928045536 995240883 971336486 686546668 693565655 191754156 6726260 13334257 262133380 891744066 33762333 774146109 848279861 122457521 491727109 604315147 241671454 167307585 337639746 126731708 868766967 792312412 607983315 629101318 788801585 426257645 281383869 250448455 745330864 728917619 62477082 917288500 351179284 515260851 79588803 304393747 954964846 394994254 756628947 224083204 615183717 270832599 656332757 824884045 551126367 953795202 487074294 123830411 570569880 707273749 107739578 849373004 323247217 129413830 449865781 350373463 835952426 992432983 510313106 950195048 667536650 516975687 300361653 967972720 186144556 333369028 617074181 478961717 950166400 703693178 806830008 676725825 710981210 237175640 978843657 376166238 722982897 530100474 767502600 15925457 207753979 240707307 137299492 609689521 248455974 802264472 825452086 202459766 836113491 543914536 438569590 630144207 112569197 95248098 243018823 351596354 270246345 838459819 506800176 493209608 356260305 827892237 116050971 900027773 197776890 176766761 424049692 217428808 853512195 720937959 878575182 892780812 113934009 989923643 119155139 543292946 995474490 294434743 980558254 791642904 487055133 366375433 949765892 337226684 993783354 352882720 306037313 884194284 986548304 34226614 293030007 879860432 834107515 341558635 276431767 609132316 651097058 229343938 633359002 971467296 830577510 216657286 76211875 293897978 130266590 330770726 785142596 456301712 200954226 886873712 901275216 486283563 803108198 811802603 551582495 754588621 752011690 676183973 453055932 480768135 587384584 23050309 866110874 142495312 5452174 340290061 960994291 481866645 854383515 646366428 709454933 887814073 36922717 150611996 931774757 271957825 755396193 505872586 485576416 36647988 779130926 774419829 396271224 980969770 339817788 160872101 786131173 303768139 219822308 712551479 192466631 60469125 58605854 371890592 786637380 881382342 256147702 73876007 117500505 274220883 101775204 976015613 982428121 713085512 309328700 338226481 4342257 384086333 452840112 195239045 182797632 79037761 991725718 57902024 376811024 452408329 674442361 534195701 815883185 750770559 891829055 600767555 835263563 557444520 592208487 855340730 21747799 747823702 722108847 653310298 122160001 51310569 305490626 628400547 796851608 327470389 815520462 381663914 689371283 467054265 871032003 370097590 691797424 81300702 71549557 534404722 237452578 894576468 844456149 987806243 776088038 483487470 213204870 92158882 683276069 629848378 603443506 290748159 907376696 816103074 268314737 796637898 64195993 889059966 737379251 108173659 583161405 480001842 268551603 942630610 548722684 739221517 214400470 450040228 268777425 441561107 788634870 306520077 928711083 783217017 600952380 12613608 59265734 94392264 275233574 714128944 614623951 670567028 720361164 457789634 685704366 140740612 164429095 661064616 816024688 964984050 92777088 228394008 147039749 288764747 959175925 112551842 968868914 414506333 210916990 186196649 475986414 558322879 814905431 865035922 132923575 956539055 262433092 999359243 793191002 848601404 695056293 617547016 346626637 820880414 95503814 150641546 630878507 92112150 114798412 125550630 715565909 297712909 438547077 562056932 68705912 809952731 78169518 710918928 477643266 378063527 686252063 325563202 33236682 781734881 109813139 411007205 677348710 815590950 139784234 667156147 414382564 504625926 349708478 720632281 28274415 791215314 695799014 704105759 574961728 624369347 821533374 732906974 373810638 907469340 859634897 896927254 58081756 24280772 8657165 183412779 341331143 465545033 832538290 414134050 214309854 990081131 830637126 109736204 722242314 371519262 490433444 44273976 515320998 654168332 496459196 329449653 656237638 110965784 69350102 894334208 756374511 907764168 926263605 329691668 303997290 476073795 433163186 163731412 858570109 178674611 74330342 817679764 231993520 960396817 872262133 607762772 960622634 918233030 635034715 926247142 753619373 851243598 361864476 888679738 398305584 873369119 754870909 572868357 872268490 229713953 616664066 518569381 763726409 165986923 478048958 544334514 590286277 473844657 489002052 195817902 416338515 586922202 790970514 466934197 7776383 197876442 754176311 669424234 693083941 667272028 583419085 586238608 904600950 917456658 133118022 745411542 399606041 511254642 946013662 989934836 188484618 846250880 646272777 120717983 817787372 392825292 429320030 90855502 149631136 565410253 441965717 102853021 170333506 444047466 346487170 900018362 732170592 759420769 728633302 696860286 131231126 649316376 442761616 729122778 803354525 534015494 191314938 51279442 494895247 735015785 531332647 563888226 530598873 244782911 841146362 771551739 755120829 173030618 835483577 260998557 913942770 292437632 174924777 740014165 414475478 340247825 125920572 265978808 210504942 550412496 813993197 826791803 674956982 971032440 270925978 366232787 105884854 238727693 199007289 170024777 753701315 61204851 764022678 145680264 118749084 619091610 145604448 129111309 478644340 384168770 375516186 940672256 859097359 583970349 555154598 760794672 578846504 176712808 257281739 106768698 960906376 373643617 45521038 362527147 629024346 176021218 100980135 759559020 20247005 461366706 774286728 829294197 112227811 373255158 911877475 394946280 697974615 342078036 982627962 883000812 90604063 734622410 453577437 213423795 240468903 624862462 592734365 425368137 122288806 238904155 549990577 326234383 402772602 211633690 880314899 96476188 157960449 993840689 804489068 845145261 348646921 94959089 437435648 804602577 178018520 125567993 299460655 592752700 787247694 429402144 380103844 353496075 30051746 193039542 381648562 218747735 498691106 589774955 721444577 643324884 161616856 347506737 334789345 106094823 626035959 277373722 321662884 975778932 55951145 370381708 675338984 927726932 948239898 161780033 498054247 906464647 425865729 175345207 3982543 649269406 684425801 278909039 292211556 861436133 748732698 53238973 65239213 283870257 197811573 971039911 180485368 408541975 543025179 223799795 684872043 311221701 850554436 643350839 410231769 836319830 725360011 54339060 253146729 742689861 389514492 359887417 853033306 771231848 12322185 293194551 221537609 665666563 898814269 363876568 544220450 592576876 285166644 30158762 635414778 783200466 706573960 154975597 518429208 906562254 426045357 551885571 545502280 618068307 536461601 426307384 596642620 23649160 640746823 428520602 110328883 836660662 259678428 360907402 44765638 919687423 332272 618277774 560930796 799533073 197823430 66015216 296761458 764092516 537467878 733158203 506795003 790603989 980678985 780637752 265718805 493901561 361665065 418530218 216608109 128372963 814290443 466054315 908019190 516936448 744771859 349276466 750449888 946480680 728039435 61128352 997357378 948713714 717408921 615321814 102919659 626618350 100411354 737715341 767371277 202290036 158277433 509189747 95613909 207746946 973934148 774883688 890954364 644669334 512604563 625272026 33274498 897127026 771477428 95585814 235041455 631591353 443024490 606435275 625900114 495983624 164078544 644560484 332897056 93401900 763683990 326201000 856904818 418531998 45647195 330619195 657539213 798230273 146810201 581260531 674772566 460814998 560325117 833476020 54926449 553837132 25455945 562767283 745763752 724838456 599403745 809015994 720048698 968997870 461351180 445937885 323156842 549947554 496461172 885451755 936624467 535568477 519915660 614215852 524108609 871922196 480230851 889667198 104973331 971637297 382170379 128724067 391312401 812253750 297433734 782689542 985468431 176285328 969044474 655222831 728730813 804172906 146757555 612450445 646601914 643199075 11967959 88691143 782418052 51002963 205275168 613753457 239990483 597398306 64881725 120173278 46253607 497305153 635952968 284782709 668389918 610456220 216965414 229103394 553054919 753803014 748554758 279166556 295607942 627971340 682567502 869099272 784441637 577279741 493299748 792516757 670533563 481507849 584584943 300581271 567790368 615946155 16339635 144200930 653273361 342738633 700515485 727916875 237059760 260130000 913109548 537310945 902011066 578948694 405694227 760967226 15932675 36482961 23898225 376334522 317069627 118367977 281167416 637698988 830314552 981118616 999801401 422690739 162565809 480910724 459711613 452634491 757844839 796625648 505167234 949550191 658156761 814714228 684568986 325206996 47633401 273869679 483561111 598700491 642419290 711616764 985384426 116843937 859462122 793660519 765651742 86776265 892669387 422280889 198077088 253923278 143570559 390143132 705095017 183053005 18449390 794600486 890741408 835798905 488179938 924743176 263021089 302348457 806531445 865099304 526009627 134980367 634447157 953594923 652611471 214437918 510559414 103260522 634057614 495371761 800061263 3259737 958866058 394844351 854327716 633960770 841974405 344270314 160995366 152596435 726076615 271148721 643779802 975910805 472177879 90411966 419735277 489060364 375393259 591074703 436980809 750108171 474814599 717846043 285280404 403798031 437984679 661986119 434561308 723144659 300306653 626901868 411128147 245839871 860782463 534840534 464598326 60576691 720071231 7645538 448146432 533173389 971052292 70102114 418767033 122819728 291575990 784343788 137670995 669001817 709648594 313453027 434953067 201464940 375323321 579794673 552608991 490099406 83973581 624943438 319111663 628426633 209658379 43615426 988877706 386800261 370518645 194266267 586351663 655882692 168615949 669643028 595048358 229736910 183175063 688296405 366454196 711882825 972089829 520661437 163870338 84462201 463034147 417206657 403707121 287536302 698802797 280657112 559779836 57854545 529616542 657291130 179612683 971398571 941836053 915861682 890369167 325675252 826850419 917761808 506535106 742403145 881418492 189806417 808848922 267713845 148999615 513848632 122455272 398082113 249509762 695622322 113668739 334817844 166761562 973060117 167716875 53041663 601186864 634585574 717934168 528490418 96749897 135126797 112393185 361045984 673631814 553359688 209319527 748036022 289084180 371837392 909066524 319769001 198973383 198599692 185495724 609336388 990399015 321127222 961920542 519021381 243458907 973837979 760220889 278478460 252157378 967714423 154157034 111219592 369249384 374611189 448781578 159478859 26427684 74590686 549247927 173545679 511235814 601244300 24452186 457277841 578334602 196547892 284967794 562742034 426840897 293809835 720775440 720113743 237039818 427720531 900211933 768706626 400991112 466785621 47607490 411690219 366089125 868416303 680777051 610654748 874065328 571245732 214192115 311437057 587084195 32365300 10437616 815018363 820015041 67694438 402357083 439821724 325505711 109800785 503383777 529704657 701114639 65560892 231252943 856556095 44067777 164883196 605084045 954105974 708332280 226563884 452210688 808158383 247943727 709179741 610387982 657329041 833694781 851213069 394879902 940891752 10269686 255360412 932168828 974619459 927978366 493185194 512106132 420943451 511613626 722443314 517230172 67448183 227904977 488499650 860631167 164581431 770548273 32867321 356391932 628103794 921473634 220430459 700835913 120749728 616598737 342569958 190572024 835348682 693628412 202173934 333575247 88895101 644426120 81086067 76198868 169370996 578645993 621174615 712405992 255488181 221519957 794216787 435271190 691298665 242101361 24984616 76338798 766232764 428317827 65257125 583707159 417747930 782937880 552453457 137783676 33634724 277981161 237985276 298072963 498289040 82477594 364868400 224439014 243273806 15548298 188888894 81854849 636739184 123236012 265045247 838857882 449062102 697233313 397874433 497926754 422988167 814790718 289679073 78919544 627506491 806410812 466649296 936200700 365895171 387163449 571487876 881110151 391583003 845216778 605373885 673120707 4485221 570575450 466967939 386949593 87749463 770501767 239003441 986464169 623050534 151945101 668942827 666152730 602743807 696642637 157868303 500010750 981780002 711898118 458460813 195057259 505749163 446452037 899022513 931785544 949835748 63433249 870458248 410045852 490592284 468512695 601328089 556498576 886702511 350946518 717819098 155714252 105197422 510879990 90831035 730905733 724443304 281753926 234705769 467686963 915738908 447346950 743432074 534559810 826669974 246315155 177936855 186413056 682431661 388356738 232618995 955215725 998181617 710172294 809824921 849048574 598294852 720821250 912131126 686786829 317026404 993714505 90198900 810603306 255067367 927059855 481742541 512568218 346955273 405759946 838074951 424079480 135500159 60120645 401923246 983803685 856824793 694543417 736007244 429497689 554836510 41695627 224067006 698458283 925479927 581197345 513872495 551983613 887443411 303001157 970055854 692953731 227872206 736387921 728372326 24180279 436053105 515904284 564142496 216588590 957295814 468050485 978077461 736820884 535257551 791130401 291080694 744710921 151735051 310906591 793481824 302492896 833354870 16612891 24237095 797954743 962611001 902461617 811620970 128566495 98296801 472480889 103068053 280514597 427574805 539692192 160259168 182617748 509495438 485005239 410392065 548982274 459494660 711492092 987685366 757370880 74384182 301418659 135685741 635614333 853403576 616562694 771791116 958054490 1066741 744860686 346512374 109712192 255832998 205112684 260378503 491516155 675537420 204620318 691729024 253295512 278164591 703538955 998602997 814278845 490712464 520445378 80220605 316051248 891367130 872395849 633674368 156552873 614577280 707993933 247759563 644712312 223090257 370276032 953840064 650388612 933876141 29594423 752058463 205004928 398899846 454734278 938766637 652215988 425055280 264729524 674294887 936988436 482999712 231465467 806444051 932253302 814388172 138877040 448729718 474597627 741902966 985845300 244681999 348670828 827784158 629085086 880422337 298884346 551013760 772518918 58857311 313275934 442468992 54026849 442034037 442852292 387358037 173029110 373138219 343606056 597617727 458325505 684143338 465581439 206705252 904704288 778787399 112766089 879484798 826705814 991059875 861295236 439579453 742016228 211005814 699879079 52214224 799271465 277140935 619864874 126986563 951798939 841300203 309347138 423493510 840039591 586627519 950422706 587754830 686176172 344855992 68032241 496685037 633361541 726017923 259530865 592142319 630916007 294906505 786757635 626705756 926408974 792956659 516583769 843221864 93690776 208379151 680317493 697869044 992757980 80259382 361705912 636680721 524706118 514027037 513365754 490216697 624952898 866405039 407315485 701259878 109017486 735787268 632045341 525545523 671694003 415604896 724936116 994463790 367125246 102025265 471527906 628991948 410911952 636311173 104705545 420898392 594372683 412740294 358893988 268501129 268252901 771568128 4861112 293843471 430429589 339778515 35393260 18611992 799979881 263526245 378347930 252858900 100273114 157049754 35120935 357107370 684893203 557682229 579063527 496024872 3395769 531468412 209209001 25523385 357192631 280681585 137785259 282002330 147408505 821142648 288305599 713048119 308048983 211409263 535846156 835747213 970336775 283742975 836265829 976050325 475428250 849060722 749425409 498495995 440739491 975125867 441039933 925618347 921156958 734196923 90000053 294852019 12532602 10808535 700036192 195407347 613179701 603722801 795480018 465061070 769973033 65536840 975155631 317132852 273622501 714216751 923789478 43221779 992226885 342171161 745703011 944314139 595310323 460321971 453402202 35305963 337858162 171841795 451535805 514564677 829692276 58015102 211076191 174492698 706761854 818372098 10935476 31066646 587369935 440907283 114535477 448549350 92013363 54998320 186203004 254692624 777633179 385498507 330325290 822757355 836082288 331187865 495675992 900707464 117249297 183140832 910903911 659413963 525709957 418994858 761792099 742448591 19279082 131767909 609364675 940916848 150386599 620549791 782790835 457886395 153765646 233912326 785221412 379000167 546573641 543664665 730663786 106405980 817008327 723352738 786505540 308782233 4387009 499947474 763291618 460297902 134174619 163628063 799063065 522628468 463807533 629062310 500396281 940461482 852444163 48156431 961108614 973347915 764712623 608401300 659424608 318302136 94287448 243098813 374159553 804403675 950184940 965009731 889549387 456330297 721181999 372243486 472632836 177339109 885971435 491557591 999222844 518327220 981643912 484017811 710889267 388875669 986237097 390197257 437576065 398513825 520991545 692682796 453568346 477568397 53739870 451910629 640027179 332478810 416515525 11184411 870697828 694945828 664275335 343773416 853736929 911610355 619844531 282826454 577509153 996703249 790394385 271840978 562678802 662229680 409248992 477365280 472970850 870567315 999448479 548539553 95506255 189432975 469674128 649204803 215515911 15871402 425753644 98628856 308903907 940451142 132897625 698322867 347138526 61773623 106879615 179766031 443931562 294621552 306012840 768682120 812577357 95683849 301027078 240710510 597045254 445726095 425381445 133173654 779558255 118571112 71912707 704512297 99502860 931589770 78576139 524809920 695760520 598894457 455363020 809772268 884870226 623855204 995399262 264393663 63941424 51318125 414103334 143897148 644537685 456948082 440562379 523437811 893682036 924388731 203791621 215025500 84235349 833746875 180631678 266763931 110545590 547465259 618808221 157606048 383488855 241603494 227438592 10034164 821285799 724156412 840404193 453985565 529202160 944957458 209485112 767841969 196113473 909138118 893178647 23427288 533082328 377014460 754680669 120691230 114663228 750085482 559393579 644845319 601636413 162612927 779735642 943645559 980920527 969733497 629317165 530407160 238908579 10363428 561536915 458934998 435926895 593941934 28124942 857869819 280834161 832124336 816693415 14772701 221518444 650444719 152282707 760838481 884229053 75360398 126997647 933203068 920223715 263960097 21564109 270264330 235915402 710087816 658574515 70491903 324730389 90418285 999905714 745105436 223940548 695174651 230229812 950914574 606900982 494022948 287826893 51565819 713628027 404491720 878703915 243309832 131761144 793383174 904332881 643656368 474801951 10923178 303572484 496135172 486458874 790878731 607815445 63845778 75375764 775979827 237788393 278750172 87223980 787013654 698475046 504340568 605786315 784115812 696277977 538548896 290125298 319644811 849577665 241190660 172228935 8252738 796164681 173552751 631013218 182433374 827747293 558853316 353413125 505004417 493673075 696757811 503928977 689419793 328781111 415580555 557366881 395305207 589247365 19299559 578973180 471405020 727356115 77740497 58976083 189242012 607238617 596192292 5047250 396787126 607695661 988019862 643450743 708148761 239104940 403125320 738053488 514515487 241310909 904529898 586162338 715460939 924543544 482385361 2749609 581491164 204929907 264012122 629337903 867513773 131269253 592380899 312943764 696890835 563956209 191459205 470976803 110922646 305623095 67156131 695399391 514402090 198130346 949530742 41342364 346060319 444326015 483033239 403596514 583805169 753171037 795500654 15722158 156535587 291059569 466532741 729362605 710773188 793759040 715401324 123415226 919452391 736111952 137696381 157170484 763030612 738201631 143537920 425749634 506953874 552603252 567015980 771022055 311673938 892905862 213248472 61051594 110226031 69224809 928520343 806051893 854960785 323521737 862254458 378226802 673697193 178616661 814951180 246009846 530105360 411783741 42176428 658998715 794320142 925270444 120196606 343814311 72406606 952009483 644177597 638087400 678024816 214722204 627409693 551874171 778671 682492430 376663929 486330707 314719479 378670394 221021440 932249755 383668111 423051891 749707581 628169351 832447065 987627957 486771773 811550821 698848860 851113288 900597650 220663854 350210040 773395558 971970594 275667843 516690745 677801548 175609127 711514398 165457164 234214382 392285884 242035938 806451794 101590286 169226998 539602975 386551605 100507649 591773776 137227295 601256067 20915025 95987931 115066042 87912819 154092439 167599687 950258026 676384664 224497127 952823486 173511894 567796269 415098221 944675523 124069249 276290040 586942916 481526298 492162992 211884521 35624932 388352943 303526349 235446855 632706346 243853983 18586210 729160249 516219697 20763662 457086888 982872333 622110017 176614937 336100809 224412489 578580174 455868500 841859112 660050780 661183776 692969548 550640865 507476333 37759005 235504545 25604058 820105990 950343640 360732601 250471500 405467494 690553026 647100365 538476567 844530820 241086968 62944592 468190168 307470483 509448852 949429265 689875477 907988304 539699588 499740934 561925259 574849088 728196425 225310671 646026651 68137420 629557699 754185455 54833428 978994461 627724970 214214526 604873095 240760938 60785552 331399833 909673931 690115822 437957068 742369449 56139922 237358553 551149840 81786705 720398578 924013372 133965283 537563673 400720813 413382660 825459409 771719037 586790045 469476465 566293389 42770905 454883076 865224961 100626659 146712960 250481760 501159574 939476438 633504264 641086426 739551669 629829040 543661068 753375166 302666922 213084728 434052683 589232295 931015561 73420304 483491377 752545932 367396557 869068813 950645139 311968473 104592146 186932379 793003135 81381225 779925531 750551507 349212586 753442385 22869548 852466706 587792326 283638727 827984585 903039979 153016042 19631394 705879599 291848565 335162261 17123677 68867131 311238716 206299919 117163818 488448657 746698735 798049704 983401101 54205388 831535883 132093501 744028373 361073625 453534695 220672154 840360800 748708044 793948569 699255705 744953104 747667912 442461165 955233801 325705365 242843166 167780434 769717694 955077229 732652209 229862891 695645668 327908569 658642753 718718162 464006014 929865022 61318886 331026522 813028555 229430902 76695026 113824031 277610434 406247772 963807045 637316397 390004470 956737301 371526597 109071762 391970919 690437415 364699908 786227873 364717046 524665779 547958090 981243922 602878663 563256074 911637680 770778866 278229054 622843434 547220266 563482282 456993051 621671858 485149969 940675750 8028596 645221168 848886625 674794878 969989367 355639257 389612494 198201209 694490337 655688644 596222301 262168141 506386492 252930234 989336965 444011155 669254837 412073879 838785505 736517627 394167653 681114219 421637092 319327216 889917821 770195909 183593790 41512473 863674780 739034964 523563852 455064377 395288893 791843370 797569424 939817638 75622223 438261711 630262271 833464785 597005740 991674688 622977046 985376932 226781130 241049133 614273552 345911773 446633317 312730629 465894738 881022706 137154176 983808378 493886957 875473500 573074575 640387863 379097336 943572263 558121445 473022888 572941830 143828891 96700543 202361851 313915154 345884626 481669361 84590217 64537339 485228845 656401584 424249468 352490284 482948933 60731264 904092409 704363273 526795929 821456914 498507692 609305163 321190510 487832958 975639738 71250164 478682822 267309722 476385294 329675434 947822164 450011779 902580648 119392526 797557297 664617118 654474206 166699640 299235044 106846735 590299583 819995364 563043869 749295152 718682340 874513414 482774800 575790069 257462452 529343541 114694626 646445349 885974225 401062104 546231751 488054398 238326455 301631758 766260741 306089203 825344061 873646857 492619458 518054827 700708381 478071843 970419945 400276704 405794335 994677376 244227829 895472090 720743861 444372415 571931156 265711678 676655086 959744806 477679670 844983990 544599799 371127990 461953896 947114246 762546046 448785480 238301490 977163644 120853001 954473876 810490988 728033766 812590084 255062016 603871734 783552385 854900813 600984207 733644339 567891875 639380569 885685194 975771404 295772410 709294237 795969376 3875175 170309950 444439571 583555674 593647759 762412138 273154178 573809894 685381731 896232572 532142627 598277955 181412504 752389083 203378397 565218545 510986030 100861141 826453419 207542462 2201326 630631998 458223868 821775369 10227515 245045062 987178227 538180220 170153478 880469840 476614644 323217893 420004948 884692976 464764535 491725956 683734233 588923222 300105307 168554189 67943439 472612133 705498257 940180934 92819764 838747448 327083978 227360930 774586066 434624700 313493559 372273777 58462977 579977751 485088472 897673551 118252287 945093307 658543232 3348274 673704882 829393617 698899348 135648487 433822173 610326863 533171239 527114552 322931114 157092259 833224101 6863030 184801928 903751640 807674403 863764071 997548181 584919480 746062666 128971566 792099681 535007694 589725073 141786454 939482203 720825932 459977244 455075034 377315461 63793607 8664882 716674286 205468849 985144105 841575255 293177036 253463366 850745603 756159140 291329215 453879275 140842559 542585807 604812653 250420385 460310308 750796014 365741427 697081773 439205982 465351340 608240021 587746743 734472772 904620199 100205385 107462172 520603426 268625159 653848384 977722036 838038116 409614097 720351271 49244380 78500679 637063064 800722183 261784107 492686704 939354956 593327494 621129534 470279747 864471021 873410109 341257849 403176158 496424040 561006943 936072555 625599731 266357561 276199232 527608282 110895375 589988345 511451651 512647286 8801266 712251094 48726699 467870387 348854729 610415002 49374398 158644553 11057009 696107772 781298785 654029496 557447770 921386754 941201274 339017979 232843866 819705899 843092402 989379833 120499320 552139695 537288845 287860660 268108066 439800642 693064507 478919398 212151047 653833602 810326400 562591447 283928819 89121539 145108652 729948344 365728805 793363960 981181629 439830330 320827839 225541894 559296111 929128467 791045363 269686027 704206735 112807606 921171455 155192958 527660444 602892351 661049612 348443550 143560383 975527251 254584349 383088408 8433934 656355950 397460065 28455782 14439058 466520901 832816308 910699956 682121674 678259303 412210811 474213209 140115563 747957719 634399750 760035193 984803427 628201518 627210797 933653549 725532011 157122989 24490063 66843453 569150080 467812941 918219044 974722968 980151815 17021664 511967352 460000411 137915777 762901589 699715619 34981611 673991681 776864313 692488068 82660024 77677654 697123449 67681102 343981814 758096743 345100911 501740928 434633765 850955177 434702496 430418203 568526440 68665664 658925688 956291160 674642630 49399285 857065393 891322939 838104964 48819510 127951737 873116550 520810263 479686301 854342796 520429009 229815302 713365719 659385847 268973185 873944245 494871800 515302387 383803265 671004876 108447670 608840514 554578786 145848635 606353663 869052587 120623844 5389555 778269353 259289911 12826917 895968125 398659876 65185392 799788381 773338826 917581448 791810137 544566643 304140785 341147475 198070031 621187901 700176062 95032122 160170578 881609347 362319349 164856792 304810529 391913193 368113292 851688579 459301233 457220732 60402520 444631912 742839505 826257513 564659262 9008259 463795025 715001303 659636600 594654070 637690531 167822395 407131205 252533223 31789624 365617391 801957143 473933525 251328678 780431610 319108760 146182722 740372515 527469909 83471928 397475074 102419857 654951239 561370759 961559982 567135088 823927146 134724765 476726027 157636048 8289378 297525893 108925074 759183879 453044654 782271850 675595946 47605527 456929965 680771029 491889027 725549598 557124258 644860751 761274653 228745517 426187823 921348401 506434593 96404638 454375414 352411971 50146449 941732213 384621941 983788204 378542954 730541914 594258386 974401748 823885576 463106905 76505721 26527381 454420693 37261720 710891640 97096883 589000803 86282894 912410549 524734140 349197389 752613830 254612465 187190476 577765462 205361936 441074626 602065452 962258060 953075975 546888932 845387072 979181405 349259687 190672194 35165004 696772651 82834924 865388863 215900574 484899700 804912662 809509280 29282723 999158939 240696552 135385028 392477211 744448545 612823101 589503947 689085086 859426587 672027404 957685826 954837055 283267001 820858146 973341723 735638211 477570199 373595393 788069077 297274258 369470781 480464345 16459280 93207618 547632687 900629683 529524584 895896126 649812789 607632318 594742943 498718696 383397256 949542714 611503477 746067793 421899183 242984637 167711212 668621123 210196162 927665903 945074775 557382307 95146456 475206339 984571710 650656615 615903143 955186563 147450325 727667215 315573635 532690682 969569174 146363752 318054804 342369505 496751633 935438520 452478189 275942448 384148754 733676358 360801261 312812618 671591964 55200146 426526106 255816069 37102346 562433782 513403014 930262650 494227116 690742196 901608595 182168267 928647128 765465501 612125162 209933700 796754141 242912572 236308304 809183787 642943228 603214909 155018941 852088644 98296654 30587209 33001568 578037517 323461730 278033056 701969041 768209480 145805925 916905459 733775959 86906799 748324878 875869625 690469673 434164944 821696250 153743955 277727846 184177933 662193943 687241787 447781987 669212130 734595621 206353430 542362773 549126 803802846 354386907 666129812 143979576 354798392 301948593 665986312 544279075 818483917 443900576 226856554 697300583 60434580 698359193 853107672 102833315 457686864 419237651 347174270 397381900 725420765 747684029 959401854 697564056 434377641 603983564 201296319 209017657 139343336 228561692 474398757 720881436 233610148 274295078 325058068 476100357 630327302 58928905 299013427 438952211 449230039 877542578 670097016 739123155 759556318 972269345 36216242 397803496 151986855 920659841 948740381 321911167 620262867 768846280 89957841 285191708 142775696 316103681 412869419 700386593 620318284 835459952 857701144 63682895 259919610 647665904 466004377 307970330 497763433 509450693 377089076 339004092 122888102 591125192 515037652 257276563 279796553 577386478 286126948 927101932 95181045 60894611 805869568 873628024 782999328 596863818 375258583 613937289 390284743 347131951 385194230 237274038 42291440 287213171 889042568 845672516 122091687 286716444 50617915 88378210 661248745 7186334 913985424 365876685 95092365 265374405 707054767 794723767 852456419 196414157 784920349 159098165 72747838 292721265 270939233 215949793 802463138 927681790 2066796 331279750 63006148 801885081 463913766 409303684 936495754 322835762 341924514 34241419 201859071 818498934 443170756 645757349 764989441 240836016 106027839 806668864 958086301 743431227 487163009 309508083 468338584 549429546 389223811 506191977 874576534 206600954 159432483 793117425 641946528 979424249 921674336 690530624 294666122 126188282 448391531 638071612 523472135 626424384 643638949 72795035 947899706 787916504 950278643 440523747 914760134 772282412 777854779 648420454 283135942 71965567 791166258 506408623 408530749 17779472 637651984 902690118 9438199 335057087 827686673 935764153 247660157 296929366 317257404 870174105 928959560 723066220 96875147 426354790 504542029 459118648 782868120 332368664 756513499 29910200 306198287 121891556 382307146 85835899 541629291 555605721 249833582 563173638 454482230 806756672 960173402 387319573 730291198 374172966 668541769 19281040 504480338 126057174 560428475 638389065 29873309 185829548 274114543 813312326 872418517 221323650 344959824 468155637 322726713 796026806 415474109 893635559 870731474 804249090 19390793 128480402 356426492 273978310 688137361 25717505 772183980 60968994 50941573 299303103 320937728 110611341 738464872 291200543 648431078 671932174 588379334 710012357 283256852 474887750 360829457 743501302 865387979 462434731 299991763 695025169 470185244 964522419 565963396 172568739 780273340 360501248 132259995 112592449 22433853 488185383 930722183 545559070 455009671 821047655 468647236 915744383 788355264 906892555 1807048 253642069 961429871 38305068 145775129 148563511 754806066 811169730 64375254 891404218 846842058 989283451 485125374 63245454 961897767 961976379 832347179 153317796 581513841 980893345 78200014 187782466 109173678 364907794 370152046 208103148 486555764 799259940 831978405 61268799 587745790 284795288 897773275 291642398 105193758 98018369 18965834 586047954 448834569 792860883 326581018 238294218 595506627 477420807 409574369 767972683 300768112 77644637 5279746 991449572 3181939 303621955 928196587 111650564 818047699 981673986 213748504 935922248 759270482 945179494 298053698 454938342 363959066 192352619 886541156 282001764 326937620 906429098 86925834 854336602 626757973 556451501 404552733 773685413 861997708 259738320 660936882 996996967 269489931 463750098 783989036 840989010 861561767 748332189 770471799 950679822 346358799 659431748 87667873 458765733 656047056 793486322 261242300 721324343 124453193 107918317 948025330 536259146 810175582 323125833 75763325 654088324 771833036 221852289 800573752 968239462 254425912 21500267 81183409 50000581 334611233 601904371 706776607 46906897 232565630 52467492 612750123 511729849 642647946 302192303 538098168 296591676 919740666 953930064 140852645 769738022 409473006 599082779 835200087 647943044 237274522 520043506 586548656 473839143 111490425 432202160 556657608 250122092 632934380 661218114 218731383 22440961 468258130 864333581 939356166 727341539 750790536 281529258 654842900 532736817 341613228 387022950 355091654 663386724 565682219 324580692 836855503 361350827 350562665 176100513 201464253 539913213 4497990 619351398 804186442 260525483 946278562 871770650 627252795 170514359 51784511 791465047 607239820 776490906 294902789 494468856 176874785 192548599 49528456 193549220 457907726 992768495 277759308 290828706 404287868 983641997 646368575 89728704 413717770 172692724 953760505 455943616 962800914 583917703 673503334 79171217 534491612 812770490 449442418 291023367 617090252 37153138 984092189 37814425 757109971 620746315 922598302 224783890 230401956 677673176 594659087 340794494 434772966 138518003 932062822 251530960 615905194 512840816 605612917 93182508 862367788 45329976 335301315 71196856 181882678 732829821 759682332 768672240 93933969 313933071 856438593 694614383 157664003 373741592 819630879 460080033 55305371 478024894 828094697 462066933 756689669 361263662 503273134 892995478 817530372 552517023 665955709 562139357 599388215 530614277 768775877 458700387 746688934 433076886 754814541 847896141 734878684 997069306 629759943 60992559 222066124 959368476 752966418 573170554 656049613 527752310 293513238 747854334 639011037 880986467 890024871 839878695 923517374 817872399 71063116 360535524 956903223 931425095 956216254 627332826 936369626 675812694 12671476 671556949 727934008 312691844 933442922 802098592 643402899 343823211 122399626 453588635 99245640 553371 329543305 389106662 447726554 432541850 456127794 918375543 850331166 67766079 67587543 894522721 542522517 400853619 898235028 844155362 303244758 71422682 110376432 417162544 592531249 606659626 528999235 416491663 76493910 401022621 655443073 315372334 400797103 666612000 365163589 439397551 978776491 729762577 799456140 564041500 632073690 114277301 987229933 692170312 536578725 125243103 221247635 806300117 802825752 213104121 483343134 68021919 498335698 835914529 2472516 919148790 891805458 352617248 465563493 823203616 486537204 151219502 47655306 255850600 278851402 847720784 14521096 167027976 373509494 497743634 804442542 357642243 842442784 238133988 969889744 463134716 703560393 413519778 194326529 277204717 695673548 620639881 7252884 726784135 802018601 85266883 556882410 252212609 440712917 941401539 376539210 109286468 789260233 890557810 474232350 163013435 719672248 144627306 438257430 535111322 932285930 791100365 903299801 610218633 999550816 864047524 257092059 293650720 401228956 1145859 996844502 193877041 229485916 423083879 250483491 110342859 675914362 251831979 814109563 782665719 752939253 743437890 223292677 498340246 450498588 324419978 76429980 66470211 682715412 526123604 360991928 739495845 391320358 861114315 19527939 111283192 868032012 904931941 452968457 946640028 621201903 351372865 238729787 890441202 701497696 422020470 155491245 693671810 207617470 564292113 35078043 998434665 52235585 786658880 538253887 286597758 368733101 659202113 777624586 924075189 62259312 648569834 114771265 661602558 479725844 463100391 800537659 841539152 648695650 857081552 585549964 531300583 174587345 607681477 522414853 543881265 30654240 906371016 202276529 357466537 482833740 716848186 300662924 347520962 520421772 194867557 729058514 192032179 963559172 804176455 822014567 276857347 733462334 965829954 661953850 578094263 982183005 600766518 33205883 486980844 638025647 83525296 634776520 134012104 14078411 647123678 711816995 787123482 291690411 249746478 443745307 978904738 581915337 397147011 566169796 151087389 171081571 132376857 928862889 949122341 11113829 610404272 399004370 963594291 420352735 473278336 30203832 738315570 274213824 798928113 719931701 741144025 446766813 438675219 10803303 841235173 815170307 860882648 896270304 234246026 872184380 753623770 443113576 620191899 762661451 253469779 909463874 184571648 324325987 13958155 566337879 711626928 640099449 59155140 552738389 805492903 708552066 929885418 575540618 235086612 734402746 275716359 974516303 615874288 380159506 474509098 842660329 992732794 504387669 381519969 1244953 151067121 925237445 926710662 223848037 335209032 534493170 459559065 518140889 685040674 640433972 693872687 35264649 793160439 801024866 532791175 177803600 303204502 992252362 685573467 407628540 669339951 160204447 348171309 518815383 666232958 595764521 751023795 279316089 806073684 829070625 292170197 884158939 893703203 807674137 280528035 805270396 706243290 2871990 983364808 696550545 625349168 758221505 355606131 707506637 559075143 852833540 845883642 178904052 229382560 740934542 401031641 803028000 923681431 850027849 684903321 103233493 262382243 379385155 103850330 584300217 517029070 84789360 61793764 336647714 780417366 887859789 231137077 901303351 926231891 249780702 300445064 665110537 628744923 423274851 252263862 277436001 291210800 187837581 315088790 738932036 880484420 449342264 766116042 336939704 161859466 871697191 741381453 913547659 622782742 473461720 890209239 21730731 897365641 407968479 21097229 229448074 502924780 202442548 789690291 855795616 111864602 255446700 58892562 207883465 331211187 9509386 835098133 293527146 730344384 616297668 934679919 355023619 815831086 823689697 280859172 511413417 237730462 544555986 446734834 465758893 66195519 107109480 869449439 146879691 965753168 58213432 243714958 316034908 93974195 131948983 196873533 216970994 25341323 178747973 279538999 775879534 505681277 743026334 349343895 842164736 682464829 386333396 633430698 792780177 829122436 253407376 97565200 23743020 524272981 890222626 844282367 221226952 736780909 613958633 908926789 652154082 218214082 919408296 894219239 205523545 645161721 236504889 550713867 65706127 758108746 688091204 257101147 815167005 31085461 555200381 599444686 34777143 72456405 992936105 463072834 343902241 43902991 671302169 292837822 107566550 908214721 42768672 643061579 426664823 337235917 726496811 450749310 91344464 987599815 694231223 775262533 642932138 856958269 67920709 162568865 776964174 726707833 788540481 647360412 229862705 795121907 58194323 644768487 540441238 139894472 633506498 819197685 112689680 250113879 69152867 96601123 318860147 653563644 233568996 644132159 169289861 517723135 976429023 526327076 651677478 866421156 25786087 941287571 187136740 745450581 605370649 305482693 947862709 201580985 823740337 756351938 29898936 531816413 39995092 375512409 963239447 25152060 789803177 749031134 250544172 11647383 253790940 531107224 216509548 941795239 170563840 741896032 299463526 602080863 978149671 501662925 302999225 389099063 787673125 577025092 225790423 91057386 783092051 385904279 131822428 183277288 830767977 726157058 785699959 667715683 80881611 273791856 662455182 110250425 350156746 254616663 30040765 61528957 656157799 248721783 315340229 333523078 484659631 518640434 222477192 264247861 802600482 502822499 432721742 983029005 46500854 715734820 773630366 285580662 729597927 98804642 456719047 342786945 500067788 676387939 889963338 182583123 683606532 68717603 988901808 474530276 306032084 232606137 305717689 167878708 123108340 857381645 13840588 600866499 681129634 335881445 392853323 449166977 687918125 899778906 145269855 640563143 215254082 353039938 513306823 494629772 811964110 521745064 970252712 604188599 582460450 523504117 586952192 329803908 54411677 816554096 544772287 721942070 675305958 666386666 309480121 582911234 151350047 930593302 996967669 125904468 718058560 498547781 29545537 581704016 594403415 951162082 668370187 558538594 897184403 775814183 25932454 506818633 407073679 785340879 572108451 555801602 574174103 688559574 929598003 638091419 770069865 564172596 955388543 403626846 63338442 250076802 338076842 11842885 54569224 283433814 793625211 640566673 101388637 975768627 630403449 438834782 295804634 239856865 413655039 311075720 271376897 416897990 735656270 332065635 262612605 349262435 929563246 164690768 307632049 369315320 326233240 101949242 784613309 344295244 285080477 992835438 401089404 890340180 339168746 302532229 202209435 17303044 445322745 840469921 301238485 132976357 696434291 962512446 945179021 721861759 954440526 976418260 418870094 748251986 50171285 573264178 450638374 951394887 232693031 329193471 684983236 409185297 434393769 744240524 891440181 694153778 988318558 721039171 647131823 721969027 278076399 506519493 515257031 57489117 158523731 132819475 831407215 753209720 887112621 845340746 213404575 447250626 251003535 352341472 555070887 361328888 416801756 186836351 452334603 91990519 284865957 266751230 967763852 13656702 77920051 273394262 786614063 434977247 842760622 853185507 326940950 813094006 324581076 211397652 222549437 739543414 198237866 912735247 252639788 279572860 398221835 323721400 249144834 366449897 803537171 884266602 496318136 525447602 844477159 553798198 816026787 9709067 963236773 614536526 69283356 854816243 400941221 987834638 600477870 631020691 18731784 114130468 232975445 355870163 613269106 530142164 992269219 279400682 469622949 246164632 756863321 662216619 271179277 305361235 56071172 503459215 675804546 749989979 763412571 969768420 474836739 788855611 583702417 546226917 255841962 159826953 285100227 493345248 240892247 984915888 595979245 873755250 741078936 980337014 435324594 836851266 814797735 391627398 163287381 992556667 369279267 386687461 888569155 294279704 595805423 849407761 530745007 534386251 690403687 760714813 112576623 520421731 783600999 621106859 718492534 850352214 257881915 965638426 835361381 426793429 263728528 467771505 980991711 382795808 35601257 207227056 997550902 269799667 548613123 201103822 213370882 555680608 601355433 277309060 738187555 499134294 78876625 30578866 178146213 631789201 979586052 683273128 709767860 591689877 115734409 242821625 224651695 957591444 841431117 347830956 539578727 975830906 139870001 148528525 577741685 259145748 441250448 388358504 150905606 608653899 657204962 159448198 382330655 483294527 611874158 886944401 291510333 130250930 114935383 291344794 509257362 510068636 718844401 206067515 164042093 487863088 114123704 707957708 584846410 993826806 887241637 47099631 925258714 369161329 350390275 890261918 889445155 546397647 387805626 924051772 904760467 223502174 442527655 233046780 513560413 397475760 113843485 671377823 447894865 749325739 873055634 184437262 368392469 39940451 523897741 3624145 773062984 101366767 261973342 102632866 497231041 292747573 327432371 48102403 469372284 89257210 466073584 585907395 122295294 778633875 27315612 406127646 848048995 974513957 672193091 948855726 764813389 395468971 20238609 170905778 863225416 187595758 98892147 91453169 593053980 871497142 898478516 874319751 762709062 95398849 506954505 857511199 308097606 257872720 46903284 955014294 934470079 733737442 70771511 828008062 850818380 433280746 25667693 161297355 110324298 79042985 580146252 220182020 559962350 90205305 652158751 703926811 46025767 647096189 196122349 312490458 892422087 90544084 128070128 493897341 560570484 879529594 440622493 635748840 11936084 81199875 35211312 253917597 540197344 569243018 173882267 267483061 394786923 315556227 510580640 582442357 584810607 127519374 313874235 43165613 119541441 48559409 912857352 295382588 965195971 562108251 752368826 359403822 10590064 146846191 807892697 829158233 751763665 888454836 16543657 458029298 970771789 958619275 503417904 816706769 228882223 395116405 723023608 48640052 804925753 166018027 914926639 139877236 827354539 795129263 558781401 331082645 207017036 788167486 672139425 300363485 777640895 638894667 578189160 746449853 410725770 808343436 39370774 179540467 553500600 452396682 506958228 765776823 292434207 38513955 993764770 303845899 145392643 663213662 666555376 873264036 942764003 192379405 102611312 922994115 952888538 138436246 451221861 36353671 861304999 960278516 900098923 908443374 803336642 992322508 692845918 501008749 127814424 351087327 242029171 410437312 572733269 622777034 560823150 810306394 351656084 193113905 305539085 390528291 347326805 651018738 210086265 24385204 492431185 177327317 153651028 190565899 543211338 59340215 346677160 268373624 797130133 16893057 870037396 967605541 808462320 192714199 18767014 84523624 661166401 5403959 199284083 276995879 860081524 993982670 950468152 690263004 257189684 235054381 16515889 752724888 746202779 651086986 616465206 178744051 398713951 596347353 699363351 379226135 160808105 158642439 168439269 875566703 149253777 992229224 985719650 916094605 752084171 182437886 576726523 677325925 534621432 761738970 129340382 925520735 758360035 829578743 948006315 628579148 95544601 34346369 608758536 526862971 342047452 894528016 264033563 448587059 373175767 110411698 30365395 440627140 369410923 185434059 413325698 988047298 805220723 593270313 276780733 284191985 982246727 393695000 957353342 119017942 10526917 890218832 929243805 56730274 197854396 51014964 130485308 96192108 491303977 235287540 619310254 627210096 890453181 429564065 623955389 313841302 381009330 982494027 15248650 288676617 483663693 317302642 362997482 163606267 894808299 767130895 557944381 537922503 588773025 786912210 907941346 695030500 856749315 486729173 473291574 916794073 241068037 900709054 109332073 104460573 52063679 692621040 270781156 221990572 267319909 543328824 629309965 862749151 209264884 689331182 497840551 901555814 820576279 82577869 932884802 265332361 414085706 382046660 226553370 368359437 363041733 18928832 547027855 159431700 497874703 390129341 676241564 391654851 881573128 412543105 437260555 38250629 932263624 769155648 221354393 281921817 319369093 414264442 129689453 49245436 624494674 397818778 284154737 753134146 162956302 434521646 505709239 623842148 675651732 209024854 969428631 102514768 177076324 89748467 472820285 695076945 799690782 947774160 645238277 317176062 504384644 926393479 509877493 597404049 73836422 254794402 541952177 322539724 381383027 297910384 57752198 887013621 774136471 750215074 355908345 300955364 732590943 594206567 292354700 244307167 821995420 844776582 918962692 920389797 782297805 760684499 335395180 53714293 161967421 838473764 643364681 329191537 571117092 623080924 29809840 482932843 273209095 813215309 571616642 581912323 629731602 828065452 838816047 274975403 132880119 382034506 315332184 62083827 328844935 40276654 91471347 568853488 67559364 346702678 89152907 114283064 686887288 949091127 780216317 184771286 374049110 741200997 279138480 15820866 138764084 68668083 722127684 419734221 930903758 13772028 768199615 129463745 47092121 276653276 887885332 167583210 122442231 499564420 379422906 101943891 109637150 417403115 375922827 665667363 788364296 7236398 242776861 904152748 962640801 2586266 470780714 76769292 163592270 342171660 692793316 51200961 882638362 758296597 199395695 763295503 397774843 943683338 528595007 777126660 967442975 102364534 794037738 196409611 559772539 415822955 9509480 572009397 51828727 820643410 560939427 199433639 736173965 818063493 145387701 898313902 222988734 757774617 262597186 10481355 491019474 287280026 113868418 621128587 697213694 502303556 384287383 701700194 565019362 130447369 706099946 435965609 752334483 533590452 744596550 358044335 30952583 953631490 86491644 377278070 780006631 341518572 434896303 45983990 103442268 493310689 248439137 629980896 871167004 259288886 471777951 387339871 755036637 791799474 88398118 242767860 588464744 343348774 469922533 167221470 66330195 725114362 833220479 714533470 341132486 116750469 560595332 816025603 902227845 245835143 530561215 889653552 32095406 687541362 637679725 886063790 470699875 723702155 520353754 250695902 661851958 887532221 306203556 959563142 568413171 946406395 842475546 677191882 865866808 603176713 453124390 473600745 703361503 555909431 166689816 334173380 693501220 48099037 397473253 349431378 572512516 552429827 864998536 528190643 372167928 572464693 386117621 712544281 23090940 737131650 906417678 353519705 411184337 954027604 539646702 742362404 97868259 433939362 796846012 993606588 407262829 405029466 135296453 742368565 390240791 395101871 12676743 952767524 993491639 684307644 1759435 206085640 596946331 211875910 367289410 125664940 396489380 291367729 977785655 41826300 261231721 244754439 191833127 75528326 71268511 868573400 590344346 735917846 810716664 14474923 891516850 935509012 999706732 834865363 190680495 111325011 571544962 503732186 985991770 891348656 501828272 315628620 13204770 404122716 533089389 761057923 73050240 426860938 196485582 883998103 633227965 926411804 631007647 882442727 173552404 846456227 859938231 951622217 589196818 368400723 552488066 154347565 45557503 227082520 890434952 786293385 611677403 629551669 42969543 344144572 682609276 929165116 943492766 444384893 453158974 826494378 329896472 792945009 485330789 101534966 972688171 215371275 772072611 420284166 357910887 270086239 741335148 267763884 582355885 238193858 763749523 883473226 279970794 863155300 365451986 646052139 188547087 505884021 593747414 401770423 876815995 84642593 538152653 669061553 919745454 364602122 956217761 474788127 164890846 553980213 103623224 978031132 834832116 591680591 956627533 513489478 405964482 286159721 969598390 381505797 148819479 905954669 254559891 365860251 629133229 575880501 953114263 520818190 281654559 156917761 896469741 475430072 314589536 892237663 13276547 217322552 200097185 582352618 132968784 507653066 35578792 611188504 416120761 292810063 653402542 369297981 445884463 318445598 203742035 169997037 720205395 286753871 387395814 281606448 204881170 68351286 35818818 565139130 917458522 19483143 495918938 394363936 768980663 228696861 683011795 951719847 374538698 397493129 838315513 909870973 289692234 945659242 460106383 146619053 627919115 769864758 556549354 726535828 853140197 265196437 158506484 941603798 967702242 353626253 553734044 203185509 132933594 981581329 205788592 541249167 942413183 345311923 478207711 611065464 4138119 373551954 85471593 570254444 95839249 138959572 676942878 896341871 259988422 553954437 282137991 416179638 512908880 547346867 364678404 13676174 154532763 974491261 611873060 626412532 103712989 521545861 419488249 731090620 263342451 96501521 346285805 653335279 178395916 709116103 242539024 944567708 944748529 425191783 635371169 553313399 314215353 401224518 846961928 223708147 927820987 172073961 921598493 764756738 209573131 671087306 577577709 36949459 428107381 965407567 138924239 706895178 460530556 999549130 141162199 319507543 894229967 550872572 999681328 149725382 307062241 308661807 76324088 265333955 979022828 47273343 918135438 337034046 342852499 93998367 206959016 728939342 277670996 385835783 756348370 764454010 143831583 684017856 407473635 619035032 607287892 82716817 97998078 349466615 573457733 641072385 842294224 899267369 466883400 461168564 952158221 573957864 899651520 52479677 105643162 26888769 785704297 199294552 607196250 135732685 784291941 927278877 133983586 292117171 969699719 666480404 119605071 902926688 844445215 487591394 901994733 711520269 662599030 995072721 231261236 456418833 384778236 637332763 265726722 358863187 525640019 654260780 838562646 968179138 848718032 481066309 692577536 893331010 425797449 213047979 953709436 324245004 154241680 690178487 886148513 863066382 873875814 222341173 181896088 762847396 239610029 5331617 920003168 564211604 764357848 220439026 230269065 929208496 55070342 67959110 589717015 683686827 823969004 620549855 712963947 978203656 94259698 262568771 969541369 632842576 601112138 564796764 142324490 881935629 711967191 451407947 809611902 801431308 956979930 697780693 432055818 277046028 771944936 721312239 816289255 176665127 104440163 594155376 89182449 87490459 976740514 636723564 329524767 804416260 93354082 598887882 100409785 451966245 810500018 270951255 277613011 338998334 860009166 476033251 621871742 551727934 83897453 193660766 708345765 4098558 95259354 891702112 505525819 66846030 287254258 685774752 327181618 56752457 217397242 141065413 488462065 641924178 3393983 633210587 122699349 462085133 465575307 395099185 20797352 863457071 640628151 474627831 922825660 883724335 534824689 686706427 647381417 206325596 856486644 607985878 207796913 207046093 740771560 911369687 812760759 569254777 447914983 138302906 882141133 837352772 3786855 282451320 881302730 34740567 745494469 656973853 323619194 364514354 133920232 990003400 576304262 261707439 497308933 713481050 474028096 144596361 523177496 635936275 556331345 587419346 378671861 118988968 557226550 53189176 295351485 931437803 884388095 936461018 703874760 621845861 911066181 380911317 34627137 115740357 393210897 125370084 782080099 337169809 997724181 843534883 665575428 742795077 268428492 273183301 987088162 279890162 147099352 849911966 731957676 175288621 691246093 749938759 539993369 85845650 906458171 225418922 686633102 241157832 383909175 879879957 823004434 225577772 302605981 507800020 543627219 500850341 574828297 621480483 978499516 4029042 288190995 979124761 397408696 881926343 189755003 712443997 206640768 876584721 519727848 17023279 758254421 550299626 7722104 149311518 995556115 389176668 164249096 228292748 55651134 771672842 419744201 709010691 299068037 241168377 216987859 466097793 350937583 587814357 802387785 399796398 594464894 227232247 27510966 260248571 7281819 588754011 487457590 751812841 156375675 721186904 794171834 636681440 518086154 24898664 845005623 608779159 206945622 172112485 295959924 154413278 910196787 933829208 832563737 716515224 653468457 514656408 245017214 598787557 862013344 985707661 183416156 247747146 208770369 872000067 628006662 231454896 737341763 550228140 555920711 472201093 793518574 593640300 151076942 352440729 25855928 43965974 64657081 154419688 714746649 402784873 325540654 493711991 883222990 946942953 231861817 73735689 348023163 702446343 40320158 236233608 408511240 663463300 734094382 735519301 513427396 576244738 462942410 508185506 296911765 835323429 873847126 244955121 498068501 502065965 685707556 319283336 386118542 298814506 264094775 196059806 683296754 222625845 157091499 932867484 146919164 706072999 284663096 411222469 179428033 476067535 781877312 726755685 180124584 731637905 243947169 234628229 382381946 165159051 886021566 35028629 67862654 844730421 255756227 340672166 716908681 67495466 278009784 939131301 762737080 972850186 883114322 730347486 704045539 797545572 872100970 543450878 262197522 872208658 366549589 82293252 39536388 761874235 896257526 634503831 857497614 708927522 196953529 397389403 52194105 761480438 34398695 133713250 980726750 512791766 313692180 642930250 265385307 404088975 99395292 548802156 68451801 877420297 55885368 249329504 698224191 807119934 894527604 764015122 186809550 291230456 803617273 643012045 724317660 596478826 649132062 325560752 568683409 310772528 488791514 515637978 75203796 318530429 222972323 531266639 709514735 286284545 156493502 390355204 730131817 784361700 845518476 779286981 138688212 3261472 20827390 825996606 380057314 427574330 695732074 948905896 120249804 12218390 28961062 117969024 933375251 709021188 617064591 697658037 170304374 307620582 278196649 629227215 99319396 446518096 28135352 613819404 438953320 179609704 922537260 425541517 44018914 525128469 259355753 646228014 94032914 283546915 938912805 926853639 54560660 564693903 249988462 691750102 942596247 707232777 597833253 603056126 143034331 359235472 176949086 404898314 797573070 763458392 124706604 773946882 595328857 795866124 904784150 631263287 584726764 725550770 862694736 511981409 437532787 968185756 786486026 551618579 53829231 890524956 731755190 652304045 416757859 593019349 247865934 94179952 280909629 932478335 661776833 945925897 649139534 360172744 846430072 892895166 307956639 773483543 511191232 365693712 488510710 881833766 726349679 967538835 824654248 290049932 101099086 145469349 932471791 235897088 996334603 231163454 365868917 957108907 480373320 827487421 33288080 900834645 897304929 417041140 355206732 188505277 519240004 463889322 394880762 279795764 473166378 607746199 390485977 909719474 693087367 666121960 782615762 230202886 732652182 844348540 349855584 56719656 978883422 133819107 992566066 445895593 169414872 685552180 159434330 515532489 437190132 718544468 356334090 840199952 600620549 214231487 470971066 809517885 984622877 645772514 584147940 340657817 822770334 318277998 480386986 14833948 263985000 129174110 818875276 943206962 390550521 153294574 818448366 651587566 102241488 471471448 524879821 526198519 720236655 889617087 372758890 592412154 492045096 647736706 374847031 385969394 806334685 480172961 93833337 938176029 558512903 781112395 851337672 248905024 538662605 889251586 437460833 281609580 85632311 118628411 849296682 524716388 718046119 516886625 908816489 646584036 607672697 194529981 394570412 852024280 957334504 659870002 414907237 63061371 844591020 327632054 232891381 236883292 974789902 614356341 692338254 383854858 783387973 542864800 649955424 166009445 154469082 768296327 244044234 343696040 868548698 38156668 340964396 153776847 919671214 554142056 835642546 565794167 58428059 335060120 108322876 567318487 930804201 997770517 729707629 622532866 297989201 634315238 149964228 620324917 9309112 96488342 968003324 981478430 753515309 415422444 623116044 871379597 827677457 389542680 186335359 787945210 660513984 715697578 529160136 688949193 744713257 359061931 441612996 220694998 121721167 821500173 119393740 34671802 942080422 374543940 295289251 353691338 531930899 946850053 661203551 854081704 416566262 67822668 910925173 691052084 330722342 943854820 26855204 595580848 963015104 211845930 539261005 620973695 54255303 441794926 475170431 665985253 625977510 581956080 169166761 758316269 272138227 616818505 358856101 422341164 530634103 59419336 834795751 741843177 586130145 431741501 595508279 638639266 86759376 181777542 78386150 296238252 85766658 777782468 871810969 693474617 912653098 838413565 933629768 98638073 687063748 204384066 325578879 406499157 510116909 565114705 602490647 596517705 388380313 690350914 483487325 967228164 114240714 249180288 994904853 167267185 283811101 361879651 110175925 588499410 209464638 974979862 691821734 853436077 826832098 213499007 706259650 59724112 924198406 507246465 238112654 278698553 461269137 515574989 247530668 400334507 152179162 652350461 567842278 729225056 614941736 521514762 324361923 40959918 349698638 474891010 392426295 184452903 449477762 609596592 82878871 207140168 242087636 110664760 57409807 403075528 47063756 304421622 648127341 550419734 410388562 770128317 544285776 927411382 361116615 823709968 749177434 658451120 303717156 290175539 111226592 12600066 48205838 810704978 140111280 745635867 547182061 864363434 723277027 58347482 504592697 729878172 18949980 245145914 119994473 998524871 960233468 993760738 834603619 197226089 50826024 643518951 638410093 661488541 703068865 385196436 384601396 818987673 150226159 4610445 775229544 645385814 475507994 459766872 22420170 914552442 549990492 158046046 559885371 59509891 326570945 791678359 881604539 282121296 632479931 447291432 255444606 328670115 283872276 877249700 760101722 919411335 463411310 616006611 406749154 955862384 745569024 804937373 619978558 539560112 593672840 384935685 552229733 851655649 261897724 126830680 192957624 541506335 505649138 262450577 162105201 548348189 436536543 561111703 368879060 5161947 530981721 685910353 596220826 167105424 711661188 746198225 433464398 15562767 350678936 179176090 930206791 230220452 691994422 745092531 957596292 77128551 897558900 831148808 323983777 361389595 328874737 118803018 199789561 749053282 919277062 372523890 662244335 800824752 53461932 610301498 865415885 266820113 821919584 617465428 470152390 914375198 461568906 368330061 667919695 755524432 78360605 757365398 656245920 766942424 491057060 482013319 810615025 376157512 901416689 675381131 497343451 621617155 827921284 616794223 614475534 189426216 741138866 305182598 992465702 806600618 619555247 652644717 445872900 84353856 433988431 514671601 66826333 47795155 786200558 291809516 958026579 237731784 175644460 730269824 808559678 987552765 401895442 229058314 987356973 187373474 502526102 156243720 982314025 106723802 196950519 140618730 992176906 962942796 894471967 726581536 399160072 381523624 165336304 501823738 778361863 102377220 512421192 866288866 91061892 887836044 658639498 269694848 319706872 180026732 711756830 193711397 844256629 185318866 96901740 15505247 107797228 416879730 51529083 562561733 639196140 285411234 732053361 653922923 325020379 75215849 884434197 226003554 433592943 125974817 333702265 745496645 247965259 147359086 641884293 665404373 783186678 185468028 206883936 349831303 314069156 206112605 148905619 40223500 119129274 538159540 588204560 24496727 853569358 157717965 804732126 963511059 643068555 164390118 662131374 878518213 277718513 961427146 847156204 477057220 749712427 103023408 833460593 475675056 721273028 216754610 636912350 541684028 51237663 528658334 432674095 615478669 659961067 860734245 508540587 274217302 401851601 583888829 298824169 545444073 276761694 91580564 602942536 471516413 21039270 548952616 132408017 625995460 550937595 816532109 585363527 917945782 576890414 389470190 861526966 478054796 652040592 404593425 422767256 368057181 673424871 712962078 457664544 680335433 544614661 370941918 967328529 160015014 991625069 672050548 380573586 622851355 224784000 553338412 604574344 655340555 329625429 705785160 487020171 972188848 218802259 463895240 870060139 662351564 351252539 474592370 963014868 594739585 982325324 531086556 799519375 974516845 878338129 456847795 554393286 830012699 180991486 984858014 802773015 815232415 233374631 485397563 149528704 99072152 412054046 119303339 111336904 114417473 885799696 636873257 163949354 429543411 711172600 611736529 219035652 64766187 460641476 679740223 504351672 171730805 753240441 801016765 241429569 650444294 302456444 496946298 844634694 857669072 794360179 124586395 699842657 793386497 304239613 20445585 830734382 522732261 768276734 251266587 844253256 315767345 246860039 283103963 327145298 206159795 855633955 205295109 46515554 101353006 956843333 634750398 737733605 212884593 736749472 386675481 777605339 474223692 824498188 674573102 171859978 216006080 915279425 160864475 95143123 801810466 569225244 461880406 540400818 676438754 618885527 377915203 5643595 882087545 910618425 267588911 706204073 62788583 762839454 940737832 82978252 692815036 106685432 596287624 3740424 367755081 525309086 35514242 776497362 589444251 815190166 91240609 913144274 781272621 761833287 179029775 238206978 424411958 757815218 167404710 765071661 621547385 333054537 246737513 805927917 710770467 802683092 311276874 848940969 163465256 750487566 874939367 386644420 399474923 605508176 308590209 415233839 596152761 196119392 494933930 457842194 337732654 858237238 181866456 612933721 821917036 706504168 735190206 28468294 927546574 614353134 406310931 627361608 337771265 771452772 728720250 519296659 400265890 485856509 862947810 767782816 572019804 187611013 402233186 814110659 43100192 591795966 522095939 743045032 702932179 881205102 423738967 72894856 423693049 619371874 991374653 240945787 785036818 970693214 603393403 602553275 165123714 81802368 470626700 530509283 479188616 347879740 86775860 687856196 221500440 23568425 491701146 108005686 816210772 535554256 314593544 133004377 207726875 824917864 806274439 718454836 462501843 30058603 702291061 70298490 580257999 152449862 456928523 682256565 385614926 286310071 16823860 58078413 735996124 698407822 346273451 648738136 782008152 26230811 508544307 157314258 677544987 565590563 558783166 458372438 89017954 830943233 367907486 148746233 936274830 482295205 582319124 532532155 749432453 999683187 395252157 346218782 972645113 687730599 109710252 330469014 897024632 495119575 934069572 819560844 215356929 531844666 804596235 509426050 426029307 546749392 18633112 911948695 724085825 898508431 683428511 333219630 94108866 87141037 507206243 494794241 535260968 434688496 947647508 740552986 324296902 207976818 959020999 181444015 72852417 624889275 973500932 588957931 836969743 355180849 251827905 649686200 379139687 212865590 138560280 192274316 813750669 766935841 182651209 685683243 136074085 661510551 406361802 117891272 871193370 654646959 367398489 818689939 699017306 83080434 728112434 935125739 792460562 516707777 842748348 831167252 991277838 751941914 88190277 305069853 810151075 297129112 199758828 270678044 649828488 666625742 626090669 221557137 536690331 623820473 250450353 285569411 390852365 427493918 184334210 131239016 762879443 193780584 865796646 22997531 318347639 939155232 449972041 742813469 18116774 301405247 402604879 390702411 816285735 374949936 922470580 268088691 474118016 945742783 803212905 977663490 781867389 907903911 641529967 839605222 812798347 377406838 194346393 266235674 171669391 480885676 585488665 236972281 561253010 665292101 421791827 431165864 669416627 480761603 545404017 428134597 988640375 327701427 669129719 425039817 291375164 607005475 191212032 931634121 397524948 140431446 359837655 261482490 112746777 967109144 666358013 871837505 370706997 701432850 862722970 764957299 340416967 88749184 881725330 263723773 379753938 60291122 684027383 125082234 348875059 170025784 890753484 784248832 273767258 701651994 230837354 350540870 172833784 289052565 171371636 754852107 253781963 697411382 109670599 972385706 88667409 349697813 733615507 899805728 123378438 163151703 228936840 558348975 313051224 678434906 954555847 621970797 26073005 84466823 967666146 739673342 309147009 291895514 234868029 697798494 665663182 286986103 194808132 245489204 28019473 292609598 372784881 77872495 532024862 309457133 212813495 130453485 340256415 982177823 708425566 458405942 123664112 469929602 671713664 54440993 612673828 863424725 80521170 583151318 529684895 176808134 194851515 801125402 566411360 128917941 244272598 433196603 551507751 214301973 389383957 353109195 193544100 570806806 974350320 162901642 706104026 834050378 545671333 882748131 958665459 314895290 818199637 296982068 101456460 281742704 621871949 581673001 53713209 639921446 472993296 995962477 884556243 402643141 849739155 998298011 9612248 592128312 828815560 607930227 869852024 797345736 287808612 480331090 239713420 347396646 771497413 202998108 448528584 484375956 675773251 97694664 470296446 918719303 460328954 381494703 273600891 749488906 657480824 194210938 137669046 545930130 729242753 570147766 759819958 159254169 697618795 835862380 430344410 664147431 880390837 473385602 616764181 443344488 724291776 818934809 467126511 963412643 738715614 498516013 846244145 303062592 203453574 267168416 456796814 279042072 294987318 455023099 914985248 576434001 951077075 515915638 176208463 942659257 913733284 965631221 879907353 227718121 110670894 131191820 927401420 656718229 387277524 72114629 307267415 628340620 576339748 246324428 766045437 859035068 963266338 692784435 243449701 212478554 684165305 301984379 74113603 913396171 155311811 306105810 511643767 912233812 196077111 821628385 575691370 849123506 813910436 289378772 948278341 883583808 890215987 918620225 207917861 551291262 225089047 585860686 601712828 695985867 257733032 390509819 579687899 640945457 191636595 676506171 614908648 691311022 595729130 609390202 681588981 49471442 737033116 956349842 230540432 883530315 457350046 922326601 264598018 768077613 535434445 589846860 437475901 675368077 136625926 753831093 49551762 975518646 294311486 803655490 596291141 153735495 925653750 160725890 798593266 837454340 108482503 613487094 368783286 108460168 542843329 877324523 177038070 979076436 802675035 118804163 530877852 334247716 976396058 566715991 368192817 208627048 706088669 471806095 160631457 79866429 204497485 90169325 967768960 128351468 681144240 975697654 279025286 194567551 529507207 702310556 327732014 88273130 155615662 711636876 499766433 453867217 431253814 192475676 220815625 185831861 441620625 656904136 590201091 623296332 951652757 145777820 928425707 53338108 672003683 402989623 519131989 684833217 508767836 145456152 461442432 851476811 97411523 301404195 369714634 842683888 949261228 254408442 466547767 281768133 503916585 492667940 470125670 472853606 332283040 402334637 581810322 628649960 771712328 473593111 669587064 34391870 207283882 706254592 648751185 25628671 635708760 636437525 678616 286624058 300588584 94255251 457476796 624142205 430222853 657121463 175874114 832145315 797053164 562141589 75836677 233908412 223720226 955499348 519127549 504541934 838339717 703560796 506030745 155155236 162950524 456661398 449648448 500317569 272128490 296804753 93978234 802674035 968335981 942021365 767970610 237599916 383956344 303057998 896864704 119080923 879455190 478211906 792936839 904979622 791192819 553397785 151804703 742996662 1891221 102650948 952378070 209624360 340492224 277226633 161987757 163821236 707838672 605947590 595598316 352171588 950811096 430395100 831413626 519017472 316411384 883814332 471307601 273085435 751921367 728461661 942422227 100800716 95650853 434762587 613956876 282133275 533040038 545627557 379919685 11674322 379816951 350937419 367199511 737268134 766497778 404606967 684174297 780822911 322967519 334121674 221578515 774061847 547995764 23775949 699242308 880711031 560686697 508663305 995031179 639122618 192485213 22532820 991146528 958635398 340711813 335207251 799093152 76608445 707534989 712150695 554645397 748178410 504146560 860002143 877049773 154332198 495343194 492335714 702585075 482746711 903899099 339747934 862056352 207514405 856907011 627491702 818590819 777734861 146448354 384141516 457248525 996611826 264384572 466176988 261390764 320261931 831076486 857323417 634930160 229475159 463789617 110577901 415902718 790356451 534176272 221036677 960330516 870356282 317744803 486209237 695009710 343422175 174646361 383181220 327167765 497458023 926933650 997171994 153931973 658022960 75898908 586589440 399350302 610982139 615545209 663601246 326546670 162066814 606191031 349424802 321062046 811587207 907088865 487338706 677876804 414092210 588763005 379352214 240095153 988922363 942733116 688775804 362801928 746791244 988486779 941394688 905048869 351483655 736601201 194449776 289641559 228178866 579486712 589431174 504182030 593313622 151482866 942330573 487854553 897386590 169541823 155914050 256996716 872063660 776842721 458351515 319981022 856596247 781557372 961362813 82957156 871500144 981405303 909294950 125664235 660157333 930301930 212312449 33230378 300960608 897688429 697002217 129006100 127761206 919977295 979160043 655020262 127522997 799921523 107339902 291648808 695220059 618496769 166416521 371625597 905129733 69339440 947829737 957132632 618618021 462017514 366357033 708382723 466598696 199305243 656135587 583643932 173278445 556121063 652853234 167161795 148806019 279439671 442258779 447545262 620179968 354930767 591054977 183467203 774265854 236267046 231431995 319948910 188025122 314618752 591971204 899204436 518640448 360216044 954335388 824567895 125298297 335040707 728359393 874418452 396792601 789280354 183488388 154362389 230050966 799024767 556280257 465736954 462788718 332098673 39720700 810227040 352913335 454137807 131083651 579026312 286826251 197532682 706884432 736847683 152676179 241553211 10545137 208805083 481417763 296183171 168661029 225806370 692445724 932426410 575462164 933141968 939573702 837574760 831618255 781094357 88642500 813267452 518102349 252358636 978400687 719481562 578758677 261765624 442790199 343852184 486961520 472180422 69650485 607900692 720781949 820906826 532780339 966553584 333519894 249198871 40273044 802517586 92038 413777959 504628613 833061120 230828255 506671048 538185491 246134006 13911292 690332996 401083042 429560816 586245816 176797354 224744420 434661774 259963979 783461593 411402675 48556868 390188311 796366883 540370652 175119210 385115304 341709792 45655343 558712822 838305892 146719495 304073475 148784196 416572527 833798033 709452057 700531006 714289402 316523457 22801073 735001662 359270089 440917441 19746663 162947971 976134029 283575714 400533239 861999050 896314506 738415351 411705675 713005209 393802299 57896987 194952907 625185978 665774413 797849514 88114575 451123943 939354606 461894741 98217462 68079469 688394074 641807720 153337390 500467383 188275846 694713059 704245046 891237055 344896523 118514176 316400053 99404966 183611019 524568145 926876973 496695692 519491000 659618717 344742366 206655792 654336405 297391364 303334772 139575767 210832662 590164180 907124042 357198112 278755083 431353796 593983323 206216659 435136130 733749918 821781875 838189503 598851241 978326474 544325144 647059326 500160754 113197664 424414595 822436784 345328931 550213422 193131951 668241789 634019504 996628053 966907239 984374387 887976215 955303781 581326444 377168055 588841432 685241608 793581289 82497613 654253803 56214666 249808631 794612319 2096840 172961558 825182800 761149278 752844596 818004283 446432815 38767161 705725348 262068194 441034159 633038507 766218592 742078688 953297762 251824147 685390199 610703512 916498436 915339309 290490986 762194459 999814484 52500539 344059093 383911961 722361098 406171912 780546799 474201168 445970917 432848770 274133017 210465471 720869425 256781793 903114135 680204741 210933882 501649145 33784846 918997414 74653767 946195076 135692924 406082376 910230533 39056573 783309226 535565764 933840250 501082660 630723766 325697666 858418220 806588983 210191612 233910595 267096678 601758007 675696909 21935697 278064084 626433523 788728337 895228486 356978155 797544361 668711970 446394936 549284891 259048183 715955357 181168586 242294488 919344126 576250399 232176090 48759707 597088948 758609910 607853224 621314904 879121351 506095804 505795341 256648946 790292081 323941733 961203332 284178030 496225878 593681198 826541402 848602128 188827509 650970654 115852473 735131765 719933426 197505522 652286674 163940285 704556210 414289275 935921028 152063923 663478387 403229174 660777420 865374900 824587628 640728805 364500920 176198336 852407793 321614786 122143958 151814508 295574297 246840166 584876957 563242064 741590113 670440009 664750284 180887739 975431325 639331579 801773868 20158078 923635768 571769998 70479586 693722721 760171990 895119870 22979450 364666662 816130396 275941787 810212537 391249301 710290432 22560410 657746612 224498990 304977355 586694153 921807547 172491748 100496076 131675272 701767707 408811273 300069208 308077507 556374886 268622256 618731203 575179523 992215191 733536076 830571499 275368724 347327195 974824178 690156936 927217440 835834222 521273316 885932490 153567386 955716392 437563534 255642780 137901659 809764058 159443998 572135039 551228831 275583714 482433417 302366239 539210775 369027563 2653245 629996437 822867493 382306953 946011858 627307371 466873585 647805273 891171263 703947718 467466830 715575210 332926450 46536138 459834489 754040106 112613878 84030594 910701116 677180708 421554374 296568702 372260341 22685135 801147556 975156246 604726279 927338166 988837519 819951511 505551337 904927595 669887138 269529338 206669006 73229541 738643213 614289532 388001371 807533185 592737503 138336595 425293375 872444626 526568674 827584970 202507515 679255446 779683840 25357635 78683137 571362530 736860331 956298010 831403588 152295 655508613 387612409 752631070 867442582 392029518 834734546 223722202 401040574 263976456 438230480 396818396 390185349 991816264 975818977 751821124 606091765 315429025 416955350 235863453 876523264 643100130 639103121 463491678 199589996 948067120 762948999 593303595 302087443 543443522 444989735 244649889 458963231 494858968 656320937 488349691 436825239 976801822 242848635 744162387 168679116 713593862 871710690 250535256 250794941 734047464 329048955 688643884 945319674 263928853 438490 490785992 741954953 384041620 329733049 640835057 971534412 216158473 507515267 550547754 794019937 24382229 959564998 998389685 523374200 228322108 560271735 81364260 476518805 809607323 366881466 96338616 617682787 862088342 98191436 111741062 417330984 640728276 186256024 894572603 502630921 829843322 987866480 428594589 824863687 711812536 35858428 859352058 896422452 297838990 783044392 927573761 269046211 947245027 716974860 369188436 366293932 330196198 189996368 585407797 356174232 446582666 451944783 441598985 503713701 972326326 915009085 848833820 423652809 564936196 875842733 801368989 11388032 324585579 937906373 854549820 417116496 989270658 35708430 841472038 684094631 873786838 1618278 689319564 584511135 895917645 257877164 417474692 207998462 859553933 433532436 124661318 758966212 730792659 521834776 979991584 383491652 415245879 423194244 915834411 21799603 702095978 228394607 700470862 289539582 774815592 322995199 574232092 665669904 105217690 301326891 887601829 16870161 862275825 674237129 347513127 115443329 214823838 790091305 793231139 614032621 868103637 866118077 484521156 367155276 953253865 374243751 948666594 722296855 930660970 986915710 413919300 585322219 200797353 143742208 699344532 934453949 36638718 274848726 483075379 953018105 741244746 339685757 527098445 161338848 745196450 346957941 15846340 315892606 445499098 806819119 757574704 947639569 705826241 145325325 833115910 489861527 40047004 245439432 167554621 904259722 224759172 757353629 451375847 939757397 82460096 127707891 480626223 661234639 969714852 577880661 239399189 774252134 850774823 289346094 885137622 187542890 464437453 30261760 948749560 118264801 957182184 207522867 784648091 997015458 435890368 268611291 641300755 247749259 12319777 137787835 7071282 991518057 389056711 505748363 949716881 72223822 816035573 830257172 870294776 33445171 895011505 270258430 652634172 749849646 805170066 242682761 519465819 302106367 888073237 467304940 675478376 733633385 953658621 358576236 788498834 717351834 555576484 528171051 343220891 340781298 111769890 171036821 732691051 966842506 444753827 138534058 804369471 616800084 159605172 402510588 482657298 182092801 743137857 720826747 506828052 337923780 272454388 433077637 131210649 844431468 681954901 483733327 913324588 142486221 233187683 726988305 719041456 501512719 27840632 332543488 505364430 982857804 130321704 578220234 33733419 218994372 710195695 771701561 347253734 823596713 11866803 625504458 968858461 848850551 365844289 277451510 691607814 263524074 178023489 747053341 990860003 635752044 309228986 19034141 968087538 450448819 76332746 440055466 287438605 677996721 879607495 867715225 672974077 382159588 864838232 448105548 273010487 161999275 867154227 275671379 242005469 476701331 246839413 763929135 833650813 283535884 900936458 332461682 155092126 977349682 849896962 678747770 773853574 344539831 954207208 786767967 213697648 642300055 746141667 618158159 116421720 950401079 337783007 753975346 769846518 851833399 674343271 86591576 132374618 682093163 120139343 97673672 81738325 987413155 168181065 873181979 224546475 348772843 964250783 79412975 143160138 640132341 448476039 322728919 27348502 940446580 409240945 818861236 26567641 936923270 121099018 729764232 17324420 811175669 885254306 576064402 269121284 673456515 638540187 629021509 321634790 292141636 567970714 227286547 790912637 259975695 528306904 362253817 216418069 147903726 109099319 786582309 289863362 816095677 870797385 361606683 951635454 437413242 455820162 443674654 849613273 832211387 913315806 497002178 989506123 679505964 105985267 847275506 696032575 560751669 720193823 159019107 32111818 429962883 401594999 739783156 747287909 497811125 53888896 238169550 77941285 524927856 3853754 73396444 741710966 411996660 735097269 137325333 768902647 293137846 507807455 364239308 108711589 368237248 591356254 517649806 935065170 230864683 944199422 404571220 91522610 149095277 223253134 639017945 712183973 274005047 303477506 607512082 984723816 20236652 911504591 866297551 963359981 838443966 625351637 175065764 866115922 206789468 172737273 129283307 895401786 187838048 867718364 430018044 265767812 400054711 613712981 980625050 989382702 46195622 998543509 15439796 671712238 246096372 413884107 740688286 532742554 568071119 793334348 268582564 198830260 701400187 423430474 522821899 21489213 67918675 300261354 489723427 852093460 629800713 186933809 942893287 183320552 81563185 297870292 645944988 743341247 418696950 842868490 417830856 741477828 704739457 869099661 779992806 327101809 848809511 437093947 69041414 709905605 550659931 496322023 730628775 880135107 395995560 260422425 19927771 978815448 212007315 682467430 731226273 52305940 151934151 668375127 777054677 715296996 516305460 107094314 561538223 268280668 530116237 630396959 126504530 251005692 698775503 204548599 261477288 499147876 525709634 865097424 119242522 221304764 154597453 339198530 490708823 365894644 853659545 839660366 65297299 7411453 500089892 602743567 97950836 303123165 648923636 429710662 446927754 332247560 29145085 752490378 598885797 997777190 688235901 817718501 630040775 550509902 440633498 121320322 970713844 80886237 322159062 851817526 965177849 847973742 661372367 154694496 630437735 647135120 121965834 706683325 531118430 797075029 725393754 680174539 993597025 182261739 776158702 1087826 12955701 536239171 120685276 686482620 240456474 776091131 441618761 407851923 193543966 556172874 236920689 295619112 395440879 198310000 782223438 745077530 563147341 348668274 469546718 316621673 256597187 962115665 737111891 946066673 902254933 91019888 524548466 321016394 937073550 328506923 99725668 653966230 804755296 295928840 937020313 681942084 586501721 482061747 436765748 890594881 332600515 387537143 759174836 960451687 825305670 188472824 158050478 177633523 78663985 988982259 4727874 635225218 945095560 855717512 277908169 865865383 236312732 282323019 72301324 436669361 496137949 370216090 901218794 811705079 330692848 233502 480155910 565796860 103351798 906090750 491237717 637593961 861120249 229395198 685505773 344956217 155294988 677999079 511341034 718468484 124156685 301543587 858420074 523472796 524275722 210709233 743950341 610565756 385546334 396108696 195758630 513782846 76626937 832118631 144740077 920368588 727121627 265570494 935173667 1657568 100001685 3896912 809846877 545822353 605988361 154674224 629758781 932998197 718890003 204339248 451590096 422887453 224678929 688811420 414367177 768945295 782620303 825454944 576657339 598470516 857626493 332378607 952043565 84036277 907341416 242852649 667194053 745866632 927525059 273512801 668115505 723422487 334617408 310147670 358775412 175101371 750664068 307049011 886186930 94649361 676708344 940393403 440191823 402906858 776374019 832465683 88633933 407180775 52914443 508316150 654413526 96478979 590569268 625433524 642303252 82935849 593181844 940288229 780389099 10940830 651780508 199863185 570240995 782505362 261365545 90557526 180622575 501805710 197630815 476155979 338410615 103402629 436331198 911646649 604471354 272586514 385879486 92936476 521711567 999252312 426886891 291016104 772247538 208875071 708800466 159323822 770089745 832093616 653890374 79841736 441727173 152786046 489911754 291788789 760044696 980766880 101969796 842019522 621147035 99475950 686520945 950179517 282386928 129725892 10358104 306927014 506235808 361236106 59306050 106145716 697365388 499137742 139362474 474930513 748704935 283147561 833742826 610978460 259022520 356105098 104932666 868224395 272380678 297803869 96415482 839056960 749229947 675705841 83488092 914079520 126176463 927809616 569155827 897046628 780837808 243304754 33831947 884806940 322628335 569842629 870418840 337822758 779095826 445214942 328159350 137846477 605766506 563761637 938338438 522275304 807165180 434090672 98455344 756911274 58970502 959186945 779179109 76309629 636788177 496189551 807524367 83741496 29839806 95380160 273404074 768003608 578476241 825124437 259495547 393616504 749095623 822148383 224422808 571123762 246540142 509234209 335480090 445925019 663818102 236059510 877508576 249066200 140824015 496503515 129432710 862728131 517187925 211542134 950327065 70539483 110129067 474718794 906295541 915872418 185496084 170814934 410571526 293127272 219872116 638930940 670865056 285613615 125965193 541209940 367271260 20758398 687832209 630223438 570991012 627664155 998779575 860953806 294858808 823571314 299344459 984379174 3050750 393758943 936423032 858448908 350645148 584808553 658828205 421518663 670621638 691905544 351996597 481344368 967799144 917719570 201032185 900390288 633556703 639963430 471513118 71714060 392905374 862347226 237718810 746121231 830393219 825610365 626000020 588888836 565793553 312052534 230585034 521174433 637360013 253792835 935179044 82155116 961737695 851133285 750718667 753306764 45782518 27433689 97436392 426563924 439468172 730982747 637844518 785221620 699680938 114976437 302335492 40757520 823066427 832488126 416496530 580255565 316811398 651451692 901579771 17485503 291256111 319727244 388349269 833179766 42125413 315456828 409895563 390166822 376761636 37171407 517725572 621299750 269238591 671792504 713324185 15176437 162552102 431806779 783491002 896000253 999035271 827707413 77338061 973296533 623206075 879431211 64713100 703412344 858870336 483175870 646234486 308179020 706824792 194293852 916161637 872768211 891811560 500668809 871576340 423568878 135085166 558018755 359806472 790392263 286625718 351607015 4110092 256211771 73158643 737797660 325012676 191799931 6981166 816240453 428871060 176378108 248101956 231947571 891348390 392030474 408560983 419050335 773239308 86165474 666844318 230064315 706742409 120702680 86941250 970425683 158076434 27731833 756952692 374377583 709542832 152188025 287542999 205303026 803308216 737484616 901381288 56960373 435633275 251688820 284337673 403217113 357820095 590750051 482492953 447928742 834063037 170784847 621614132 155253932 585804453 374587744 177274729 753253275 479938454 468279445 941721594 303573690 44380855 811241498 841623398 939219584 317411601 747315558 273205078 310193464 552804695 265632315 109674453 816614411 246239017 378900027 719024382 670900593 56412067 21602296 939597923 162109768 644735034 820143883 914461098 412670897 572740950 396562886 682614586 96649971 458914077 418832167 592084607 936162070 944703390 855196566 580039196 584348545 158210323 141940036 114405947 677579372 341723164 842295407 98953121 89915839 751891034 433336790 894988685 402812984 256072965 388028999 565036189 713201200 810448124 398031628 464185721 470139554 205503100 462388035 625212100 842017185 479571100 64585982 946493114 538125319 655882520 611441846 412836080 612779512 26447094 707065301 548996973 98871717 825854619 485938742 304450880 539418094 919008490 945901410 648973073 757348336 345884228 626650996 759714047 276837209 243186359 438667089 671828069 660196884 647601986 321702992 13044863 744375123 429515416 441796609 465677588 36180277 165854341 892138025 468110439 433112120 881885311 222362695 809500565 631607661 562561344 428228844 133851606 231090781 731865003 380542276 477567542 738182522 304165681 128178598 602229967 196261989 324438938 850641353 717660356 516032548 567168978 272968337 672511960 189711135 342638807 100520295 635543026 483513752 801058719 778976568 500830674 841011547 134700748 803024948 200024910 856304328 624261237 972698090 282543906 100670433 936970824 298872052 683828688 917557421 401768365 72246576 215512298 175074709 950109155 702756917 702646597 211751681 637610374 76958916 762635505 614527485 812370446 561909812 705928779 95308358 9722348 98112253 403686886 857339980 615311321 154130966 257197603 692586845 236154291 271752961 267797543 359719967 71176313 490955755 130529554 471201203 455270215 402821282 711669072 942182575 525688513 204319709 201211217 405320934 642670273 972990293 918032352 838355307 760368888 310544130 549502429 608576399 484913458 722380624 943064651 188932025 74378293 498281689 587933963 118489390 384445842 667874915 368814579 33598747 498442946 945525237 408026275 306129372 325003086 14117584 962818859 529918187 842768939 504723005 383880516 289933807 852876657 495937307 278287009 288210618 77920031 540834170 868608352 232529561 893377134 433838794 129004046 414247440 478365391 727957325 771014464 875016713 782961027 496011356 137154665 871348072 975859319 373351549 559656920 5959847 383217119 480680248 391182777 947356926 399860379 954869061 35090849 933791732 390046666 865279590 257478073 80152664 258654832 975763465 245067383 147366942 11466278 641637833 91085401 69435898 323961627 347558578 344419022 884908990 893127317 15456769 242511792 488890176 249026469 727085179 650883291 896821176 404791643 311021669 988276253 466156780 773206203 939213055 73559157 128050035 318523012 853740568 407706732 216926783 260664786 662727528 322030778 348553723 538437723 736750273 427059819 173037594 1120188 168701951 428076544 380502959 328296392 653630532 690350125 807972108 266110115 225666542 322999755 682161320 860714151 811842879 117867620 479458694 432709204 140734610 989453079 495001011 64470018 123410756 801687062 371890789 84345682 987052154 808205163 182390690 263098251 584713310 406208907 599026504 932582119 552336716 304919750 751032843 340309157 58269300 441019174 163714750 485569450 249498952 505640385 302690062 603922877 766511658 294363225 989349912 70552884 428458274 167320713 75351801 69825000 360110522 378087807 366373351 523915054 642144306 124780416 164251084 944053206 101590429 228637943 344809684 111012828 405561662 850542601 676763605 874356646 233337323 320654605 678089065 174462364 926077561 20433640 675970892 730055772 73266291 731905715 655381459 934521374 582827902 776067141 583079875 320652370 657713106 514022953 922927097 564624160 947373551 615108274 731140019 94482411 937339597 674034746 99898414 918877597 792900524 337059924 941579418 420725656 722746172 83357477 305699108 239926988 654353767 320976331 128023612 832239021 988639523 841214043 681946447 480315693 287614058 215150339 748010434 922339087 327654266 827060976 452290320 832773063 853574085 527590031 716188143 19073464 290753919 230825209 834277391 161991987 152920410 404639410 234557378 704248731 751635214 255143738 386242920 518821019 432914942 291294380 312932445 402808182 935743731 339550820 114171851 626341567 942087741 671914233 425378607 617073891 832620006 564734218 443856786 974692631 23003076 197172625 239588728 669135197 44311257 8290134 19234030 525789149 19515732 32185627 498037458 606755895 261096422 96627725 964308663 154789950 671359097 360282316 707290602 67387293 115893806 566088578 419854393 858753729 996236643 190806931 462030877 384962777 280889647 483817721 47254669 510859703 929546247 492452298 417353376 812111892 445060457 561652601 512407148 480389252 611524637 318884626 862928367 303557783 84501863 226423742 458088871 395121565 718905975 976966336 438432302 79192121 762560708 331365431 484362746 29929230 70646971 491241457 672028347 168261320 561690974 396141344 641955099 408308625 750198362 623659013 334051104 881275004 368110307 166061009 115757970 413526943 268016768 36009337 304241219 162418800 80444466 501394312 640036211 445873965 530165071 593195831 467637250 863919368 979757190 104460554 596284356 225496600 732848668 53279628 575986276 947310732 783810118 769822023 931270010 515709801 136769155 975545501 347885063 967567718 72920295 727561713 749957728 890741770 336098092 798750371 617371023 616547258 295326138 70517507 425137616 756208344 69288274 508629825 342639006 461163931 436691700 439452853 153980619 721866991 765468802 551929407 144128375 583610842 195900724 247703229 347256298 157354750 221310585 12489303 761952410 562650935 717989557 822719098 313862673 575985619 728536345 640101888 328802145 852581443 61349792 198635874 963367013 850873575 344165258 183733478 255812199 388609280 397013144 851002446 688520003 825470485 114902543 900980196 288621657 613596009 995494182 156353440 783669835 366435121 570281358 569292717 613074968 521809760 898843689 699224344 533901406 394409393 49259584 855743765 225332584 187026939 941681797 846105845 42851325 778409222 904387268 282247272 593285833 522765079 914197594 727603570 417522906 46247844 642692961 821507019 87965883 989160245 817867942 936345511 36092656 895634447 946489143 657691109 773634276 644292918 853243679 698082518 649913983 658189049 490849728 911844965 107461104 621635864 575305631 826093639 277143455 376588143 913900895 522304848 768424002 513432231 757576235 742310926 298060757 484567588 357027933 871208268 853690084 751192795 103556245 125603522 862271631 744616970 808962793 327200564 468000661 975520115 926833407 846960509 278901313 562809540 659645730 466061049 189873935 975266933 985408129 858207094 563418036 673901981 121517914 67530339 984320490 607915110 965658170 811619601 453147955 799324598 996084298 994500112 849019692 592599667 609508750 965468892 648806323 578877370 606059815 917861021 618188238 652281495 295384733 943804867 887097085 947281820 708168177 211402285 889500568 698468253 592135933 423643445 601684495 857279722 249988636 908081375 432469831 544159166 785575564 799142581 323318387 427612658 182936881 151636215 773050755 605474427 717576029 300529550 374782955 177589469 702759319 666934075 126795095 920761626 448474652 70284737 921006693 72292436 532398737 339675828 304821333 696786847 117209955 821866593 523638629 293087611 138271661 664506208 117345985 307416109 206133025 401072805 687504162 883641646 578421973 786875088 538796337 781854442 960455307 803928653 235449177 670324818 190009721 603275593 149628643 188254400 702420426 938309961 861826546 519573379 475226475 460018129 948882116 108159702 512685692 789331255 272606993 806636912 128934898 133944406 714291073 498929395 299275257 695976364 143271017 632995672 333122119 491293785 520177924 450540381 665485801 359494962 613123716 644177786 955018323 920540846 461737492 367071945 993748234 426369151 210619224 175388820 468312459 480442220 36843365 920926974 248964813 131711836 788031407 448116051 672959140 541086511 391915916 574430059 904721213 869859995 526034127 108020108 530992327 273659912 629177943 872965737 151246367 61595119 782634098 162244017 839701903 811260452 769757127 744746687 604825742 530193178 503843263 850009518 712030554 595121713 934550053 547550379 42323980 188309241 262495472 810832458 67055366 309996465 445354883 662709540 946372424 680288745 307450577 36698224 365632358 218915437 564137627 268507814 500555987 922245030 970310437 395832356 308635613 253117642 759205279 14790882 29321360 940394701 199537637 512128055 75657263 696735812 890461118 256946689 14286041 596698051 107452548 150935313 365524178 657614713 539127102 677650987 773113186 296696941 784651364 419819321 670066921 914235766 564484117 140056168 194623284 193306325 611940895 424486684 394999910 993287268 968489067 268954460 214815650 888086738 115105043 727979603 846439791 296267728 580798873 390896913 534355921 760747126 235397866 598610429 468159397 852640518 797564008 872512025 323781201 997843093 666183167 114618889 106926604 551132469 74647379 778553793 331407210 825326644 924642294 187186422 649979 346750573 425110361 564410372 644080795 574672393 81269536 460673857 671997695 764004411 356517562 692162205 496457118 519117035 130213405 75683754 970905112 374401357 729166424 626601841 577411010 585905207 758340318 172594170 579356965 869513586 527111868 401897222 939293108 113423340 666957559 10414736 571220269 705830640 689827317 788583336 947527643 374379133 878033028 269356009 572254278 585959525 482764973 942283860 510218290 609758415 661506549 337208265 539458861 419274503 369174675 218493525 603271549 487550431 503017989 672953897 268501342 430534125 26354323 552384752 5930488 777665295 642976584 665750800 132844087 748960228 306780182 971854355 412763632 823546699 592336422 319284874 790579207 799488772 647117218 72947015 362499897 492791842 978110810 556327917 78355362 627312707 428355517 796878189 320878965 396857363 372255431 890208797 387131391 648862467 717648090 141008530 245305876 482905259 127874343 832711154 406213006 418035274 765114059 710327386 180003037 505408068 561652506 898165231 354112989 246143567 668609511 92800329 450526817 1051781 229448808 320567011 252950548 463166453 231183256 161897459 740777376 29149338 238191640 143992222 507994661 805825346 185028846 793618973 578577689 346594078 711101070 153586071 682621050 198909408 595386773 404985358 156789156 835248951 538165817 404161542 973836689 397581871 786911990 935155947 112519636 515274805 943482851 695798382 152279594 492921144 412475591 572553390 9158850 606927580 269221010 61158349 746115749 349125008 662562825 144471224 62834395 966952046 22613166 700908999 762685835 267165456 483910449 391680735 385935152 513344391 342672466 14889312 384055962 568619218 736294469 293282273 767356192 447554756 385168038 999184196 264757866 781513486 71956823 501780226 115998455 406698841 843066982 169086532 671607691 988071018 855044863 741451009 807600407 518447303 820568430 742198740 236102565 536291137 72157786 420966314 135091582 728196945 384890330 404230514 157670968 859449017 464576613 781458834 682229471 272159469 880045510 176344354 219850430 761326872 258290117 794845452 474637616 50649641 6512500 456969529 752896918 156894200 794019358 123630453 741319163 955018977 966798010 668387055 449504952 621381386 634789826 488139176 57014751 649119554 682948896 434543866 748908293 490401369 252173390 959901847 380452162 697605132 669331898 727321852 727233171 624438291 318443916 732463262 330433209 976777224 652345262 95675916 137526206 597085364 734845569 958163334 554251510 440791725 144114185 74818944 72945467 686351252 625851322 291054486 649403513 332628365 260209209 279587953 382810681 413666049 190637592 704298631 32933098 51564711 88834330 220478174 402205700 822346225 711823879 363368663 563965332 70869056 22005538 335352225 631121393 600984561 818949805 823376554 605390331 701119492 11916670 962032086 484921532 942089707 33920552 802842808 915220567 927027705 333845854 263908049 287457937 987378264 842024176 49762252 266341992 560227285 813556343 148868249 454859791 750228935 41719401 173162598 148407269 326298745 877555349 529305020 548767378 58688769 934602273 854666366 613398334 351950014 904807756 535136052 179196205 21237969 818532331 680998050 712129768 281296157 85911359 391047689 398192582 72798860 388880573 309065066 912924444 808794204 954469246 353258462 523653811 220467490 658659562 268600641 573735999 343256118 509511683 653358497 41320962 203785586 126024779 14651502 38273942 565145500 482659626 360850412 222435757 958939844 702802283 169267276 774717649 713168231 129834382 815080122 90768301 120977738 386141288 809679188 569385175 383854050 518277188 497132291 210287820 253096066 212852150 158395042 720555773 47138132 160451663 738641629 288063282 912325935 166606387 151225845 903355449 133708794 86692453 21936548 436157321 807520330 604654309 629463324 326929475 409811812 424896817 415502233 562085179 917938740 156071921 585299925 353450343 221547715 146356815 183285924 471274584 204076597 402649374 496387863 598944825 36945908 920381209 645292384 392376632 273080748 601749711 295439010 576145409 925037161 130593243 412925628 792257287 307685533 989855749 592309801 285634978 365450865 371122669 386387316 736336743 868330181 253481711 474706428 741909243 447773938 47447898 649397344 25739721 684626642 295392636 588531098 32347900 617745572 496646120 654708448 441393499 805141574 367562577 610704798 937521101 800819537 38198882 37199550 507046449 253526044 259919098 977050731 377164067 808096766 7054049 831446665 14297971 506174051 125060492 137839524 543583280 540919439 337601140 960295199 681849079 266698075 252960484 266887921 767232382 177060657 236644788 530127191 625950671 114965374 269473294 287641072 356630816 728455657 55762043 29824963 150087641 856622372 117071544 81166536 719007261 305927156 641264836 216820772 921955142 970024300 330411655 381311307 280957386 943600111 404217579 910135905 45304232 166544212 327304024 492760122 276751490 888103193 296237187 854209791 612160432 624316569 782567654 175184437 402860550 774868440 899487348 116607151 516365128 138496347 365042108 846970076 692193590 392834768 970175246 917520565 856942707 808519781 392365796 93228896 246845680 464081667 174659037 669580320 477674483 310126354 578631297 837799121 628955967 263653155 35815903 581764431 290826122 594795475 33144577 904395935 585154601 779808086 407248201 469476524 21881138 464501021 241695815 182886863 80809658 357364662 592269747 464787529 745954997 478824331 942302689 847185361 185549122 772596981 81087839 394642389 641398474 839466452 260144071 751356441 657324808 364765720 606604021 688778558 83101110 92399069 680581412 316395020 191357659 891079915 89410828 229193325 62048770 478904349 53853762 943208679 816481087 547487801 39486595 79955564 345172073 359140544 465209888 485026750 889636547 367588447 74364824 658810745 799640431 611889014 726324643 396382405 740363386 49743782 187581993 32455763 694510254 785610778 304863678 883470122 766680975 503529120 334074865 27280724 36819798 740866907 7516367 698295345 323978569 856075447 939510798 559407013 971643462 466738859 639082293 689267602 68822871 378552507 31061296 32889566 815623798 306119155 57823742 858241861 534373575 917830221 136966422 700894684 829092326 863289509 802382912 521908752 291111820 490157024 604427369 681973418 689162997 289087666 779009454 73839678 208479712 26567846 999227425 294214657 125917922 208929718 511360649 368560321 954893242 96639210 652693438 907119272 863685607 951280889 282754836 85780348 829589410 249289119 387349019 946362230 199838459 701493662 214761668 78123783 908494752 28592224 406110742 96370482 870740344 85805019 748127727 450191743 675487910 32972582 991415682 306889319 408199077 941147167 890542938 127353541 101728844 938236898 18632425 87083153 792420211 828372700 444972833 884446753 438490693 226338893 185286437 679582095 798551877 64562175 457574884 703171159 289125412 951796935 808844951 637254732 354280514 201458016 102899203 610843346 482574720 121791432 679608531 524617288 234806298 923828139 352499115 444207546 115940662 967309883 215137018 968354289 116939894 545132683 314656655 969952583 692302897 151118987 348549482 681633688 473382346 13436320 507590118 429000990 378270171 693355715 188608284 662461664 924606452 731342773 930524829 515866074 51722497 843007059 870419350 393807411 726686713 665838969 885333063 911695991 878309266 549096001 739276117 241597935 172672323 909340937 484309850 380521339 219949953 717925934 614455707 243258571 552277836 785300525 78637809 884003509 124175361 380667389 406213907 954937875 590491526 325431720 917178637 826968658 960490950 32674862 228113083 983624276 603885363 610345024 32300548 742180855 12393743 567261005 853457473 172576767 733104878 666075697 715025030 190816891 941358793 515478256 664318152 180556043 711885379 115129173 56516526 507997112 368251070 341560440 855310220 115421858 34247128 973620519 184241021 904676585 760833176 465093854 204304418 402732926 742440354 277486105 552629671 429610391 42441509 721297163 118763897 215609930 577558366 121395012 562010813 130480449 928195910 468899870 227329746 264528195 324960065 362974713 43930416 470774421 815887763 774655315 800946169 431957233 657208270 797547999 770543999 511889541 804081415 608082428 613697935 129462976 899726633 451464446 266591223 470150788 533363006 495981433 494743267 259678462 410528932 241781114 590032158 207703593 121421059 195326725 804268304 173007178 244180101 799951631 925168787 973866286 201511789 382116727 266302118 995480241 310167756 474101825 63058979 774906026 365009239 332769762 507393909 448285580 411033404 962603056 498243111 222723678 520880097 341055974 527396537 475762513 607680628 988820935 798277668 782205362 331658120 717308976 570801185 231881827 727651403 689075301 761289713 330335268 797471699 941811758 352443173 18047502 619142221 848796216 777537430 654043846 70755170 798019095 182761938 608617233 873395845 89605026 924708301 766871737 949024941 267428112 235532922 820317529 395351480 171478848 668512119 171027338 89629454 385777261 215150688 830650828 752278789 316646103 227332271 759187817 268089234 485708968 232953975 856178135 230881241 109904652 991606938 900623393 62417589 76741191 950612827 680976610 719367662 781083103 362279061 814134450 100807492 159255938 87519000 154483365 482213412 421693847 474528193 638983861 636003874 213623615 188425348 241950718 679936675 925864016 377771330 638635950 973201027 90047491 941420682 678077437 468921216 982779721 343580577 526309132 450242023 328916227 721184342 497112321 796641520 365484662 410331814 12140413 141651407 972534312 613661154 824745360 999630757 678149062 789014150 620610893 502413242 657692431 647462137 663696657 21049994 752805629 748609131 48342935 503723374 433766486 667557872 599546546 545767472 924000127 773583152 806311630 963178141 98818159 458989858 785584968 779248986 978821483 370340626 58499514 372375534 23378509 292073346 231130911 270501886 10968614 396453029 295131059 650778505 205346736 663528356 947470243 680454659 814940324 646531210 453725306 281381957 850590294 567677500 458330326 340345247 863395075 593776496 235692743 305316254 337810465 64527040 71418638 652538878 953811124 865788090 166577922 870516675 259352171 143969841 471290384 564204210 146684131 78523611 905591907 16180058 862236379 114931117 428032445 563638990 597303548 528918369 343606373 832561424 224753600 447499156 689905604 704652778 907899096 609158460 89227115 660191985 999794610 687935118 243124470 658176502 252588906 131101460 441942318 424665409 625804726 744050704 519921197 487865233 438706191 946423416 98293170 133270772 111799459 16044218 935546160 232521287 496378628 201205684 834799683 285506600 192676359 28387154 654888459 373957224 958737603 741294910 884714065 773695564 990476974 670782677 915537906 360847375 817355345 276664364 451493580 713521463 747115608 959470418 71706155 25808707 806355774 881753706 609039975 269088813 311876894 552477412 497220721 441157834 768820881 742627502 187353246 580204850 987767896 689349518 887642143 9170400 262496972 245000713 289775561 35844757 96749460 712333548 307224269 469123804 643864898 370458308 998817318 464696197 979337513 989426287 120364819 121290502 49419674 297476069 88381618 497895581 283306215 740275217 445726003 565178785 964588506 313258256 793675168 994611358 856853402 385079768 800089885 942069060 122244535 16163487 980138150 969991576 92016850 106500518 725013906 959982089 267721030 108520089 467206986 61560626 874339129 954145650 559063915 129864159 334141530 836841079 194902769 873035635 817317087 851747338 551768 158491712 340169094 482124556 227263491 928809395 891352508 446482420 788699247 261413716 886803153 237114476 532793615 45892401 458626613 468085489 744049374 633016066 602641060 407654951 372551010 319521221 853565186 401658701 283304780 728719206 936270612 774736671 478721031 831867051 593012782 457549625 389959619 657958180 493925945 151579476 292860789 857333330 786066021 932062657 563113244 56053077 648118997 87155677 326637352 480073970 899378448 491529675 349147892 737214698 951526162 860733201 200289058 899547795 135566838 952808635 605611301 158202164 753176336 869082844 270895661 759758582 300572303 932269327 621292484 873117087 939103675 100257009 362571643 419012083 434897443 317474098 711670697 292484933 576019773 725763411 165194785 491087942 609069776 429650011 18916294 565300102 130956907 127219093 518233557 69185844 962678834 643266894 419650596 389335010 617407941 24936469 237839706 565751795 673374816 565965385 477384895 407994502 38740122 30491287 871167021 448438563 50231900 994686116 906269963 529741495 720977939 814620822 860254017 399278567 949014955 506347413 68887922 537062830 310875115 159261405 487392616 452186984 874141175 627864627 253154078 426921021 487642638 315815958 392611192 887285286 554573738 563886819 272681323 457683749 201906828 293095781 45784721 945462147 816345921 116291015 392591332 856431270 315450944 793809658 70443041 414938404 104112610 853474909 237228805 927094177 490934099 21325826 418436962 922362066 969406177 515316865 326290275 631160725 72008178 922586024 235526437 621713230 924241137 468549407 943814237 397102464 356956347 90933640 278471009 63004045 702289952 537873052 815272543 522058942 646604313 543655750 976871409 135440350 915110280 172402097 720507647 791867393 842277905 474670861 214914492 826648885 643874215 30823273 109892508 947394910 965350277 145388638 232055134 118992079 662546155 710311092 780754580 879974075 956365208 470367476 937878251 655927896 74629165 320121375 577481860 213946227 764931015 603940589 524945244 380531017 873311913 239639134 643337572 123671725 791327343 758300956 770328223 797285984 863870299 344159506 665689240 524888128 708536273 332606168 528253945 514248610 239959042 836760108 570546832 538319844 368055792 537305363 391174167 454523476 206705628 575648559 207436421 316802335 261047047 604424565 766828602 155780737 140011358 718706089 733369402 214551581 795857217 957079281 616362794 174808433 976698863 657755263 186816027 548235162 767869871 953720250 550378883 469649877 72914947 906835164 629499114 705162548 418600735 213413889 614343435 976004983 516465159 177314016 766877518 546657651 223739388 687267040 143488875 544590176 549859617 485410768 918094520 64986791 419685796 512228573 717004683 361272816 502436914 971313906 341842273 279413109 205805743 807193467 326616902 382997363 575991686 11999058 279745360 275273013 215974740 842796307 734772844 948980391 880913900 816463025 299864859 17093436 381905645 72205831 776174524 937618246 915077934 514071008 591234140 890120507 971340449 231530538 258204041 343398744 502132873 757460154 634220900 61776022 123545501 624299436 272081587 373163340 495610261 277938216 838443971 64559565 658482616 972096198 727760747 602122958 593394416 237521919 323677545 844193849 794144561 711095556 115213614 867898265 743672749 968301275 962296369 730224886 87847247 63029859 140534038 855371092 757957784 288593767 950036260 400366555 209011670 752167907 441880439 497193108 52631354 950753941 753783640 957402976 415665480 980329227 92847060 915621264 15557962 942858131 194247240 73479043 930261949 420173280 467804496 784558491 725435224 975617588 336728762 568364097 555620053 957762498 505933602 776879204 629293261 159244420 892173407 205140232 864239918 991898872 601296468 473564604 283724683 518043747 331125095 250048201 383055869 667151618 470430607 910519060 748922211 840233803 815237142 946837464 381661140 647154153 692904946 294836275 782435438 391401978 209892414 620548457 534876070 164646000 431240521 361994178 887644491 200603467 602087142 958925719 598391320 498825270 45196330 157022068 753468302 135007972 256005720 866900467 63469082 89276434 406295585 670905760 305146261 591607948 755526952 693654718 602979454 107342346 526065676 714444131 85176687 296005938 188938764 372248640 785052037 377081303 697585924 507635631 137838062 270117520 914315192 223233014 545424894 554491828 230051318 760067445 579323385 795072984 929716922 679562181 134113463 231979813 552094730 857652999 660555853 185214650 538676706 174827723 127342300 688286972 913270237 144970263 336674036 3096755 706359159 894566602 630899779 143069941 106805829 491896821 60154880 375545560 83357815 543510833 116449693 212430202 163290999 748883150 559297588 392799370 804703992 878668972 478718291 574537693 708144719 624992883 916600952 364287915 409014620 25467756 28263764 486134733 209784322 2224349 631400961 749329472 154344975 79198933 917220951 347941073 971189667 906754896 671164338 747909225 675919412 723098015 266656567 514873632 745566114 524554791 358396841 141611355 405276625 59192387 765658872 470019523 919194147 734930982 211465532 288828726 798899408 567968950 821306695 313101732 979345542 700633726 336997128 121611246 145455162 257363770 541235904 916550370 754911735 597923307 726199806 96465498 321284495 589896601 329497868 18093197 652330371 780446798 948708206 502009034 543526337 862249627 514447586 843285325 386452372 720406324 448589612 708668666 938919307 613836519 816107867 230748498 805172043 161934936 631347139 385513805 129111339 568581108 623977388 963700840 767238659 503118741 751633446 722947521 604598921 844322230 191120889 188374278 369314899 903559017 440612286 126593683 106519691 304250141 16508306 252461884 382779775 45466341 528279541 126695318 789149384 906025091 692353436 111657240 771287840 821915010 241604286 636299701 464154691 422015507 304720105 367757143 603228881 77226889 1961988 719461970 822808183 801897878 443866158 881784903 779828592 131680508 169887288 807182082 160136364 802390827 147306582 370332920 55093090 12075036 851609778 420871721 98507280 390567000 88171389 872180958 916327206 409111648 621677951 599323940 809412976 838186425 981169067 165185832 427803813 180205736 868929342 996541332 898064990 369497560 484449831 914021857 181212721 804148269 830239990 248709315 438375685 114285714 968229595 614146299 971481375 469801722 646217503 13079684 533962427 826440950 933931804 318910720 638309641 336066489 443077277 630860160 618360886 507535613 824340774 820693196 427247543 853516444 215542953 357125441 966929023 570446224 655567430 212753876 101776558 133734732 638196977 343963858 431526955 364440458 808551340 56202203 220142674 715185232 250792371 145945719 147634705 944165721 701103888 657124171 438072791 534836226 572754009 136367993 113367669 312668174 526957079 331678096 195735836 906991460 665052255 511930980 994235510 320740998 560713870 858109586 214344253 805902100 109065508 157875109 954404937 4171537 883523643 358799549 369052837 460279252 800534296 971544747 600454352 255409121 924745962 248114328 886446891 854205758 31091263 884074369 850486110 300395638 365779199 461130482 876469710 598693026 265444489 846849271 671068108 714163795 768727248 442563386 82758731 371070820 609636875 158854282 976152438 565415140 984529355 376604954 479944324 273593771 750462407 875201216 992152072 422740065 263861481 977130517 945405093 267397172 940340217 35288126 119672529 979379933 866536281 800084071 171624721 158878114 226153521 702834618 446245512 559201139 848577826 344551420 766787072 41514707 840377726 598982326 605769996 73915762 347012790 404159599 164144630 652540728 61242094 815596519 904084629 960360988 207983986 624188927 570937762 471177383 227008539 178234468 698537067 502832145 886767285 452597198 801498739 632608468 720214570 596587538 565027211 840242531 262322543 991032150 825500274 523255334 228370154 136830384 342357006 590171248 22340860 347255383 480356496 304285762 725121417 675976475 328046133 374458015 378486119 631265760 206486864 557663471 28029382 106992361 548651189 131563905 429123672 856525939 620295414 130369734 523038932 338967901 586484063 609746747 239979629 828132405 424786309 172202455 65735917 955653662 977596470 334457701 740184302 314642176 718539322 532533948 250382606 367504642 415634278 598746726 342034820 751771084 409366623 597564769 555578003 284649466 846283641 561159048 480045812 935209887 602335020 917584673 162965642 44506619 153313586 582444180 530729178 128811416 86648614 616482120 814561986 727885012 588728500 746718511 78774816 550644555 353088181 777711902 691559674 746711358 888291208 914030720 94902984 446136030 642279471 31110783 51853509 551906924 914613024 690234774 454398113 502492675 469139030 961411833 19452941 326034883 138000228 67595805 773077066 819517610 615715053 22269889 849170526 183027546 614560485 672734061 235513932 859893437 26166354 18720277 918148898 2353390 126418762 120821111 893421374 917961488 510668430 157594659 121003349 331911133 139170781 186233764 59129739 732375134 253902579 635684135 486503811 157287188 894183541 489510312 846989073 399801407 935562532 309064013 779745109 404904146 552657622 31179375 279756322 589096938 453328798 32339325 950217455 599620589 489929425 808579905 817303266 446096417 898309430 612931273 426728799 984039820 133528788 305478856 443983057 193824835 711733664 75368090 898223642 796995313 879551778 585251256 161941801 509453547 350899759 105955115 951352031 996597584 7006365 173460363 181869713 426540362 877854563 527747219 296927014 538338824 493368199 322301497 104616685 776630525 841138115 794743698 334642977 803345681 174651266 931671532 178894072 413065393 889395707 546895434 905257558 162540001 976051195 218730223 987907345 860647533 802484004 491448245 919506961 968984752 392048707 250109911 192711880 472340291 949689466 315425588 24724104 420467007 404461702 956225437 693103982 7417649 701280789 13106874 672268240 935514041 262726659 890735374 508907270 931360860 465439444 338842178 386879565 228593555 700990574 26831785 627133493 337527703 795770793 656406064 37112695 65076695 69186306 731426596 62259172 75136275 133584968 11294244 381606581 36472990 504965010 722723615 833546753 314711491 501055075 979902982 203731017 182501748 847000765 158190498 707790846 908419695 783335008 492868407 872092832 572843658 447129599 39402662 427671668 758726415 485318196 215918696 740014421 530378218 981796097 123387062 114439908 822399047 142645317 694353267 378855584 368584345 248710142 301289038 657493070 381990385 750788912 484412673 563744675 622278886 329609089 577474616 209699410 990583194 495947504 65463220 959600447 471094846 360661646 503827758 558891986 847276479 571027282 471715051 694364020 430825388 666124718 275723718 311501213 388065840 43793569 765639295 601401841 52701462 715622287 700893067 677780728 93296108 450195136 582244149 964541369 19491632 321619440 276755843 466535592 897270631 238867879 32214443 972387786 257610344 672465818 481848506 972337268 259294252 44269416 169955999 37735606 210894347 440904052 222262694 579930985 145788274 156992768 120017128 837323173 321611954 297934573 960158564 575700658 204958820 775568023 33238841 829920895 998328387 151825522 206721521 378152000 130778334 861552840 205399582 210625921 507824763 329524699 540375883 820767218 981995723 236215855 791961027 27902834 325632408 726510515 731513827 604368887 583043404 644719131 173225037 717074577 785318078 776478974 335692837 600881960 727476310 94159488 955046154 368266031 41825440 272837174 752764682 991128538 366704996 553980358 711007047 485065796 561380703 359660625 542194579 152857966 736939161 788102442 548402263 256624056 35133140 367752620 219667081 816404371 350832880 483033706 371686311 962045263 944610766 600533022 550285032 396823218 752780183 28752228 557198669 435925974 267476924 461793648 321325262 626894938 40138205 541977305 323223162 764077855 510483378 825270061 426537449 900475400 395690485 601333375 76784531 580354157 605099591 567590142 404001721 318396237 184768469 78870085 834291198 804643365 19943964 314341784 156787507 939392310 754413563 934234277 378351870 364425837 246023969 637491406 339291273 4530597 284170868 643935200 246218621 16202015 714021946 440224619 394083845 816844556 55957397 467157745 754486874 478676316 767556329 518397104 394963469 353626518 814081809 257451147 306765339 497932463 335138880 151370882 88908142 265055726 522649611 855955748 679657746 923235462 755442083 117771498 344280607 299029907 289789489 967992345 726070584 408537075 550705929 35501745 629185702 104724218 480746488 526087274 772259915 729582590 729401440 678278418 408064900 10227670 913391476 88393750 814624957 491677197 921983573 477868478 612616206 277265953 643545009 275804040 343602649 390959054 927502495 936694249 127355176 514901062 2802373 70219636 139034545 272407569 697287318 470381689 525332357 768703202 979630764 4261301 699124059 60278565 110351189 458875333 81493705 441822487 616802395 537066934 800033159 647115837 4888668 883006656 990978229 693181542 617322799 819765470 924804401 490186881 365017611 240058938 974818539 744975250 935651821 302138139 870548446 699205210 781650296 136260421 781682879 610066695 607347560 729879664 464009296 135746046 202440080 566467507 183234166 415949605 440237593 267127065 175124216 36451512 309694060 828050758 481471580 188785824 940151938 457624389 828558022 84007845 947896296 697958991 830515027 324454130 348364617 638129523 693087537 94347187 831521112 120000978 943912004 290505816 517753767 273931571 883783227 278933888 428950692 492175640 472255951 423262854 199623659 361170818 163348968 811350266 633924533 44207367 641258657 652065386 110338001 810752788 381127061 857246647 829658160 816404029 72638867 306654804 912939498 262760124 667292082 438452063 578783974 373622156 327372176 797108588 691568523 757808388 955932689 772158898 244303166 91379249 801162040 545224397 450895871 241071901 99363686 713865578 140469820 443158277 152205134 761222184 671936004 268908667 738618294 954313139 490535062 924591861 199744609 622508624 120835445 353365991 321249663 854888057 746939867 173194189 402335561 156688286 929733889 263831178 443530546 492837830 175312831 733165426 462377246 708164310 225733072 251461557 545236405 11314343 742012099 608923831 94922810 399666171 584769537 830529595 99564107 412176515 664483679 291999326 887989983 215934042 899412620 448666369 883482964 61985875 117972623 630866645 587131370 201869734 934848376 776567484 859762613 610609002 151878332 209057483 844929478 2620560 405648044 466730614 696222363 963650429 496318269 770582691 911871706 688661005 493878867 969521164 849467540 490741592 25828348 469172362 132399440 140131170 684766175 452995707 962065828 870560127 666030723 408542102 404092905 694449932 432634102 487061387 182765386 600413284 132016511 753264181 971068175 194914338 434661115 558429798 176279210 244111282 34364299 199984822 84800406 326988059 334783653 883716030 373019083 472738744 586870707 738960123 874723467 140585813 120306104 77231205 283382949 563061838 990940093 398374497 212959321 331053094 201299945 145908811 726728140 772683793 212838874 313620259 588254285 455403814 645155922 902683051 451697617 432422200 378494635 500630097 330941073 396124106 335112169 283842929 482565 883447300 655546087 488025732 308638534 652629126 90412829 394339967 162392337 758811056 555414442 448721129 640144130 921284559 781675811 797275718 237937811 175630574 570502335 701697957 807860965 724251220 149910770 561908199 818580600 351513221 145786089 532053153 316966287 172965621 241831577 397184761 980953776 123802517 607212522 303039891 3392518 550600835 874452137 209485161 93364739 917731073 813481985 519025792 87936201 565255852 562327839 739584986 25850045 676575209 553382395 295778687 452243183 217884534 515567908 330639996 275841242 45768630 597071116 695253204 790522681 218912910 471314007 953742464 307750911 979682134 38900653 605227066 146318838 626534288 687913660 989349028 296077626 750780478 722173289 985211726 874001762 373550731 84161481 444038689 298255570 823080928 142826125 605533769 208334467 787079223 356323789 651922450 968010008 921129696 635324317 326262431 647873397 490772101 182530332 133421629 958358954 896964935 107528198 590655440 965296200 917135927 472403491 292055206 538373315 924789979 629989807 652233332 452089657 523628299 93161892 82053418 753915683 382756768 880254187 147350563 635611830 590545433 289090976 134277820 436700970 776736865 755572821 435720987 309098644 704001917 413677018 762615386 988272557 105715519 19880380 791117925 383880850 898767125 51533872 57216068 868195751 500423824 828557221 255356983 475935434 292232904 215349512 626981475 469563130 832187953 92261338 9419831 762071543 802963216 416514686 725760613 356968353 906624077 775367263 675228353 316495891 19530553 423635661 55008433 517046383 941169259 899318999 14997542 379724232 862899442 694447313 748198355 617122946 447239825 873154646 551915248 481388502 891982313 398162787 697177443 129855105 651722887 782649182 289893688 306415918 889466983 69972506 164037699 740249645 819566503 603521468 500224755 282035105 656482314 952596378 678378968 286168448 209922546 534052806 154749623 68382804 283323011 976933742 889978453 440364955 874249194 62381953 476062712 797437838 495419894 537193002 862766538 598977396 201619996 349393639 402083953 436876407 596671664 270568833 746052586 932261112 205898537 911624158 657144714 117560712 55284112 479055872 129581880 97883397 366835792 269002223 63563276 116489648 516399705 150013727 305925295 822621514 382942413 845871408 666924844 14636723 810070347 53645490 826112435 4417371 437077776 940448812 564511470 168274432 371567785 721984194 623378348 438621574 640572448 402744503 288393984 870430661 472663015 973207135 576354918 185172080 58293129 36849750 510777920 271233055 411752244 447078452 535311363 932351742 274979940 399028964 355173308 679452169 691830839 352211467 106732383 834168983 603614991 246870063 638585540 912431909 218893105 780532964 729239737 695587773 743958869 415390548 922699047 146566683 550066608 773692046 661887934 496191000 163825790 853753329 559113323 447949387 377932390 310184947 259305089 148319550 224235166 574679993 339317150 240932106 899093946 220303077 899654117 547694101 881006703 939412951 849019028 178411146 579942775 839723068 774750590 155383679 147992591 384167809 916608868 543832709 271546571 579877375 911305291 598078672 294264754 683772123 553075183 897583222 886004495 62397298 695885207 124718210 929468923 806323065 836245212 465661688 98110830 700464077 239177995 142522744 323927739 887004239 618721630 765697958 5427940 746858664 52150211 693280106 214019893 76726391 635448990 299712704 402610283 756093356 138863827 294220984 361116309 547867292 239074080 626755897 453117625 329638610 610067495 302439565 156364482 773146548 78928172 223936845 728960116 908731137 29951916 767983642 927818477 132054621 849765350 743106184 313587549 187014429 845757149 395790198 767563558 332609075 954705062 232406272 533461013 131416933 513024953 767140374 257795661 916435207 923400384 590811065 136185855 715748399 34773161 241366547 425101530 538728059 931346174 112413287 888267787 762349283 570937201 218966577 514141422 521468800 534889606 800877077 43581556 217845520 606905054 159242471 375923511 239134605 697933663 188875413 357555228 166282611 39254529 793546092 788833174 58130773 261008595 792377987 943289042 758863169 655472030 278743155 101751752 54393688 384632285 496644658 269753986 767023585 200251910 500803347 669210230 15010032 62496603 62647994 572033541 993756166 847290633 410170964 89545111 264463117 87453899 383073468 98904704 609090373 605557464 692713890 196357124 760014780 692993766 944856629 160369172 327814252 842521920 904007115 558255175 893302014 913203339 340073256 386931152 241888768 278897136 487531960 69487460 463105113 874630234 58532566 854862283 835205014 644799589 997803980 85859667 403221883 687780304 870188344 595034416 225930026 769032922 714916514 183695520 394028508 67597668 933892483 738689223 806670667 706210103 322442871 410975704 507428657 942573488 770098589 98232232 17080861 931407060 134811931 648868352 245558500 786045874 92745090 811416089 933911987 17791229 993713391 141565253 495319640 186211231 302570459 827054975 254630551 344509895 111471550 463048474 990527554 392528652 856927923 407424609 427556261 61174701 878237375 316834370 458246464 570719412 388645071 423657875 874218925 390515188 662450232 628511034 620625122 682483295 840316841 978791268 942690665 357357092 943390287 385604301 923969022 436501040 775085215 740141400 917261922 105101656 450368116 866207512 852335154 493484101 321677234 689210074 237247795 995894931 535832565 284386907 228225968 778684195 285732927 303205150 267023678 389706264 58080946 790661957 890082652 336771233 225512832 920273580 82638818 921892316 544090819 270821662 124980862 736516153 115686716 538380337 667118379 469333000 301209545 316201343 860107237 275630632 41001211 345084435 814150337 540831198 146009465 792810043 739006296 658241067 142842110 842906450 119256591 97946174 598534842 537749683 627912951 783915473 836439913 499776292 181712736 844440703 14964083 609014188 173824337 692733267 318068610 643542938 388305864 93066855 611170904 971875449 403346077 347005904 471466023 380168465 990097513 36225484 486414540 255354076 237310292 109995947 107043945 537040469 498538870 598025794 939283198 692377207 777311711 740315072 476231005 312337867 490643370 147704213 82143318 632975567 51181514 297339184 576271885 823991753 675314920 185193721 753072577 152918112 350185443 621484589 805429984 23750468 18060135 696102976 710248851 938825565 418096715 497123122 341080042 97186206 62572753 229084899 942720283 290625110 115070657 816324136 641878991 452696178 590155291 599354764 686791480 690324981 983201255 461166876 42658311 279714082 747673790 893407941 972189650 749864654 947342666 296278058 852372835 331468555 991725671 625190334 210105698 982168830 453918311 78654357 264067615 788245872 400169218 37679904 162828397 141083993 267452988 801889344 920788298 134648932 429749016 947212510 409333374 935941629 287409360 136190779 792345715 18480830 114001842 285170673 361605256 761298719 262852842 173106089 875961191 680595414 797422560 235173470 398067227 980461349 898134254 410200012 173504017 624241674 444562423 477991143 540585294 1948779 158335123 788141170 146989780 357367349 247602936 237599208 844362242 969058615 683164617 5091544 143029118 522683022 125307539 366924682 468371488 140942586 168191523 211856049 949043127 616182554 483788174 418252160 207248466 143864927 229167215 212661420 159904781 306601646 503689665 447579860 166289503 453526118 542881999 277605034 682305908 376907307 880901751 72605178 790356760 949185143 811816529 590277718 8892178 638462682 905698637 131267708 587549731 66054859 68496187 483558661 603014411 387255611 214656717 477221119 577249913 871268068 246679122 505128538 422197301 651758150 848995908 296926132 97961988 504239247 687924141 188661510 359159068 399790489 612594802 471320086 348582716 490234503 158861726 864323391 963270174 619115633 436908824 253592457 161698252 769614605 83620460 270344748 150103380 101067023 230735006 776155633 884102566 774393420 158904796 476882733 38165250 282608839 677388061 984491683 649605704 201001048 208125546 445194648 817780783 86381630 644726194 422889757 138019081 597855284 983076590 645467298 703133849 59762624 32070353 783803446 99637303 586069186 83278068 304098139 680829799 804386624 900613987 703808652 385651294 362607774 78764410 313153645 639688189 399730599 413954026 293570807 746623253 217944518 11286049 291519008 487564711 745818081 877076231 312157315 17154974 105610863 135524114 155623676 86618892 614360271 965443696 133394261 36537378 893897409 638849785 307803839 29244247 161772269 345995066 130103790 396054004 431845676 352585148 649341647 12338312 821998431 382153429 679183578 949500991 235596789 634501712 447094937 405046702 490338086 496887661 901940503 60273062 172876413 380578872 88077720 33411087 108620781 609734174 37549767 727907275 540404307 210504721 542938477 891515349 519366003 449410962 49618724 741214139 930671715 806862216 958877035 993583235 189991218 714031355 143012986 54425926 123156180 867583869 725209891 215215966 363771671 315496108 697956836 290482399 955823443 948154810 494406206 257189795 326200726 923691738 934715083 791802292 965534773 209137940 54038786 388034459 622735694 579048906 884643905 916776340 938366779 80484906 585011449 472437657 859489417 778504873 169847702 831594780 307375488 945856992 570864363 442360873 386514538 764074942 630324237 822762686 222463944 584551978 128385407 733355898 502691142 304684014 255067718 156951801 727137905 98171052 174390856 961549075 622887185 204051145 26105132 953793640 704903538 198521879 770447058 485525353 745490788 921447919 392938337 234409084 465972847 230387509 2240323 303273961 862681550 807086604 241724619 878994679 733767439 177566932 398802554 432307745 208640642 140690803 314789856 711131057 669866082 418074973 791185612 577665947 504630612 131081166 313099198 45650165 649562665 496275938 298134609 361392376 720768088 973939576 683588237 878301421 809555836 718865634 589110904 156812902 596458220 409927550 112928641 737102202 349892010 752089300 114106808 628287249 653736968 335199851 243570979 659538585 174189812 177586774 655647597 541989026 140805190 393092857 784956448 968561947 728393467 224331578 64252627 276321569 786837937 624250357 986852936 721100631 594340205 994157397 416756726 484869150 747039475 620140292 514590892 312904092 901817780 872848465 816873456 838284525 195988572 637987412 137065446 49280601 408098980 647355367 548628999 739410243 561848263 465555852 246354214 419558092 386569207 152298551 971494211 918376386 892906022 955109134 230640477 81745902 372133970 303173886 250093610 504253199 160955312 519370682 273338374 858262409 796605927 289486124 451609632 448771759 420415397 995930062 142482967 25361711 605367270 950836749 734348962 779866886 619427758 177413473 108192363 812033941 613234611 343761035 446528899 412229324 282216401 294562476 653377711 837216814 688887962 184158160 21566861 72863668 556650197 786106216 49442083 961714038 118054377 992531214 440746871 953850979 231498882 506586659 737081649 250452639 50604040 921682051 664986776 362670066 948173609 857710090 795682793 418677251 89329335 490735401 555971159 799648825 851375654 638391292 379457817 270226073 816480242 854466745 889930856 764826193 614770810 916717585 101179730 798044522 581707549 219287961 578875558 418307640 621744291 966782908 995489955 900465131 339171290 188201798 207096581 964891869 781437232 212777430 217229212 56327364 36668194 841300235 956860634 858392912 130543040 952208831 664832120 781784374 539030468 724876464 801775006 346435415 968631046 627529384 458351026 923433643 505336469 501645356 185830362 477665114 58808239 353844233 206199552 636543850 285353059 454233647 324138415 198832732 850122632 443711471 689734374 437966080 473638729 348613240 407254006 258691038 703330416 24449641 842150619 768950544 88015487 625341265 923473288 787656263 78156774 30389883 539087132 29473378 516789093 463786694 965424189 412748367 895007200 395345393 848530810 868046174 116348693 886920582 234821412 17474316 462872844 142519061 704207702 189747368 580301365 175651905 355383816 425964869 556084892 234260966 375740839 670821840 319896184 471679800 151226864 459732036 361005722 887166814 513095313 868278004 911380193 546238404 263284465 17582007 921731417 413533400 266490320 260859477 887738289 276062994 897055515 466319917 588231965 479095189 784533495 848265840 327769406 794210740 901238264 945099505 438898745 937749974 916815461 197974364 859091105 193773472 636868143 600810291 682171340 370047674 207856339 190927051 906495308 762193762 39779097 928944346 319714413 345432671 501224784 996447298 791431355 703611121 619637074 479384122 111713431 231687161 634316919 982847459 403056693 219639808 274801300 878238668 435731856 823811714 901890889 133671612 749329037 296954584 111155353 706070642 617029201 229113850 643531031 929515275 245633546 363370866 459224528 130712512 103297640 70045153 586633389 934551829 743256288 370251221 897621092 302826558 933421713 758463192 338697077 962718071 590934520 686576204 50950591 10519261 530119780 937191975 420861149 596642803 963704977 445983938 211476745 963402132 807054116 17695799 918330810 514452261 315672019 179508451 752131970 91765798 487084276 524368633 476298568 558624040 40101196 497710154 522309725 814177429 754884772 705815462 560113056 336894752 197406760 657564197 502094330 541616628 371503346 397020750 687462308 611204342 214253765 429233565 456907026 301554654 214924303 553866361 563592931 251705850 61578750 108296418 150331229 189932227 693856655 626068838 617472213 204047716 593665334 123542109 673878040 454337639 589064276 737174106 79085238 939395656 250689750 739489240 851429185 366279723 812874437 62114065 717547381 873626049 699041782 742330607 742026367 513479466 412596008 492881595 554491749 204993736 249548574 882837601 537729778 324576590 254119534 497326696 674145612 86573307 670477576 543530300 486293507 160211336 795581145 891069788 478257901 3454173 37379312 470319948 1628095 978984362 311445976 290538664 434921971 889278484 271381373 731090301 742015888 945669990 842377388 647580370 328852942 846511862 795405880 61979929 25687481 90401099 999957988 584061428 670355645 997351574 454321318 454611716 397453605 393336591 477342499 803907229 220232337 697273850 871952555 458723298 642237521 367225897 578256452 620025818 733670366 213251638 542613058 359625634 195541587 410107125 424811240 314981974 667790424 548085135 528363189 640812631 363708336 201725573 959194573 613210989 942405252 891191419 977044262 988418391 951265409 708379736 570390121 321116776 295615898 532101021 632069660 860645826 696737337 432361365 40461884 81205004 328529904 372270666 85515027 329998631 318179508 737857148 177794330 508986251 101023993 670798349 300349084 277284764 537482662 97791160 935948593 44543623 509306060 78352001 313409977 272618818 269580069 884023190 719342542 880110366 929470048 126028411 140487908 232498010 896418228 573698166 20633497 12539865 9074643 479995215 817471452 487466060 15017297 600424649 555125394 319665945 914742367 739394997 138488476 893548146 209241065 300848508 662241661 34280620 992938549 108218839 23073894 109374619 172503912 11230805 49115664 57352140 107848436 66930523 463503563 179353419 461304579 194277579 852452846 764620353 705419662 550019073 622114307 2099373 791470009 742678507 6607124 779077714 196025395 522148857 97731333 563915963 780530616 540239800 307641648 252176277 424446060 71852932 253455147 733911963 967183481 372558269 592461877 362693033 284460286 462286105 847256764 796536542 740970268 214920387 345392559 655117191 279204822 73974845 12223406 510004402 577399732 234596819 872719910 643246206 430146413 181003128 737722618 618712656 219620167 881239446 130890904 212748255 390507838 723673171 480705269 918937179 517754874 281120550 426534769 73495031 388474972 857483794 891563129 177538878 872889670 568006081 924952748 704262111 797232543 125160441 72201373 20681402 46735888 341310981 993787327 643844459 87432324 789198716 698725014 516115404 416550387 854881688 248091099 885825297 963245634 718604010 950005347 944938024 702860614 215211418 666993767 694048029 292124667 279416088 271965000 195186403 744746620 493476184 102973297 802385322 553029858 699072717 284767667 151493189 432264577 4085604 494941081 569435384 928856715 543928533 469183515 79318177 159771356 323275120 198061495 377968907 976116300 613560158 255187013 121729911 261364675 348445074 568519756 65627764 834187521 313275722 176299479 392289346 329058431 59965331 45981087 523068308 199891690 505304578 691429951 364397412 719071806 723440067 274801778 4246823 595547764 882214804 76121303 727907908 296996115 881470344 904788483 432361940 89873392 681861179 101004465 997270291 798087430 155996160 267835655 885164276 637901346 759470388 704740999 824824672 482950963 380916663 292321927 356605990 589336977 711559981 241167739 513739198 639164253 636722867 102515887 938645166 697364661 291629431 475092652 125723204 706242375 726343602 822137406 243576227 668454824 537021954 332746037 877024276 438850381 38996351 478741292 934718758 333143335 395299281 939904271 517909318 204514542 442372893 336265771 255998229 791066947 606315223 682023730 177540887 321392807 627632132 899803519 222270020 256156546 127330283 652920486 68193400 901084363 924204057 500946351 308655662 344107191 324684436 229159230 313306477 383561389 407512066 404888913 151638550 562030305 378081034 281145352 321128365 789344887 29536518 248274908 861598280 977059551 394888903 812790491 225674771 529382081 806535355 575930365 294876001 689919252 607336526 199909231 894085400 833500786 532906887 8943423 941151393 421245095 610703504 702434220 122046809 385431342 681386957 433524019 26841371 346299440 843779507 747204426 571843728 183333020 185661846 820608909 29067050 859431339 136469079 964341990 869998943 671339817 172462999 147014878 282001431 69588460 929210915 23617703 811114900 729817353 798497307 594032656 221490992 174458425 489347281 51606321 643958884 956781904 233275266 86434610 121232156 315294035 459494894 760425202 711301824 676143969 371480257 267920056 993036739 568246416 741446872 747518557 938096084 809374124 764727459 747515133 120770983 535150724 353650034 378889952 957111064 720335131 329924330 684043983 280777461 424440573 548946340 581099046 714588373 285433419 786874818 32909681 872925928 540657891 615437592 801737791 225785296 229888875 949286743 164704729 141249638 168538571 889182308 14474952 974749620 351121050 504114452 601973533 438508996 947850347 455163167 934634470 113569434 871486797 730155725 434343942 399315007 642536412 246472419 111307168 823492179 873239812 273531993 550641063 564086104 432027193 713192507 766574633 721346766 891814679 341479049 737215886 806770476 103032244 457843035 348057061 402369903 879152549 50000134 639506065 391333127 591700815 834035776 238218971 955529250 992890322 615294015 374875290 47100031 415294045 500476046 844044145 540649409 171165671 710978365 357718127 69413224 933685696 130481224 154620958 955297787 951343531 91213298 746284138 898289777 304058901 859916135 624083949 415130709 313296743 389978215 975279892 66037726 779306301 373575603 730307329 95677641 669288828 936682962 964851617 896575675 869365158 544168349 450298782 87033988 116325145 36925366 333502469 271044396 736286621 897141575 66503724 77940709 15681066 753507146 911481734 969977330 331067689 777748299 47760398 158957880 220685558 812927445 952389846 880182284 212693408 749843257 647672019 991139409 824036858 7238597 848109053 532692714 529691882 648121861 461250321 638962154 914112971 193512416 109194892 736029777 132789546 242630839 728310406 18409673 351763232 267724489 775830960 901348710 263214307 896771201 247879618 352753289 56071068 95471809 307669019 157374047 615191006 514212250 379752857 695254118 237713305 864193200 627770052 889488532 157217892 548902190 235775618 387328360 981965531 934167037 9474149 69002513 982633664 73298045 758412535 411676944 325323716 704881140 933427735 331408498 434087880 878963078 686671217 270891238 51246657 882360985 702617474 110749866 248718700 459583352 513846498 334563267 30885228 75289177 750205842 931594389 689137623 456105254 679155021 725479702 333151899 21942020 761111850 519761320 554365606 141660011 989435562 407156643 137521928 934091840 960763947 465755175 420742766 332654085 218303686 913630789 608630205 666656304 826254078 495246195 33464643 267530714 508382236 321428192 366094133 595481663 436826994 14659678 606501536 470430138 177021212 782512661 651381814 95885943 443486176 487601767 382147621 830520809 618329223 346373217 42462742 334379547 835806049 897288815 923533283 972354123 682397044 858478115 324153998 875617882 761656031 984948168 617549589 410229482 297269956 515765850 167471956 9254387 40232546 86580186 391686959 728411600 954075561 795802932 344281593 433975094 951964713 7762780 852251629 408344571 504650686 942974474 571694684 176739789 997623372 626225594 693743251 321084177 505785746 792482626 494663521 718762264 456735686 64134004 720309961 963963929 945518872 522705394 6347999 826120991 932419725 746705373 914646762 238852904 170098378 764283914 949725696 193509398 643120922 746590536 319162799 755280010 701374051 40734371 160304181 667198662 543006499 942579555 715948487 511858636 949398478 336453731 534740714 722281880 785762712 115984233 969055168 702721489 501408948 444282443 284091243 672760238 682680359 577752398 986196695 791456938 372494919 225700880 32692038 565960158 345140526 971355324 995022839 598508926 369572723 6057599 262443926 281948732 705457845 795682880 323022967 952309908 252437540 420703914 861404996 810695988 261066696 578300208 120317268 962672600 739178086 778897776 345825000 961624484 629529077 101379922 773532147 338592898 78517402 920365967 996807960 919259151 728391959 753825309 356591440 885495935 791062311 462805891 287450971 624438380 934620181 717831292 987645268 972249438 100635008 591382541 35995488 495092566 704637636 499191120 856066025 833099063 277938253 240317366 310967041 237009196 388077611 604095610 897126147 27604983 708424523 994685681 868046151 581977458 884033985 680709263 575001528 49908802 590610009 192818783 934108014 281308968 859314250 750168729 543980696 218949694 420695818 170309094 60353443 679218238 91560431 438306859 551512571 446323119 298016826 963606213 577805779 991167545 632206418 424483388 317558366 950011787 525038886 865437978 613635285 245126067 322310095 845083867 34112636 541414271 670453334 164460984 927557458 307593146 308459171 42017236 535158150 65990078 568520535 285304307 353591483 710888784 714017210 973216311 439531173 509231808 124291114 274562422 455047938 504334169 609439667 16362871 672026535 721349556 413494775 198006398 950794749 294469803 312426329 344381765 973095648 159815192 436674284 952614701 146583362 324153970 774013175 151932272 221317981 443745654 29218407 603199931 480166888 20807073 95069566 66925920 612365269 128848010 248925831 848515186 370578642 588591841 276427012 531493167 551000977 576309428 705859912 820171511 192893080 911982786 197420073 119779666 400992660 756643075 235938916 337264571 532563452 637129682 103818789 367838415 124441169 460416641 103393543 535472415 260402311 937835636 641086729 134494147 139301862 155289849 355541397 180317312 30347865 911551904 204651506 983407665 320772413 253881317 586346465 25011919 135606344 885938132 700108886 956967882 721224555 117768084 621571045 804218059 633327022 209073820 374564858 158859894 53544158 161131580 896251614 611203219 971477478 425180635 316952146 615086651 200662219 467953690 611095116 26820808 336061497 634158523 203232226 859718113 9409962 439469604 817411171 514369871 27780414 396280406 623173033 536793246 277076998 850851882 188018037 648538575 182692789 916167024 963315755 512519066 49777136 163813915 120813193 890432739 907244925 649221676 247296213 247381440 884200092 333614209 533568910 950608838 885863146 624944855 34445716 696101999 362350047 694937199 553562153 768808277 861627965 855129146 82935665 283028579 512106029 600194242 846727015 595278174 326895835 243135516 792887630 547634481 442825035 891218917 42223891 509059523 990329548 448461664 734954934 386666437 224574539 77715342 577186931 248915284 976581110 430681012 238123388 14685307 951322604 165491701 212976870 303183683 67829588 872965682 554150612 833330347 811657084 736848077 197221064 39145356 287278929 853536332 685329061 92682476 983181420 275851739 614779612 407202266 250589712 755469041 902017776 497106689 405977655 887873131 101028204 900456947 704253857 698336149 805693383 225568340 243666886 622701899 115082687 631030515 737725778 169773997 414502305 622769390 381956166 524333363 149444484 569057193 333825362 839857111 721325791 191129205 983167314 822235081 839032068 940190534 603179975 243096406 706237172 911094852 611049766 657947181 398998751 760604496 998716777 914567129 714634682 677658850 272763240 876400960 647132319 639870678 383103232 649485318 789346309 368393749 617594268 432787984 231267211 604861526 100340653 355576836 675371710 798356194 717489107 428755756 17802245 249400433 917370671 110322050 712126492 158070256 455414854 852021049 562944023 901040824 459412835 149469448 611905129 212537830 418528512 824441999 355536276 578734387 699214764 962331422 814405441 277927722 460415075 496497858 475154684 82509866 563524465 579600666 132673284 988542007 622799378 246823554 691995562 86234286 980244473 384885898 561535201 942093668 428861356 398939632 318715208 168982347 882406569 976706217 178487849 966120512 176485318 915686934 944458187 671281364 532828269 237155476 489446546 348657011 737738825 921934988 200129908 278401787 930472588 732429426 15069447 6600788 675609832 866034489 481559007 193915047 245030856 832649894 247213197 151690742 97211639 725214513 469076985 405742417 335806638 490587203 20970455 495865949 943240223 185636372 811434126 450312811 286323023 744531237 517738424 698993328 29994121 593755005 697899773 937455508 666898977 907191831 47645410 303017626 642211611 166858896 990097356 298200164 914882196 934505591 993297661 871214699 564406949 144667474 368409395 860364370 581518051 429112863 377348731 34513221 964069899 921736959 936045602 146777335 331354460 68498396 962611611 972084862 245365191 548315637 126574621 537174154 547545535 463834649 882109038 568683498 388182135 249031128 753277909 258130911 322437634 403862829 34474576 290124894 982590659 805187723 520443105 964122007 547963715 48968139 74517557 316429036 425544392 27713675 445996251 433546334 459663093 387397099 259119635 700145164 561426352 921595934 916892310 806508523 304167156 219173060 592898560 590619950 845953631 460494469 488665130 59812227 262697672 855304236 840828026 26992469 771104883 979281067 529892494 806442699 8766816 922660099 933392241 550009330 260983374 277761555 718225366 812483717 889609699 557024099 211584419 898972336 372879607 347990028 108127517 966238195 186674774 446265108 22005238 946132675 89344965 261474723 329635829 113928519 783436557 455058652 747368810 690571695 384733664 652845297 295405996 504328080 47260483 212313005 796123909 795922421 851221077 471556909 653896286 860588353 759201005 402482278 339976901 336600557 385594098 648374809 804746434 639394564 775178487 714818967 885735970 593567257 989536974 364690026 310013073 523062219 630676621 864396829 942904759 804659092 891390608 296906369 285353235 369437515 949406510 637138115 828068358 330510900 537163307 832184311 139063042 357364230 980127864 163042180 8273229 272508143 366368614 738045990 388500783 533725399 843699176 223568561 80833223 678784030 502434126 797336739 68657534 994649572 491979180 929581690 197908574 757555601 511453931 20150068 599197538 717866068 228214699 250443598 369833169 212640023 794306111 860851174 842277425 523346176 577973799 734771274 506894815 979039789 803282066 943731223 972287768 493650239 922281535 709529784 287980401 17480558 377119915 775286753 656216831 940336231 486628510 49984827 401789318 631100670 548765203 776393234 249298935 806344308 555123645 559562433 211144600 886370453 482657655 820311880 540741372 97203584 625205334 505216032 850155911 558250639 450915136 578693424 647964972 231885565 115647282 461186821 82941387 975368661 589614362 808464428 846396391 539711032 61375703 391403935 601529468 754377437 551325171 644805887 135912668 835754516 997202642 715343111 893599477 239338191 504182232 462437202 290753341 488987614 783030823 672848111 744523385 198479452 541392765 466118334 61243469 279846604 98553949 356015958 587865609 500872675 976873231 57287562 759512700 682676795 639046678 528617867 840141968 971696087 523184080 764312738 474654465 727983535 838849842 32771711 663510455 954735823 46765153 836662695 667462401 660947206 366150689 448732777 246017406 652610943 347492992 337087474 364308976 729108785 284158455 860003128 558702281 206599473 476811252 682025640 689920410 326618016 808935960 408525149 62442805 2210776 305059502 116984794 642137719 982813899 32075611 387792760 294624032 732355523 749742780 703387430 683774009 311674630 370919831 339763012 285623778 444040555 698951447 141297312 610226180 257357255 860257799 69597898 788532898 963721568 77652539 805872964 768206095 923235058 272258785 983475684 604209656 31181727 74757836 363661666 560995794 762476372 984631381 622425623 720317637 754885068 347363574 204899795 465042043 794514786 56480877 642100791 910113722 820559935 215743534 425877009 13760979 530043876 926451991 729572284 581172553 32863562 921470622 199750666 158610252 242362651 612326747 971451764 192692819 422928277 961460605 139620329 60845395 567110008 802399805 783755558 559574952 679039350 599528228 199182884 597764655 859130891 293060274 118724342 283353715 366465327 491671239 169054756 154285261 871742932 808284340 14674915 363939418 354320508 227475513 245143689 266430833 316547490 457449180 655516878 921426934 756119872 728906111 495164081 71653215 653126079 184578815 574559984 257446473 812961565 281298082 241999828 783795373 806101156 775067452 653988754 939510174 518703984 209110677 245304677 308133163 313625095 550951466 919410507 413001567 266746476 493577973 815894279 869611740 312350415 948173145 146061573 579663923 75329760 45305805 42836005 270618420 128375843 481366481 78569948 686571201 57803107 126054103 863153459 842928340 546469491 496498563 206116714 963933994 654791572 852995628 484205721 47317533 179924090 644505695 95800101 652762872 8905312 292248818 934184535 953191896 783489621 742558488 565647974 672736641 587508765 500275093 916325260 567229021 504678668 303289990 380715862 825102498 626188980 480428959 459929359 502332847 993819429 195063703 877135606 316850521 79382226 129713447 484881309 836811091 453352554 542295512 754052568 706274071 609510389 594102789 336049406 881881407 148543240 636081909 883337065 515529152 540502707 63475217 415665342 740902863 704788622 787172118 19537898 737526212 217914798 300552531 404836213 336142228 878476542 872881508 418115238 771782579 444286462 55575631 321380786 690000841 552591432 859932473 787191960 746356155 347723226 482752086 239621102 817841600 233658362 232146125 915705349 857809116 783797300 513288699 413373442 234230454 224768715 12957732 905231144 179102890 140790388 39096921 455593467 959822035 600933178 959866866 15069192 672681225 803724363 406814661 167638973 513156220 448835429 709138794 566180776 260577831 883441652 740612414 327012163 259773704 273494134 314972983 81770209 681007882 851222614 181565950 209653793 769232959 779283990 99102967 950098373 400784877 801910678 635573981 479866395 807421893 901135540 221088729 863056785 617759994 728049493 493274742 374244706 98914773 91750114 459381038 364888145 417937027 95713623 983407094 974617863 395304061 786190751 381568610 691236616 751397931 229660004 648873003 136918359 669979599 598066779 592983750 819482743 350699551 812628080 946336925 69741064 87381470 547039719 448268190 264822335 159826948 825094335 212917893 516655056 540831541 195125785 396622862 505380453 817655110 640165313 143566113 467627137 609036775 308487677 502930206 764678655 701897909 647528508 981953119 846161866 601479820 340457653 861916102 834339904 415667055 503855293 929307230 675305663 426847476 808410967 886522275 923715385 266529211 484425928 658102177 383563248 883004044 510711075 251004857 935625216 187065668 690164740 418544500 310768716 823094906 729875887 794545708 273250335 417752595 360477788 604765272 806096312 362654943 174857745 368513384 446217520 774858378 316665643 913825260 279981604 347781147 784484659 591259735 75752121 72644619 135235118 345135307 63371923 462696630 340085540 505660614 679764493 924211310 295820303 837641965 718356997 420985044 373310878 549770366 966413787 293766174 252076196 152695586 971312433 315809860 109948627 174050789 517526696 215233714 156271873 593564290 605762914 739732120 738467385 224020853 843365980 882383627 954685313 164014541 956679161 77869778 305438806 893419623 5925664 197135447 207045757 396238185 980566593 416524104 603426107 303309993 851062471 272892404 762535503 914858833 185738340 96986218 382985548 20465081 135867725 301990184 992975837 267787920 955105896 977673047 772658074 334528081 20917490 497306173 794303877 595315016 695584983 206034412 296144435 752247529 316586206 112967323 540596080 353532441 68614370 353255164 848512711 946105057 988390445 844047194 268710211 780240882 1024324 840217239 537011301 864902444 88805130 703774044 347813347 599910005 307935677 2306838 702783254 684905269 68386849 559753308 964308420 288614258 62121236 401519473 40902760 507801356 581693249 587713566 334397262 309618205 222152338 591593262 241008538 299162679 652058478 138339706 842143761 992663139 553289757 588554112 706969508 382899582 895341089 803166640 815804484 305380038 417678835 45592573 954996094 957232377 64225452 179328821 560577427 842147160 573637941 913579854 60424594 125690843 158644066 275672829 255076129 793276074 951478242 948873810 390366753 768979092 350631396 173862366 51866246 782863315 616088599 66744338 848315051 151818736 508728729 811793248 990453847 879992400 861275094 916224821 233872249 629120672 50477292 534603039 678226876 32737076 585408435 927082059 492612934 519530241 241042685 519107078 949268127 350702472 156418557 506009164 157168678 734109927 460727269 206122819 614250023 653467538 97642313 682431786 342365812 582332391 45208830 258411980 218769126 893996796 304723149 534112085 347293258 965428792 609574016 741781998 492207580 710834674 62288020 815527577 394176570 313604320 148026083 625533964 559096862 907033691 274018735 345136755 778579103 621117827 939381288 391069753 632694629 900232831 719453969 735457427 58369865 166302911 452489396 561346823 525622566 683612976 274507438 967524863 895402938 513015816 133922706 202543428 657953910 41497 488442978 596874866 762592538 805485877 709713682 380202785 806523808 228473013 232116621 52946308 245422948 474648959 565039952 609194783 944046843 639600695 124203834 409456642 783967892 946508516 186632907 930178348 266894827 24465770 786657946 846305081 660949388 22732782 334900855 344363375 216169157 823460871 829842149 356911726 73310112 595760845 147792736 259444107 677825371 8383534 682104321 297070820 958966841 312805245 926938715 549636937 447030269 849381584 668679559 542773824 837879090 153763025 244766605 538595831 125348841 984747911 44831688 995241655 622411629 490063228 792032311 979259977 383895392 779786686 918947632 657829623 607799763 741714309 942184856 127160831 347794776 150729264 359096887 166329203 164803163 32211799 673916880 43402702 253212855 533884526 956629884 911930834 210467612 717616072 409785384 775898992 25890649 377159270 147211249 346840084 482683004 784893491 596611843 334597142 403435393 670582384 537530596 101549816 709331771 441516875 401525234 506671481 934766748 220159756 116439877 349499666 714834681 754698057 577362458 861594654 699459340 968617693 461026755 813593572 597889909 304162536 60787164 19501087 545828621 4412549 167905602 945052221 912717723 424922476 148201672 761665406 934739544 711933122 127789867 585319738 959213897 665212553 74309195 286770174 388818195 559774077 692933183 246049771 75666999 945155809 44403762 115204833 132656302 973216965 41057061 339399904 164226512 590982757 329131462 902701828 471594339 28649499 73387508 357125847 804875479 12506400 586885457 18064073 332200429 536194812 796029791 487609038 446428463 367724050 538868301 444076822 103216084 321187330 448926361 35170813 413323958 389683360 744077118 60508249 276966871 565049220 537596038 881922290 486742757 541638307 628629807 133777280 475334527 714945021 383254003 367554713 55060048 551720244 421187849 563733787 398915446 392262571 672682636 90536839 685778375 965007170 575177225 619765499 533831747 352926671 423241205 460046246 606162033 170837479 608539805 229085690 636918418 26955472 944055620 392877011 960378915 858175125 605558822 132351459 463495701 981791869 950432101 11812245 232624102 809887627 343993690 364039231 648634874 280195926 162789051 297099496 494561737 117016004 132855740 665395159 527892237 281171182 689546384 719645217 5221483 245097556 297580763 116466641 194547391 466014044 319272216 305043457 934054296 770190138 267745831 578990047 124639488 357548406 576181889 963738857 810007123 861974312 657523938 593149201 954323827 751342355 357714893 581707516 355253966 206938550 802463684 592307327 320452539 454007626 918315790 195521030 596797731 839469491 779552801 847572435 39300291 326006505 661687176 800519224 663970937 235295369 192042158 369125137 722621317 264481539 296670178 411813768 985385986 250155012 629207464 29454019 253949965 796051632 191782818 483772558 560723983 63824451 634104128 729923227 432537517 927948927 868247116 819790237 951770776 293709535 262674750 893610876 785200599 952834757 528137744 499220877 720642949 914227775 429511583 64877723 612977228 541980409 804540577 649496842 775525551 654531645 618594105 806040935 326633821 47665554 493301856 481811275 153067383 37098942 399649613 87572668 298331744 728038112 222751810 906444537 338044608 254232003 781489809 340106330 565861639 185647876 931434651 891643917 74451872 993106401 515449173 932045654 40327409 459832324 617935710 549120015 648248136 483355930 274290899 352210888 506328947 81330499 967939011 802004113 291203031 831538298 488448900 823281696 679343626 636368502 134365664 421330463 299725618 472031883 804397840 198705989 121819963 756959986 315557351 735989881 250349979 970165258 268076868 233528661 102885194 611456846 361383084 242230898 867832200 597120037 662512269 326688381 637721696 477853686 165552866 249732084 592402983 610663710 162099474 84295957 650471526 800024303 830215783 549969619 239458693 166871333 407386797 331213149 154391577 834752267 243059010 11169387 718172858 370848315 432216419 359681777 853011429 105043858 503926690 403596595 744560985 519062282 293024923 545586917 65585347 598453184 477166969 703106139 922559426 885732275 192679049 76366037 882228784 678390682 91311932 358900382 316667137 524704967 959957295 110693836 256994272 426913032 266305436 365270767 695539118 483448607 331053314 251545555 971042037 267698961 760795321 107809814 99562276 552415082 441989282 836540805 948958131 913271840 143474849 150626098 675425508 207437850 926971134 203131493 826518486 410773125 646491068 329592998 181163180 841616458 821793676 734614448 445585627 82243672 295007222 728996774 518455827 577201448 395178686 457820057 971288475 4685978 582532904 572835511 119048263 591064459 538148995 95343301 776732178 304863149 541061095 572633940 576671297 152970824 55821764 5381958 831503125 381507001 182972265 218837043 890059233 103056052 726726866 483367900 173836175 524723402 733639593 139562600 772376568 484594915 156805958 541749228 273594991 16691668 62867726 864850318 61561983 13033221 794736778 221584075 11777600 460121689 627531180 634043706 232387014 900094094 293467288 430671052 935001491 872871389 154654154 758147483 536852037 14634272 138790657 675169442 779393386 98706324 218610690 667821890 344388018 89530038 642072320 649273273 840290092 355907673 749730943 541195698 274347633 235884046 694059875 431946229 537912186 474856750 928881147 816033890 974782978 734898795 856748683 394228951 80448234 155726919 949244891 800167564 430017465 328160265 211459378 332652120 2691903 707655880 206955212 371556077 827840455 180351426 336549126 120814922 557944921 704107803 438545797 901944014 807948089 391480959 786146716 100380308 219318783 125032868 297297594 299906869 983003161 636133378 389759511 347416768 793987424 890595945 814449853 764804571 227298659 221723302 609700369 524579291 435936855 654177317 107518332 423676856 603391582 386981843 592859560 619679797 737945496 935427056 549815295 93975911 525101819 839996772 741141601 949084938 989237154 889787688 257215027 520511238 53072467 417971829 146782493 711093196 856837037 607209748 742085772 846146039 348634716 18237253 794715871 518622173 67719767 146758150 44693594 462671872 233374794 865500773 490191235 450667151 792054201 865258145 160022112 52441373 15730799 815750402 801416445 287874413 983660431 462490968 491579212 41380353 677663115 450235159 936383640 982642121 365438965 900127921 680577284 317663168 854471297 205401847 559969146 335267582 985134764 580409458 235477517 96771427 57039798 769650674 240827229 787945573 618043314 510674803 937707980 815091060 894031158 314609741 12876694 399171773 25731993 141058593 230621565 34772164 209975276 72067140 832005130 293194421 925355485 576660974 861726955 412858012 131345230 621064629 430387128 871635385 981144883 672164565 271276434 752421142 832827476 649230131 356537583 193191148 922070309 716573916 762280625 618328078 918619675 562081761 454365982 551068863 592421236 321421859 387162538 87631275 947632170 110790458 510600621 778729032 532622764 45422269 637969386 20531816 163528514 241184371 638406446 389080616 865425465 21449308 575726368 374566345 478199508 521630627 294562962 273792700 588621882 653340380 822755068 751084110 441657795 62888903 756499471 840158698 958499500 974852476 79676305 113262999 442460831 170988092 572700635 107715266 550637652 45090457 384893851 397732776 843128729 466310869 961472035 208370712 104734005 899337344 940261375 121233764 893551989 360129380 161639605 47942110 711040565 223353123 248966608 149049235 455175579 577663596 586332810 809578819 554361443 885492152 136302476 219595148 175229900 194705119 858254992 374198026 509952852 343466112 21964686 878835976 555127195 8106184 268346064 97600532 902207369 205682335 117962951 896201159 276769297 865571755 493595869 655585654 945409617 942654389 772342611 918154837 131752371 412655637 147378048 54042202 215687858 86366917 792800222 385863355 912864320 442609466 369357223 110571889 254504153 109547829 49827083 785052404 332292209 757024623 801724536 32195758 491044811 275607481 282518047 691712805 462205573 697470945 243238037 155896555 133098659 567345479 163445301 161166146 803844437 195636786 348307473 859172997 382889593 301915318 541116954 158192195 905645146 757833442 217516110 936660087 613134516 204135206 528146111 190916944 142485348 927110684 750020060 146857499 330053893 71240624 989156880 415740989 531705267 844763479 627428086 361914213 250414335 542942227 882485715 948402760 647081428 104107183 102560573 472790598 716092274 38201059 373696593 116681660 856627371 189409775 155208323 632796243 649288010 733228002 283024206 215545748 417758614 878050846 203488916 892932704 402792409 134941404 522339535 899469636 945990971 550921645 874831268 990158697 62150787 425741759 944399346 598702272 398333606 979274955 86975238 547934205 651793306 96787590 435404152 591413523 989189944 5003378 294481253 408739923 457318522 901656996 606001527 418217027 212855508 205766347 976595712 299103403 10668995 831398922 238715846 757619242 37640489 949100748 424437804 395568726 162104937 959042838 879948679 856956561 892288969 402503279 685405138 317414507 634039416 536179847 746407807 251775265 234946034 335043965 638000030 251466678 247747223 323004097 73659109 224034303 357845253 961574027 181936488 27240183 341325897 884185705 31577329 229299760 470151656 9921398 172625630 141029564 991294690 885527771 789521040 7513429 152703495 367959147 835029163 160222279 567996595 32046125 985327151 486312327 206857507 168281476 423519988 354006258 727519141 702953973 695158469 749034284 411436122 141117621 668697988 137835832 555719664 668430365 127787957 536788019 246502922 923109711 809382484 682936429 288305692 538628476 776400525 970603467 249473472 231436802 503344172 840861354 402069546 229093480 119806405 572646563 348217940 551305260 47144794 155128907 92631382 249638571 670303397 902900216 415405475 758838329 102408223 636810387 106143970 671465855 822670582 295291063 484863646 573770601 987841067 267353662 905562016 572252257 320137667 63910976 692131878 31449358 565503468 784061244 757808690 647264460 691509089 498122336 266359012 927705179 205899023 644529612 340298459 898147177 903573185 911512890 87429878 634608105 918230062 550177776 267743142 869186962 353709353 633359708 395257302 267926379 8927541 572517828 210750668 798043660 877124739 890350534 118275549 34645666 238325862 314275526 161037818 100269430 474437914 648402748 762480946 897505141 501475563 899338371 516528456 91627406 581652194 166916413 552462509 776752232 252535177 223189271 23872645 434218390 879234389 750490717 233624758 304189448 417525424 567141971 771167716 555056736 890988040 752929910 450002679 158369359 20966380 457896831 4348009 872699781 950051729 15816094 991857166 153215784 575316477 474124880 126835409 681632525 973606090 23760011 335440553 621902846 458124519 682164971 388119805 484566821 759149901 195212925 762794429 676046996 238881134 987745829 343033759 854492732 161277213 603939810 974968812 751077107 806474248 665370833 53435892 316565339 692828765 838249567 456397755 243664150 720083994 910524803 501231255 600961305 329194911 105511379 661549797 211922027 607950436 135864650 575875769 849151850 289104830 376800917 515238347 179515670 312551762 649843941 683692120 983521643 936654326 876170235 304533695 923181412 125406363 600198912 327974205 210602839 562738178 986724681 456171628 146313268 810069610 749960452 894050576 488273288 94749910 607884148 530667288 233303939 779242174 879041981 107277928 782907091 995743609 310501679 597735070 182915343 3130238 807079096 508872208 289299279 14337095 275421036 362196526 482821966 455991996 635894180 209519612 987438279 221108774 95187676 642325226 788467771 97734608 256264085 597971239 243399058 566201490 480059079 812883390 293479021 426463130 860251477 87655691 387946528 492259655 377710539 729858980 433275153 437237164 88922004 123889833 893055741 612004883 309861248 663878344 645421265 502090122 385698708 70485085 796031149 891391532 367921859 404279636 984038080 84851402 182690862 380161447 232189070 637576954 108828792 742330764 803300777 314763127 28880162 613675658 370490107 227605460 314590552 19587925 581860644 61387397 899474552 847286737 381842584 196405882 494834081 138838169 756925461 593302120 33024687 309818945 627544357 880429370 989650106 773311945 495726386 456270804 54873690 787945576 399251928 471930452 841101460 909403995 231342162 574292346 720636725 635190510 82562352 614072144 123318940 288166386 399005765 537343590 518505807 759320002 751073087 699620178 299233524 170899666 759879129 220747059 834479696 314087889 467559592 38907799 958940362 849711756 347035498 570624086 566695142 758882413 17610785 515621748 146144747 757530746 594922953 175468591 262265884 403996925 653132155 217947261 666163026 357197701 76968305 785831287 897112394 147978124 916071295 136072190 52086297 30473710 885358226 632533616 143475731 929602700 181418710 411095148 778460503 428455925 973396970 466895241 498955389 658684203 792768493 548865134 243132326 423401733 359290811 148939706 503802626 332262928 112600430 271144182 657633094 779988428 303053882 6868635 883575205 368453173 657368056 165651449 999232853 558048281 616167562 701269606 957039989 183438508 605864811 43007004 867373989 505524935 969288655 229967294 969364030 979207948 656743632 679723892 214846314 352104447 315294874 684265185 703541547 381596259 487288491 62752374 88796352 748808484 626830909 166982463 9632123 179546206 739193083 174132877 634662078 411952465 281460322 188386579 268719254 499796321 65250748 582411505 139323135 184980416 513996269 553148144 572357939 152434499 177297836 492222057 432750416 459124795 99519699 463971598 744677733 416613217 246799780 47421314 802978892 871379212 108510162 376233951 527093954 99750870 747755564 972959503 899179105 164718891 519978497 402904588 33855571 552005991 216800228 150152848 939462723 183161147 724692666 48329623 925403951 582973372 844812169 117011752 841854743 79737134 140132295 471256962 821168909 851287417 417012736 507751688 843982253 899917392 338071186 678416135 391064154 272547171 136061937 177717482 841958867 57899088 749906422 515519338 467676331 289240852 527386139 926341416 288860877 702496614 751749376 697370664 724050149 60877664 470861741 232102109 519081274 346659756 360156149 489563960 419582059 945050951 215526615 593370738 523189178 705967278 900600497 163955497 822056691 566142393 428100981 262826868 953652168 758597295 576936662 268171622 997816874 854748060 711638814 509481361 131095906 751819872 428155476 918503397 881914451 594881198 12133308 856361199 574776923 804151402 688352266 782243820 92600131 438530908 443562406 10036414 145335787 210447029 686977181 137506447 903501954 212448461 390368724 53007917 689134294 311410153 786893752 280390638 154549474 284879942 100260105 809559339 377583375 489033257 987382586 962819251 892334905 12728683 566909843 69038729 981704151 388121530 426586143 54186938 416034397 243749083 514221024 819662376 577903003 12089952 919409554 618972309 37916413 492167473 577884528 102658258 63174175 203158943 160185013 513473890 279563849 596454330 383115448 11440975 940157273 181922126 415698443 815556930 482623620 515608558 759342802 281924574 228126980 440699586 367208083 551751999 962219578 977492870 108959098 221732003 165599803 474291057 146557685 997927864 403816748 591284922 591345472 744426653 466145560 17154371 830772120 563941969 742811898 463297977 126982242 511899310 158871038 311866075 297455118 743649825 60961670 432903644 895254623 348506396 862730959 416048453 239183736 416642788 361283909 142706824 163692826 439608101 472194580 368653016 22893255 801250128 424636828 491595670 597291912 484848202 148752908 740322583 913262943 478727744 744741020 361859291 388710003 493343184 524796084 239093240 821938867 598463784 220238834 94064409 598263873 140506552 675150491 538025138 124321386 316105495 553997001 347994508 936053121 485249517 849943861 205574933 400939795 235168511 740771400 479814100 773202231 83855423 307624966 622611291 16901342 799864584 198866966 615197480 788160872 595776926 923906818 802339347 528855383 320069680 649161525 715056712 409277717 244344038 631530559 898812933 967789944 124283921 65167593 434355587 41012568 217405945 176099513 254911926 457888435 326987928 736074733 704556916 326223680 262578331 214357999 850791734 109822324 12058290 557625324 202081600 104859342 569054514 938053878 80395648 969562872 21840278 301015266 809798153 323786070 10003217 483465854 732480896 390170878 306020952 853745001 928535958 897640873 57720675 924833434 38170462 650258098 327746009 255325438 486150869 932479367 610895997 94276470 501628232 963462377 298524309 496914805 725321472 437314409 716001195 631827019 963166176 316845525 611534359 617142778 570286025 587828495 244241210 941718026 224126243 506145611 940610981 308180895 74353431 361981468 159248382 446148241 479664254 464157757 338348515 83280201 920703276 927124252 141868659 986926972 751192000 684225833 760267169 784893898 559306487 556914442 660651451 544169770 185936421 696119173 415352378 425635629 27783301 380899205 199737779 78021857 234744563 246768730 781752331 32241311 62153347 899732003 449769286 63994664 623255711 832812246 355418862 731895052 934426619 518486022 536085942 265487754 71815703 259585336 600819992 161988757 551184916 243620287 216476076 375164184 524098769 727833574 246028558 147203115 45883063 93885667 790432315 585215316 110567146 719802563 925480974 479128092 259944396 555141964 583441842 732598825 295514826 718283475 89816165 871161117 923627845 91800328 490763941 355035626 785532820 274287251 96038780 326798290 322827307 96610917 305568727 344696266 476267728 926568233 43730619 201513731 785272608 772648952 541060209 540495250 576462177 355064701 311214959 353809223 504593781 899394073 371549218 400528242 848320557 477734859 803364167 889727435 771922578 112109479 361883531 390481699 213775291 186405103 720284607 216159105 417577254 907332172 907146800 694754585 618233994 59037721 262857101 348611729 208852983 27275119 226785161 768650412 36186712 502886328 915766768 235812628 285378045 87053167 336494411 794479418 778654368 192878110 835735229 521927328 665200227 263148034 320572277 269463131 466630371 480742606 140879203 579936788 528798855 815900458 493641628 744252615 368539342 433433170 21972161 639257603 763461890 229591970 902768560 244360648 758117379 771983869 677347493 666905490 102302267 330571501 540580851 116262376 317504025 318562147 454643509 847832515 230030183 53399209 780801140 562922706 268437437 720575699 361477623 826056998 524572734 223152897 735732505 656422985 481719653 911775693 334177227 218802690 340959181 250235276 896759222 228038198 503826472 960875207 445991720 451710012 20837982 136662179 142861759 678230576 529489327 665972592 630381639 444468954 319680796 219993662 802181830 753729172 670147625 861564453 567047239 407711480 620590057 534074314 911586878 852287962 32089283 789784888 719214144 259348477 96601696 435562712 385313632 538091084 445033644 985446305 739878960 320938561 102160710 247241629 929738382 173514721 799201477 648699418 525002465 868501407 492852880 271929700 247316762 121738753 503342173 519264957 822507527 776670714 817766261 472971147 50545382 512836926 498536099 480043233 309125049 420542861 635759882 913814191 245599870 164685149 536597220 628248195 867624350 90055699 543496033 325195346 510945322 552974903 47024344 800575012 485330720 230665817 743597847 817724059 347660284 844055040 92476956 800464757 469159115 755252612 286735108 483009610 855112163 145206471 277405866 562208198 792667215 566246288 543119491 346358284 442595401 511570948 87203179 920365644 541865077 870874207 503143241 139808489 249190606 142161578 833372550 60297740 729336803 741072288 304784592 11848032 922414893 459158084 873518870 908150287 469005434 420577021 233136203 565956692 500745235 585267627 597065948 451072183 529599953 304735136 823226879 655644386 756558837 761592097 76632063 10162212 663505398 40088103 579726420 41644250 727211678 428982985 951089926 74533877 494286863 748490323 445216281 830623251 345041129 348470597 704874786 460761946 701610455 338653813 536781698 33281698 273392319 955114862 864384970 995941159 955949572 134267244 308879513 434841338 483648538 932960377 265851072 407605807 945045383 75846652 391000640 979133492 863686537 534985279 361510107 12385388 2795280 16003157 152943010 55049716 43062986 716368917 784042048 244601003 922915598 746133236 221605278 959343260 120719141 830428963 377536171 959760694 216750182 369191626 367932056 401423802 589906631 823984814 426742326 207130353 470630768 891748070 876212051 296521186 881217826 900620812 102922358 138615250 993073705 640236977 459488983 346949247 315472665 238937508 699365855 851332553 386555957 805314166 767497349 968605577 720961695 658620852 168710282 334794422 260261426 499597781 516988628 428548879 225620510 673925799 979616831 669761964 552633571 383825883 813255443 969270832 28100200 436132728 472226708 265298418 542822128 580293758 106886245 245808331 844457201 483369047 275183260 475693757 115420466 66153071 688057033 886972958 196264081 818513789 276899415 527590730 679257213 163254215 960990312 968133961 54025028 982395929 188832598 51902017 810086168 185858412 10281816 418726859 827722170 445293138 919132360 646382970 375360015 633852006 533260113 643990803 784953501 455611533 905492469 645165651 338925804 913024008 584530127 122266490 369115486 327297485 714778737 793850626 7530888 725872366 519133018 945704743 954149595 909679671 43171732 681242576 531956573 719367496 869592224 274205623 671811345 953897177 492332420 941030545 971942302 954812043 164980632 559615992 853079503 265213985 305722401 314047230 102665330 724368013 278142378 160149114 151807390 504305632 950502943 380892412 500226944 205765230 990429764 150500479 32998506 721554050 810370658 272660240 377871575 679997146 143323850 473201944 749010431 974780725 356883296 91232706 986512600 968163426 605192689 697144420 5492523 589449306 870346704 887341380 740953092 491871554 972652415 714617688 307430040 527842206 265209656 670483733 635245653 971910807 211036447 927484368 457606321 637535831 612132360 708873771 102458614 736917105 839095537 477176641 943667250 549134575 235695720 946962522 313816091 288339594 389414641 690681438 122713732 708036739 875330694 997703205 710339636 853494871 819868824 715514892 194647648 494927755 321958118 474052157 545314275 402797699 359586605 957814305 213365268 210765415 811544383 845489688 168164696 342116973 794586328 526594828 520703278 524527166 773652160 6684544 923050614 815272018 66805287 583387461 665547523 941202512 185233912 443686824 676364663 186074704 395326050 706943050 782764506 987409422 109030898 167133331 20020110 259191991 912424174 373779096 978422368 79453538 320786112 678615867 721145862 585804676 176332312 750698271 725993042 386457264 145510424 746970732 511361293 89705794 51095519 115843561 253632213 772094958 569850119 19404382 88752620 761425098 350596186 878124141 894673013 828568096 176591692 853219699 172497318 190718797 310793454 256839547 198587276 907855812 61229795 377964492 595033119 544739416 374677072 527251292 687266563 912025764 934067273 619343675 256694018 640072884 711062000 627422510 320428104 967286538 127576538 234208801 712086907 420006287 399321505 488883111 861316233 547460873 484348123 661366541 435474759 624407746 388140207 151828936 941332809 857230770 520078808 441820737 301748757 802975043 500813566 899978208 53952753 455397254 156634243 796661788 817916807 340184340 23152659 269452022 470586524 537388521 407016026 32015287 766287290 579956893 885309437 330215498 454656637 269431972 819872704 131712438 884774414 853671150 160456820 849859655 204854048 109175318 90832407 649240728 59850365 407848367 38906976 139532730 874615490 703135641 79222756 19803136 819364726 892989868 364704709 117537326 66976405 558085540 952563370 912461768 29427850 309435623 640075927 832971370 778400219 315718228 389205452 42452867 223889160 267223207 759674494 745806623 90968107 969730322 347584826 183093370 159773702 365737555 536188985 987921433 365912685 930556736 988876513 424432294 711525432 191843542 507588003 390117777 863853680 31944409 481960475 485014114 681384346 83700819 639595713 195761306 370968984 383565121 811587278 689139623 768348346 839973094 880072727 43810898 516384686 352735086 308042138 926694932 408271124 469133613 187722340 333743969 973987012 329128979 936965446 571959571 246417649 875556045 102561794 200409474 82188111 324908453 570455352 271526412 566271179 274140743 225316489 163032952 358086305 606369334 463806668 810870631 138338498 263229143 105881714 95808318 786361159 864305633 346888221 757511579 119165426 899726316 711291435 2899859 479666581 575175429 313234485 539710331 276579605 325718152 140943771 290625411 694036477 287599961 292205368 851513495 818651747 580710646 422036867 429530475 801436463 565457625 592585231 89581337 845704201 542486147 290018135 801668927 488065327 481324071 187865818 104815149 220020861 692309564 837407017 510116041 109954350 373004170 343794816 21278484 279692714 448034643 71517923 671030197 326192226 882306457 448788044 74326191 416344401 672800288 659380914 516139539 59524427 30009740 989665553 902492460 339275284 544748146 102763985 136258862 280767872 68114451 32416936 658452260 644095763 902166741 998209858 375783175 738830457 928652498 710141159 67261410 8117237 727671848 128937596 128075584 403853831 995138933 495451246 897956643 21544354 536138506 618307670 954942296 733602472 865606136 318319077 855406215 645460619 983744115 83925287 734676029 744109480 533443908 150673822 588219087 712318139 656043803 185889539 836318183 866434190 318908042 763746791 984269085 470038697 249519751 482194639 284155078 981712663 603914287 53057783 352511881 729037206 670401704 987849592 561446791 502755558 537482260 461019240 464002263 521793510 819651678 339092319 257239805 229309466 943767379 709294422 294433183 297488170 313037316 969673985 382346805 917049362 206045003 901459617 796761579 141455578 472409765 455324480 456503057 682939566 544035461 964232223 176043447 376357806 424034336 8448362 689724217 986064493 451484210 378526139 350387942 294970626 399120675 956788916 125208625 774690287 191427193 452720390 572170653 809253566 211500332 234969230 312873635 180090907 992979 876361714 380883568 782857046 522496146 345884065 5417856 778968659 118527547 968985422 12324047 875794727 504314975 21387135 781749632 349137430 669694559 680783496 909741880 162221068 853987258 217350392 757150389 836132892 383362500 852930481 349910481 368486194 147035797 685791636 559197799 954771340 768608465 518116607 947739805 257535411 149352168 358716813 420569418 478641360 180852874 738193575 773938686 406037842 709243002 548974556 168212626 249344461 299074085 281802184 166935028 706576162 978488818 557884615 298778182 838210918 952818900 748374432 48019919 584633901 277193728 301666668 467883043 170907380 413406818 922761895 26823271 226408455 419496259 676506954 497484942 84576630 521077893 568161052 295105258 758963028 635513037 193866472 973305660 345763192 488298450 504715467 199194157 622108802 121004217 816610057 685063101 827126408 469393081 93185641 168323685 232202562 128605666 50194131 67829735 414560669 586520664 783295294 943687130 309939389 441351070 196348441 287239860 59493679 478406165 577852168 202486732 487998177 630117491 597058358 950207806 83866865 145839777 414416680 85771461 106114409 322525450 242214391 86083490 85975045 385810578 53878595 946684161 500324873 995610334 288762715 280554354 915753574 481259098 151070144 201392077 244400685 854962314 725939829 321395142 666209463 83260729 369050015 282354307 972565647 598289328 463246907 630811770 37302932 283321872 501492426 828340082 808075945 323446054 630567691 995117444 709921780 161482480 842653906 823141122 660253855 130357116 449779501 922385043 918161987 443898706 347963705 330560079 496754 144114337 60036744 788642662 509903868 539731929 237124356 971973791 288438219 735961398 622752108 252996333 399834434 797161642 896700535 193359606 601946909 460633186 228003456 446307191 567306394 133948668 861425291 828980773 707980140 183618449 809668245 94855307 284456828 670856397 707980706 954518076 328166376 519224120 711531262 20148238 616933288 48804453 185895524 403987748 327856104 817630990 841208436 182647765 429717733 168109841 779389844 748213806 774866261 213515444 343433547 11612956 746070247 164065405 782539284 338207908 631223415 104659172 64353410 706601298 160377043 750037360 341535307 469476515 421262498 329175515 433340270 920297851 961819630 738235355 788355878 484833104 343783284 340335682 922758487 254150495 601761287 617134839 37210410 197711041 837414933 871280620 295885407 425468140 205783625 390361162 242890115 814996453 883713267 821421527 435919395 120221471 807625192 186175389 491430048 567540610 766212020 371852928 650615497 689562000 577182336 722627413 452068203 949119220 737408006 840524817 998111089 337320549 346198486 512161700 969120964 342139628 603106339 451815294 227423967 664837435 356956267 881178778 324022009 189040906 133478746 154295240 262811347 404565178 803665830 807023440 288917506 375560102 816228158 422413736 172676541 355012926 803337204 718927890 840352707 865299943 724062977 353692279 582267739 19806093 1439582 642082221 199376489 368611350 376143853 659564826 446091598 904040228 196200772 583894159 71247826 735148492 153912475 449740271 487905237 199096771 811027516 786392830 689621747 18461515 334952008 475408067 990587321 483474950 996106660 506078856 660412963 971177545 825238890 504184639 926627100 504618554 731857301 464624080 582626161 246076074 266882147 312119493 583508788 964706894 120880676 344907631 498915923 697792475 462800712 404858673 933709490 301088887 355175754 515596028 343375419 684989761 212798755 415472660 497790219 571911261 507921171 376929872 162854847 959577680 574136259 267890800 569972066 338858532 959923963 439034395 427463605 940529165 27990566 704924909 237913625 587553181 193049820 51571482 213018628 572208564 86537408 609711169 115630794 844621866 950607291 404297676 710986650 795949203 848749810 97658194 635579994 699583603 615304621 75609838 7068490 272754568 829314162 828500808 572532998 824772198 957166196 94423710 223590787 32602845 421542263 752704028 320567984 154036601 255716338 600275203 878304256 852242922 250026395 842995043 176397880 186465001 915414259 901018698 345143587 872309430 960563053 135064360 934114868 972224294 220239517 800341723 35517436 947563943 826796303 532650139 774444010 991541550 969525961 512561401 779047393 597016154 489435738 110061873 204287793 595422194 166978465 776858804 42049865 634400643 434815979 56233165 483881581 773784701 308459353 524190908 285441811 328952124 751669529 791175843 365862285 654486894 254299103 40577683 683657682 177969369 443607109 421148286 705046816 662947125 481757926 256660314 975355704 53199432 102800215 382460411 836158739 192263516 95008121 119263754 775836223 140136456 698623068 552200171 974934802 18681545 914574608 398553761 509438622 200653008 464283301 331276439 157194577 739918172 768217126 688532153 872784498 700900769 710689543 674249192 102584614 212845776 227215925 370797781 244315907 574095839 878087545 555491487 218911448 30313799 875175142 767023119 932730548 828812364 942312790 830010012 831850482 175466025 432326970 646743709 901221144 464830085 874129142 424563230 495009448 289449530 787702127 165353714 371405309 686957023 818502563 443518591 953804242 228948000 684157048 852420247 344118676 867023052 269299652 883514027 866765339 827249775 572316513 797880441 443392768 966154710 472899123 30045234 788350021 934586310 355523292 277292433 330421645 308497723 208210710 589210604 622751885 841448894 672687421 655402560 467370294 667226919 429644204 445858229 95199825 443895646 168634964 802307505 517727409 375591370 953435078 449534531 4490009 428629396 952616984 489359416 10997594 10822202 75122600 559276103 648710193 339854955 904125938 283166697 440705055 878201662 323565459 586371407 629302041 762093580 280354578 969858010 794948288 581509954 733377471 573698054 610384910 263899586 59815115 268828416 44896883 894782862 34531242 585674969 639933217 784781209 363898201 146483553 303868692 598321087 981244852 907361199 529863525 324144665 762749141 577017134 99190933 167514006 262502870 670253075 942684737 494138576 322477531 896184830 54547375 890941183 40228420 885644368 712804703 463218329 447911183 323971772 72376246 482670333 124183695 137911604 288091622 380709845 630774987 242678663 848961455 440339302 301969212 310655860 652707483 822744896 858718789 77753003 495931342 90619651 532491735 719696607 802340589 81742892 808293793 380801405 700805577 725964852 283262411 852217242 557760990 635687658 233123299 483062380 828256873 871058766 131879641 769742010 779101719 635704984 336548817 140558255 436475111 881803863 396422932 34239852 938226641 633572664 124637072 783134379 329222357 348706519 30314992 968498796 192963386 632238707 887975199 57554062 417927752 691174972 15288132 988075977 163577742 927814415 224402943 850344656 344891037 389062027 559921335 152554682 310531083 101166032 876318341 735469479 753781548 869781370 297939858 644651548 543886169 59733665 918501948 190697401 876785905 451741125 65774544 717713009 67538828 846228934 31637342 621261997 119156351 23728501 31766254 260646879 42932160 154773210 379137001 50644289 180208805 832647950 429345722 523433564 167312588 570639016 82394766 735661012 124047500 229744221 438186668 291770310 432072827 682666241 846354306 727295256 670804513 556369994 926851487 632231142 57560948 506171717 590594701 111029871 684179460 670318542 824108994 226592585 952188792 322406013 659813083 333033519 872048230 295574860 453978120 445523618 781019503 133978863 572281553 64436334 159732116 367117679 292072160 783784681 420102641 896383065 150966159 147208489 363357420 214996242 188922990 635610626 80184838 100083460 514728393 217771237 348020955 188001548 613097405 233900178 132588113 582022032 353996044 265975524 123607567 600753049 938729584 426029322 507392067 878744144 484925227 506420996 389546234 140292006 799986404 452919425 64059552 354114670 168714375 496802304 948780464 352907030 127265239 836752395 186246192 581514368 832659871 751764416 806285955 409540330 769852778 681317372 701904562 480025440 22872418 924481971 2510657 879791932 323065710 308802097 546057400 322799013 275030473 804453524 730132171 923024962 818577613 194495638 228884990 142901461 202425918 979415386 155640430 883395757 760855439 465271706 347317288 105119986 475605197 932158060 565916238 296515167 490557532 59453270 448995663 138669127 123583418 190099837 865945960 741861419 113643183 394024907 207548136 758492113 590100992 66653632 176643193 550935290 121060025 159411020 195387749 69276107 426881855 868762409 773744101 449017978 109791869 454428491 483244339 271778769 624831333 136572394 371957919 85663580 939829136 371227455 575725854 523071145 400455363 508420724 838942448 279615670 860688867 727396614 386692737 141197556 926588842 6793544 529153395 529087989 387684073 707247483 929131411 996449053 564501687 933024893 369700288 889604348 943567402 583845618 421999789 90604273 311283470 901831205 818223077 473807523 156496351 600333172 340775267 862512771 791556072 518509204 126572037 800121792 690269809 64405465 540175837 655431973 420359729 282139543 331772390 765129803 458566759 211401272 617930643 435528667 257011947 471830618 868840716 505252475 483000671 59999107 319352635 456613711 665968251 421649951 713332766 195297191 268457117 651897777 666451312 188080840 961440592 279549723 267589836 798559528 427693224 180844700 542187061 674418415 495898717 18327500 141943742 847494948 688562517 582080163 409298238 184138985 354206550 465495863 252966875 255364592 406781673 200966072 576513390 540414989 403122699 42005908 991755431 207437708 852974330 771654870 800813909 391220839 328559180 927416950 203469404 754779477 461169598 287593458 639519908 88874195 844470303 507733937 414557290 970671676 110990926 248895679 247738014 213481261 953145523 979940857 95235610 671083845 11386123 238170252 745544538 673216350 356904651 48467641 807160953 285873060 399976920 203654453 27128525 48196768 533024600 257979558 386370313 333709227 824036753 591541412 955852815 83828731 816271639 326832536 91917242 851583478 342491346 262745537 712303193 954077065 401475642 798375461 814439518 830235986 851089619 551907212 975193112 961755495 43846043 533810907 900096718 898659005 971545795 915844013 885449834 653349491 51827819 453534050 411936473 132403051 765127297 411101190 156448655 853178460 290902585 673896530 88989710 649867727 592112606 608991233 712311039 490281401 952560404 78094237 191542910 247277575 899619484 151833005 891319701 689979997 901977666 740990794 253976784 930109434 453938594 990151070 182731780 40358549 18348018 696313231 23075433 290783089 538270551 444086966 567165253 997836791 625831570 414309551 206783297 329842314 811060648 320020446 983703788 457531941 494500010 253210914 232311566 846317581 242811573 353714739 88367590 262110390 720681536 420938182 987147476 254253754 137164524 83780121 728406866 525775678 721857915 779276138 864689757 995085754 115086292 704088549 195536413 595359235 205220419 378409933 442655619 482660203 545382056 398291883 608032646 325709453 348809947 506020066 468751084 74769323 509717339 760409335 950963023 716980139 790769130 41013337 690294725 630145477 579694798 990998530 636504968 74136417 75703423 849945793 215315891 666243791 871167285 619829122 834969784 837779990 54184578 725718785 46489588 680503692 560429732 100047453 280152418 437619716 104166160 763847701 227608961 492787364 695185181 542778307 834881405 726470806 334872128 172649298 544238922 540003291 56431905 463211526 15120237 525486658 814309325 765982131 842672967 200348649 891449040 62389993 922435658 314681884 22827783 515444638 241176294 914609125 493418075 938445337 988205428 522054803 8641900 340363887 860338889 541201639 990128511 215400280 195370019 9061339 325666823 856730382 140087945 12880247 379397087 757252968 423839613 145741861 682105199 397689810 718135006 279248250 193331990 387702040 30573173 996423341 954140235 34724250 492642128 691539690 476424641 964760532 886337323 774253840 130530222 14291828 194396784 451847395 997211733 140746855 973597716 800218747 164963037 25764374 657469593 762565537 48773103 385641118 38021570 383367985 117094924 109619686 243029362 609885157 480096008 518695631 896574995 984702548 574432292 691518401 339289957 645694021 475265254 228889868 288696323 850394476 153829082 58428800 150681085 490080589 133260352 864194605 521784144 22683412 590434320 401635753 719578333 699351232 917052137 285098380 608554681 978634262 87661367 89357376 886061728 745288592 104429836 156443923 137199978 886725302 231435447 356009729 10789271 914320194 890902457 31462806 937699550 300774588 160341449 827696601 461937667 11216119 559417826 194724100 901034048 619250574 709403028 293347152 69664801 568822348 123825930 995413123 244388139 401710125 698071375 240104102 214124905 978048007 634392160 542599167 297302445 201404834 323129081 50875531 691916296 253045940 347146731 98853691 392478845 3575163 118887268 708373649 603659990 575577722 742059371 878034928 928128725 255854915 582879037 143135300 572192232 603476469 255864400 518380754 352040306 51787829 835043644 299473372 33221376 206903480 882842026 884117885 870178135 370550366 333203859 848577571 510050968 231154187 986884535 561954653 9453883 868555679 162112360 612422055 454794442 371864360 523541299 695911113 86375497 202128243 224120165 409782687 54427385 647027291 83403091 739235767 337552802 420180963 888850384 872396360 249901070 45506258 352734083 304273682 907104793 992700030 407368651 39286320 917323680 193365293 856097801 10558034 861601352 34555741 898358235 323758915 890449427 653152991 148715724 806450257 643935567 64940489 486716457 757253949 905520912 321953464 168720385 113125472 649969394 52920744 884978379 949932359 492805887 243337472 701025865 786860085 829359845 283674646 538137822 811963967 387973320 483485095 284314694 476992587 19313838 368888570 395936542 853457073 11645233 147158810 177459723 455372743 444979223 376928622 938541370 394659579 167424463 750205775 470543930 430466780 421862818 212608733 818120186 452304253 618696254 447689337 694702737 522263191 20754155 171449983 445330403 798417822 154796838 264460758 599333103 857634657 231500624 131564485 184214198 695031974 822552176 590871673 1487553 908069585 88392197 240134547 429587238 128664052 436958367 976565697 72844006 805109280 699132906 178694771 17705682 233951915 793925053 419453510 193370971 673291289 373606555 375382568 961232279 414580479 983871128 303560056 125234911 823966013 887282493 712763453 421063211 624318068 695432438 981639147 369381491 378113600 492956048 667195434 516628991 397707475 149114989 868052479 364943798 141074296 92646996 32701537 298567651 818578184 673081980 675372963 494105543 750690950 580563938 639974605 807721505 957905923 714771425 3163464 89418528 758204328 10771510 298088332 395990253 691950199 927533289 472104595 713842067 52629909 654242176 744146454 406345912 714284124 687904033 114050316 230059869 556086243 99639769 260653319 552221105 606400415 933486353 283527853 635946876 943425389 211164324 710607364 256229169 900900156 241875825 558244238 523235858 442422583 158676483 237306258 333802602 413027934 606888179 327585388 544965890 496796228 4222719 535712445 159386479 586096884 211856229 559568290 523753092 766836215 528266079 63986817 106884677 224801399 225590605 814939032 695022324 385942021 924374617 821073339 572372846 326095313 688400459 744796453 325189748 203780434 380132924 740277827 78048835 36429578 518987157 853725529 102801454 285660206 714760061 293010667 498457719 875515252 195446017 588243035 525950861 993851479 816350196 815992599 535562170 119744341 968815399 548024842 85288472 576639384 210369154 533610280 13163524 540675332 965196534 6338424 860070903 574314401 921253298 479721731 522634568 112805834 857084468 534909029 87552592 380958846 111544033 566939334 886507432 769962116 282830206 20418395 982984669 556576953 538812583 753112001 435544784 692137970 49047489 602533136 929820568 107867911 396330287 529037559 682499033 676862189 343066119 365071931 531559545 340482350 332731303 927065969 939916610 381261128 272486591 2536687 321606140 556670453 871743982 25210055 215699948 636256532 853828211 963904499 564360865 896425547 847879375 507971008 375031289 958279656 671923420 261139689 145074798 843940499 635928007 166152214 22828568 7093660 480798392 878531738 572481079 915889774 8754665 384821659 517054095 885710832 423063261 449400259 412756019 267701991 954712337 229562566 358583339 628159563 541404620 331850210 141239514 81252753 624912530 358280823 717385802 454699955 585011218 137332170 823869043 951509501 272461936 531309303 676842083 965417105 660142717 706271396 361338283 573615785 766133471 40815939 754432365 742344022 993832109 357634765 315681130 344806989 461445712 528071543 698376624 622407465 247858586 829138919 232309400 490908913 643112462 752898618 790486157 438003492 760505570 134242907 517942497 12981511 245957616 890002402 192195944 28881575 275324574 23521249 850364861 199205221 835404940 199544008 638757161 620847051 449303311 70740615 346520066 116189555 803401147 441773001 825733255 960085905 789968294 606916351 170809533 747009369 730787054 298859885 531924598 340483300 823286923 765588047 713907363 259969694 493456146 73719325 112210512 121680341 555693370 672980724 263366576 730586751 621582665 138124608 166977271 165448735 713685473 504130476 26997731 531040124 563618459 669679666 383073196 892838271 349480363 444107288 654048242 79057414 448534976 295576836 63807205 599440843 845750121 372287193 692837542 300754768 213616232 970025799 851955863 527642735 820079984 30852113 857078465 652075480 875894707 855925967 332694581 60783336 874438458 730681708 99972651 362097909 778135258 178616609 916581483 562197042 374812059 411185367 423184601 730536143 474383207 306746503 809876982 37479329 648693149 683448383 35007190 190083442 196362881 256275623 738105702 905491830 329880992 922638899 436532232 250812591 25683559 250293751 890309295 461231500 138428203 63917618 949053325 154221961 416922711 45451008 764737233 969204767 459633501 833430360 751370859 634480079 46846730 546787333 951685260 137127990 832699696 421630328 79142980 341676803 271608825 873060588 153847848 442450748 422036786 715128734 466808661 546553688 563324290 643675014 549747445 736964197 388266010 769962864 123132596 907396623 639174675 213253033 292033035 200558962 946153669 31279960 427376191 893395653 475681349 339245918 950482707 214753968 691944594 529118724 787634948 766318995 305086267 115018888 269191539 715707676 226412731 836850697 137102281 223694355 373612667 347179097 579829694 580036709 562002414 655289596 344906954 365330228 471933320 183146637 748742177 126813719 91445842 947511552 381488211 828563968 273429322 857019017 959843836 396860448 655874939 740361863 779841172 304671990 739979698 568491631 668756850 191130512 212359506 275426784 390635645 301659737 202261479 617316403 920002374 584930493 10632947 337166526 933389908 710147080 556262456 584204098 683273304 850535727 535021411 765539629 125323794 823208290 758101413 544182821 110697581 232538903 92729506 784911610 821514116 63029988 681299782 945715909 937577530 404528724 184240339 881500637 62423087 317163621 154449840 609239612 38323502 484080889 468511337 837529076 222614974 327492366 268609875 78943415 367589750 650860075 374181094 357565018 246846038 837059390 574459646 108760168 320013816 922025952 827833166 532666275 182976044 495276154 699616581 285813281 981111630 492691232 217679152 832366707 328829317 20152399 309065787 519231090 179540664 226812705 919909964 754808895 580692813 850337620 395787250 905499530 460883813 318148601 510465889 346494511 418063619 143673247 881918836 158277767 469137367 836566409 438415679 954623661 858322935 31165342 490867082 603835149 400827918 22330346 239779049 209601654 521620408 501305279 193489679 33248807 297234883 27774408 400019080 143356980 482984280 972675375 483569531 350028203 127449272 598083343 52341328 200663960 143958834 563184640 790097762 35332210 355390963 636927330 324989016 675866379 172593560 188128025 264141436 364533269 597914136 622911490 483240689 215780428 726473488 903617200 374757500 862348330 403923511 293772188 903215706 302309566 659241824 534518873 975283863 913737896 584967218 536620944 362432923 605237617 20511183 315185008 550333932 388158625 626541961 791173546 656945433 778597440 772145488 48060271 79640344 667592460 544584752 387632663 33141304 660175452 425921722 242074269 56723991 603016522 278821045 534192063 67528979 980846309 826843395 533487278 648306337 757109904 686397765 913769949 398178659 697290620 934347876 641886876 659529042 595919610 68518225 505983736 230374312 440346780 501224064 75445673 14750866 985129531 273957012 821683916 520893793 609018993 618449388 9806811 174367013 195053048 474779308 748658984 841092567 883536132 275768139 722152576 875990813 841206214 336160155 31363156 584947366 44860814 437023345 116027386 780830888 276802708 653648217 757687098 929402245 867359783 926293594 315183085 632884279 462793224 538334849 736094167 228189310 743292900 397690242 696717374 540719947 164946628 926650807 934006251 326390830 294779445 809556809 459023117 57050910 160967597 647243666 692019144 988966739 291886135 452924080 203869355 717581880 926117944 352755604 15163426 338487954 147363440 585660459 271978975 106339675 498025246 728331513 466436210 754267703 449910389 84990859 109320947 302916625 22423297 738544344 314772719 936015954 937262952 120442224 586924351 716774346 634587956 606009484 317490130 181175492 560445085 248204850 431212634 893211091 212175147 778748218 224070042 444060845 291530210 483102269 399234302 966915063 757782108 307615759 247282529 941096113 173256632 171773949 822853377 583143097 515906947 598873850 148915153 549095667 101611524 176356081 265003376 421663391 614092303 695829660 58724371 684155402 505880618 7705433 155297315 586002057 671179345 290979417 995940772 210691795 882713586 198218771 397589392 576819110 798850517 63919699 354538981 240293545 440995621 748991881 848814504 860525902 878984860 622313522 811297438 568043535 311971622 292736732 943017769 735591411 224628992 186454412 248229658 86524501 824736279 123863084 717029431 702190175 201200680 250347110 391718151 892204075 697891204 871445359 949542475 150689034 132351590 758089250 447687308 37725774 719488474 757373685 618098944 611454177 942886781 20266158 975894127 18669739 839541580 779225345 425052657 234322898 46202858 139791491 422299778 160931993 750124548 995963052 681956751 302016501 622322022 441856295 264144899 801129607 374935612 743268425 617575127 205866179 721277586 832903093 790971079 502751515 421260607 1244303 150246815 948934186 153467030 618744520 246518894 530614433 974611578 324232080 174565122 521578869 875601350 697501558 198643950 677518234 446429210 37468753 823873458 905568757 272805494 842818395 602973149 518099513 493871081 727944175 517720898 397008525 971261116 646418233 475588020 669252021 997844828 919037574 609015113 18903984 780477405 936481956 141856768 368700 703334684 174934588 478654947 275204370 829963261 368062421 226243015 954662214 627432428 850314541 800565129 146136021 969558997 875637548 434524732 689814138 72879698 334076269 343892157 665276735 957553930 660094363 292101708 279272855 182829412 645131214 986625714 83990984 900074271 489576656 247717916 765427065 610404737 348964282 261534317 439857950 849257921 686389142 553961346 762640486 874327604 33704751 138433939 560658394 785847189 986537655 977101955 654448897 629684439 994673967 219070554 455215958 571117314 61937790 460142696 166895781 226407460 207652732 406250645 757318922 238369402 855081403 200613859 841108528 618705372 177571437 342854788 131523503 709664378 611220286 348353671 60663228 568234153 469810165 966954853 131659701 806121585 67051321 574284418 131204127 185779325 464152098 451056388 370616045 236600481 904211622 947665495 109874057 128071690 200275212 865037175 890642024 419633266 268172792 728097898 584676421 335939964 143740188 313560962 814651283 995151199 597477116 308644940 508206054 914280760 320700276 160156848 685128389 929192827 563335650 901677808 268954849 619691134 953946399 323760707 226748096 885549563 849101777 442098072 99046270 835559516 86504273 264377882 837216385 174448396 421013557 746293923 64015994 935420131 638517889 969529309 905758456 869046811 528933846 735053948 991206411 478383369 69934177 942151228 189363377 621399409 693527477 525445135 76240186 70460853 227304485 790330021 960486018 844528161 429625271 185348345 956960018 979053511 506761477 672024560 909439537 349020804 144429387 145936820 212070470 982824865 549122183 911820130 105126902 323141818 509959447 710172561 993013323 977272210 411346825 442520286 150254132 868539591 43166022 692184143 266513992 455124273 438329974 310442545 480606307 303574436 155670372 804878022 960388169 505363349 29524949 972160267 362536627 588580949 451173291 427132678 282666373 437805347 417479427 26324907 724232081 78777292 205230389 506326382 284253215 104109731 923889360 361584062 255928415 215141878 962840854 978299794 522377736 686625101 158740138 102988818 952564316 597325117 935253946 919092089 537289935 493603814 662726215 71377926 97571361 403589721 700740387 717145235 743393873 275383172 801110955 147888130 384724633 403578329 596301342 520834708 134366771 929487409 412007009 570457028 396812875 879645367 14768338 495809825 943158654 698392072 94521564 189705840 685382760 37971416 386314271 509756641 884110614 126159307 979239950 700840449 895517762 1312725 860437291 953974240 277921301 109397015 140519554 434018849 389901689 340022925 331233616 384742380 407282419 994811298 785965235 562826404 514194794 114294241 607253830 571357867 416425674 163219352 92502512 824598876 611287868 762977154 13658875 361295225 48014656 256960938 350191260 950931427 392783732 441100400 122088946 941204481 392194476 353915801 18536875 643909897 920312298 539184049 245008634 694702255 48666011 151331024 792970134 716995164 553411164 398754742 827736994 327786959 738772810 650129415 746620988 458116227 545169107 391255401 959745492 337505878 785350933 895201063 683375626 572468585 893653872 443717577 302797242 601740813 742407769 294483275 119099872 478629063 838305484 178957244 700217145 653681951 478898696 639328428 566914245 393119521 500833525 947020830 417920071 42230239 978912423 369057768 473530065 360213235 28176581 552142260 166097888 829818408 732254553 507338843 881742700 139079638 633137154 647238371 881534129 692711100 287026229 381603481 351737606 893727016 169626811 441676225 205373838 100011233 301293755 135078392 51951534 580200363 259642519 706382813 105722027 606317149 965297762 401118387 546637574 59415065 720032364 842728466 224073879 282522619 939528709 321080457 211472293 151989804 33846575 951011771 189449726 211084705 937555978 672464492 798628883 818950573 614891647 845376476 885209882 338061465 476463270 714085627 634004022 576418544 272023632 149654800 275928589 109838409 103560402 50345806 553288393 870122009 443292443 4357200 55126716 923790428 102192668 333624754 938377184 260168416 651019034 280060392 766732359 879804047 965610535 133247478 568830455 604039812 853751946 613923278 362352783 272101628 755490440 709516868 106948933 945600316 603127817 228003974 43751395 898143131 440762838 602164035 767327802 632631312 132810823 336981291 319015830 419468042 791620522 349112665 207960700 404854040 270196291 846757107 596224735 919140277 630400884 400069415 930723971 148175587 68837045 332297252 149550008 385576576 416341955 123851792 295184329 54787257 94307332 605760129 551060110 835913723 796271095 65671923 53208566 443340314 978325043 705512884 905983426 245024027 186569452 17524164 371041152 694784635 817171995 238822761 446869804 361820305 968948466 854321227 88283330 611935924 706760493 652553836 723832718 582847222 641753093 912198690 347839872 133682970 283938089 871013013 898398028 470578509 256544443 632353238 904534520 928235134 398548308 707054158 4104759 574230000 762024546 138227482 899549679 398628999 655987936 157511216 138772303 17791358 730594259 323441893 678276309 492879488 542793013 904759392 860549944 573475583 580206936 678136632 23715066 218577803 240493493 481997266 581496253 809723295 780977778 122073577 415834436 684367768 207534090 515375450 629700642 280890324 172048834 890149573 97806837 896427546 478442318 13551003 769850087 68876670 47488768 771608387 245439427 585318244 901380530 873894089 197674912 303049916 816888063 804092692 703215454 624776275 357753042 546060266 322147819 858471248 543846793 577587965 901032302 776607869 520866542 784957204 227799007 424586259 515258652 73545972 232598094 314008820 578278601 744931847 636415356 790937128 235424215 108063932 113493896 47956544 730886768 874272519 520086703 253809745 659970564 980004095 701067515 893283742 379510213 563498872 730645221 692289621 845575806 660450353 701392426 315972272 693854217 866606167 36868632 355260798 590852223 51768376 871010045 341028964 102952691 882545634 872232250 682431225 799726980 883425346 228348660 465968116 806954099 764223090 158934826 990273872 423657147 425406756 403445190 286220161 187477822 370134229 983246340 587637514 489055473 564557630 181070049 571721241 396989653 64034044 189529839 655839038 118513258 636535296 935934960 536239634 567880223 534504526 37140141 898280018 529380007 8296431 562537639 245584777 201606654 39698152 379797048 467984815 950197507 682460992 403658423 580461483 288173750 549516148 197122669 677748005 16384083 856040044 294867533 362606377 359240715 464464564 703505931 748172072 284932920 390639521 751349503 546060615 885592919 674117310 442084456 749466743 749882428 831948664 707454415 851631244 845289016 395890295 753583180 295467649 308533570 371651389 90822263 748745408 582326646 999512580 350899118 238486714 408581929 619677746 429475858 752559995 914985312 661484352 197455695 317645564 346530883 637908264 707902076 800452196 717396820 914272645 753550766 224937013 782008326 594709655 305756025 639932846 321028347 949234053 356599675 589031167 486547650 934239154 632271216 677537641 446858176 946829605 302384643 270468602 890697001 209072325 232579442 927208295 277950984 655178731 447989220 996656699 392845938 966880498 475877557 48539323 301397824 167484282 797724388 973233242 100123915 429529225 790589608 887763518 49781982 168268033 4664313 971108814 309183445 789788034 56247936 222828075 872846985 940666496 125669877 291275215 106143032 678603285 784609046 396207272 803943055 851504280 690716149 944424018 23008238 166408763 200796670 302565578 511198535 478876464 383266124 113929996 849247045 861593163 335643678 855409750 639901842 59988717 284137853 573039205 779349496 624729963 284684860 789124483 31070234 720554908 394987769 967282218 301579819 351120041 241087686 621823051 858778259 388872205 961608446 288171006 297018024 244351595 412128631 534568893 778329458 947054959 299780601 913237836 544803042 883203279 164329906 932624059 840134202 284922806 851382238 316963345 639525945 735182106 897581689 956040457 628882660 845432725 917030530 611379038 823714159 149412327 627761394 545941046 489743961 170166012 660886053 614972125 629995152 692241293 510826720 668197033 142151624 677638670 760301287 202501435 859345577 349704955 810871530 182838375 358628460 388245835 81399138 53427462 532491408 261383281 350892899 474028641 35497630 317223922 630816014 408726486 858931239 5656118 192868189 958662301 403743856 441947976 242041998 177864116 245778987 627350699 511968342 659935261 453813869 237522296 355183339 465645128 279218981 395559825 4653457 604368664 343881423 203952439 554506644 890781185 420905540 96270474 334600236 14835355 374446796 159144488 330303211 699926064 681034110 278020392 815563034 85481768 246070831 55415170 605232967 491211198 568020470 139839484 88591763 79378199 140023020 122282010 692838602 489061568 174861426 112421078 757148838 759908 587136853 473756125 893006571 789891459 382385944 127831058 628438941 904811918 651711068 400885377 714389951 173925994 831591552 5606064 557896370 172931800 747094275 746741234 555348432 388739370 519687792 563403167 104146658 255168210 568650304 244335947 593993365 359525267 983907446 247061091 457986512 711859242 149749845 993298916 696562221 779839583 173148822 712701507 298996587 246402352 414380552 518471677 327414246 223127624 801758268 605264475 911161520 637706352 677919032 679105167 361720825 720614250 307680348 128820385 239097256 229071107 145483478 706197289 212467633 393551330 951351925 146862581 164078021 567964326 810154283 632702756 764309102 696737418 630268613 176710907 951177346 612789405 414767426 515455932 164283082 704642014 393452858 120752400 356523988 588027253 995175478 922410849 568901959 386861460 342970168 33535418 920351395 231044117 190393496 741949540 647977325 648182228 64590072 70728127 785228443 277022401 817193734 223001217 930142092 848941273 389010811 891088766 412895223 431888327 91417602 693769361 472855359 676985621 544980475 333372553 219890785 987685794 119024 538447469 55874838 906745009 57941194 561703193 28079817 455916799 730171335 795050545 300131695 249724343 595869936 365444568 591251863 557556552 425203301 345683595 51742403 260379848 206143020 112910874 400805066 744136849 11559560 559929506 854077018 886344651 479280274 439374192 325911627 485126264 882511002 368798708 28534889 1830639 978674884 833598272 520366529 990584372 159363332 799787551 870083237 843346449 562394456 423760927 705894423 334157305 490113554 465279102 66143661 859070895 299773099 485522038 793064507 947360461 236526966 533060380 123547113 363049008 140712212 955098758 483964100 616512155 408700456 231442976 414561446 346144311 718839945 497688013 678781082 309952935 666921221 14532384 999440526 29582366 629420008 60938833 405477977 95105973 278662910 918505264 526425421 882989770 293559725 161379343 699470268 727385746 908549142 265667178 244172181 597723519 559488290 991653605 156892070 345178149 947222424 33702641 913256731 186977555 674301136 9994622 779882320 327721672 549916202 883651345 256035011 616387822 388732216 998839548 947989359 567690645 138057043 723926198 757466482 70021253 477851603 989025253 922470765 280005975 119045000 189002729 449959917 196757460 508082405 12698779 967776967 693760810 445901962 126392277 82981817 177380309 921351772 370913825 432430880 86177615 203545661 424985780 624508007 748031036 36143440 925038691 957418357 984688299 662322391 438241004 674683282 730583097 849634903 901575886 700516929 225352486 113619888 630990451 950063905 438790684 564774115 802369759 253444418 452140016 730742453 656911484 306261156 842469337 160952263 99637396 367777602 959922458 740949735 881951809 314254294 348485327 450421251 862649762 912673422 505141817 825886431 376771990 683543568 698027355 378747986 552624645 116037510 432656326 889904419 483392601 782894487 975525744 758933430 85032457 69114591 706701063 986215313 568847724 630134855 605859241 475446665 483058085 868501914 442378309 471478829 542043510 37400289 444529541 637871798 589799233 913671846 326530073 500817312 665045788 221365379 473788463 836335191 837220644 603953953 304875459 131662215 578050138 368652313 743258615 453592621 843385179 888557736 954350447 141061551 227460897 687848421 66358035 743261661 521532313 330527475 723198122 169338788 710823950 605458012 153550143 615079418 990284202 447939107 976031181 469069979 557841729 761038502 456915610 709944515 105454319 854126167 826035047 17210818 345556707 834868599 863424382 434137531 503793573 604984431 604122472 117080840 541346942 275593920 478023073 913142563 734629196 457524730 90434168 859687281 68865047 641580553 214254586 944387424 878787418 93384790 284317334 276821947 78423822 78323673 980550202 971605942 444821132 351469867 26734421 404262895 206717115 429435849 253450420 424228546 176991955 934141166 631002117 757449975 306785459 244358164 616964593 176832842 836054636 322660046 860516774 730355671 444053335 868186143 949319409 33479381 108308391 897181137 764033804 804470499 499238542 363153208 882564623 961410888 254163346 88118369 14674741 397972216 843917482 459058385 151075182 349176926 239760402 75026718 751002329 633450662 238122223 955358593 583827099 367409855 806589784 539954364 873399695 930836198 177691381 218643002 278904891 136298798 502354528 22703474 671565029 418196552 328709736 182723017 993103107 177391705 818364987 48666655 584825414 387002326 196775864 96223625 987973567 939445657 602930004 776606892 138244272 487300261 292256181 920678966 879277815 960275570 405679565 569022858 941019560 771790328 217609796 556827518 767338630 508638060 217824156 148277003 193211396 271885616 354553631 404511295 825015582 568300454 715906215 24357024 824770387 604617394 276370913 703422802 91472838 169783854 523881721 598385551 836780617 747787876 921433084 458870421 184208391 361400566 381778712 63977270 851990840 543946638 605488209 379421323 539208582 438325388 108797829 183600401 14761309 705757528 45621327 907119354 790789377 726061187 655887742 158960972 336812135 776763823 734789321 6601493 596117649 962690937 453587842 318984066 464001816 533122963 637197721 172885854 965278117 612693886 381615219 401307858 17933571 904843671 925042286 245814051 491521970 626265840 89890239 445703016 497647280 721241428 46931556 658426189 602851900 772211407 868331158 799242966 934057261 846262609 688361481 893230693 164632618 833738747 334378378 16013403 231436899 202645628 384114247 11318236 844542875 497733839 177136349 166133379 615855259 808488143 618642585 57831999 961968724 836096861 2628639 673336375 694837267 534350317 913972203 586187757 851383006 912892460 243927739 755679101 829023370 573063663 252487603 979329888 174842687 141714478 381142104 496080125 136065917 358209264 8836893 44449902 575947944 820568587 88136360 592681978 785360657 382625248 556438675 595630992 768451298 124847831 828013274 547962822 20381405 362383692 129268353 411775848 94079412 275589533 551484898 639340751 63611948 126510453 291456452 604258250 395058971 708257226 881875473 777408665 526610658 574615839 550693835 374064674 505961390 550900309 807235348 747056715 188088305 270753336 221651025 759628166 486643929 409328818 925670811 761783533 543981823 896600098 759127439 982469586 960128639 351988526 755538029 939375662 423334273 85139450 765051616 17602249 352961364 546540645 887501644 997165772 101356661 622841526 258948511 763736498 321330557 211119582 723166666 68982627 811948077 183276624 744387682 372508754 208618283 581842909 974304172 705889974 644448708 70118464 647668601 949514021 32583639 316703083 121890140 532182283 44352019 293507650 145480593 775215674 478337875 773819502 743712508 647124928 754110606 437475466 457079564 299756626 360820823 666742757 133321890 17331750 811669976 888873116 424096453 24862746 12053533 991137054 645013019 45949918 9065779 306954974 83089400 571885172 932290565 841954319 383572743 531374568 947034660 632768341 680668672 99380876 756086043 509568243 954403890 595058285 694350548 245654310 716641357 212434285 51871992 45510506 814869622 419449904 860429785 710930027 873977923 714521503 409311527 754804940 339805247 14264434 704906768 914684924 896557749 120749775 37388894 241247348 355127133 850815732 437250235 249569708 327228344 962522071 516485558 998563402 837988521 6681085 545904124 570652296 265506176 735297005 478430022 920301411 115737710 247890705 726340798 479020815 900383943 670421216 644963995 450692918 799562774 755316089 755107479 392778412 926155095 840113531 103898897 363889629 911301900 192801169 116685375 593863444 502463991 232295674 612220314 234723599 66446438 266414221 735604105 792262238 389376220 167021958 827268155 916466393 45473996 42051068 849045403 397119503 641709140 507071582 933184464 248952131 985227052 798635338 952206622 395800899 100635551 741549301 330815555 414202021 475323563 43839380 196220687 356347569 701741130 149731783 558602232 217351121 986441431 182986798 118716356 991688845 5627915 256385774 404517930 275235841 921784436 207236035 133434391 36361670 141568564 743780598 959422394 475293098 682961045 941205725 813920862 694885465 639101887 459811619 541137397 188860614 70858298 391252690 996643955 546971056 141581773 541203091 514707761 373030051 366214452 628197870 311534068 864829619 912904970 681953415 947885818 204380291 955258480 749253398 536368670 361081378 729388137 898698675 957382665 44761436 468399829 783083354 870639338 644357942 669257598 390258951 60369674 969913544 812549649 322721025 378051705 931367167 741652104 823040908 63518994 70637728 972386161 872174802 754495035 722906284 724950713 313224595 918293883 635249282 681302378 87985701 102952041 262269811 224162325 978725088 94381244 804085009 414211367 977827263 368036163 432706262 498053161 19932022 11368823 587292227 463735419 236649485 452369350 555940029 889209402 79621455 117638973 16079010 489114858 758713997 573636341 776231279 244625560 660574855 359992841 355496154 285089224 656155430 427976742 740737729 783184738 737121895 443922121 677228116 38423551 312116488 835871860 759319122 239478216 872616524 48360584 694832583 792311977 372093021 143407550 35066988 183106749 977964856 172412156 574385690 941415670 203693967 759836973 604133707 380452436 580520065 865660289 886233660 381844607 78716090 478074801 81892731 890266298 837182566 753207192 285270230 731122292 273552538 834547188 146543228 381577903 674538670 761236873 409866518 950004659 417194563 1697672 138517410 48364829 933432863 503976339 266850783 33632801 839752082 712902629 453864987 354543653 948580013 240325512 366290431 650396925 56771167 769303205 504728128 247767804 232707809 291657682 899567970 239634899 349943843 268276702 26156086 988556992 437816405 36866056 439505593 192245141 965047350 52955266 927032102 104427906 727515582 632160983 700472601 257195145 473072996 564236433 224515811 257813717 564591921 819217892 453914514 121228853 715896612 494661124 881175337 437865245 43918650 779996547 8119789 23147602 436404812 504053953 835913395 755739963 299179588 5905241 935231517 766772801 537209519 794300601 197100658 391640354 943424887 23418694 585730122 672876968 198549427 111562052 513521034 390908355 37032935 913645620 401437767 23328380 102618169 150914156 575632345 557277974 558680253 580090656 839533904 823463290 968763307 248713653 864168315 172114454 358343278 2103302 840052815 838884551 531135939 963993770 232921288 918573506 249393348 952023640 793373966 735512608 440960196 995172812 618144358 625832196 485489857 495771268 239980119 348877005 217459355 327074300 615049007 458839868 141427825 947685401 504900808 17224413 492095548 471741671 5767220 751396576 452287427 286110634 662306987 376128636 403335485 554634002 103766468 494722442 954263663 107819134 531936758 37176571 15884998 181888168 627353025 231075926 309044724 425741033 913610149 359406550 918820594 658553608 993145980 275839502 241403212 534324699 8737322 379815525 133711142 310977948 535445176 125257946 32147900 357232326 2367052 344829098 557179486 45599824 23250479 703856176 550142940 912969699 360573226 181622371 514724712 661212122 366733003 47540938 526488479 718714559 664419094 169625163 453448013 485329430 68186923 130819403 809101440 434712492 836156146 465482906 695331422 46563237 313326865 635317029 668225186 921596028 965279440 695527949 138113670 424257830 603246553 578589129 847223261 79562699 738516917 853590377 612206885 38329531 885760771 411953896 356344900 973357722 964630369 538079355 849291222 296259742 234883978 611905951 343058612 195659828 847928326 509439039 933555341 135215813 94810500 28014207 370375300 75985892 701499897 976425206 844798048 114123265 648619489 114398619 760351130 874057356 850410327 69990041 614570149 927842626 636352235 277562427 123094592 387339830 730095252 198967924 893770660 741606136 318595355 560379075 343857206 303953794 691176406 23415176 616531147 185415370 579976941 470266036 252158138 229653406 850153717 659013973 98456799 710420687 104921508 466141639 192329594 936564997 907446038 77932309 549033908 771182510 766129168 962938915 438155358 285399226 183431994 605488626 138893094 541198678 324460077 463322436 139869849 127928622 534498581 97787833 934657831 489935842 702433633 544767828 213102944 554813203 383129122 362629389 830170695 797511201 187109687 134259881 357760600 845945372 266245516 777763164 416753519 896923078 475479221 238051852 53514384 647883269 614997749 525882481 973650808 349679590 763097182 908587701 184826545 179980961 127167873 44943203 163977799 864064961 695756495 689654676 964310881 900901878 427066416 890340192 751965050 424775085 98959653 179854876 337782167 511797035 903206951 253980155 95677295 529106837 365148359 206290633 492185145 995943305 1695488 116317571 603432300 313644220 59121726 769671242 69050562 552407045 224972927 218286223 407882621 817162447 324051135 783170807 552669591 381910119 790197963 679279620 632781407 482758141 301336827 321181482 247837148 224433130 924771703 190241179 389102986 547566610 300051298 876005705 86976987 361627800 662402462 643457593 28387702 544427040 533876789 472513172 88434641 559150264 332078733 647465727 184926623 246553946 865809305 445994227 181828747 436651857 907359784 273084983 689223124 152874659 473474041 851853110 738861599 50950665 404303130 595962154 608948275 672300940 32275644 388600649 123315252 3616086 92846015 77311517 227338888 695631759 586029310 944515184 571199088 643579366 464603663 78144637 730480746 783670002 993831683 721650961 254463054 134974177 827924125 952440854 189868486 426077639 926044054 392360075 947588426 82854584 313311516 815175034 868733887 185061909 863820037 728127224 741490864 932964247 27926205 169631544 442689804 297066548 396400431 608281261 4281083 732490298 15372256 987577199 460093230 309337277 198171559 299096043 622701434 988111728 999846479 942644811 855413022 829822074 587636064 169100750 320718637 437272223 108617192 476219317 317340358 159589140 450211928 112977718 226363691 230383295 197526427 845357090 30111126 925913020 816244293 353494157 832494780 160486957 995824715 620780003 571721926 691627279 680486702 845352493 748202939 913836162 748839159 312256368 747635727 572588159 915384405 455370 572876027 279440439 891013410 774313772 408597284 857672698 437809844 974335305 11922806 913608163 619263149 15491599 68352044 185234427 476990421 119853216 61312354 193264101 280705395 907109130 118444488 192977880 318649098 577496870 680286260 978730996 783733749 696922898 795495444 985934686 864901986 617883520 173838383 534036823 404272565 169926599 352882397 811637924 1803130 82120163 892611088 64639077 731417203 283462616 20801413 461201248 893167524 182298203 914388053 55788190 327627029 29607536 531976148 665469442 515107376 191952144 288790928 810273468 410762801 326367963 308979309 621598631 792780932 200669981 98352821 584190504 67356732 610560530 461475764 384346283 911417042 280339710 614673547 947377107 391350680 564351168 571149310 52918011 400754607 510154807 334739902 702897712 806538544 365418782 369434765 789776516 464364876 952390599 982245728 408106067 111506224 807879692 102432078 421166577 179955377 99291228 97065505 371491577 395541713 946859488 809350053 413006541 911693261 236738571 270604583 216346726 478581236 674795997 900329823 193240012 413867443 751217091 149685184 933904389 511750923 767666659 31192914 731609673 19441297 549253304 238502431 339937915 230520181 387915176 918287385 595106101 425665184 175910762 3431235 66496451 843565286 411804483 960390439 299061867 271462580 578898878 665993481 271022162 937937248 98529204 852374026 532217063 544566536 3445157 473247926 297310144 885800659 618379211 80618977 279045077 454349798 401006316 606609439 65907430 968391091 979481386 661876069 41844433 166720399 390880081 287367543 318337265 818360742 96293187 130274675 338909708 529621539 878699611 146177058 112253642 5896222 200056256 338974155 392975244 196345266 142061656 767411605 559457894 447962645 196989275 594707674 76722468 563964966 105850893 757924309 624123335 621906152 960087257 902764080 800862030 249679155 279022906 503905032 74067666 352552527 999229676 850600275 620144611 172008401 617493331 412229494 536039931 759038538 254603743 469689972 21729093 65724611 46617333 835858071 587358249 506328660 582245210 802649240 235774867 349606807 837642707 317040437 842728947 899520580 983098063 331407395 539458234 588755459 881123694 657677185 783059036 251836120 299027346 442883799 346601993 506665367 213026634 626344694 117060145 181297082 43529681 966393006 719804089 637615300 382075419 822833884 529014976 973955825 699866085 581684701 750011400 723107096 727832322 35876692 795092969 665585490 940986294 405016558 835612774 929648064 61714706 213148853 670636818 248628580 428661832 902724360 832534920 599688308 789881910 410943424 605158790 163380972 724731570 30036287 45009817 610281669 26706815 481751779 533530501 678737062 902778686 193617721 443651099 511440158 106559396 422376049 94260398 936679385 855514049 542876304 104350834 227019715 407335473 103272428 572415156 52842458 145778027 207154380 749747895 500596015 56099580 618376340 437208419 144560640 257541834 77478227 743392495 333988940 632564842 454824208 583357484 912646427 688676901 933215294 678832050 130796556 732524422 475442864 354700639 279444839 509919392 874087473 742614599 63683779 384113824 594207840 322357665 128756625 167254759 497975831 859430136 374192269 66988584 834946710 591570216 42224886 70273183 741191985 416254703 231505116 411060917 58676822 840189511 880684667 433655021 736966128 219428638 701365117 417472858 321383856 196792222 193962781 444455874 797585046 931031994 98038158 381304961 416965917 676400822 834580338 883623618 381408919 97036371 812131627 859045732 914947826 285841242 693326632 364759905 827053158 359503205 884300808 444538623 112059545 402957175 321226212 676889441 688480838 205436467 632145778 904612915 206226464 20289256 602657731 4271825 903948862 464112735 665721479 42954051 351854948 476653136 509920659 911644517 823016742 321853659 717969953 791368711 452835181 693298138 546809187 547297440 74437560 90405261 378927075 654944556 357755315 106365185 106890146 958269608 583088296 157400026 800242679 437572496 683960776 119236271 784431786 77495958 752484821 897957332 743712675 110164412 116226764 913213548 602477375 833637460 668636405 458812244 50836528 709099741 992366229 432832812 585556516 796603918 240019170 814691099 617597979 688781870 904844969 979460782 111340162 563079776 664401845 535091021 434418520 301069232 368543204 329736657 721675888 940284363 384119468 173652394 448707072 264841421 568724712 542638781 641020356 912909194 372659661 25443571 789646104 61008439 142167384 545236725 855348818 322377978 117839613 70220764 418770808 157776399 444935740 88062849 286639766 21847965 298876191 287028407 421767434 718929835 658619969 71747469 281811515 842558053 452551314 583724145 243134259 710735504 436787196 839833395 108960945 465808188 307120859 417238601 45262389 887064671 340054395 742139763 468969675 141968499 674346327 349086481 785080625 789440233 761971475 560512315 400405596 965495721 917467597 445409745 228015692 305570978 99253504 88399915 54611519 451318404 550904583 905365780 105227450 395952410 658928258 448772353 373484920 811598769 616184226 568896827 695840220 682457243 3933520 600697648 443085355 15896611 750374466 811413876 605429150 645897954 199519981 883405325 251042162 489264698 521161282 290227038 361373964 132155504 36138069 85877352 904121307 82574802 492557767 118925904 793643884 28897803 199209396 649892768 493723299 106649380 460426916 988673039 914332181 225591889 67732882 48538902 326737972 605081385 290843884 740010627 943188381 832049900 377068248 468773512 557318986 84622577 664920799 85865541 809262460 474466906 370432723 758495719 578786382 514569516 489890051 268826372 859564182 309793686 643407993 307971022 688404557 267560479 586563099 816649500 50036063 676655078 191287711 581708139 172817970 256920976 424417183 18442100 773087272 360330061 556473850 671091035 965365809 358075903 273978898 105239981 116783043 929168761 719475124 49558008 83670964 621336854 903163027 564075486 470661626 516280887 409242223 204126215 276339018 414761139 188668793 201292748 415645785 539693126 762560208 222880927 752333081 610792570 516909068 17231824 482440945 304628813 619184332 308876713 421356148 722311921 674823460 706202953 110752691 418372055 2318887 906256854 85001326 456152462 426804659 443712775 698440474 327353301 104178389 317056078 681219604 93079865 213530268 277678532 300346389 107583043 39372517 684011632 368964911 797594271 859850316 313372939 521454609 307461276 99858506 313272202 183796336 836075884 887095415 675195161 406430234 3332134 834956649 256756265 910427960 646021406 350317158 668036163 214873222 946023467 333777230 453572875 999586511 200988946 816246963 464460623 224558924 85146751 841499473 480143241 161594395 35990844 750098329 303577409 248730136 520615553 753677665 736887913 164287486 556575761 493531341 757300964 583651639 377718033 679878507 267472033 311642376 718832998 315286841 615928014 924265426 348422077 793112251 385681724 730572855 54625402 201022709 88886678 867033518 892571537 361828683 403383919 582725202 245391006 23161160 371331381 236831433 779425360 197192229 220701709 521365575 831395253 570823783 766634023 188229018 150376418 340963263 878792980 661210812 440040736 691122489 87368036 57260214 472507908 327331915 544822463 578070578 121875018 440769797 994340562 670604584 431123357 602818158 39105645 920025476 550841842 679998961 312236524 584743413 326541991 766887168 856022237 136146534 334908577 348899854 882396736 258215042 183541624 652025530 203039368 538288451 995432027 370199897 196005484 846705614 974426834 537493107 746718290 54010303 867361238 855200228 10031746 166068620 855959861 911453513 745221836 424101800 278357964 921139058 618973836 764439598 431928248 699468455 812600016 38470009 449038295 988986823 796966597 784934568 241300615 639427456 979713218 200566276 948472854 854269091 361433396 608840370 202817458 298001896 291919866 833344041 869266799 570966617 985386109 679214950 402857321 344827087 839120406 323159785 674913504 431146608 961902020 582915857 413257700 851044345 975797953 983419265 202342320 581715860 309090841 37344590 872625108 971662999 127318849 257914231 741961449 237312903 820308671 118653097 5278245 634959703 118481373 412701856 837183109 219489960 811990514 384852107 528314830 220024133 41172751 460689612 662612232 935577976 686844759 119307960 578007249 633377492 980143750 316597984 848396567 377141253 589065469 781870101 535367810 5762087 674911071 809286531 43058108 32721952 19604296 154717051 764293163 441621998 302530306 32199887 721466596 480359743 677015838 831915265 953358209 258696248 561028170 914336500 970345882 836395325 812903550 430969997 956596835 565627017 7593568 90670907 581607289 307976698 416131361 502615575 343985954 665516832 406348593 337703280 206268038 106476807 133478412 236147178 582892024 59577234 595723068 796661873 274629044 946140523 68822318 88164872 34185765 867412630 611055749 869872247 427150790 524903940 211358823 476393820 42245512 541559732 727757758 273628923 391114221 928795619 101661236 969963995 29594984 728162322 474672646 284941716 239846138 608460717 329379087 338034484 724772054 975756229 995695718 306492634 516735643 892669696 543675469 421757621 642820017 740499614 509576706 828159099 2862931 638276112 595475167 24914784 92250104 533626466 521679303 459936371 120885032 873484124 733792442 18943111 128312771 957578663 830089160 706946145 778357408 99341049 629782201 772659923 856146016 292231436 265486727 550878482 667589496 322086941 644825333 724522079 930374057 945540131 830716153 239868625 147483056 209151954 643518420 512261400 937090399 433826427 408264805 985923008 683131756 647748652 256229333 484795955 23807558 369817014 311961553 708722108 964242055 493797573 571629992 128786142 895374495 940014125 631314349 467259913 116280993 150972770 663229051 515996719 641412712 730250643 453592401 99666324 771676799 373648460 540490111 324475749 257191940 700638508 725609520 31958130 66361677 19935738 870419949 804718063 759459996 317811191 767696953 364167690 529285656 272650370 625822368 75965727 901573628 431405655 898855704 310080807 424975517 580313573 566685730 814339215 658665406 951073800 135253142 963492803 493142716 967303277 242083818 372403899 265346554 864166903 971651602 909143926 250434002 983368324 751882812 528664603 925625492 490164438 573682539 216059121 155199623 225766278 734270219 60657005 207540169 557024679 747164728 516367283 647546236 293539481 269228160 349365187 644885608 115495668 432398127 457970597 626969620 726000912 880803200 875073842 609139958 627899371 398944036 497912731 337497636 289929858 61608023 13723193 165452704 766396662 2450418 283405906 991569685 892487165 502272997 27267641 4173182 803890054 721102360 41292432 491006799 773422691 821999512 872470254 660049231 287894055 693088312 277666069 560808707 94853656 772717451 963429802 274169661 862380818 8884413 678191632 888071955 208687111 885794824 9593413 900498559 768486971 83627400 764090610 945963959 446001401 957826322 219039384 518537149 868280836 182722107 400150560 336373006 756946148 326379040 322457769 455088974 688406881 557143577 401012771 803056949 478208549 476870419 746695167 262872803 434194017 888169522 323422525 468632385 598391950 159541936 731292262 127375514 630335704 818871578 498962907 441874024 207197615 559456348 757779402 122291359 536914690 358404264 584855384 925548885 317117683 921788332 207590298 286368563 94835794 760304779 756809065 499353811 403565331 732505326 915990442 245952639 89495174 426171310 368314167 508819908 872471862 371205981 771147951 847514222 226709105 696911660 577670373 94460139 911566881 400347593 860427108 621314034 544470826 12492594 182857410 34746036 350997585 725410753 278168552 263240105 865300990 898834989 270688243 628016876 420178190 212977786 496492653 559296491 207189108 747453465 629664897 335448048 258572383 311471695 700864462 478622170 691806266 419722230 841797645 127880589 435059947 938025092 247212440 180900516 737915629 302672258 72012806 364601760 655811470 158855130 456719971 827510184 7941021 258332198 821765499 442326573 374868074 160056435 736902338 93319162 584557473 771188687 643098012 710342370 576123016 385311885 526164067 634875839 196092649 71726067 552680249 683630358 598249239 731169391 240224921 412366367 811629468 198389869 84428658 231205154 202300357 580029321 927855159 128278577 90474914 530891635 596151922 362785497 239768089 432014358 152667947 690930624 80884168 365590652 626056323 139129741 758115569 249973810 877747809 840652289 554598047 971892408 605304663 964711695 479504785 117156569 844704450 284095891 543946525 721947198 518893665 393724190 284590162 689706534 387060824 377675660 641700186 545174096 641935184 373150459 255012058 827735229 815287025 729190487 729540672 118220166 497439594 515947002 779862056 101539759 820621268 188880104 903261404 750565859 194782118 90548991 374137421 500843102 647397535 717798076 685507277 807975093 925520947 883289664 590669258 587021181 750417046 917600309 735574701 764986300 453220445 27888365 754211457 322333944 887415148 145432981 371439864 165129222 844916593 523196058 388700303 257871536 740884805 191286812 594507447 587192284 535078688 690479653 430358185 914492273 427036548 373497784 747094937 236507425 162602716 830300850 89924075 794348390 342415921 813588412 870338385 395336712 668919919 883453180 692272770 871180895 349887830 331890361 18934369 509140043 551766305 547686313 402077474 882867531 162966399 162865641 550203478 294907282 164985931 248330711 596399395 628732524 76460825 520201847 614524798 558952562 945332171 95243941 919962913 555219253 440408786 908844375 223597215 313339679 69030246 321832401 69720839 988743945 151212199 863247589 989882196 647035864 81361015 110616430 617937247 705195644 990160419 407656251 702495166 817977726 175749785 424259550 748870294 108608206 238659657 620382278 99976586 611468967 517434423 751036226 504286530 401447063 340471727 997423231 10938368 201772820 627329238 172127422 966271083 617701574 786298155 482885298 119500425 459413187 561206325 933809343 746372894 57449310 994304327 95061349 493471315 883901163 903255830 868738092 306859988 555766917 309602540 762566969 171485686 444714393 433754124 669456786 590565610 643939152 923528275 522859571 845209897 663221777 519815375 208625495 292564844 733156555 147175155 650873179 619891224 930467307 737888719 288969593 966928563 215574433 812226826 901307057 884152981 917642782 145722051 741533037 354392789 773161606 986471789 859007793 75199271 476854633 570125962 108075237 375207880 501443668 977493542 674603624 153108708 459994747 198324527 637884530 307305729 451071282 435039313 462413599 135053465 446964494 391160143 983529905 988217700 665190677 65197679 618002970 818399075 429442287 29369072 84520646 240496421 740459343 685951948 218880868 214216287 882769161 959106491 122694909 928380091 849269099 290057333 978766483 992638840 306879401 800449384 889518992 99404475 674774933 294142608 513229591 451911441 346918518 363245291 999120571 173605449 427638083 932248740 140311928 795523885 424957619 604696948 297703667 765950063 621689265 746296597 881648724 416959010 301691666 113686640 248194846 116124857 948038205 537058091 663240580 536781354 920707180 500928308 786570158 992968661 955696070 856392019 55483107 860581500 336004721 228111234 186288231 961914832 224216164 87668516 170014775 105912017 119418782 857259241 994226963 824760679 587271205 986940291 388407740 123589861 246848964 614450806 6235266 256158733 339604615 696743648 392777676 167312933 798747949 254384688 863553095 418996821 41225803 943287876 251512266 507010899 688294569 814957118 520810695 923873917 225557359 72512386 17701866 880896548 790178425 835208594 617270067 966297087 595028465 558096637 300864784 114653657 266317822 862864279 718393993 212260971 57932371 990841793 937766233 542860111 232757493 223184379 199712799 914466185 90809989 753885256 724992628 622199620 414550340 40103914 610785429 216486551 635374529 691036702 27134209 680057125 27591634 26108097 397424133 125069971 814550023 885158878 990614730 699368392 402260782 654557260 585903186 909730320 236268432 18410904 677212079 323945345 338751324 89200785 402803520 313858540 472840250 414854053 748080944 119734648 269160008 383015137 347155667 114231586 665046034 900593808 945391888 186993570 572454177 556177199 210377962 694088145 597331388 652534655 316203256 427278443 170428295 700523426 957848738 727052721 306020232 273746278 90245966 528306887 237656025 945885828 448605148 326880453 676211656 497887395 522503937 903883920 591577556 667747601 329316588 287937659 319329012 739392745 481028898 485208364 950880894 368202086 388830054 309553497 45050822 92943417 752405495 7708530 274772961 299067677 518521766 649146261 600316088 571838184 916817016 32780753 203412596 709307774 21572427 829292146 482366440 686415310 353344156 216618920 537532978 408526309 753487344 897580259 35397431 673174887 162611260 569427358 509605908 161385083 143068420 690609707 277462152 441656126 316231081 242316450 400482216 829432119 678064921 962337001 910064264 734669626 247030996 561757887 596755295 869767478 95292082 819469613 351839665 820957817 824869280 19760129 860968918 150014976 559885843 122829915 142507853 338717315 477375899 727577702 633778615 940895776 672867052 830567281 48215407 374227905 208984748 858452102 868351240 603507473 499265952 781273431 802279844 40935643 593929654 70150236 632016526 460847807 273399183 751049030 404130494 81394148 734867952 869285227 322138890 365973865 727481895 526066995 117212232 857319952 477884495 786426532 31310680 262732801 6716704 518455064 583494833 516891377 880082308 337041157 232801329 47861270 940747526 477799536 194741936 266363491 917884929 405383182 447253825 420192778 216870801 530713506 287853172 616456314 85241188 882355854 765777794 705018914 822610214 179272675 891268187 69915023 670691071 688995731 445772042 871102208 916984115 469774701 7017956 311169152 849270017 269602940 596972930 968648954 934907089 338828020 470225548 497395774 987901959 930467734 971375661 267726815 367269229 608156650 164514060 891645233 718426503 190141846 991039498 530323063 498715514 458692279 749070327 323221810 574215707 874779402 157268356 283251425 72956230 939399409 845200544 908406709 240881635 526298227 840041119 648940065 831603917 596563215 77773049 597558235 369246044 196048853 436994467 175581747 206383851 371204262 142218943 262002222 107067358 429763715 733606847 167492650 65702327 674877360 433436627 125891159 225223958 707167160 549943179 509351066 445781829 645066560 324823107 280642551 349610189 432913304 30273243 377136062 18791129 910704867 518708956 796026798 537216842 365828702 572691340 634440730 187341462 686267847 453351839 9526531 840330607 840084947 265699590 516380638 375598948 490272990 340475761 54890685 558508451 267483640 475884345 960113744 51158764 167836872 22912424 317694120 10856946 479833661 432632996 860380210 238027660 455799140 935789739 34503901 381512655 74661521 654542708 73981488 882821181 758542480 451714477 566367370 33803469 727122904 968606990 866528372 498782244 656018940 916080928 882058016 20551293 130385953 130339436 43736120 701788530 238510165 255112593 214407410 579780697 982422096 983777917 505007854 998019852 861854026 867045928 457219402 450807948 54512346 988954415 385333759 223358050 711600687 297313035 743006680 461058950 683954910 557723093 893128369 163711666 188835634 865818687 148218576 188612304 55488431 7134101 804074949 783412322 336058343 8006131 173510527 67060739 936555308 327846550 553701524 341098529 445067193 586516387 101211628 871902277 425415830 5630018 419397988 535096446 421417038 718664966 195546959 924126450 380293975 897465651 118784832 763364260 976959888 713150582 253597846 206567170 398949222 647615068 577369855 775026072 620158895 361771654 624848103 440529291 890894249 990747771 908301587 965884792 904385130 645396889 467479728 270723853 455312681 84470708 625392142 116808168 580050396 904709901 131996281 274116722 769535475 475107446 690227826 99869761 539607923 375051361 869465753 308916349 636246770 422967633 903500536 728753247 637694630 242287594 231887730 937213373 488243753 744404852 258340135 177852926 955156811 475220676 934906119 347841490 868958246 681442947 403410508 329690726 792806382 147986951 160677394 227491589 82100589 478901750 543634685 113439220 254528095 166018334 849599528 760852556 982556510 941133714 622045046 467120765 934613699 953035457 391707377 289373907 335216293 867965254 881858598 487371142 379466038 708997454 277191441 395067599 846487207 85167277 133322947 827900133 828498309 203459013 875810920 695506376 816736767 260874891 264807254 204641756 693551132 380028415 920857722 61164479 66637804 576595344 333401062 502897153 803747825 903402285 103930838 241449511 865301540 754661801 570306839 58425020 568295437 724863270 306958273 485551629 888855473 181315590 961610597 789805880 811663829 536967583 551333039 320285077 21654591 791393978 850531871 498148523 910929628 596898357 918046401 323579831 616142290 271884283 245894513 684642550 257253429 988513097 842986707 195290581 78142128 987844011 115442981 907838030 253541042 798623347 18661754 437198552 737855189 809746142 303766521 127144187 432762244 988339102 769581046 544900847 632026583 597746609 214694151 682600647 459924022 809271063 466291119 198760275 442948201 473313930 500069128 768037206 35754056 740373915 974327306 822120261 918866626 34011573 498746581 449927591 603658754 205568170 83215930 593862168 807581118 860743015 824740071 512980974 562719240 199811761 529878898 300297779 435817686 446666399 683685443 478505039 151877417 869128979 869345800 293139647 642566438 935300914 6744174 359715473 342451469 403830504 777363385 458698217 215455825 675312030 238653872 229638486 191895693 259720966 969593914 773814967 530277010 694672402 87254469 348892273 406417228 220128453 915252305 51078377 251028242 675229874 639082444 888867268 769624360 694217862 613605405 314488586 57552941 375947829 911589728 108000373 885190985 210949970 292171088 630380770 131069043 597183750 218918186 919096990 121440588 678078179 962539841 682839988 790216173 447384888 929877457 535520695 832843615 640872473 444074053 74799089 558425479 933833760 124254797 879403647 620051511 43295901 131665013 337839834 713563123 247155916 612165855 417745110 731591605 12844470 924780894 857585547 418647367 767770438 450970351 971920164 140539839 915924348 316958840 824905796 733962449 211828203 953132182 445083890 255691604 690405379 449810220 732891721 889244093 477258172 465478499 12435292 719732298 912978420 127163382 350440158 522912102 994448662 361830801 992000448 161410448 132006283 44304628 638611958 255956544 803892110 55908735 586018883 818743987 52209785 244863389 983501326 861098116 499850897 95953913 837638057 398117323 265574476 865049681 428610903 847917106 359809741 258838011 846266284 578978406 927997527 600063892 254907503 175290961 134535779 623887715 587691879 940794672 530545316 940518728 674941798 579588242 879474619 27387027 702396614 212279522 886760757 151935755 914647425 844812904 379399274 739559843 661927465 253174892 501625746 177687095 488573665 291049625 642934240 84709786 527612655 536408001 780157796 77546965 688073114 39688611 4434899 978207439 245821910 579915216 113653170 485710908 943139054 994082284 856362847 328575735 503043733 28592470 924945976 699704666 91846241 828628119 11048567 724081657 453644210 965275096 334300180 263225536 473835365 378359482 297588895 73673183 845635511 731858379 992395742 453170804 325104392 756211679 60093846 141652164 916302488 761600386 36479550 659230406 451494464 740607891 521005374 155911902 553775189 486909465 140764413 14063659 788729723 764997430 389585808 640559948 827050451 711744141 717101903 80404991 165808125 312287577 103721802 811803809 154586846 39421428 737331088 338793363 46531626 915437645 807638174 992817385 923364014 529413086 290988847 490935303 265426845 299985686 965191460 917202881 825235673 453991379 778152194 65055282 510945491 636978579 604083884 57669449 301570841 191660021 250593628 918703005 322703401 691179091 441351507 717748481 304770360 531067271 20210808 838694033 716554217 388240174 374948745 403423023 740648642 191875453 536807143 792356297 496558198 551250273 140658173 217361067 849653568 736031766 888395943 620178375 740554034 326243098 683131757 409191900 259325269 102742587 493830814 238950510 297810625 140811592 236135149 332595246 482252047 146290144 846534520 121651803 668408420 868375715 697825400 772881475 478356046 408225677 480300807 725371851 339333251 560537928 254911060 183114971 836673057 198400735 553094033 314148755 225128132 736005927 550610177 143775191 949334877 663302814 344030185 37342725 698020228 790023996 777306175 371589597 437761668 582120028 489420194 223540566 285812587 32063269 333711704 682062541 614057848 850143500 80405065 862489429 203693767 309545740 152130323 741803181 556866864 726082039 494185860 40477197 548043730 592765481 146572954 233679225 433888659 558166397 922129869 15112206 255880160 858374135 924495381 583886087 653456874 816358051 792709552 786354559 533974853 313358233 928383206 34016168 391372489 794778292 283712962 173269445 2388757 910639022 174164086 689198189 624814232 761384611 690603207 332959229 988002709 837542399 378175837 919140212 738416361 126005290 558420926 963905232 967379526 589094699 334933201 158699327 803356053 818458888 429291385 361758569 719577927 345733060 662622962 623577562 192914874 76661817 29274902 765984447 854222538 432731869 37270998 627593355 56168094 357138366 337782651 373495910 400213524 721361519 631346531 600901488 870871898 230680407 755364542 394248785 210245076 398617812 953439345 41331832 299827908 500874807 397331402 73414138 345840988 268978131 596692413 394756493 44024833 759913154 278827581 437144045 72000627 770363515 59088307 599501142 596757623 808178919 90291324 959626809 875619545 323632718 535493919 738013212 860203553 129309641 586148991 670658430 674021144 667296248 631523770 242208270 592194522 514816407 58050799 315220656 877972370 789155637 999192078 442816241 682434288 860544723 917909404 977079882 990375890 868678848 232458726 34158723 370938688 657309837 93069397 82857801 26765415 723462159 63166185 944354770 220298757 251904547 64861408 704997310 264534789 175102366 366082957 415971977 633569432 992823613 425797173 481620860 604018308 840112146 635625947 230771311 170994858 605151064 758347301 180505877 689869043 293138633 772331948 861584944 992788661 838864010 385992306 602852254 34225171 985500563 915148386 664659628 786959486 897240397 312979062 782017883 715558555 943363380 399104215 14541581 336187406 307960572 336404613 748049306 714958995 459154177 377956983 849976405 922801439 799057653 962870152 99893930 265136837 257029632 512095645 749225197 467308966 652692338 215518240 565087394 744616536 158307963 592758404 548244029 446087695 737372757 93881772 36666417 606702408 775080173 513980017 376517511 743978274 294817298 306916694 942434332 197542674 385604204 695496551 323629601 163313031 216762372 600218933 682495560 239593511 558427472 40857960 23352767 251448303 822142943 557473396 5764461 408895748 66243301 521922429 965965984 433269599 812529628 809247955 828904703 861516979 983092159 783654027 331168138 170912955 88667954 22241994 533766576 971057266 688490115 732216574 795987768 624892123 632355471 209360359 238465163 302514228 878078661 389888812 181412678 582077525 901798193 59471345 918913469 971294964 973523565 539872298 546017861 701420029 169196910 693365698 87010009 738119082 750935562 655626794 792914098 847206658 343900057 748544245 850666091 958315123 911384133 665738296 549973515 476256790 532907765 672262105 22631790 137872032 437393287 718110317 886738995 478819036 985938797 53786529 167303936 875604366 128712136 479403878 530506718 617887275 791288188 390416704 252526129 47288980 834145427 527099214 203040394 930534105 245908645 153943309 641156193 793405190 558185050 575233278 324832993 230732417 878132141 970119273 39596530 171474717 181436701 275836237 242774199 934811807 787709696 164529354 162873709 811132641 272481906 85257614 547125858 12612996 13602020 786494763 310834982 581194085 152522063 794343436 612649333 373297462 555621351 114536598 243291218 6066533 730450152 933909056 5608313 176635255 91652514 465679426 532399737 391770677 686682568 414918784 868467583 669591006 441791506 120005579 115281227 27557307 274759079 396370412 130574494 824390592 206175164 78625695 557459313 89048495 273614589 369467667 499542864 962405738 579766967 516668020 6308447 959199036 67779693 171046961 285105561 265196476 829248123 162997652 801355380 703702811 389114999 668596410 339388786 26603553 259805530 760634894 926478168 82907948 627757299 612092247 618861658 766698618 227581662 906577669 781763862 205073769 976108876 487334720 901218806 148581632 190296784 828358093 748775890 432445761 420152021 60191322 757006727 861830270 51292683 897891325 977929898 247830300 96895605 198481820 719609996 579489983 717628656 377128476 461929197 28170312 911385174 524669240 569676335 478220554 966056212 164299920 953109838 60942414 981883793 428865708 919245351 260260706 446385319 271994671 661848372 225488475 315235657 61547597 163638372 366151661 101625070 337594741 711578732 899792881 344358196 9129140 980550170 659878666 505404005 838002505 238706965 439785551 893414469 414334477 472883192 173837710 57548638 847001075 846378791 741115008 947159361 968964958 673962135 659721297 202974317 549820568 564319348 858522372 380679158 985896801 121645870 157221509 730106889 594388773 900979835 461306875 107184644 106264622 854966015 954813382 825694766 483037008 921388894 662395891 347021361 304611350 791548531 532433659 241556070 137941137 606431435 803865964 44495422 456075372 72583717 879690625 556851662 962118005 650404774 154987025 664843114 957446202 741043298 680762555 494896060 273022243 811390080 187957149 583599402 253411838 631451611 488200965 179002834 452478334 531886944 644251929 31761948 694256624 180482756 380051825 512645810 988910308 570020459 347113237 271004880 512674241 857477123 189340513 762342048 711099021 844475081 11603681 669589670 70660328 795291949 239392200 373970173 84802801 498276172 644919620 281264215 528973173 429024799 674637085 142582539 547683623 968239801 747853138 616983284 611263542 827567068 113287356 842650706 929189892 205692638 971360529 577269763 132374961 212118380 814904996 480314558 387023963 389698780 278701040 361551023 580867674 108097485 112544067 41143642 688817457 804374217 737610930 781503614 149958377 735523229 284424454 699578805 389323612 745824956 50824768 511010623 76856324 438630108 650399209 975868899 487179075 387785230 320585965 372643724 658655217 211818495 637334234 577385132 789916369 379099518 966367593 815066110 28410601 133946817 636866992 412001079 843442359 860253658 23875640 300900687 193451670 544130080 199457272 785203801 407242289 218305266 318700346 548597122 204334962 828128210 90681408 688799898 123751105 811992315 386362723 3359179 514353837 736583432 741468439 935122331 960457575 871632023 617876291 812171082 732428637 554551657 64536103 91578329 727976349 992847575 603101453 396673749 571862686 40010689 375177884 499523971 103949304 759759899 258809416 86330166 917212989 41056478 299899596 776717109 672633662 514681215 103723596 693663540 494600395 934139976 381832650 771526778 602571377 838534695 318783604 397167876 204064728 921238713 906110059 698795148 610835976 98425641 209609986 404170293 946534223 690628352 746707182 574754399 923547888 859558401 798856028 780187329 587252172 456305023 978600236 75982252 403737320 835118316 862325127 328969807 718099877 534768517 410558259 883001925 734728609 183781601 116190799 311895055 503284443 586653229 81392563 815181889 33712970 437509818 715893780 706934817 889390806 791169450 631815116 49749044 191476341 8144453 298310259 751895821 182898935 847299124 765282984 480341701 470040931 472919180 267744613 471706103 868444219 425443241 759396062 41072405 534451245 343061188 752137270 849301995 495367937 364561698 413009656 95948746 853301651 636025472 53554203 409437236 852186624 148426339 687725949 19141128 110290130 4926544 329760391 130953371 565408025 122653619 825076922 384769405 451644996 449672890 418598407 318397810 155785999 853092502 683774267 524818528 833018807 326387602 694632146 294692229 45309926 521535828 500594330 413456305 276661020 225821948 669178566 912847270 915899346 714549470 393019174 374770099 915140795 843445743 946836855 790158030 93015019 550267963 4298052 698020695 762334734 247589488 243040081 513545934 374051362 135625819 437172692 281094373 380423749 579918858 480305599 857535271 952725884 916317405 512502318 280248314 565790024 859541862 686781956 450472693 317453758 910558814 557443905 965931772 356788843 178846240 251836219 196062608 437016612 253818144 688992653 507201611 825229259 890244827 499818272 885934627 678728870 363970395 159372456 580041046 243681519 213348853 685859569 226161653 265943321 650509308 583048445 949873012 702252499 883260641 348218982 664809425 446931884 330296219 735679937 101200312 498853614 521356381 315427106 670826180 446979425 363604381 261463907 282430722 699017343 519562343 387974406 790801673 152273595 494763035 932332632 964912324 645068711 647680703 215926071 14273685 295932690 614550742 476928340 699174104 339761879 13045436 729090667 177489754 818479009 342419994 337299107 307866678 497811075 337618865 603176588 108889749 189248462 146118301 302491977 5747494 56969864 393369394 122500713 328150751 501242305 261657554 386959776 250207857 380053704 906255598 558284083 189681765 837732651 971787279 967315314 902430239 789620142 246294812 75885187 870218661 853108033 688667284 854859825 968598673 822677588 270074643 981985204 705880882 571061888 307457328 599702928 934226773 247757187 925984069 242294510 726103430 444770042 94989502 236047262 44124687 370680635 185937470 867819848 219343641 172718866 222639935 150860786 422047904 93981867 695438652 67732572 849456534 942747685 228729936 250062927 621610396 439469773 940391185 358843853 596214543 735362835 497642852 938476855 103860574 984639811 72995075 123696488 152558382 396103836 733866814 748893389 164114968 734133738 463818420 4548082 784446857 217654578 685183631 854469142 347662830 443552717 17254843 149533648 335216944 570359368 842307242 723821995 230880123 406408402 124625912 335130481 713615049 839013621 174082435 586394920 579601135 883848533 307659815 273412914 963024763 163030696 603061217 158282186 833125508 662281871 11841819 17656435 683674716 419633416 977754567 805886633 903366721 215844956 209026005 40141169 998623164 88800724 577574865 812496791 64748931 431521448 151672091 115496201 832339936 817667278 335436341 481785115 922866551 899676318 601420343 263497151 240639754 49745010 678270570 203771037 823317239 877722002 396721948 872478933 25655460 923419934 555143082 471761852 721589415 93973340 462798120 12066522 896782726 132433569 634658165 753741176 362123646 110634501 622828732 293556739 381832457 731117249 484902822 411249734 159402673 277446366 556115382 925938342 994494464 432362374 729832621 90378019 384814110 954931488 814244114 869387578 923126616 804962634 50040575 559181529 189510990 640691352 164969583 972374105 871857049 741987253 82679881 552341349 43487061 360158777 70108363 166751482 521580145 890309587 515647733 30029171 506501076 146909976 108023300 388745945 748430326 62885790 282103285 232907532 782529178 905871518 444668216 417291215 702162863 839573770 888017222 394025250 38395764 500792868 915761532 271612828 613446429 976603117 48713698 702076851 940618749 21449947 183898909 891088842 938027637 103623763 814412534 466542091 537376008 522257148 57408495 61357768 142336451 394111260 755137447 955232623 29655407 668240289 846928401 906619906 728349041 271943249 581748557 568572473 624158248 604263612 469264760 70639575 178305732 679245381 951406964 342887502 760387106 107824995 435849623 657048158 107413358 571742119 497122859 834368021 427922836 52831395 862221187 82823121 556274513 735030272 182617415 748352566 337029132 705715655 621046042 42686765 204769483 302957128 764555186 304870923 772608490 989606711 215231100 464297954 208704122 928155397 461883145 680450536 592079568 361002450 394744263 438025409 367444745 729030679 188742483 72618967 258081100 221261546 104605659 472870558 165287046 362607783 991862134 436369274 353293599 198509103 211037192 170906654 143841623 408542973 117239249 609154299 525321646 147963912 346315133 331037117 700004031 864662101 264805994 94802116 401145520 938884761 254475270 646306032 41137693 615436795 561920682 924597482 197453972 480773484 310781392 35547331 889211948 30730648 261993760 31338160 979107857 476310889 371758804 896535826 227627433 196415781 339075948 282936733 816091010 935599395 705531092 695395262 191444396 482665516 365678405 6152965 683793752 963535341 529631397 212348004 682881619 402018247 852114225 947465566 514704331 683946144 714452379 649569693 382722322 824643222 225536236 421538073 433394771 97690399 788511657 880923446 197165984 651370310 46597342 876201982 670595602 363044165 989563678 21571862 216827282 472095537 727330042 899197855 510252040 420640140 821515296 607909530 108691949 844230100 798689965 284957479 476477099 793563044 609211563 513161249 222552648 854721716 379848945 75377029 494459188 737296395 529863210 543495179 823969252 482646788 78672023 316347149 748181050 754471751 381132155 811511383 194433915 34559327 960459762 413516390 464530189 74808647 702188082 537645318 351581290 922431193 111697176 358799480 441198634 217587017 647852937 573732961 187301472 957889953 169000943 397560765 589412784 523915652 789837062 429036322 395067430 282701133 610957445 962269063 765686695 366775805 65590432 700699321 371342156 126692257 369527173 697295591 123634858 699588009 801203660 337139114 864690261 730383498 526475879 479917681 866099860 743318151 710151856 840120436 912058061 731683725 135351848 511969237 740187442 748323758 60883145 297682114 421082975 1645971 419071303 897828504 371475334 264097234 862997901 133814342 458208596 311415726 18151020 505105209 714312431 692568924 216586236 374341610 798468689 424173064 992518382 967595488 698320098 919812968 935251453 903813520 974842124 202045257 601808776 452169417 713626076 518400183 530985470 312892701 929959771 648517703 490282577 284076255 696133448 153531267 908932579 187991960 20165219 85360520 476112847 31567430 731155205 582253589 289017619 416504511 15640135 468672081 556065551 306311400 44375590 59365305 891894095 334699007 388910354 669393130 422909324 421325293 427054831 565122629 217834690 214474846 166494328 113902194 975776328 534446068 106343684 952845430 401091054 933777111 278764674 562031690 824707407 48141399 566025430 710602423 334325214 10497428 940366476 729140710 448839200 74700367 619029211 988118335 8745928 649332466 824886344 727512240 375688475 463372933 618491216 601286017 672393733 441958219 409778559 719728222 485677318 315706645 569619975 937563368 944406049 415710931 272054894 10775284 734631157 128070169 889680203 985053318 564941917 874657072 224224025 807685755 376107282 344239492 541185262 4821023 589135258 74405124 483037582 270350966 746440536 895678997 722802999 516947896 594423548 592451029 923414117 256922049 366225741 658169698 13401592 939254739 732496219 481473725 146137720 673762717 55739079 658747741 705833424 829293 846622178 353488541 154263722 335238238 367807059 244547933 398638225 440331801 124104240 613821639 785744827 910298945 108567423 544052380 305773527 22723736 898562674 648566418 158115003 980083316 400985123 356874875 660267340 301367582 158152584 947622491 268092443 469845074 142068001 418601114 133793473 84418288 77950410 155782258 873320031 327671916 572112712 869922100 745314749 308311178 342060083 635792829 387561418 320691157 927643016 677232723 890891154 271205399 232077806 208436406 326415930 917019866 96511373 537875548 875314241 580616999 672583542 21705366 852991937 316598014 322534946 430502216 58310242 534194337 344993302 626977633 763655303 177760270 299929619 909360268 539853274 125656731 4008578 147540772 161397682 373583475 92007196 764526540 105143998 718261358 328183103 527884248 672316379 265187798 246225419 740925563 14899052 321737489 213304164 535707791 544531858 966048997 529845601 341418255 613744292 586884309 358031426 853803780 317506912 980332190 265651235 484963116 310354215 62739797 507918204 542159131 461229467 386416573 456328588 810190291 334112025 360743376 19105558 859169666 583527697 990156828 736588191 571761202 589089741 831100646 128074870 383497796 454073921 940522428 420984353 468708192 474232116 537449724 755588303 816961713 655354283 478632104 567426166 269785718 699197553 167206986 830075770 758450037 701059655 897363395 728227145 551480097 862605911 881929541 462934640 688115681 302552969 393624259 479220475 340214007 941390672 250453810 722696889 44146640 947804616 817512205 787237501 577210571 711505108 669217049 100296880 287651979 177843034 836016295 86178385 593441296 229905917 936129133 65223601 457052379 296764943 779113467 411358683 590493327 667783895 968755896 727570022 746145838 457038304 308581074 587373282 308019619 934037944 403236761 305353785 438286087 589968834 40553715 75398905 245449414 15962610 752267545 347977399 964726142 530496133 629248758 177793633 624491843 122484549 241377311 387376299 752412795 433700772 48641552 231082323 652285548 39559488 312746164 918423786 840299991 844163931 590586196 696169136 797649861 605146076 793851762 311329955 774125777 967853023 6371634 423065791 269377179 236480409 502807829 243146598 272091340 878326483 827917129 340902640 21244830 390109899 169882269 968249959 918542615 924800749 907631732 735433952 821919780 341269620 728700638 313743827 661607514 493819174 809044073 412987586 994068275 495359931 462680130 618965794 694685474 538120733 432552028 870379942 37534741 560099668 579661545 73593451 169115154 550463927 35022179 831273783 151531385 489094578 610177169 531402583 242427325 779366447 231050689 142736418 785064509 505618148 324153054 748222657 61519954 735189997 179432572 949628785 891238727 296015690 668508645 721828025 703699897 412201387 489677161 431528200 312388836 536504023 137652296 643066476 596109875 568181600 555623632 626115288 185138287 383457899 356912694 630090960 904027866 745499070 926955307 921762822 871315902 801173555 397872930 59962533 377387067 823185719 581312327 233788191 121599215 632064544 34573437 969528566 869068075 813619398 885567698 806399645 633551643 356990665 379937173 434360647 309254215 717583925 347524458 709178164 59224562 10792481 109363032 221986765 770821720 146516271 291348654 174627518 897128277 578984543 301681728 419503685 860064285 62594726 866714142 355068097 764364290 737185336 481901954 237105028 281411126 181801848 637018063 387780689 584870690 903690016 207743594 936765964 508159318 832985363 440863179 474095165 124817973 612630949 125334297 326124531 219577600 761650373 377674783 554412606 338487894 103706758 312752819 436570921 378973358 955085371 269590967 482729678 82501290 799282662 812113800 571147780 780712522 441880296 240045334 589157667 994367990 779429067 438409579 535111080 328662485 100641676 537359884 41815122 539579536 961169234 396263006 474614801 840986478 410407321 549764467 242634832 749287065 241541741 247307084 782942080 441488359 696539356 316980475 413601866 173338550 526762547 845082399 385930357 467330255 296295683 300167293 936831589 3836153 971527660 311707852 710188815 936342983 879104144 648782159 760582254 830735154 923526272 379730427 495374258 315477334 87739041 408638784 795059106 824642424 994277536 942667809 104828023 404736847 119966026 976184469 336611829 367736414 48855002 673038334 302438946 816172650 645091484 993726117 922575014 755888642 139121252 935020952 214149017 123759060 674951337 162715212 174955873 152390752 573079918 825247783 610178294 293499812 89754605 14785272 962656719 461153326 660514394 214437305 362303654 819895195 720612948 584965433 318682022 854743944 529338787 569793419 19195395 742808432 251181132 914047106 388841134 115255963 476987932 646959019 171722685 228819419 711671036 662177383 294351692 920645233 210463518 409300523 256920140 293925426 465282507 231227553 785011307 900744078 143460141 977605643 737558467 295518954 98354601 232843086 430362159 714579830 539909711 46090583 676461447 253164944 969426796 613577136 760930504 274655486 140477287 397019249 273913955 932229490 678002634 364981222 589603655 804193073 416945488 23453368 736383567 132504497 33148181 280455559 914708974 191120522 206551588 746938138 334002088 765077466 880414236 460659743 904762234 78042157 154877453 775062305 714678778 664217038 214257460 565255623 783304125 475976826 664919454 878082104 926751884 504950728 797708952 956755138 427048657 401624367 705634221 360518384 959883486 745692564 887998705 635186529 904886388 292622591 525461253 343600783 216055327 165289942 370810250 839663108 228030545 622700512 879283800 738430193 901989102 667640827 251595922 836327805 184107717 136009857 149237097 841231386 590216236 138460930 891941191 44054022 922782986 749522778 849434171 653445884 527849895 790833892 451945771 294303987 390807063 69341864 871048819 392162498 185709005 21257720 992002612 623018790 585426003 322363215 269259872 601906625 355143857 479478451 752151099 695185793 798465221 138364451 897390897 403880019 758478923 621979015 869886575 259242030 410067056 975621595 905074024 298204875 636548560 219360847 277805087 963800931 671150836 815600601 913767611 136849658 976663276 403897192 21601410 64627642 951953319 527523168 885095115 301718440 931006934 516193579 82829167 282223451 162038596 449129632 164923994 220749924 121586210 841116033 141171045 715581030 288198510 694166874 311897113 788417290 245801173 134473528 906826337 916412187 872886201 1637965 496701539 452010816 261291647 446271408 234835846 647010827 389581399 63630281 152642357 340243304 737463891 199728701 86776949 557031329 216623938 439681808 560690473 897849121 126636349 686281929 272308228 903231045 858290360 255296503 69872510 613148476 747933372 980338581 730896514 942561750 582644508 256903552 110409288 471174418 456362989 273857393 187615474 322056999 733729552 873633661 869268388 618847086 339036065 872062805 20583382 792796602 523983463 445219541 280040746 399629275 885081656 984015679 793046589 609137345 773577010 233928817 114958829 421424052 252967039 830873391 742143646 321078522 717291447 163494721 271120109 671063245 701243164 658892349 165610182 967223679 175959297 504641302 392450391 311266494 881778875 235916639 903691625 750285277 524908791 769756379 799932686 344838083 687871619 330643583 362668568 818711959 360949241 597421059 905246617 813216252 282395401 937502298 397804893 392848532 816827395 732959513 450666307 52480738 979606154 731457237 88841627 561378512 682441778 197057969 405008494 104941258 553349563 463371215 111419232 856215500 688988393 986831915 25190314 176411217 746203268 59504168 336852843 523228162 601623291 879427700 56921198 990673165 412713584 494864855 923912308 359877559 425413847 131400725 85569322 491561739 466916006 370313809 125651862 754197800 372631015 541884281 415898344 572511574 428955813 92360683 309153865 352202100 507941284 482806773 115475466 506808188 81427000 865807945 324656210 357482130 446915620 886039479 611718002 370889362 515747600 507171168 71796635 814494724 359132434 277491451 766113985 209090312 749445664 976887448 727809069 428625717 633335650 166243739 510701161 853379752 400343806 475392031 982911437 445079347 644038486 4086236 744807182 925354087 10637438 491280274 729961546 76869015 281124770 112980171 161878353 742861062 381766850 803760884 363928540 405487698 473498033 390063728 162974470 755978909 707120446 388565276 566356927 93482831 888745002 630751905 25854693 750657051 414521167 35496260 968756927 786558486 197024131 412196541 472480007 594474538 230519963 122600455 981173113 773758738 26302292 617764396 768335835 191713511 115175693 973169767 232349931 7627071 725631240 714627909 176849774 898979783 49209678 732856868 888150352 596797302 25873094 209427428 348619278 352269328 433575501 22828766 432207183 130812628 345385245 714131713 658358752 24005836 173514034 35802494 468893503 790980619 513012522 491266284 532121569 575892161 139685039 217785507 504978308 659836457 511350609 522293495 42593633 524152911 11672536 548705448 298401757 470237253 715605640 119314038 93570455 772931815 196880474 174803834 466093138 977689621 631155058 272665815 507046547 407129962 962949482 955773623 433749220 199421930 97328062 412784117 469101630 329668628 498453933 640106744 963467335 693655985 639910104 455967296 378671448 212502580 490863314 758309388 301011991 602205162 78958864 35169961 349140607 408409302 992259628 281389431 163537992 778707307 900786732 440818334 400628650 749036438 641431149 759661943 661393208 650642373 969595197 402226708 32637257 791889531 185343670 106702588 614966179 794798986 984206146 469207368 88090379 841802789 530455879 475348742 194156314 683611962 210583593 350479646 529671840 595993588 965793211 309474818 562769434 560247221 640410791 156884838 184795358 391797697 783626257 138663253 670974757 815908223 665978182 180158756 634496058 830987061 103685906 580673051 517680172 830008903 1507679 687507466 479951731 611713684 672846165 140861558 562300424 154596127 263848586 368478314 150014529 106778952 193591911 545393326 242757795 660675453 191170666 688188136 548785443 441298943 225204101 741339478 693597800 307337976 425156379 419935665 336618159 209664471 323921383 523944556 512927127 349919753 504203045 402843265 444462236 324898727 449891540 611616528 626627599 904213546 775600781 46397976 993325990 358959232 384351132 648811091 172890946 391000868 88636192 768126458 795580398 994853881 592242664 625406844 789254992 563335603 105324974 258649099 696522891 834810934 131845688 943858477 168786312 843590721 645227667 101432371 11859228 975518183 286152393 230799810 903115479 811419061 705932420 661976365 449952512 759834041 245294617 634212942 332089075 343913514 423452356 289767788 909444507 448185120 109959673 695793854 840558826 598837090 466678144 344311579 699452629 394939597 58094033 359955636 828750890 264211111 382266886 31113610 842241711 267709151 363338867 136105216 503996032 872344193 253228818 238395977 461978457 701369800 231821850 159616354 672689427 559077976 856724329 437152390 49402182 774479778 923576209 412867520 899307017 58602036 432791189 618201765 430085824 994527200 543791390 599292297 64560506 100267860 706807212 311510713 573122723 547459603 445951128 874339314 87118275 512937949 354653484 979961820 847918555 74286905 863782375 520049655 275944905 855333487 329156260 370985967 959704053 921571283 913243812 232612862 610393351 833561781 266814455 662754590 209432057 777122361 540608711 689022420 520656987 955080229 880935294 816833621 285834141 981807895 915746702 953456624 526478135 617075150 448624769 565785202 435204065 777165861 360026346 504311898 405012973 873734260 605973572 423530960 864761777 998654810 844883802 864493326 142117295 914869543 321342463 308261489 765409023 50764605 326853636 558871303 597372596 44808178 607315012 916911981 220167731 639647271 740476394 27260268 732663373 42953230 681414163 974805077 776246685 698498412 632535213 71217607 378345218 431314673 327134864 534782318 255798792 504193037 329476144 722355568 847026325 131828240 482038960 143043240 47534295 801355139 290546620 330373633 170123377 279479310 73692473 675213263 80389980 74348467 619235840 575232920 970956223 207278368 298843296 837872699 141625967 766986793 448206894 543412317 492719875 833553057 765878765 269218829 320505531 993616303 334703917 652829489 372163409 991757106 698536518 72895553 375946409 30229680 422335148 466917185 210801870 952181204 394321374 46391668 191500786 514346070 566674864 187680888 275377912 511444114 729523177 184094419 895714905 492998779 731658643 758789514 604074723 583293976 41557299 64633468 553210803 196875288 812778588 901789929 578575882 565851727 362549493 872525168 731306560 839550901 376015553 458870255 832215154 547158165 205046080 569250162 462247845 871317962 98850501 142379338 678145043 37071339 606732502 301842882 251404580 907827565 784182863 953725368 258923307 680074597 493259299 366735105 227620693 636136231 799620398 670862343 475709564 436323823 845952723 108318757 192158650 818280504 967663873 664974202 877171343 666924186 345033045 766267919 113844196 470467222 645960303 966067503 871060997 286645066 940581668 51068048 61138058 796931760 237846997 377199996 609245579 328929582 467450955 666807088 225267241 936348775 727114684 587541052 520981271 805736940 704112891 426984624 986227627 688392088 192180999 33112364 29750524 559145440 315739436 460582163 368003293 820152494 163745480 183030000 60467126 372463003 212612139 312317473 278060901 332568747 689960629 638916321 246224218 621515967 526888337 100825826 882663517 540863684 792498195 242773482 674565220 890782820 8800947 977911300 488849755 860308064 116525461 596489973 148558401 434816822 237994919 206191398 815491460 375322516 296359275 291836223 356606997 735186614 122567709 363910364 361929235 261592155 886119372 419201184 474627861 201363550 137922773 555768466 387673382 63053094 600445653 965032070 762269425 76936077 12173091 379700153 799232660 797648786 343483547 498721421 991541284 211710564 46968787 458961184 969294223 922601965 154548570 440663492 9289031 933277316 117567252 174829353 397929721 697864271 159398624 392118475 777234256 461643736 818658053 925878408 704164221 141921441 841710423 615501636 615660452 333322628 232804022 797052766 444829400 521740250 851662455 701979585 702986504 418464897 331754942 755322267 947410223 187640806 102410617 667859773 664086685 276829263 924202841 869073001 765437823 76009498 607404137 665748729 986135997 157820659 639713308 118013283 841752560 744927182 246372007 168776453 10173962 235287525 673048326 174317138 687075139 509716526 150618712 507849769 14189637 379766140 521888466 520452756 819586307 637670551 233976884 20153327 977388689 592343940 711528758 209472588 37563546 29480488 4092770 833897311 992060233 951039006 78933238 620338516 347539210 763239745 894730753 670525224 785307239 956265892 593345945 887298600 857962362 239174612 484524762 994236287 344065963 968591934 850729852 744450935 452037811 493476784 172496107 537775160 76133872 690154918 415279863 96785338 909369350 993086193 57820420 871263852 259586074 280153237 497385054 560162196 365121522 58702496 324970622 7570794 730067330 514419378 766822869 716727016 545721812 911713942 420806516 723978298 626536012 957851307 11432415 639401761 977017640 214071746 81996764 208118468 541508113 292488490 452192259 637953034 759748458 382285925 119002719 60178243 766695231 228826589 482763051 880333173 390812434 258194829 423665453 708215871 508081115 728492469 354782255 741635945 493491978 19848571 117563601 778514697 256974938 38076872 929661290 282707293 299415160 854173260 898757580 389726584 364839993 20935903 406027170 854549018 618613484 847849142 292819569 251777831 307497326 994577040 300554901 453236379 794909660 99059542 98057148 86900426 316830293 984476386 133749217 502887001 285622602 87270113 547274643 530548412 206984277 982840521 250058875 310037511 68031611 348833360 638840058 81885688 326803274 800515474 517982825 207721434 219313509 719272475 371450473 738224202 643010194 352204386 982432977 646976082 644245055 733266311 932331660 82504891 105789501 178848931 488679086 564724522 256339350 251237375 568632289 220172094 906985554 606057741 43655159 240156000 953276742 857626680 22773149 601616711 135684702 236803780 228256290 814508650 366838337 57572730 949804769 200401473 347174509 624880624 40594656 356508376 623121561 923938314 369331989 981835309 853193869 816106313 88360962 155138140 45377484 16727214 167822436 912004302 242531792 897414154 1724844 559509990 250214320 68977380 405823630 170790552 269509999 868942977 550278212 650722548 443782051 825532126 848644960 571489296 82704894 66580874 576411576 73060977 841108505 853507946 17454688 194967909 64929311 556357710 816466439 682165273 196142489 998917897 728444463 745283536 566839433 546884392 497747434 947884358 497757459 81905987 736481147 982436736 930141971 415982685 888654225 986215565 268197183 564001075 100448561 31709532 526870146 20672303 451847526 799273988 64568179 712244281 615910954 98921444 986125660 276061953 149720378 555534114 461652685 399125870 741733171 125282771 118305267 745551259 93760256 972965895 945092447 545831106 567997864 904747839 527556432 507790510 852474997 744641787 872060621 279282029 737362163 485002149 761635990 185778993 229646707 898341709 747257655 339042712 625397656 255650812 125466267 18188011 783093432 289393221 527125647 415453721 87435210 450032190 113402206 750696235 690944140 857965715 918116593 628262281 894930082 981587913 468585121 523888938 138877683 84568180 530201414 274242025 888752503 707777608 539566090 583938364 725135830 597974718 363092565 864682068 843541368 453286263 54648618 34145635 465004130 371894742 960339214 771597501 752873349 428490808 970721472 721216893 260080399 203169899 824390280 855189338 630564241 511746056 32966229 87492002 616317301 190371644 635053903 51301374 876549121 134785603 260546472 814749655 81383826 524753398 283593190 388922518 982855071 451647791 28768341 392934796 509561510 691010987 917431632 983405462 768160749 435556653 158615795 600044887 347775510 918529671 732480312 560178631 919068460 777845006 112742231 368093848 431517153 834312790 543293602 692562518 720863266 465459038 75907149 60298658 66203104 239051345 292820350 364617696 879839394 448242590 836319269 171224438 946065390 47286109 487358112 72050931 745605583 8190753 691786731 500587253 531813757 745094309 392813885 994060555 185652380 343752538 904179468 959875379 307299576 598870525 991621389 810612989 488810407 474782405 629012165 635846891 268346272 694176106 29330629 378668783 846760790 597887649 208710474 464772826 891873311 438355457 750025452 789561692 671922039 871966196 555829324 524755301 486908000 995324893 700636942 847012119 36765010 40602447 809779444 955323668 709183697 373737820 429397310 425729557 233938065 23169773 905877147 573993130 943752633 375208931 960445599 21627990 233647422 622740066 345831499 932085570 553971123 879495124 526412784 359084555 180225461 788010738 603061049 808048384 811920887 972777159 313553249 147883473 426971301 905439502 211174718 448512199 907699423 9512526 567196666 341527889 789861650 512116809 106233062 645487115 392499095 992415585 694263623 365653077 472913135 415785084 346075456 978359121 161893289 296234631 215996407 977914233 282964952 711151201 554398801 714281004 763172162 647376752 173624458 192249132 574358126 568854561 726482188 129021137 355970350 694810735 118586230 66098305 2975739 648153482 546927756 368366169 496108829 65509250 671521804 963901257 874786789 353875747 4512690 804175429 613298553 927793385 156750057 360583589 848838755 886750572 329435218 213901512 361749727 368508979 101231980 66135017 400063094 108273461 103824179 985971798 163095387 906428733 10702627 500449080 968644177 323935821 813831395 350797683 418750953 267765820 461168364 862749235 538085418 717680661 9663181 956274448 525895665 990782650 866901309 136007306 241902577 721167692 56596574 244005504 27586977 696953468 429021998 620872234 60447730 698076902 122339590 983921151 963829851 905363343 376273544 969102614 253915483 74788390 311137080 364268202 643192736 354629941 70297645 285083342 411203330 330794472 603744977 152735666 419158581 746083765 244979632 543625940 630528082 373189161 18072259 207674578 410431423 402603664 540668102 763768344 792734758 251775338 344944345 14301409 467468036 917879891 430733688 7037148 64504683 649296791 946108600 779717327 880241472 496967347 465106135 409470707 116137256 540486059 476512081 793842313 595187703 779220650 817222316 120662416 747330635 163860097 31202238 437532282 690443393 546343817 918379801 259464057 964725932 634601458 649651225 905861184 504741763 110012529 433665019 916091758 690784565 75504949 322952943 37406911 743581842 147501703 872932193 832418853 259001712 946453237 243907591 33038870 782984912 852564990 227095727 466732960 955111294 854478701 986874928 105995715 426988855 399171661 308000660 243613023 304515798 99458462 624917511 390876826 415739986 421271200 695766218 259517225 405801945 759941164 237145350 743351915 825055307 759237547 511080777 364510267 752149467 638775481 165136927 25982921 542802561 95981948 991206276 928187626 170028343 714801773 593190574 283980867 791910692 162110087 426348573 79687065 679299987 513089874 462070735 957974725 666330195 130479572 943274044 152655323 529890174 881820281 786561973 600268111 449844959 260906409 424964091 337752734 405713420 43430047 845772829 861635367 865815850 72402335 822615506 978332280 740925672 205202840 358635521 824206013 269153393 558771835 610519673 936853985 903338637 945620923 901037937 253436083 333231867 685597558 513253616 748385123 618224085 355106585 210158605 549474565 344647815 373247026 666602697 563273787 702529393 663723477 896963905 120719157 750518865 841584345 508757771 200937203 245571970 185512540 875000034 114544787 795409838 45784352 271926444 199439758 696859760 455853129 91761784 253290138 981993661 915918731 658338272 479373567 93733723 560724566 38350798 25296270 967944290 115397208 330745359 4225740 159570653 838361590 281957988 41087540 34470798 357176309 105838053 353955687 862397147 154570366 518333248 653647327 644696020 370240937 562819659 73218194 888502035 830410882 147634004 365311205 694767599 830549697 29985199 533873659 9566075 24352670 547358005 516212975 691985563 539154217 791358277 573489669 168734675 621544102 909190971 351603284 164947440 396795362 349712056 256452610 511551035 184021269 218055061 444601894 656029289 663795025 256945772 928520549 49491990 703363970 918052807 728529915 103406574 590672066 225315534 774598252 786162668 552481982 434677458 823069904 225652381 428048422 784518301 282935458 545999584 301204838 846953813 203804903 490052452 259445626 50675649 647940053 104417920 407196316 690178599 106217125 346722427 908972281 400157065 396499825 221742973 988409782 64032995 882634401 794031775 891027171 767112292 526439706 573416570 107549855 279169291 352164943 619332153 271939898 768703885 3075477 49687617 492479569 67424578 556079880 657294840 597198040 903544147 135059510 891501352 955125513 576439276 68184117 260191960 871889713 348059570 685698824 8913107 62790240 256205581 327822740 173873814 128242918 364275943 670901226 27477731 995621984 577546549 314002929 577819227 302742151 957935674 947013824 125808865 363890108 3480061 201254319 603827420 321104168 533974305 699937500 759142218 814828462 962608372 624442787 725095023 497431541 598648869 918307578 927994016 147318410 443651578 144282139 828629797 943573569 41957641 297989124 168637396 597615885 681355407 255394132 571063489 28439565 143865958 156561536 771013886 707258638 356857584 87646654 550011131 243162823 636075481 157349103 938530694 188067804 412261694 810760752 971905418 653006974 435337037 156257663 74312150 174347089 551910841 748717253 144296352 749635577 338799049 345124701 170935770 744505105 262375970 794685244 324413313 775638824 291375531 769240062 762634742 225712606 433456319 947808513 25844886 532298522 697753393 306594873 746608827 161496969 394311269 812534902 911107645 679713059 197318636 679091116 91329907 555196195 728335903 674574758 824059684 841886908 189734362 106202659 590501389 195590201 669031556 236485153 775674285 642355916 372378927 99652606 939955967 330921158 464194059 255013007 845785439 666602300 116260721 890278048 8102164 754853215 348888159 323962332 814508209 646758545 64201619 564757341 880612579 235279151 796697448 273566744 593331678 518360440 311787794 753579077 436420545 690050820 752354585 457644223 49369232 777678624 43582751 404506210 761986327 6140631 419025194 425939528 744844589 282500545 9814022 302969567 947158472 815978892 468789062 707428458 365384099 180913924 542448164 348535339 575454774 903524507 56315671 185772431 297140919 368511701 37357646 286187018 586441917 117943750 966053036 267910359 13619637 348716341 894357188 358953567 979880727 4190733 561770025 246485661 307879626 590124448 133049575 971727181 372167217 296717018 20633930 201390802 382300499 159875190 272926164 991644419 27952116 439871649 432955450 738139107 838644623 709858340 619225985 371817971 182537277 209339511 643276940 103649411 409258106 934862313 81011030 886954797 324809221 951602253 338851040 299536537 954405465 334386867 841257462 652460034 359711423 259101469 267020999 511535102 821911291 133209405 919063667 153510563 318366498 573945284 488479691 75495487 211173839 475809274 304558852 339386367 885927547 388725914 428371346 444239188 951878342 948951698 802126830 230131844 437864908 716586114 227234318 515641437 805076780 354379589 781458673 421997560 735372305 467621267 867014026 859628610 924578335 364340126 282391460 438054406 662303279 551469604 695421761 720514676 65558926 38116223 486566328 565364939 566434548 780154620 182379302 217475723 644720145 212333720 264637909 749514807 245418322 97426740 360365490 39425832 470996537 26838131 204209067 282447597 641544917 187667097 793812975 459817841 813502621 240019739 511431232 957981340 984572524 974045678 636563278 746223662 453109179 346739458 665780180 463736140 202259523 664618687 320988994 27316706 455522109 349122269 931976062 559192073 425764903 59371715 900338945 870135939 876228938 291759925 192491496 757872923 464133330 621065180 10092906 848228218 349487933 96561285 96921261 514193243 658318524 931361646 463252897 801768159 793119962 884088019 658093675 729991067 740356116 582036176 619302052 185855441 584160052 954352513 578431288 59816520 107986286 67590310 890199781 708683923 851781940 645678423 393610085 720924206 55761341 459101718 69642644 853332488 219401118 364062470 614114416 659660499 556029809 872325484 93719206 331014058 19924765 309354475 239316204 941264067 569567590 331326237 737627142 592353961 883051762 783780880 24837471 762710255 525238580 142521605 210690581 886015701 855610176 33804798 523848006 705182053 496711952 3708061 151403583 922863101 386476551 69020797 580022225 163233956 255844079 479352191 881783599 424666895 227043937 702698492 924720626 745124605 430128827 978798264 989305363 716161050 172190642 706039894 46271132 984549577 826274745 250607923 315116455 691388362 503575421 969560419 846165436 240623614 484803307 783882154 728040204 511735243 734213370 234659131 981894032 119230840 554079204 648651527 92287925 228988788 838200324 626348818 528766527 289792169 786992358 166075092 300429537 18014336 564072266 57477814 904154478 625626383 563607773 553284162 775572034 429086841 607079415 714001136 959651365 393206047 32401932 720932711 986962622 979884025 484251805 745625081 97383675 200985586 175919145 741791431 769359733 847239778 580826506 118126758 835703262 410270199 806703488 274752772 415512178 381277274 954249544 432802822 733255129 329270099 466637090 279589653 691626751 246911145 423762490 323515630 966703634 893524476 276656464 665606037 15563880 622836702 603401971 189084282 419759500 314418666 252058780 244867381 973423049 382271311 367612748 701248455 131331473 311543825 99968448 645192053 284732417 721368806 462350922 680556457 353467988 349890933 153018716 940555857 990367611 359587778 710644048 342908665 989280389 123979292 192602133 487430935 956288994 688344996 744802261 619361974 402578626 708381199 344388752 91368150 868658344 196542436 447375000 580198122 655009311 224848326 915986535 987526225 177026023 34352640 631779136 478455562 480771079 406810052 398275878 231540158 610482897 787104280 63881303 146803890 858795212 227222608 796136172 142481480 399861266 913437772 823068733 643820734 61609022 268348370 991750131 327890382 347926969 441038278 153184071 861483106 31552960 364925817 430446976 176097629 999613172 939698140 238277164 847463031 398848360 445557477 328654157 123071575 170177471 166953353 496217374 212771849 318249227 218185789 260320653 90540401 487644941 944557470 333302246 464851195 771597267 921077079 945164699 821138700 590662876 19630613 108152183 163958684 871177350 201686076 29368412 899223617 630445118 631182123 475131268 154886085 355384418 695177060 697140573 705587140 908087793 113196238 623616368 520843775 427089917 385876753 401438733 867968615 443089915 961746089 768639869 898311713 983310296 41382240 187643496 946194444 125666207 689769735 85016555 663572575 822499843 638794921 555773114 167104122 229126829 563140247 826919227 358847238 265301287 802679321 638604399 207389129 151426056 691717876 938935693 407487132 544592263 227843133 472001935 829741501 514801054 938265178 930804486 826321118 205880272 488291762 108870784 267627974 60843747 150335000 976959329 641259159 420273961 426305112 158727046 925842720 329314626 574573390 576491438 514860308 184357527 976010646 130336168 692775562 436378252 376322530 267413993 250708576 910330885 50903599 954760552 381231298 110206196 7880971 217082354 417849860 827485233 408353998 863307775 807812667 541419804 192478267 903663732 904544639 295392906 458510594 376647648 996952411 856367667 496481551 242493795 806657658 345612875 839883548 854767937 747358931 133961876 943474556 618037011 824818768 376834898 523456359 753287601 880319407 754590689 758398374 650283145 211546711 704448983 655245305 22105144 340104203 549999760 907180920 411587555 652178921 687676640 568411365 387424715 860293766 169582416 379919351 38025584 368436158 505127724 956419072 95343018 710017936 606160432 530618174 720745257 986184199 740085233 804125352 378682953 447921940 751587656 302753341 87769808 715763499 686855777 118506781 198370438 921844048 338759538 309427043 676876042 145676115 38935096 931698170 982213127 582251169 662512264 100725367 977592590 88514434 134996648 848038121 877425981 149518063 464938445 21460828 877263381 306818712 989501546 128234673 232189162 84668825 467051669 121301496 68326197 873039129 376831948 135288012 676654568 240762942 328509373 975533153 963163899 1553223 407862289 181774814 947771743 422606639 447200983 683785377 601275644 65763129 523017529 457222102 157013655 415091921 243868074 312840 215367894 610050308 328803890 913921003 646121741 17920368 405763788 896521596 256701558 741186111 28313640 156302594 133290683 231357715 454381718 274778813 160219027 660563077 554661811 836838739 841913186 180727256 81156518 562095239 187523964 727069210 913443705 347393882 547750212 459049703 476945423 648432666 879671319 370615225 181594998 85214593 835678421 43130848 895558947 330031121 377079892 722748247 655127608 72771469 593432563 567706618 182742479 363441566 626583987 965692895 49542745 979214821 175040639 379189798 403970512 330254957 881090105 91707444 546886705 912443153 32093976 735398800 140320403 674559695 698114868 341265141 358787170 823396952 409129259 605267963 705201220 597657681 881801093 920404905 350661142 823394468 518255750 312093105 448283389 671984087 814708702 83215042 253068610 213873040 271348497 640016729 36998339 513131790 248103378 76912511 807170162 914536688 792574978 382372887 569916263 576459468 332952179 615304282 872584450 533777209 535124008 961532795 35115215 746648400 2270082 216604050 834974108 383266283 388304205 773778058 250804471 264566351 15091002 49152297 754862813 911098473 211424986 403270146 616117429 572077219 67326489 798220286 27855235 418385506 899505615 540632052 202865329 107233196 559647317 37520227 614256045 908961918 325557970 922591301 264708840 136328732 595262516 275057353 729210104 894705080 233728333 727635804 313596845 38690154 374281183 942995287 343284480 882863801 658566676 455452122 489513397 993605773 547544338 824874598 456106568 427086956 902194685 7062733 979853920 205680438 168162473 768484469 474740612 430010252 968187593 173317748 704329613 739173287 830421399 641000749 874055102 28365790 716015554 952453451 473243129 162074987 180837255 3859450 6955843 557341645 966015315 320767044 647077024 502636816 319805664 776792504 617067111 529821372 652191980 127698345 103444866 83575155 682453423 379216938 23355672 345114301 188241308 61763066 742864586 613922330 781826764 288987723 985494640 327439432 431106914 587242430 850541252 893058359 317240024 908973416 688726210 518032895 887087256 662848667 193052738 224613926 489695454 15049318 92392953 822986339 739977204 519815717 573611693 454292429 741942298 212432569 269359760 415415792 907369387 134876176 713085308 641016248 787503430 159442597 675217349 915971484 591160959 530594390 277319604 535500644 359962257 976635970 922317308 770974961 41471757 79201072 932271549 157170762 434636121 180960267 158372417 783076007 160323630 768602135 232255831 37873254 663559324 619241571 933071029 140424009 56893709 183949589 437702713 858645005 244396915 323923155 731761261 370269929 869947475 536792701 633415623 301804910 386448292 924679979 485865497 72214580 684726696 429035282 297006992 841401210 348773378 288698482 311321843 18925932 872353177 844858752 845132 34653010 842368642 843716264 834434461 145181883 863369829 877983460 200880039 698657419 882460963 185714931 676626023 595880618 935676386 578434728 602297183 475307886 511039014 291938145 685378434 656020109 32521337 693776790 311296371 376978212 68974646 931509957 907063312 295757237 205826082 283863491 571648798 929317977 761949619 345972668 606738448 283078047 503702991 614159771 425051118 853133457 748949563 280540481 250240695 73314994 119476979 702095753 822006408 494636123 768215312 370834345 807708896 399085159 375629361 579306480 914919906 699127757 197189546 358912292 192081624 919668722 214649127 614736040 977431520 882835879 825314412 503590484 595163253 812814480 458582485 658467453 61603521 135814779 324184281 130555892 89727550 614627650 973758298 734744877 109153344 562102640 556133560 955546336 485529004 732831455 542748764 338033867 840184282 298353101 357106622 304290978 788165255 931564942 991417546 865594478 413240010 341540239 660506251 315805845 419760632 58989123 773493394 490781978 226626958 174557247 256831180 426596697 91012257 143863296 108121183 736783147 904913179 696034528 921320937 418032302 544824788 781898046 824114080 727287768 581686024 33725242 370998848 57292092 308420380 115840472 575205476 130162639 722159329 273403937 45921944 337294954 708581941 739366932 893970405 173480019 509208701 412915625 208091413 248776369 286308407 775119823 297692734 124165219 90646896 13755635 898241907 789508716 960422555 291584531 157343622 510237404 906351339 318022611 763935509 251664621 639036585 352703439 629429672 303010774 488960552 936407205 983542137 693588837 376029143 682218709 448159004 922424517 569172469 344499307 593338773 630320993 443699638 432388428 81590359 721202147 154935603 275600013 899377636 314697851 796747281 898639126 454260551 513421884 273140896 32296762 608785464 346177332 967035620 54622573 176000908 707563301 543634257 378116915 532187908 869696343 919752661 332791727 78117090 70987390 652022206 160937766 357894799 842888485 776292812 37375379 902064532 862894838 274787936 951251703 565829820 237124564 710889214 249712390 143776162 524865016 18487970 113301490 677565821 607749348 208433046 693014463 466876007 842223597 231341342 293215474 387966294 733671635 590424341 440444164 951460916 604865497 418552880 758342722 225679278 266538146 789580676 870504307 795131418 180701400 696869681 925188774 452504829 262646787 277142691 513529973 493841373 731532645 90494234 411710748 654094538 320492487 654371208 91416616 23830936 844985302 924525525 670484061 578172575 819835232 96872670 171524080 53338472 747739937 868247606 921291315 529099336 934409030 267487390 912981817 265149622 999439229 817039064 578942284 231420829 931281429 531508834 998222871 390984751 247314686 306966247 303314466 423977699 416931335 709486963 440839149 324600640 922324769 589590577 778581651 442655706 975765320 616041700 71261477 300193579 559474400 87016610 389442418 806435182 92144497 511890601 288780981 78217242 579089457 383027975 790790357 974590125 743877433 284268286 68082331 560232007 155022748 55910466 463372778 688602260 62293971 514424498 553812755 601735120 257546053 639793584 96613517 562179697 706265185 261878753 595440923 89231543 687399954 536388268 327856426 513993754 182138812 649646843 136771389 697534340 118724328 937586785 71526671 308796768 941513625 329336089 793387940 621871655 631935653 486030200 124564317 76333128 392316124 286058400 598460027 128181570 465187793 80794986 657129732 552985016 503552541 23417625 563252643 571207094 796111024 461825760 472650777 489736520 862546333 438004178 513911866 208732074 851824937 7724036 929639119 516060952 379592530 975998437 625608674 963838577 500668932 885599589 365379318 32858068 947749767 29021647 943417609 100440837 516336199 309742137 461936387 53850582 193062347 720785714 13740218 256394993 901549083 658005371 588003988 475108885 569838463 922587123 851942481 987400542 269718719 175328245 896891686 698768787 756105883 871676902 806461745 654231702 583548355 202486057 41851069 663760765 435552747 79795869 444279329 742289079 836970221 342270030 437194127 206741013 550275463 923256496 240942922 689961529 33598632 541860389 780577556 377604433 284967017 937599086 981753191 691078471 819012845 333069361 429425786 523682983 653627100 286575591 277545812 332791210 771574162 827036682 940419308 436863850 506097217 68004478 258935346 251693702 917708397 880298752 453836556 416309948 317363256 40762117 641016609 290453626 270191429 907242742 594303389 793154396 783881059 754232229 261597728 26344382 666497186 19097093 306517802 903022455 893348944 365856561 795023211 4178433 564498456 470873319 948544659 430751245 140610151 423736943 263696493 372697611 126945258 774546533 753330777 353240826 723245767 510563530 441964201 549304069 86776100 655544806 513541491 144484660 832740878 86085457 619905578 178169689 190141157 890933777 192201435 177040559 440770866 98738080 958775630 615043073 754980042 336656518 359464308 263784519 557587599 987666473 21000429 243132862 996754198 577245784 610890554 880804378 372399444 964381264 880063250 581756109 809990646 427741951 753797084 191763456 852790575 951215138 783684053 563013503 941088581 112615670 949223109 817439612 447542194 6570911 237602904 115167561 996554022 368894943 456700236 505706330 950996439 482995260 469317133 857797814 296818863 605521224 780343959 857161957 205850569 790385654 676633081 325169563 20524413 316029541 405145856 462766296 23433957 760478742 446420256 670666504 495274852 44646879 542688848 968721578 848895037 14319404 45146002 410455172 33301419 7053900 214600458 34427426 855593760 223290157 987201728 912977392 207666408 566506559 987419991 693036092 653657077 366817784 150158243 80867325 328171487 678544457 859524915 127458625 637975506 538419042 339666017 520853546 353065236 700367779 851204130 477773481 722626055 869243020 210272120 619089700 28731793 49017274 556783955 832570695 505249623 777907973 380335404 294103165 454846920 194939059 160398710 527487544 471309010 275481773 704388956 316448212 53603271 490398302 800750695 546591931 681598328 253131444 883947447 830274199 983655561 941741907 726717590 788880274 885081067 870754437 549815425 33669222 77878899 369896573 210239722 898145016 99136156 369518389 921936821 362688438 760961571 447888188 108230506 114015954 857523042 158413503 10381444 97100045 761343795 960516425 828497533 688204616 793373603 415808705 669413568 977398707 417633886 984342563 601300751 504508020 529948908 753743016 634298253 336386859 652144366 737479239 130437579 317543523 898974281 102737540 181432036 604705865 302778918 301710483 43257264 700412968 884276565 666226217 716781661 697370346 458599542 975594532 204156535 11154170 69322035 696898560 299272907 414920962 412865699 1593283 113044050 59434901 900418591 154736264 522369239 28197357 996923741 651211251 375100208 367485636 768158986 665627165 623774442 79344009 143857431 588398353 122347041 646418668 553342312 122841330 264031238 930699990 775497108 526809552 926555195 690662494 654736918 257048014 276332441 853788061 144443709 148809760 360356073 129997575 730155111 325782981 511980742 282689991 419811099 160675649 84969180 884345739 963923779 369995602 256514003 286546597 469518587 139363947 758919211 191703418 711836721 705229208 234787112 293038050 944413340 104137385 443609761 661749089 80264978 637825802 97816200 4256796 535783361 676623123 453099365 728661087 242408065 576763543 632920851 522786718 95013281 292933325 482467040 308090157 887637934 937092724 903635211 142601032 104442708 654614316 736053796 418686542 981047920 511205822 328538874 961600271 296892822 815019145 737464430 554592773 226152978 273201164 344217965 325891229 98123498 950118798 690977726 507406770 53875857 209819901 757735828 816396488 493505021 837487032 895870733 396940733 149800488 337860143 193854992 217520461 484306864 45469967 661286783 532625429 39724469 761032387 532655512 912869865 974529017 408070434 589527674 162109993 563862368 824507766 442477205 531757316 526376642 911765176 583446252 593705751 790956112 59975254 163090927 710886573 536299228 911460134 667681636 67058322 138622038 804459307 282031268 858224980 847334457 818988186 564571058 650301387 75311674 128479020 922808900 454161870 714769105 465107320 109371384 774397900 928170265 615432165 394708518 927885509 332554407 688606112 425659006 369132745 187289669 592640422 907159986 449566016 226410718 9348008 202331514 135598566 825354584 503682919 538472410 664398110 750497487 561076168 639696848 580160894 4868188 511002783 349105582 739840553 633684983 385826090 453219201 287893032 338174174 282409236 518273015 543327528 91661671 276061261 420709148 975110139 733320587 388829566 884240070 61002343 753753649 911929848 405437778 384776954 685059067 152901937 753364205 925012160 901950940 143635659 971773910 207636717 937886784 393740052 729406181 459261766 994232368 178045498 60531026 183664750 265231627 352128498 598037049 10535572 864670520 135366562 538947372 113194852 102761856 48210823 32564182 365299870 218163910 181531440 91608697 417911942 613292001 827696324 777021391 257611391 992293171 198791357 174037600 119792004 266645924 150643404 237763148 929401096 670732116 520941369 657518954 446201367 632074599 49561154 297282721 9470138 644498768 43003099 292948278 800946513 679534865 701869287 757341284 766397540 672317652 159026434 677675203 922318769 114536476 573433430 711860819 623206164 651327559 222044155 50160007 434988673 122421924 614732370 22660377 801335929 434817705 16151117 488779673 172995461 168073362 425623264 268422750 582536482 286877721 504333746 754709756 963972321 931751592 153144429 629045887 351613012 160725631 880727053 677718095 485691521 463969416 380858472 371445939 22985746 739616012 725258336 593966971 633288801 180724152 732291355 356204354 803288968 584187328 355741852 900949160 237236856 350824247 600198039 491946829 709146257 941762515 265013484 311084574 590927207 344859491 663524567 848658293 734338111 509289963 173726946 362147726 558710120 20632158 779913477 281835108 66193932 232511123 571688778 242600481 308364586 239474912 415483573 866543012 898548690 398311880 747586821 689515688 335700311 444715099 215175402 784216224 494081441 299685543 913333987 758873629 71442161 92700714 201496916 590511109 361470684 541057950 169007269 413289507 378436025 211252830 427405042 732703273 536184912 563488846 512892270 469510541 67188175 13779177 553801627 647740518 696451796 222507790 31384301 520016342 121909261 328029132 121972906 43866905 214736129 943388806 933232417 51565828 956018900 813882084 676488197 124238236 703032890 846413640 790766850 386651614 475292081 518196916 363336208 352571242 809530596 698131053 7114188 371657180 991929434 510842965 562780179 824295511 118247157 447228667 813859211 569751636 508791495 326957971 727146382 89820127 379461103 196105138 643898548 978045236 476135384 175205776 613442942 11060994 130228889 305776786 172228992 494065718 835244414 827084160 216042584 766464808 951120074 517129240 471075750 479978251 994903004 165590295 480904304 279686534 736847993 569658445 500302503 512571123 149931345 462282729 73738043 699259720 349431358 823379450 732558418 275604504 561068147 681520655 332856676 599434662 151132544 962905598 387400712 737058335 781770944 126019670 384249949 916657926 211794437 709025629 169860417 650556464 230075299 361656057 385881645 386278766 60682461 164915274 202034145 713676084 661814918 880229818 204973972 370747350 361111301 832307096 58344914 100577703 536297770 374664396 490333862 98678285 189518680 715741180 227521450 747104670 766847478 292031401 846004148 950014662 306889491 249557729 746611079 52174998 575651552 225464448 146100004 754012727 846112477 951735614 339837129 977391060 369189523 561865940 945572912 321869625 539423873 10887070 249501655 8995919 562429795 259198682 153418536 628791167 816246241 753014209 156794103 163386358 222134777 585799250 415229522 601468093 717377519 204645076 730772641 389392029 86318285 99975095 716029124 321462724 166960562 523293342 787426665 293301388 486688998 857216234 231252095 441739549 850164922 813425754 426562249 452208290 685695367 192008650 858892867 922733233 932353281 371914320 308271550 282601722 190803769 127351058 857309800 632083697 397881587 198659846 73796657 206800764 466346296 93426697 310956102 915212975 767873195 206057522 360935950 271760026 297647702 470012115 667795254 319616354 962787527 18526945 857010488 691965400 631166183 450747086 233155954 167964545 980627092 151121661 490610224 958698975 874321311 951613673 206137967 975019490 320516989 875332979 448268234 709413945 938218034 936378606 340185401 931631278 875257566 228815813 295524801 46173899 465247960 128713057 989429300 778617518 72340185 214909642 979675830 179024660 341596903 487056854 487559457 690049715 419903539 968715279 717682167 462066954 329064125 669617809 668316666 532410876 199372060 547826173 489680787 472104434 323838858 78146065 4264149 246669942 91952185 39177779 491906180 787678572 337608019 579315998 42767151 532793978 39363028 844201973 267016088 679601030 163930602 482398833 948276453 340918235 145977567 254153522 454023074 993224751 206748418 239422574 52106633 786893980 661170826 80843394 231401825 22205345 770475013 414601352 762801452 395587113 929564283 955453035 161202079 146328705 51833725 926287154 54550481 789657469 402540874 90772097 542868681 968047720 47407366 342913930 793588947 249679041 665422614 541008536 326880074 88687010 470298458 974052330 785344425 897066921 79661919 466934700 39056132 234363634 874134228 504467482 513377438 239988037 882714013 402955013 372589005 526190187 490288639 683020194 596664613 896236321 593640221 342015657 990074809 181857738 520319832 169688045 604201260 942253258 795449886 685730368 176003242 434846106 625509777 276323884 416363515 541782993 695886897 915330323 737573278 976682408 270581046 550414168 413919841 322813162 209683963 478604991 430073251 505171135 388789715 936660161 169813687 595245747 935024652 747013084 548365921 899577080 339204627 731746999 448748828 445914663 62302398 922384382 803181211 655491841 896567786 844357575 506883317 394619594 186070995 843562706 768108230 583932317 363147848 809114181 450616850 69203925 902943014 746685997 49337325 524265187 587787129 950090527 658173255 992280985 898037854 429928038 19721623 167427662 441599312 809189798 636636819 13195662 920619770 10517072 94655142 402231809 797951885 950592269 109450152 337389297 529808707 933322259 342201561 564832608 444174202 22587189 358027344 198785697 335605350 554622152 32413126 305647412 525188532 271048722 132026833 641808054 160749214 362407538 506056313 777049107 840622572 274581192 402998290 464347795 356585990 944277586 818739805 612221905 560419511 267276651 191514094 445089700 317103824 565372414 930026615 889675720 653389999 40595441 864722648 983121810 3688356 105000417 372384207 413117720 68734666 999915633 695193778 715317552 305139956 618349455 748608200 897435435 947887311 159308453 225156482 682609118 607887715 23186619 690151217 766304384 612047930 598915839 413979227 239179873 520334277 417640053 878818092 407003959 892508973 917244034 718167808 12572711 643779889 769368427 561458590 835123063 945324716 19192695 568366824 799131218 393716728 668744368 21778221 356981135 100340436 564003459 614953093 683213267 276992055 478426700 401578184 319532645 828610705 204360394 703067317 771040219 52034076 652101117 979014435 286031153 858089673 194674293 989452615 270957150 504984881 132755596 435319073 711253084 154036295 749597505 846563890 744277645 400340370 824328200 943729936 486929673 854298146 149443363 117278981 644610981 403407419 787835294 166926431 480875516 846794192 910741191 900421983 759813563 291535343 401727260 3655688 332079544 133040283 899611717 620630510 86564962 537018752 681052966 132225134 894266233 45640455 591807662 436617923 621279200 602820512 433286974 588112355 720132581 42991793 613223324 522861676 611893191 666263071 750485170 933300739 523007852 156954467 164175549 693170180 593073082 443100567 77129007 564029225 87279743 791363462 864899809 39322664 169969167 715389965 884947680 237861621 747248894 450438461 959913666 328538338 230140053 263016501 26931227 608723873 866371442 226899881 299696830 765776894 238254375 170020372 343850121 127567238 855113255 71883679 187891427 509891248 367211486 183217885 913097667 981624768 163898136 803059502 51924233 420160069 123997540 811311430 576964792 236056577 475621047 425052139 768993629 574966740 142414193 820137845 506754204 563013101 444093640 774696553 371749059 280389646 456563260 589621951 68265267 251018216 584547911 139010939 993521286 62661773 931651148 197226177 791092657 376543547 427100684 758556150 162790187 480699807 934106292 76245713 109031542 957020364 354703439 283487799 393434496 613208947 789973947 37075530 672245790 245843668 759443984 841232548 471821811 3843147 325549118 548894305 884360948 974841890 167339230 999550731 507908819 136752988 870494733 688079517 247992776 985500732 140087826 478250050 789563272 400729359 551319735 483107996 67793315 722163709 171630976 397309204 694310823 986850411 381089872 222379449 982873039 309915945 92125803 596553123 812846587 158172196 541679536 694153426 971061922 469994571 75833759 517876581 845090427 971028163 269663682 179633792 695998008 708613267 200091632 719647921 734294893 352809657 890051790 744919874 431802582 78471863 889544895 477590741 834498729 594440894 456435342 236003533 588152852 20747158 698679492 743111649 907757915 424818714 771803862 259212608 621055457 117601346 421128443 566016905 142024885 889694854 415574728 890079583 9272485 402622357 457336822 540592148 59172578 135953481 742645288 867723711 344028047 233380331 393047529 578039255 623052706 706855447 370947842 757683581 183723417 592744025 520909149 126267726 944832388 588905729 14216916 433263081 349892154 586710976 512285708 547416211 582886802 400025871 435041407 127731844 618994676 920242774 701689407 394694658 773836607 538134985 367533420 301477847 78324889 279271442 358021760 562231455 694414660 943531730 853393713 390771420 223282576 87301636 303080070 237178757 935133605 452343002 893719479 93909330 508029867 612281900 908836946 292304478 523376767 790973862 155490874 456567113 111262076 939204554 474477463 392136120 735180270 275302270 348007234 376415945 955237845 463418114 873436292 968628581 400687132 170539519 113817049 516974025 611690162 874577448 187414148 61773473 301052625 392570549 33818127 405994678 924534484 257793164 7057709 591011196 712064059 177436907 486571207 123627155 283187600 869597058 706174064 296003457 394314220 575942081 911660550 96139497 756014402 216634299 623706641 878852736 544696289 74013152 589179498 58906522 972378374 151662295 451807027 461724727 715711575 953792318 815749158 876104193 822618389 858181879 915406514 251622210 225186419 969106127 222258054 761144857 148477858 548903782 289437862 938367188 599721678 467789311 989343210 459796429 763963498 758919127 216828446 938538297 694652555 565810498 501874019 446105232 844763321 31874926 674936197 508607955 98253067 349205000 913699261 562654592 36945576 77265159 832607450 450836967 764900934 560084580 982259819 256136284 244032885 510779513 499029882 57403542 416238845 920138405 871361189 644292810 854322186 712104656 472974562 314166729 389035154 881392570 842855760 305153825 907927287 19404612 739368225 552135305 594481199 19680621 313397053 196413338 31608314 819647831 736038343 697281752 110049074 898081419 917003939 585792380 782665234 380290242 48584037 11658146 55752228 427465239 46578494 762467626 957577601 201520334 225683560 338062561 547114512 150483893 231361368 834027802 405570157 427569662 560518888 940220483 737800944 837714400 456561678 549551778 482707895 622139812 577575433 484505202 39152139 545572916 159162944 920726049 176447895 98975702 141599197 133384931 587031219 797573474 612691926 139857375 790913278 671559732 425924656 215475213 85962666 685774038 512222516 667673518 345925545 668499747 454120164 641293071 782690304 194104798 217374679 249779709 715096679 700605928 168197766 672074171 948451108 29716551 511878979 908346427 412564070 339181326 891833038 317827148 325149118 720685299 25684172 946068414 499418516 143396895 919744462 504324661 107339824 237604803 938656895 802356473 861364584 361234667 908925496 853740711 435591549 806228859 108938205 973449014 238605748 202647207 355797651 286673458 473896013 753242602 608380783 82360644 871106556 410133534 669111892 253841446 710342328 25651900 978090604 923806353 733877451 850058796 228506937 9069884 306304683 343546027 668403746 332011552 386375350 539613890 677080286 739237434 840227756 176362127 454404366 877026665 274091287 926012395 11494033 241453175 258695136 413671347 673969513 288852698 456345697 324022084 366507309 239637240 343191100 854566009 929447302 168857458 757089359 4697172 517888745 590859858 407032520 664809275 480838624 123849937 120703513 223887399 722779174 338857136 745683475 344961809 436779924 255003324 236894293 484739926 297866097 564579074 154137517 114178650 378410807 625856281 144159692 701589405 27239702 960175117 127217135 589883665 993726748 937860736 334892164 867953709 526347379 69450287 911136810 754893544 62044924 354262414 258888631 808063094 34485292 690617944 833149425 67542113 438833535 65866176 247163286 721274860 416656968 77736543 812471167 213183100 259899364 786384981 444456550 905934745 242560021 393276983 750313192 595865704 501074896 144660932 385452909 343912517 124042617 632703167 285306630 455140256 486585966 952922811 163765078 61712373 314195658 346040181 554678247 542287410 961725603 5416127 725021093 55673958 158238336 217369597 967357437 4839494 701352471 409661854 636471184 813686886 935823112 516031569 168081307 197679026 968646453 982158113 117157646 698187072 978948075 443704019 548564992 427123165 315954209 201221076 953383662 704754640 928331487 93659833 954192828 920763530 71187608 568261670 144515784 363331621 164326881 716476992 803575585 743558813 639585034 998171261 258205542 706629682 981005735 359554123 282426429 922130590 782974150 248444542 906612567 999621222 233691637 238040836 527572132 251209602 533037481 145727291 252402593 998952428 89748233 868288992 189361406 164189428 94656897 863805869 805473297 448300271 450748956 346962508 296363541 247417676 274048620 754149548 821739011 449143657 502933218 395211942 949478010 186546796 292912362 813765228 200233700 556106484 140895879 97133508 56733368 353101038 297182864 456801287 183127259 645647943 761465819 27179566 411531871 916625496 208092419 336255072 877803745 517268748 342419238 225420983 36978600 658819108 51874549 431528630 557749031 673839965 537642383 220300960 450357326 434382368 55734919 685860409 379517163 711287757 261865604 814781573 613378786 90041912 58879279 160987917 97678289 130509995 521418281 27675389 871591369 425378218 725959255 121894859 463612965 351123382 308848692 180648129 165668673 111327533 670450569 716340195 226578989 727416908 23574106 110474574 716239138 442497980 526492159 459634378 713690772 557335665 840430944 57336160 133328168 18028827 469082040 218542662 87852978 145122737 439418379 454306272 954248838 20847919 815930455 431605194 391324552 29137110 461780824 811332513 449806206 513738358 936586714 228451277 156080707 933026548 625500045 206204464 847791846 722487478 551336900 899829404 149362846 443161235 888831780 509383256 646665059 489662985 627990478 813449372 613790183 827524908 520502462 779194749 841832511 996610748 712478699 184936770 21346745 997142036 857915866 965201271 204791991 337638914 653890345 357136786 548225176 359161389 432405141 446302579 910197847 214430551 161569771 701490185 481544119 225078401 145851432 353508875 795269020 45777385 494804098 425005681 78992043 727348918 929137821 134828555 597665702 507034755 879099567 446421935 441733884 278411729 637973216 770657193 861138034 316031360 265221450 94285945 194729074 921922086 951765164 354887866 31122601 821138873 982101606 674115 37228650 120393172 988806224 471677225 969121869 763501492 723595559 703755993 993663802 636461014 940726790 335858267 265896630 251778076 599891517 105505571 793738962 671325012 680204428 868840543 350378730 636835395 102562624 365565638 84637751 407344114 966601850 469280784 138262048 88242217 265822383 750874661 176930741 666969010 902238232 241215662 314376958 106282385 780542926 243835490 140546906 950709282 280108094 465567450 876225228 190486253 482045742 594125209 90530026 870913691 947744930 786339305 749455284 566416979 643877616 784720198 828207750 134334951 892156265 864065739 315764285 620700563 202455135 446546086 874612684 253617357 347605073 628584197 828450383 553465363 297768685 608478757 713477892 579182351 173043837 624012590 762041535 52186122 816355627 225167632 891744469 731406948 249301820 938069729 317248643 350619888 134422010 220369181 859628315 931276610 329728257 848801246 928729869 654531734 736623592 351047199 323977085 557329796 794199737 954337324 815462676 329228582 385948249 232331863 585604385 661818693 188123520 215220579 524589410 828529819 68174202 826971458 634503337 505041291 561101648 442966368 561110021 269335762 798058713 382926701 308667347 22227155 348478111 64642201 486835976 690423104 295378729 721464997 723990039 517977092 665353753 386877638 456408128 108592088 278066088 801435892 13088978 29731557 774915801 426171869 553748203 258932597 376915366 544983914 1832925 471635330 873489229 771857940 619589539 635084148 49945207 929500868 379760731 152613723 19524244 190788460 570985727 334472591 16750552 535155261 120627379 997287496 172094668 185053485 935106352 596905130 139582353 760354983 843031595 959443099 730951696 574143468 138608730 459437818 932811105 433577386 653460628 270575889 439955791 295917888 154975924 412010833 824524428 399437588 657276348 148894041 465699472 810215539 885788704 734815326 181752898 910176830 459749326 907665548 112170339 219427845 510510493 925741488 415479747 93058993 383563145 688094308 143763097 906908510 789903804 639468946 151471332 122112905 834092347 479518296 588643222 805823926 207661542 573478212 439175021 103121480 83505217 287038503 528958419 238012468 318280560 793620200 760511680 874203457 832655240 340823831 305910076 88580577 690354595 532955216 557656513 449804013 326231752 770651463 770539037 279200137 825503531 259455223 857250167 973574045 237529732 216251235 808005 934130465 346869647 921077477 235261293 22814271 94652160 12235891 428189344 395938863 76445649 963312143 721740825 974550975 636559980 451643411 981886438 310374736 509233909 521929729 450690718 458232884 151102843 111467946 807027749 635224382 506240887 293520914 527155976 957061737 452899998 312036791 532692852 131362111 69894574 255365227 549377209 777284177 372043068 478697560 921553100 829352920 783347356 19362410 725391121 70478652 237822994 943991873 754740472 371603799 186185331 851533 84692439 815266597 811452870 349431169 115033219 107653763 745449667 205883485 927854276 54075731 952394568 974763137 99633165 872320623 777945878 560638356 297224483 686953157 987211699 33313268 637138776 477419905 194028226 10428103 306437255 495700016 468605999 423385421 875482843 891304736 363822515 668591024 796017956 302052516 210217020 408724191 158385386 52098065 707906590 83810764 348064258 456965794 590991461 105210646 504385884 524884879 497349011 314130318 652782982 53711009 59777331 821547863 881494894 251523252 983721105 51200363 109644468 584386843 388717924 351846098 622346973 648107841 633196417 241041987 93783678 669075250 861094312 480839853 2961302 374370950 421267399 282507221 155113353 752395712 475752493 529186374 629710455 673877736 697091483 99424874 886637718 649502467 252832806 864714871 532519699 985191164 768876704 381459282 490617620 455460417 824386328 630415589 361857139 212035119 678861805 341167456 916540934 43311579 741550763 267183473 265541851 343680694 214891673 609994707 559537902 61580848 371879521 252331646 272967018 817783544 327237547 216684720 394084376 282704321 787580239 133714581 841061334 267301248 169325177 870535459 862513499 628401635 978237372 551075384 496468296 114798743 419243079 376239798 113992516 281436017 966661323 496284758 812402605 219240347 181984599 814196467 131294041 587925074 848951106 232162638 103216000 373757139 869601015 68381972 888328594 589562232 455254892 44006461 286386175 513869937 231285570 574048279 207052855 717504959 525321961 288808365 955841996 784888548 281816230 15669394 576921358 75572276 890820672 989647470 63979286 68431523 292736863 667427272 934687763 446336560 706055735 411690880 971255286 466330158 293929874 376319110 556475649 936831678 618431170 985737163 424079144 908792591 263836880 132193439 637602643 620524474 975571079 963112932 984128982 8438640 200239651 219685897 302595660 261246426 43423510 904474771 96253676 204186212 470831159 530250537 952768581 942516163 668764602 373602814 725251208 802523711 899924879 354911503 128831852 846792873 840783655 381436007 273144976 493778836 575802213 51500186 742945300 644181785 180030034 657668091 321797269 359128604 617490643 43064532 958023751 93432579 204686139 50407658 635672392 342074236 248131139 507401418 722030397 229958985 837553322 431371997 663455954 222715123 671784947 117932967 586236605 898322776 283486212 87278430 903712083 455546433 370540518 626086606 448871635 155944783 604327199 667655957 51427716 303516986 715343319 453103319 748233852 293797335 476758644 627667871 753188851 11055758 77276204 74192165 43994220 440504947 108523701 666399385 979631307 411758518 963022539 770694061 323653246 239240008 956100951 267721573 503013888 789011063 533177214 779569671 917726518 498407952 817759480 571051716 878755082 214824590 98255026 713772758 779198272 654345884 629321050 489692779 491970114 956094152 412664802 365719764 911066250 16800464 663932057 390016459 384596515 538971992 465843506 882516860 432622843 848086974 72591503 375866318 36819044 751902900 145988721 132132678 810007294 768962949 174910003 524781993 753022971 232902958 803999249 935163221 278417839 275098395 973004233 408492349 635863130 488541505 109948826 467818669 67844719 622290631 816822527 516776109 213013191 931504597 923745308 96717227 275629080 498958378 289442799 128291717 765200222 585785096 715141865 455330987 140997977 610712475 339235340 764506735 339295245 791812586 661875404 759113068 110555330 169137012 182606312 488394560 443326623 130151988 825138215 258743203 361984140 307185154 608410349 671312154 370451766 772486089 946133508 377409017 445743232 104368441 563684921 175973147 469193392 686265737 575250099 945033853 726489565 611523967 514544577 571245988 768718833 655155906 781822621 940949059 446654102 339909195 610076379 754508904 789277476 897452808 362127642 561069099 933833509 191392420 798471231 778975324 336858016 672472387 2393056 934538773 121513003 772905121 93019433 633666432 851407748 830119824 509629782 377367201 48201294 500411873 738577464 422931453 300950614 99800095 196087021 633440828 328428155 715542768 297260736 335507809 196956178 131740868 852385595 604597650 961242123 718330500 194392421 773927122 620913792 7782963 406969238 963700671 372122325 978246092 583300939 1533496 903562834 149113030 818037268 220243214 455677305 185067252 466329374 915130920 651618993 288961280 876174602 640718300 124759596 387884747 955921629 413052036 962922097 113687587 164020473 647249530 974848664 475108559 864132093 494913462 307704732 539905406 105753507 106385189 336240396 208906419 126505067 879511783 232399364 970562214 342843327 2225404 695736048 447535231 703134263 349411449 292019850 653408768 280014011 536180335 626491323 635967590 847132949 415889524 606825740 710340828 759182821 332721936 718386327 262942142 336367104 459873967 713480127 17316187 527813574 744174990 828807744 562968675 968728866 746698240 847296195 163917119 888423636 136313745 383693426 265407806 191778959 107943293 918040527 140336115 65584936 80042030 254428817 771409079 873030867 105378697 430519037 409250354 289980736 467351687 292217620 870467140 193929053 667305991 828409643 689117122 157044632 251791423 428907073 278119854 871547680 53082194 886026092 811945672 319147283 943501799 183080387 102526384 793853916 599159191 990897601 443483647 146712159 209248625 50757670 308433834 513577246 458982759 387451442 381824092 263599210 204318181 427811067 396969360 418192476 59338440 53028433 422045776 799403305 242441166 491250954 352551776 589431922 278484505 712394808 568868704 765976069 732463981 266350421 288950802 369492345 701655972 364082908 238230189 519075273 360684679 628675678 711640091 885244516 559269273 557325109 899626739 62704041 11687075 646454791 110878505 409120059 949940987 276270207 583557962 98124582 658680468 989198305 645558090 634615650 660115276 731821764 385249360 919088584 258427591 834857256 725232305 760043152 24176266 770632115 464077067 461148345 330613616 48919272 112298193 33390147 421113572 2340060 183706485 912639502 323483760 313549832 524639495 852009143 577829833 395954003 786847446 983221186 138709519 901560805 818573452 603527289 41286614 789581992 336977033 339247144 844059603 540384968 474791062 508047323 494888151 549928704 249571524 473971366 192927963 745645025 70275462 482996365 353372794 216191525 363733520 166324700 260377186 951047068 622107959 37404086 461321404 48841230 659255994 640550961 680709087 820238267 764467852 206723834 465013215 191058549 311989526 38434975 331769940 725127644 999212116 844406664 263271739 275829876 753200523 613020909 80441949 639030042 731541913 235630955 292737704 227352730 298088256 49374013 822049648 500389958 779622928 123962679 100457870 442226156 353978175 162862697 804528408 719194524 97264261 56766752 229633415 240483318 960405088 993103912 718056901 811422447 280161934 656899260 896464989 279983573 486788601 389953677 101485958 744802900 171236043 81298032 165780168 949346821 688079961 812467360 52870731 49181975 715232201 423366568 706458313 608962477 959948505 925635109 431501498 566157959 629248374 241716671 772565610 47196957 76429938 755635089 385955419 628617178 683814765 908747273 25681906 776896343 727899697 13084300 687524948 709434954 446140464 611965463 257560424 723928769 838567923 142798592 199396410 378735136 475858457 543834565 88312539 900884092 608370367 793792491 980309341 196515326 437047127 710169323 868316837 25497450 305702875 850873874 898710632 532880920 859102760 344656617 183339858 527131819 56843720 757266437 357739364 273731138 912221920 789859881 952116551 503905018 538604522 877732392 488478179 190378117 301895663 401036298 799474146 660564946 125940396 309665032 875193087 554359236 469456537 621240133 27212349 611476691 234625263 332052975 128260820 382416096 201353892 922897863 387049809 740090231 602352367 877647613 877001819 600708943 551175124 754601744 101189465 532759286 518819875 261434648 808028235 709717015 511102745 109417531 887554860 413982875 785313803 949259936 851070504 962686919 340375177 408985741 67649684 714304831 883623058 547515199 767864178 158584375 619493596 153038742 749459796 658690051 313481215 632659175 974907269 161827115 303272267 473428996 733979965 687944681 282478585 621648132 291754405 795429610 497245232 504819373 383677734 571439366 246729542 875951738 744409764 378540815 412699899 91812446 788961712 725195198 271602931 586253286 186951989 321472574 675750067 950348747 51793351 788196802 174380518 634255964 26135286 316650142 914428686 794461382 565805375 57895336 729825034 103447291 980421684 800680839 826013415 755598584 87837410 708260752 592142457 730335431 854651849 368636662 987704765 406671104 712902348 974821293 630387937 860122636 842203035 409099661 374967591 497014381 44584593 63668214 113754637 462812256 124296156 110240671 395902960 39672495 230546920 212400915 148308118 882281087 114633356 681687508 147110976 387606442 19239997 36818615 874155248 493120250 275822449 964680382 6662229 579371422 420067010 902991208 773931392 10365505 962552470 228610744 894975758 551303823 523702801 101566980 366825163 678919918 3071320 908877294 822132260 867717271 258884887 183285497 247433532 761084245 815313837 453088536 462448289 948502142 875835733 593449008 11471459 778021345 881179831 267269055 844042788 821743725 112727110 492791090 908043220 859163271 326944188 848397154 876169390 748332274 996835052 189867603 505959649 488368953 541202656 383006063 850386811 207112299 384760884 6507191 182232043 640406297 372069467 73541110 343869147 668290842 883051805 696790049 628310491 465136958 744686216 809586583 693786754 525164912 495290306 938759577 632991327 108014062 963725382 764687719 302725816 561416096 617156928 863774009 915408039 674627246 676100454 36193939 346833657 512555731 487471285 624501795 653241745 592410775 288255467 485275579 303438311 7893504 795821170 869539343 552205908 549585294 687803098 427322072 711990603 972953719 557491745 943639250 956939316 720115238 424503286 513818223 925322843 447559199 514790204 238512172 122386984 733561204 291782592 630910942 422606661 709276662 786610951 156019378 138481880 123920289 910196669 674496671 585603404 197302802 326985453 931086493 691703064 797271528 938636388 708189117 407795630 750968425 621265257 690967761 479771088 296139970 8122815 160276517 269943075 115832555 692924097 850636567 60787706 77634806 208171193 327984730 687901609 876824461 177188776 101067440 12609214 833314965 889195215 194619454 13958375 91875648 813156116 692588072 430358026 983155773 405904090 577590343 227205329 164488276 977722319 561861776 20367324 900762412 477872602 334980589 464712070 759155086 855961076 949892048 298775679 728566737 145165350 910151401 116566178 539388987 531619378 922658708 151380046 463852323 940432551 306628479 672063160 537788966 300860837 676729910 187298483 183380440 766527127 38414442 730041398 596339174 777560790 834095063 994558331 191625725 295468041 733085949 940445486 161232878 30090784 438384019 441363173 58097617 262522543 781302187 882352860 794819099 714102978 945432380 908788673 88202513 210278766 65312004 792757508 574465726 607561078 174685554 349474786 693693232 920184981 410897751 822835734 25697391 736940583 159218909 505154620 704171849 996817548 591706033 220862905 917224318 710303591 551983637 605782137 634304711 677399097 478044921 213237399 645221718 300063394 912556764 528169338 26557383 278073019 115114716 443215505 399448172 46363211 680469995 218544611 168005306 826147715 612173173 266737554 45863062 246363545 441540806 799215500 993876564 641184448 201585166 426913569 40601890 451237319 949668982 595320281 953779912 496824810 546394210 813180828 415056160 614299161 883574491 841263063 875304264 652555345 156530805 235061822 166606765 378484580 537463016 701270352 544596643 273619128 343331858 618403922 156722423 134222309 180673513 219306541 251087445 74972436 464539694 889431163 585127832 516706465 656346046 542202585 733763596 888944392 4544370 93798052 530812125 647812149 841756652 47090084 672702599 267416034 721352778 979473798 85696671 497889292 569223506 349102455 215693204 24033760 247084678 183655902 658459304 466313009 787024347 678853064 913832322 935522291 209006489 865811181 110694333 678328182 117462288 447681258 984758585 589328798 868262189 746534053 193644222 861997453 168679241 954180009 32684720 734743833 848558317 425021396 298596145 22458084 888470794 898688521 471218385 84276509 42343415 351748816 338014592 697862701 611245975 987299450 94518739 105329366 201161359 147441675 863271366 400149924 841415377 476643544 198644183 976859543 55316580 907421560 304201013 130585968 792830878 538538960 136723719 420642056 565132855 545466939 110804599 524596452 609400723 276439736 625462020 778126931 635909965 829074567 573209501 934826264 92886278 410095850 563063735 450009652 358216216 734597955 945658082 198277398 599903525 542737895 130239416 189140557 926204401 104994358 834687176 519921419 26106377 311768728 719465576 496865027 657541204 405940798 675025380 226400914 960540051 105175121 830068007 528865027 839004618 888777705 714024930 507976360 501452111 352822871 731189175 114185640 752235112 984333303 720079361 254591574 876210577 769867890 357206472 793734160 907907002 290885151 485161788 759632737 945954969 905892749 752701394 223027437 414980927 451795561 163715506 498991597 995410011 246220663 902309399 510392667 102126121 645436943 449525900 580321472 852992122 415999095 935831709 333559313 780095012 832475413 342913161 953780391 948876653 716066418 524477494 688337702 228163109 309151672 927197270 266336215 863341263 693562917 329536635 309193414 728861985 889902516 845282596 781209749 234465350 611749504 351789733 639557059 121154793 560832083 942506115 437987435 652084135 527006718 480453045 166990199 766498929 312922190 414781555 832534942 438734339 67085494 699991032 624317316 368639709 785031232 364514965 651897601 451722265 898391736 981929102 610438322 922120875 733124208 932072831 268185740 631182712 919055599 814100288 762897401 876037940 349204122 544248827 241326853 331636414 183447424 385563339 631084476 406570694 894429338 131357337 204774630 754405745 284290137 104147931 605727317 562658148 184422195 473316855 81863804 528703005 105147988 473502608 329156930 957943685 223432902 532896613 797365782 217866338 555318503 892717406 521791229 28960905 300713844 409317428 441648722 391781582 256050079 566627699 362308584 463355041 557188083 323038609 339325600 19869655 801900000 782050090 707268205 816169411 840577437 825931081 953009544 763633463 687289230 205015298 467719836 477234385 711311957 627422186 551935030 415151372 831930373 548519890 189254588 151875980 510541625 269450735 273748102 366307673 4819239 124772992 30541815 253286444 142382272 399753505 565716117 465647093 765143882 623093892 963094543 254831349 546832961 483990477 652547834 208816059 129872747 167372807 132474926 962623384 327376855 765938595 257961859 266274132 708113676 369348588 913500999 899634179 14098661 521468296 636143694 249412305 385488397 489634987 146735560 249936975 705934911 576995714 327992632 479242770 726103720 781518843 437967035 522701537 418032332 583792511 766683893 903051234 674786679 187515461 286565730 901691817 803570183 474075356 101039821 189466748 303980813 493685115 706141518 140853386 359612823 910838124 147537350 544837749 801200738 640664197 571150465 597605846 94084105 657982367 175593942 111146571 114217106 670318204 143784591 883435599 744933094 374655378 983299730 998823241 707885980 114321138 369396272 708000457 920797291 86371975 402077008 917425243 123584492 250303613 619459544 44723237 585455204 331587960 810812325 665393912 713814427 361767975 511268875 76412819 85593480 624277796 267525744 816988712 170518054 751506998 54114090 757274303 630555471 113427217 227340096 61161773 655581106 348089211 120335156 984649292 202965166 451820279 467758502 256655648 671278481 780545948 994696793 573696915 251931729 54199812 208292645 844139709 592053635 528465367 989648151 676040519 599184024 662816885 4351457 354114279 920014135 589396720 739867973 401103386 944511605 229405985 261419599 174053310 938217427 423559880 464656264 926578652 178610668 140001563 472590111 499124471 109283043 504210419 82312738 853184063 409153191 30188936 513435252 8205171 569943311 220536136 343453738 110815125 681373711 372623215 455286864 82444500 856829070 594750616 777230449 942952228 531581388 260054182 952972981 882638874 352260755 121202675 711015533 84013044 573667356 471636384 906785463 648669219 406517998 835702219 193928446 453669949 108728134 269411462 228985308 382816961 585004504 42926456 131085468 898617656 428794679 706174661 929573979 312072971 304515913 205862283 659972218 307915635 899624384 866581102 485020695 890896608 547257826 779997282 92432506 792611372 895747205 508539593 179958190 480192221 391828951 827384151 272767803 540063632 436919100 609086375 581155940 470369061 67420830 665881121 365588786 898357198 33122052 260281650 284176935 344285758 762004840 675370666 590135052 862634624 71628288 625312664 948992479 463628143 208221945 275071851 247851777 711612400 682637063 922753335 646729140 133868209 28442961 236160052 95141071 433804018 89290571 666647446 590918448 787418189 18545808 276598099 868812407 702418295 608453494 575977523 95752955 154243380 750445258 761246224 455399810 796912095 541549035 610380496 140260744 746457437 750083492 444191513 193074616 658759274 495053068 770207333 741426452 314120530 248207656 31276881 682946850 95737542 378153614 920956717 316620799 426935287 801311599 508801970 177260457 424047854 720873426 491182106 516942237 592433192 818788939 776445804 774066031 145342528 143961232 736469685 266277001 98602231 533643269 93768194 555502110 28824023 289369737 970428178 816640471 352275276 906392617 762075371 698692333 317343279 121898043 952714051 482708903 191509542 702756225 915491098 930328752 323418660 950523458 152527267 515296916 56676522 536908585 95927695 315387141 141141222 991601456 450212551 962187571 586039309 279155816 328266860 150367824 729621300 395893350 726256037 386245443 134569331 883179255 981164320 331204005 646220883 839520293 458300161 631978187 751870144 108182850 527232572 69168326 960862094 892718735 144664981 9045573 550954405 659484501 166503049 736926368 978341177 391795827 735873210 921909870 266269409 373735334 758993621 625089084 739683476 621823990 41885328 8954807 334211285 735928557 352653442 916667742 723053772 298747571 187722944 798433852 700234611 983511491 47564348 889804494 148904321 933303605 812180420 617854530 360409401 367740839 927449403 54182270 675194447 887517498 427831166 536791392 15337681 250021809 330743221 910135826 570039878 24109177 980959630 729309340 603915053 501441861 859484993 802966562 267195926 957821899 495420036 315161907 631355715 733094305 570895876 165741451 969725508 95177325 865214680 13109237 789121466 529514519 569069802 332014543 889002813 494697660 996394295 552772583 359124561 109262175 703547874 723109597 147551943 19193901 339932746 428077002 988391824 557757176 823354450 691840497 6194532 444238749 359194121 988414919 971362562 730807302 546909471 939141302 648050462 437819033 512920725 959922609 814515885 993106706 422950026 725005928 449532431 835693253 358211954 308616823 836708641 15526881 697785309 723095351 925940375 449725556 702982452 594797266 511734478 181300848 142773976 187084942 811454399 875449934 126194877 330091664 453264929 893994388 505001928 380083492 47308612 736661191 887692720 179972387 303984099 597739335 954043619 202278144 29412186 477695241 650223370 488909252 59211668 951830335 579254014 850505969 41058194 540993789 50952159 719923330 647316911 998259699 870072182 434676401 726638671 396070286 313505035 489918331 384910629 568616922 889946380 441189474 514225474 938126817 306319322 404960812 730784351 935685477 904936634 512556061 685503291 568046007 260773 121964576 257684251 414669289 507131056 657894408 273309313 43774973 795967652 961474065 254954475 913087541 423552073 97329613 576819664 953275981 341947580 699105841 178918858 179686110 384436769 24984660 473911720 841454580 770115142 167979699 116419055 15658564 139479493 856479348 793178009 9902996 977472746 463428889 842187368 676509990 628449639 100860183 281882056 331417661 543269767 892369092 67683423 833512884 175824437 968386435 943937217 70304774 114805251 892864621 764334529 348530181 618363466 911132219 611924354 531867713 309893545 234582693 837102104 458735172 480469427 671179145 933882482 551388983 343103212 886578869 847288361 572550358 775372822 388993663 322350358 782926327 498743267 258987563 843704379 388832399 108120750 887563886 344583954 372326130 101254137 451627361 849499872 997663652 739396962 66133488 649886591 363289991 880161263 854198922 300705584 782328362 859070921 132384803 287299377 426128429 8404028 116200657 476456690 784464200 914801928 667767149 16082900 625357799 660126074 336521212 218941795 685747306 985687495 456225925 19723353 570242571 544691321 332426912 321237747 354636837 452453437 437260366 537764663 502457710 672943201 886054860 343324975 967281133 668835816 276325549 432435134 301201389 226994285 746826243 123734245 887220916 185623472 929623634 664299472 612339702 562325835 941232661 688353481 265232014 829312476 571193215 487764513 252679004 629087462 384216342 24485571 731645920 89831735 122562774 326541244 477170081 105468585 969908917 977929814 114632486 806265757 312206612 254366307 813468958 234043931 580968201 330298274 734217717 181966117 272158225 103671617 253560775 426564622 905625885 131448116 102084313 924520229 343873780 845894216 89300475 300507482 323230084 722028406 708242372 141914325 175956145 854118537 891587693 278512170 751416793 945496793 423855989 350235950 653739890 702789055 352601876 735144071 459890971 906410236 246213124 603863446 127413150 641340981 321116675 791387983 785771997 193954576 196705106 971911607 362329668 321975852 305252199 170371273 571041030 159083463 200268992 300873776 464484168 991410689 881129417 766978549 957755717 818246982 57170035 282030899 711376588 638886431 498880308 152346838 518930596 137021151 331553076 595973425 150953876 128825020 460698725 509302880 106573587 222338280 453929776 15320090 178553624 1669087 784285215 913565593 981712138 872513647 543829500 616563710 64389195 678781436 814534018 343270218 65136624 270236534 908007831 121185347 755721055 582416347 490402468 410037783 956731740 579503650 595907530 698378065 884250264 258872147 976061768 43749092 582484352 314650206 656361481 553963033 213578906 702178929 915215603 425374634 375741119 891702257 497011422 946922099 495057378 707110701 861330140 90186308 961165837 471399368 70895322 349376032 23647773 572658533 1864043 269713410 29666917 456869146 207081453 695337149 322615913 209172741 143163968 347420158 52153696 392618028 594057050 955826700 679326096 418003644 134428592 893554534 566415572 81241086 154566615 127443161 197458971 544828749 438450325 364883679 904229752 318210856 818734464 324443519 341203558 734263788 351600061 416543286 854219579 399905652 723003363 431955173 780990145 978774430 590219588 671041675 444391144 994472216 380798259 926447934 456832713 866475120 622246779 101718373 728619890 517546973 665827082 522809645 16031819 266072006 934990644 349747758 827222151 346419824 962395264 15065632 478269366 411126064 404933287 511467934 52207942 167302589 379481677 540943796 456468820 178283880 643570947 867389590 484385124 210974195 463958877 943070668 863248382 720991434 770891094 870599643 344821765 532782688 792311840 246859748 328848768 786314409 382361828 76288870 248632816 282378838 16877693 903374992 640979367 6379247 802484264 558516275 319277759 990405420 28062160 964836482 436595262 619842976 614295874 248148810 201546338 500102078 691456714 562631991 349297554 884879054 963055039 656884095 804515294 487790499 161925387 125169301 323368739 657438206 422370082 199039591 566272129 122225895 763569300 605397193 598925938 311450646 110637736 497427244 724861029 707499803 796873493 750822030 172643133 89548197 102346983 555653828 490746763 431511670 920853025 129201643 444704587 781758025 675814044 941949681 471501482 243552258 952795850 818230834 503211280 590394679 651886464 777007095 284768569 606071877 112035833 467990443 500270342 186992620 784503473 32553601 9571697 666796191 718889432 742597974 393976967 455407236 538651238 946213668 881663323 779312280 229821594 486331421 587832856 555244301 568129483 185203113 800436850 285002941 659976953 440906225 790262339 631793721 341017063 316766487 306714203 540726426 743798194 655958953 152024991 737638456 997863799 163107181 919935845 390841652 823987090 197460662 531062094 337721446 269627405 70818477 272413571 589765838 157183259 751911801 480842871 659526223 872176832 32686904 880709525 61361265 665288975 286475171 327346824 86592849 882683231 41689349 374761119 139095142 111817497 975203622 99646803 950897233 760723988 818930150 228195938 255034142 479922731 279888263 447003452 489900434 517166997 841785298 61856014 176042405 945188212 195240896 403244822 744547462 882946121 952288566 998304920 45142236 167925830 813767671 545477171 136050919 341041225 141204064 177684263 803153235 785699154 100220463 685422408 549159466 93986394 116125538 781356280 992698438 442991695 236477707 315223462 168048992 121592299 713502029 257166054 373902956 943874183 635800917 543423048 659964288 668961341 641962927 52844374 243127438 345847139 739782946 709147402 787257792 275528358 749396192 146236918 35775980 538589526 645255522 705480658 407595499 142687611 54893066 487060451 10346963 837924315 310376002 981918329 98510300 23271611 409929861 450142347 685238764 714423779 255494994 135229131 920206722 828464120 9785260 560008685 80096453 356391546 327645363 331712513 81605545 117634993 880335837 239366566 329976973 468823416 933882406 173345243 132121097 281411332 884597200 865500128 327992710 122747431 54704631 69310127 730513950 45046821 339942775 392823073 754167478 23336937 266392563 238863730 997540033 535658943 180427598 34971484 235531233 503320198 337832253 699950087 375184031 938167523 175710547 744290973 259986005 504194217 87836230 343870199 131413156 224966458 67389362 177803003 103220872 701744655 604930046 769620174 241623089 481363731 522201565 176897582 408561050 483016029 445202926 510787523 74122037 86427451 360477208 135922139 681771984 455937172 181328982 833189271 368124444 978567466 194047941 188483160 624960377 884799189 110050097 515752644 208167414 93521407 964949520 117456531 286212391 5912367 905152110 43600089 17600470 327457720 691116843 111483749 348254494 606091534 747583670 612152942 598299333 518470247 295892191 294391620 744564453 523509532 465563277 618121208 549814722 244946079 517534248 600763558 813439594 423356900 623739899 470193849 732562275 583224780 391095393 842371739 153096970 361710598 601973823 458185256 754402061 476558527 964053732 149284859 925289690 542567524 420775909 326578640 851668915 327806906 180993198 209842733 463922846 273942968 610163199 87882971 424235962 364036440 486968737 108095173 91772979 413901073 64798515 456896106 335309480 898818956 841681559 505216246 295945629 624688042 130608479 448290251 113860819 983474108 148495495 495881077 17985705 674207799 566747930 431631819 605190430 440727859 457336590 864918689 67170033 393749722 158130645 791195746 986443258 473607008 225915551 924168203 507252838 97796104 749721343 836776922 37434651 52469434 653015692 272968973 97913225 935699248 303536125 304250935 88361106 82776611 807050985 215846003 204897489 147524001 292930431 460478188 113801800 29500523 903319002 841805270 542170184 334090578 212278792 169872434 610152524 160513326 691972535 866528285 176147812 39391629 975055751 783036271 540551660 528787809 462423484 825337681 629280141 139266543 508234015 952284574 141112040 307733934 544848588 138141666 932224194 499900623 419973971 1191619 681549371 46273469 713453413 339885047 636055561 427600965 888930179 96625486 184156746 351513175 87199904 49655992 620427000 591232178 116946251 569803262 28666578 247116448 19777488 522605450 874922043 101700897 941676265 779211531 57641307 122771616 795628512 117017492 652693230 983064162 81848670 81980982 505073497 356070687 759516954 359341965 752423227 614515870 955194193 468863149 424204876 592057678 374725088 928198111 98679462 670951872 278864038 731484298 858525691 747913624 385554186 860595259 294273109 996575144 210508570 147633579 207846716 824356832 398841014 830622730 94841095 607008505 631697034 986129807 440381441 75606144 72608621 16137589 873446596 730610930 561472971 158292403 722592749 83812663 478948323 818302006 522232300 51206435 994425479 661353444 902962738 405610640 853134340 961693756 497992206 799183406 178310378 69460980 321878792 442910188 323408620 527963579 626183376 19902472 166399353 268404253 161260532 82512804 739781473 177132716 693498605 497322953 102942136 352683624 358244260 180766160 465236172 816105009 851905747 691420808 540765260 117453643 589994025 220423998 606476847 866627318 651053000 993312821 413161729 851949000 382887598 405778453 800206265 928542628 789038546 388085371 221607521 527089470 173437434 166819802 444393122 887549404 71300466 856622406 995110315 226106828 353840921 572827433 520971492 298804735 856763521 686271195 662658277 889445284 54227590 417879050 438061895 700194168 842223496 4717140 453211528 465663233 384381149 819307094 170202024 699817781 612747565 158934024 723878962 170151849 966385453 399950543 45857833 934965764 978722850 941393190 208846598 631327996 632297622 93442494 211166463 495363643 371460866 351621039 890875943 974247567 689647956 814235528 924275218 335771092 973397786 347143600 531419198 128444215 126793468 361153276 137715236 533795011 25174138 938434355 70290962 794712380 146251584 272127128 662014620 403033339 199254213 965472615 731478711 746311791 192337457 542304392 344935327 312505657 857084387 782792506 125047968 362732533 931210394 685305680 117816958 498755322 821925390 676239059 503377346 915157970 266914686 233199810 95533039 570610278 695518111 483523126 964742920 811252761 147699689 854446541 582677320 438698210 203194829 250951936 425084472 982910218 132908598 923808440 738696099 3042665 800891690 437448601 219763195 386247109 945400109 786107258 67103377 836663417 845864901 132238224 932381380 412802936 110913943 404802671 511099112 804587381 439333387 263446067 404210028 7193151 202228013 859076734 658884653 430744708 334429654 470590652 527781840 634282266 296065362 894964850 403697990 139704193 88830195 965508072 668335325 221570088 419908072 344816797 686728637 588594995 940343448 755464175 640793097 361086072 661152264 555352429 330946004 472975149 642266364 572254333 468315330 547909107 340348178 826028015 184128667 282618678 6350096 482208744 411890847 554400784 435033044 779633225 692983359 273127248 925874466 839865520 729647204 352946078 877786047 181044152 788271621 473959947 580783388 605090484 42687576 53583775 329196825 644491875 923137176 274920359 117523802 505590814 785856975 884712717 950007156 931120466 508700636 720359818 298681089 411918115 595219842 327227101 534246843 564097411 784550699 587342343 979991666 481905739 470699881 913078756 711978016 658835383 334125482 825364131 559229589 658300956 879077475 585837786 823793643 571315861 811829167 158398016 43662560 892383029 138483148 162970217 460217217 899223915 968156719 7885035 524552541 439670765 124815286 206336037 266764988 504327259 598052149 246741391 878621209 261774478 992955405 613093112 985636174 362860110 686060048 506082658 668730681 102714103 712726805 171063520 512286685 220788384 150829006 9627675 196281303 170322572 995319458 457390394 842815247 860513841 554118196 871415243 154109226 353207280 981212381 364508622 308904198 241405600 40603080 125457804 151298934 718269035 112321967 243506090 422390335 795411709 22935747 596712162 907338999 898919146 891055017 500830939 447282152 850242562 557816204 962916850 690994813 456260280 426052433 322207664 741383661 601984699 487958313 136475668 138637613 35358328 931529816 711735055 234860476 72915429 312507867 183525672 742668973 387201552 642572852 480419872 920985921 725924396 912413807 331450581 394360333 120124513 276640842 351791976 598474215 651690374 398418411 114048282 617767128 684440190 231458280 213960513 248488206 647691002 628529245 790733160 341326379 946214155 73204145 560536683 479052149 461564988 472580756 722563539 904349433 483725679 545059442 438971177 609817080 370245868 255216583 206775061 723512052 266881204 331254159 112540798 634149861 191763048 257065774 155399952 743633496 710785308 893382858 13233462 737139883 514354106 545503461 103073809 476492939 918897220 248453904 635525658 253492808 327879562 18732947 950013353 736243998 618646135 51064172 458586313 616377823 944501596 732383446 23173091 573248161 55031487 66257929 436694866 971287537 991120177 542344493 825310335 194773481 764140340 135812622 321068430 242148704 671538242 607776599 290681589 13423408 795446544 62691380 547200707 403711069 625171903 818283912 275120745 254955796 76745786 340990101 108866522 763104048 667728768 960769446 217853541 335130999 272218339 521885092 163868601 183368143 770079616 911607024 678442502 797378541 626977887 368542060 681087123 276814340 273946687 251804602 583276131 328472961 635351779 428436700 34489362 854934728 16027598 674321691 311766714 871245070 380510144 763227938 643362916 158844314 636728870 778304301 760814629 998356711 754789981 982858126 433718071 884752836 534282952 390550626 337043772 531117711 271085463 7893135 20072186 435223392 275967660 114439537 658104552 850228076 358567564 16866395 187991048 976284545 764506119 431156159 398343947 809078217 744372753 885493966 274760300 823831925 284190947 828024570 528669360 716293351 614071998 58298932 90281712 816932736 167219659 229468916 379790335 702598761 171082752 184194204 643211793 727986454 449103492 993906806 11680596 783488233 180108424 793031217 801885046 49067106 161704430 981849244 548811281 52636135 789301804 799703821 675232978 231436639 918153719 310545309 482022074 968929692 207907088 356192229 34255503 623245104 486480626 340448639 21976360 143346601 95573736 560882481 715809636 639944608 100090207 277434672 97029978 813338433 508826976 581984401 832999885 771757511 368840158 123403664 832224884 620635535 697896906 491729800 169127561 258825246 705945107 67855792 657674247 960852004 648573654 432217803 128552316 261388191 657522658 938810840 421234971 911643866 621728366 124565491 19213422 998605269 899506427 433940110 946733201 455360146 761787919 762255816 309326475 922324699 628976126 683830338 879922071 405922024 248633045 75525813 25040606 137247383 374342654 559341114 959113178 194892085 818101267 377766213 527706311 402010885 614130957 267666365 384725381 725963560 437814383 512328416 145567538 965020790 341026957 634105451 736842504 736545231 628054158 370972982 748652328 894434109 526335261 330976728 594755974 742442142 764549681 574470850 806814205 117652012 449827775 184737580 416346622 3788459 784826364 274821575 344741961 156295454 380347863 499326453 701503863 198938476 535557277 383246893 962364580 287555519 205962261 654108245 51770189 527219959 241267802 683924918 281670315 686667405 873356796 86775272 461591568 3847010 86232997 26305004 850683451 851280946 115035116 433663134 844253025 855871870 731611826 245021742 965606518 917253765 645374664 406507057 750662445 587392081 883673244 576143575 21907084 764456766 116277803 505785522 129485307 469532431 9947944 326463948 455560797 788787621 158792894 769386620 912673653 187441450 121436486 793159913 708689771 364546047 105465710 65678190 220831889 761863067 845626744 458375766 416957707 206732788 625295824 415650157 21478517 200197673 657566650 374615765 382468456 644914156 343814472 262494375 233825176 276473229 453613204 826798627 948015824 709809879 712728453 331484062 141671900 683231047 176461383 29465613 54423427 811730241 869854984 201260468 784971020 504702443 425314083 176408494 394514983 54763368 73264810 818448283 719010347 809535311 118010633 943083989 132222363 986072127 257098850 372432013 260151015 179574403 652087038 754876818 84734209 745916951 362178326 256773555 199624947 799215879 530309588 224565055 105648285 579680350 237043272 928542887 776132113 997363342 425592102 13322549 555387255 248589552 274856916 148908242 438135152 621631212 667123533 274992905 557076173 759612276 14818652 337467945 760356935 402280006 774620073 501028447 55380898 47089390 622413296 336311510 168906848 530416431 609432398 401281335 155576982 209433678 92964876 414711709 637762434 174910123 484164984 607284287 399016735 401712069 77521486 639690484 395403567 131430985 930926352 179294184 943843818 540083720 515576300 59070910 95530046 808190648 641048492 182721782 644034665 7230276 269212312 881282940 529552106 642707165 134598798 37612042 706053012 442087010 191384161 900103311 415346093 669389206 892686819 987191112 772465681 371033781 363175841 723592834 500397978 913471878 305234661 817051422 933644224 877540536 368553196 885718577 498497900 492489900 521176857 416877743 877629872 989609864 201613268 939510823 494971932 457682458 319436648 419484926 290814018 302248261 755201938 279185318 103242795 452790158 607757480 394667062 430869910 853713514 970771861 585939133 124779396 806096129 132145065 775439293 68508511 762073815 86912789 215321506 191903510 525342866 899056067 281905772 840813141 860680890 493172892 306426678 821189911 702639099 812581817 337242437 761104844 402127032 602939519 299773611 670496627 410488464 791026520 431924251 151646590 609349326 166440408 573941889 379861645 516737169 87180790 368667907 300398941 143224830 707928779 955168870 716820754 115484007 510103530 91881986 173463398 488903771 3378028 385680074 303500861 754506844 278044088 98263601 352068175 182501433 321854672 286143237 213834757 538323490 951425957 905809554 806249354 574824079 417710391 272228201 214079819 778737492 387990410 971670533 665248374 685271926 161428682 27427847 211613751 898015080 390577110 108409186 274321695 934864087 819988607 21492751 594770676 540752 649650645 336671686 558833147 195673705 969335307 449528323 106357663 610350791 344518895 739514456 479740192 100914187 449089869 76773471 568683340 210269978 514876603 779148551 889673028 510030359 49548095 71035040 885024235 573705277 168181707 258915961 163482238 513486942 122833843 812432032 301091497 45196165 724387744 40093080 790681079 16306581 294453671 662125687 894739973 395275333 883473644 514771374 488744621 638219135 460412160 77781807 873052443 518558945 853237636 926858176 421769097 943279839 57766932 964295727 82612036 918066840 897801503 844505378 408095778 819356325 581881849 661924486 778045706 807351822 667922009 638994364 2611526 453954345 305492979 683012646 529115107 316348497 2977979 932263807 814425894 253431276 876609597 369082958 141974357 215063165 664808695 934463338 457550195 203568315 29603073 128831453 94554860 351164520 368214508 159579415 132850356 650222815 690105702 938170362 181246171 895780429 254487197 446326777 492215677 557941740 590178861 222579892 858134282 761952979 407436608 630284295 369777302 62220405 769409482 999205513 465919892 204765948 587130639 396918854 715329240 113545748 902724352 266628040 197366922 30041970 465747657 656347301 134657250 309999226 730795476 946040524 513819664 910975388 94176769 450117197 78119556 753542121 346838407 668013174 257769473 316402037 859334122 827397607 877710683 767373786 871671634 947245565 520507780 412163197 775274884 991720840 729592162 476982964 779488959 742688542 831475767 730996332 92886708 931500075 571323693 52034430 169517987 249040151 708844919 306301681 1039249 103061104 481497783 397327911 418168981 589993366 462090209 585041430 234532845 854489953 675008524 19792762 39827772 251258270 301904833 190706386 861802582 112099821 775593201 679306658 543682264 379386266 614074820 892942 583279955 762594179 903837333 443232804 869035819 121926987 954101869 876575141 787045669 504181991 376837638 836291128 914783948 475149708 302626761 138576628 30237846 573134450 816304024 730639344 800627165 328929770 922734356 551878028 611652717 612292351 45215722 569789174 332716260 607434299 22556225 31747116 301457571 740670262 159805640 953651793 85339522 283294190 677384266 777333359 252041415 606971602 326873163 158520704 75546463 5879316 355596744 492977768 537013310 153031942 419373894 249275350 234584021 300097322 535566654 980656446 775686620 225524221 548593010 961387617 554948496 967928870 294721675 262290390 585661649 504564543 181828576 764389404 479372878 83612547 444280597 228429775 104371374 177729909 421512847 734183449 267166592 89717136 724882208 382913638 171884166 392912683 117588078 660555862 726536873 371291996 240725861 872212008 585837119 340421164 849020442 76995951 664608107 224704249 549300081 802336800 508323881 897125005 496871878 61453052 941726925 431107779 202225219 803945129 491452372 242542195 158684375 973119772 359075696 894884015 246421095 24908895 549240612 380724278 47140853 226501561 719698517 39258629 279545953 104748605 709679927 391159604 274185038 135436567 959795090 126781486 265000040 804105760 499354290 429446083 629435757 142998469 638250558 412410205 748503968 663531919 211624493 970131875 338162856 991412524 810396487 178654872 296779971 86206203 705809000 32583756 714643944 670091059 674275160 434215762 814591760 82406545 153545554 315693899 120454627 332031429 329555178 382541890 117793383 101052097 992353479 268279139 265314667 332146446 804640243 87590701 980685145 22460897 282111549 521085374 305963423 886817716 528617218 744045447 348200599 471274427 388052940 475036002 420798492 122079613 783350309 208038131 259977511 376435416 565210587 988306589 422371184 588656563 2549745 538061741 735933488 196938517 832203833 998086877 128881707 866928524 303829845 923414545 978211686 104834488 596362258 900573762 376226405 794969228 791749265 445298394 721666076 779245213 723774879 556778507 480497536 231137584 940895144 70504716 76483614 548571360 404831247 260245481 630429066 855816218 540214294 578005910 26483769 409117922 698832841 28919044 600681262 746713431 296430023 85141711 310135502 712386222 838178225 980574987 628496178 542486910 44215864 899071337 336799839 642027095 260491958 496181562 586722676 710725612 698749837 672572614 619050534 231832426 469409038 896873167 965711503 651526839 794485883 454806682 997874146 844203979 984669699 679264916 278361795 853282452 552919536 868692969 598646690 275072440 577234193 812341537 704053899 620242838 5761466 160555049 189244994 412487181 135650586 805992402 729275971 927315453 389263563 522806617 440517131 701191310 581655413 105364054 904255925 614405717 477879319 78555056 291163406 500721254 899901000 145921396 555597508 743369240 205399098 969321675 21931095 287911470 989552520 668118022 838070148 675863491 333562653 723453697 294930544 825677311 683640574 83670255 880182314 432595286 675132572 161576999 168096855 19964855 438548685 247368599 300877007 666751660 684425912 509889741 658996098 428489853 723157741 330129397 57035664 672131135 49955694 62489152 857760349 189485538 517065132 426818437 104242739 814805207 721226598 260592638 645926568 547679333 609754883 876738211 30802075 104680472 751861994 856733735 470835951 518634967 275618845 647854874 941498491 362756046 882980988 315368153 986328199 342051775 42323180 367428763 759127502 716055092 107006610 167778422 400459065 559300228 148832883 716753052 196844853 468719125 414175968 290180189 586502994 360887990 513985249 258922172 326226627 589463605 50782279 755349064 296752469 31456897 973015901 983705250 25876904 992232554 350689153 795696072 254479270 978652024 914651592 891950822 532636772 49078603 85076380 340987883 492856889 603413036 581694655 644639931 328811430 304824626 852059408 324299789 487895148 169421943 580549794 956243676 57513569 811124497 456258290 706779831 853367377 517987381 69814152 600819034 273341065 467120678 776291282 368861083 345112316 338559525 373493186 148988772 26390647 563398781 825192206 167217216 933339352 438330598 740744965 965884765 192535922 593526881 260552882 13236575 289804906 442899231 572845586 66962849 788987432 733401554 552961770 723914663 845540938 371754985 184848528 325858011 667614408 85882483 527580294 875704167 505955431 838540187 262620383 116382511 967280327 960964161 682761505 409990664 626575052 603061590 465874874 441740329 862635362 563595630 568833308 435630867 973162646 251786692 303418872 595562813 385846246 908850018 420434446 282383532 50880982 512932560 701246425 170221417 558445969 445427313 716099260 708247990 713169887 860194308 363169842 651082742 821411906 765569920 131951402 238190284 649352558 63198366 369845842 305417859 525894184 757404250 507511341 493132016 997302009 659466891 871146285 553694564 291194398 116996778 62203554 956006732 305667775 715993446 738411292 100457180 995264962 282993926 502632404 950211824 941738840 191879096 749740427 234999337 159041690 910264641 778847145 291296831 544606763 307133158 270343114 53178972 808657523 451018427 632728772 406564999 457550877 789159923 192416443 316676994 70143304 897643623 327626651 732854767 723400961 853408364 800604456 724448349 828857946 856478724 904649997 624090408 667215521 475394335 650630585 629781626 531030962 42325795 869268790 777860778 448928020 553590437 108577086 637157675 539351626 816657658 130501072 555585854 773235413 291107583 99846520 761885567 349759947 918910391 581142573 788041647 573560080 674144974 303537970 131018344 561428833 168755965 107367956 65305521 943963143 291383109 217138296 131943845 863564044 906199383 514922126 797506242 912093304 538631587 635620205 387812536 561079575 349171023 625346241 898700281 596491054 126067652 42224553 548973188 261821925 675430443 889962626 617700677 74078449 518940794 650257642 853171607 482671388 104394125 881779285 539210189 454929899 65598815 462652933 496251699 244201218 176255593 810678331 686798685 180749271 840447380 887818320 952757866 445965453 723583378 194002854 428490594 291920576 889730187 280842895 76812622 195593732 704022943 796715520 817032786 968901024 912565168 224151042 262854695 328949359 310865754 968086636 163816373 167409140 299343795 736745501 433470828 638077926 393106335 129641713 777608352 913085312 590832081 492974908 880144170 631917503 447540671 746866581 413869057 617327224 588635417 831828474 596223392 577820779 99963650 466161695 96975583 22979921 416326882 912962869 73444183 913587246 125900710 992185515 735930214 686550253 652987383 450988042 545456763 342404788 34690429 318273725 62236951 34626538 139339992 301902169 56235083 467010432 896797318 634009762 506984006 213465844 657157767 855699701 350675472 499405150 331781651 489655360 131926294 73291865 647093207 241917834 675347583 748465905 303240165 281747067 621239230 75772271 928539774 545024248 101602668 928273688 248095849 146219736 464284785 235195292 217324105 229518549 931528210 367457607 131060370 812051989 890213580 317638199 677684714 544022618 198684255 886462634 48475534 516500682 321234311 556445466 218239925 71948000 339971859 735081247 767221792 408264238 53957312 616085251 94475283 837580287 433477115 837613746 512460279 979941719 610613758 157971340 390001424 650203837 916581629 616707966 246775567 122277640 287554200 421880954 495662266 505016147 986738999 447548907 711391823 135320284 808989698 99877355 515530623 996308295 724497216 5154773 454300401 838213188 496843465 732387183 227197231 977222618 80470975 187162700 590455406 624162779 83473780 576813258 777552639 566371714 893802624 170248785 855808448 709942961 508580636 502833344 882167293 308608401 776385888 773191535 157036668 23145126 737413770 354013355 573688209 574174301 150244927 899149666 860539084 346979223 979123112 798140961 814916009 859952730 160862334 436469521 411421670 437632814 683712456 515690768 764096316 814322395 289417764 390802348 164348897 943869760 658573478 428320310 398170569 830134847 202971345 311017045 531922493 93108710 681081946 732393316 7003821 307628842 268325256 100670652 946199529 450114009 23924619 313287570 980802450 619073634 631725621 313372556 694366656 990186869 780180099 149596101 701685887 799174146 154457600 972104833 571502641 135683219 388492518 713735188 80838002 782806912 457825355 628193615 413911794 68664933 767546826 315979754 923945979 852895556 116339937 663449198 841063512 433370374 795801206 212798428 523628484 660891799 836545445 51485072 607176188 705856314 185422273 256022879 502468050 100674892 193581516 838727889 768655575 493752249 400752864 429613809 378390921 568693876 503297178 161868268 844317602 643661703 917089854 333109240 545144431 707788827 81729563 786297187 793673309 233698354 273352792 386435543 517944235 637622461 342080013 15356789 300971380 940150315 871352343 333703540 225113583 293261712 321391447 740014411 628425932 747688945 569222783 317456954 921906569 212468837 289529602 476233079 952653738 26429483 814773644 199433072 261163866 907820331 837932309 668206375 769152441 858088306 48119450 404848168 516168444 734453103 386702788 554617129 291813993 174060902 780944108 578271259 160467253 147286080 633041171 596042731 87717917 586828208 740032534 517775787 292366711 498352823 509621577 957875882 646672259 800462084 308227289 605123066 986176992 135763594 44113597 730455524 269931963 160908085 587042778 369517221 494632414 810019955 578732420 799865215 539158783 35660359 296664427 177162937 519024729 721084326 219693682 248891580 229597379 509514244 297263345 906112915 599726156 153104445 146793960 406420652 308675537 575345981 441390775 559388825 220722651 841826002 459404662 728118055 298288865 336206030 954818423 728479683 892015879 736497431 949761381 772557701 957645632 159525299 33724132 812651016 969647107 490569809 229124532 236048366 533562573 813694848 403972461 883257482 916304366 688590625 863705012 852888570 547080622 41171316 894311957 129758091 203436721 307412584 89010138 589628406 961864651 60262889 776299668 386143421 410768842 500023847 400485117 654495622 128492245 380921919 445481542 533767776 917635453 632294995 91071356 697182091 212739096 281269258 70572904 266372878 308785531 309398473 992120993 796889213 61737636 66454141 831041692 98903912 567422346 623126270 610464185 974738264 687850764 177040702 645934992 507138732 611791212 359226777 454785873 683067148 981687460 742713522 902987162 78955871 174614053 213797799 86535361 612540550 703473954 927783357 479426733 599711605 785152797 262100046 925206100 42735322 23390444 34022061 244080408 739756390 233630190 532438961 942609077 447808690 447753974 304411933 253107165 812249388 138250372 243324421 154693605 672118263 880110739 250013560 581651712 191734036 289430733 330412696 303890462 842963656 471578830 5441368 572140032 371672623 956826016 535631296 199344905 633224246 872197718 930148946 466496482 65904759 398014878 726802907 576377472 899230198 774615527 766272976 700937124 879507631 389286727 413691886 872583708 246269906 796087840 287764040 273532480 448841710 846687234 270406132 355729693 520099970 127782025 559453023 51718040 95763534 67566972 133529951 62624357 337909034 948834079 210137288 80150968 23987632 908331799 690474916 359325788 448277523 281068975 692463171 276407530 61364777 17477915 417056432 315359179 768591792 714633351 189369166 582735207 137099618 174504343 18712199 679272218 809552032 566881135 494118705 200639774 815639034 600304 771572473 987234628 265658083 504281403 396638422 429602272 670353541 599360017 884563846 515399425 429195750 722537777 317731340 776192891 814581829 852180659 125925556 568683733 724274251 837140057 38132342 996501264 861161173 753483515 684928290 303710035 294705766 134583263 966012692 927537299 269559876 203425765 214738106 622443588 34678740 805413861 80217467 424890966 617535507 613291717 166551827 840617552 729508183 734187465 332129530 711997012 775210877 540806170 987884708 516033592 477573972 518320946 416740306 231778574 544423057 901624267 284490083 843438800 330982976 463697505 918253126 591537238 810628195 979931074 769976371 955573720 80314697 818727632 740064913 116993020 488251296 720508077 86963654 482319222 38789168 356515682 923800653 585965802 392989959 506892278 448378156 280513034 973768445 698815934 854185493 123255945 758352599 409008481 737487014 276322847 157515650 769692401 617701927 48661487 774802924 98374395 455508644 507580138 288116725 487208093 881577031 196485353 725790578 869316832 347575603 447319624 842024491 545479056 770764175 371883452 284305790 391826381 493277365 50457771 844530563 318095838 263634077 23832005 584777165 394497793 844352210 809429895 656517398 654032650 725740407 352397468 532207429 531346687 775648554 740105227 169466065 491692939 83985034 750681184 271184081 617100502 854026087 158745316 220600229 998708800 789417141 338421950 908561507 904374309 169483162 260285428 436381409 643576540 350202717 438587876 743382303 213999746 303003420 908254853 890836890 902283320 487696682 49348337 81107421 313284226 751902240 52824401 309100417 660889151 340252478 169112591 833888906 188516256 146406439 995900799 420658060 278298489 900714561 411584084 315083421 157484776 624407638 483966174 848963599 68568770 681567286 156510900 149949037 267473998 921942710 583352506 103049164 170791784 284504352 180435626 178959178 795879269 729813231 9760947 379481289 442868642 955702155 818011290 952856005 982567295 450836331 323483161 410342269 700890559 902248484 145950788 858442512 256502094 250550576 648896181 31571781 337899008 320877793 42129529 957202655 206441101 457714167 395573754 550864705 693552742 935789934 847731514 369571229 769269242 963882790 137951563 510220971 295941132 604402861 301901396 706997321 635722620 65786761 947258612 657035819 667559294 802274417 199563687 28891872 275505056 699326964 725328354 368812166 963456392 652237039 870862232 876936241 587854682 702153965 947508804 148353640 166148057 225955331 655919484 306361458 199633851 66831737 626253898 376029495 988650644 980348616 66863641 432023758 764560248 39199820 289465589 733038819 498952383 695385249 778145918 276420506 859294675 327261406 769738687 125304544 207414908 887872218 861039558 606753658 660302441 760880170 445381522 419442506 725109842 438502254 923439201 978562039 526865127 48521835 932200531 67993002 570275788 570398449 944424403 805085925 60234731 295099073 339939160 851101270 776889797 866092127 192505539 479518809 962023973 441698010 784768786 58773008 465048092 986321186 173828639 164842646 955652339 484675220 91131674 794295836 30127638 251371176 682014009 243757790 88808855 361722749 232062356 285886436 70158065 887543754 136094294 893639582 501414771 353470276 346952802 150363796 227577345 891952074 983284255 476293422 865157955 165198084 478301499 899441779 455198799 818485607 496507016 377412306 101686312 473179822 698045619 989331168 518131718 104367058 341654313 121865365 44599197 882708943 861159161 419037655 559554401 556428178 35162557 849093006 911547358 955931912 110486614 320513268 955971756 506751907 162677847 587157748 327835236 576364615 584343650 679972264 273623505 880714424 170367997 714866312 239426831 980641959 677939254 571153753 553506645 621326989 801819712 291315101 207873667 832795438 291906074 311199679 660975341 459625498 617587235 636299605 530750611 929189278 600603578 694489569 159791244 618421020 384392068 804487634 370699949 810849306 203768094 735771765 956871878 771969421 564762244 396731865 871970106 469181571 241163188 675072735 674830565 510317617 173212861 666275544 169038239 381136390 276972237 639871610 920482930 137569110 68891752 109760780 226580265 459411198 188996299 160326342 683226866 233763155 683393485 13410880 425448923 791203850 672912014 94645802 169341353 463175036 797832230 836201916 929953485 890829062 992916820 625685352 482471539 686922372 863570199 471149632 276169866 688816607 626649634 901757578 243281003 166049642 132661334 200415786 186566364 859830171 472841707 295263689 440034656 828874452 749226487 139917029 648393014 585544877 209317269 733430383 14740552 223333273 110022839 914500829 751335883 561104239 290996549 574780126 22443733 861813466 729423216 306304452 166257475 853989819 588711830 145805271 191273346 703520410 882226289 332476932 596256704 781084946 988339989 188601513 39351788 500097109 56266473 908879997 188847938 505221507 624044459 854925998 590003801 532687079 42894426 929491807 534324987 126673373 911639418 254814114 279093696 158530162 901324165 585049266 174001819 438237094 696254533 710383061 495459381 820270201 653816351 825832181 553215138 920112704 121037388 920302555 517822845 724391001 511625773 42346687 27120982 866099073 566892177 315782493 448721139 748590054 790240673 149167693 40857916 596204357 633159431 324848211 353284834 702288217 102742258 750058660 52561999 33026081 555858909 911961624 477406412 940700602 447332983 691736602 988215971 164007852 682969029 37865347 9441293 236072562 120874707 458612241 140391653 71961818 293394115 641291266 274275405 883294293 304129970 667909644 511195110 747069062 373702523 789178320 362376309 765779697 570444677 276960462 484405228 335802034 375022385 822747630 741465789 573483386 908019513 191153953 895590256 639267516 928198199 662907213 354683081 669098496 396932128 205270584 429398087 96781960 948336108 870990476 599095435 980118653 22706554 241561896 485138404 549566065 655779695 874718632 679300134 95524006 60625858 988593741 523253271 141365647 483900977 359700520 416161442 647604772 718385423 946966277 351846591 897868404 978542307 152271940 869799441 295250367 315686066 845412921 645782737 578472956 874932592 475713271 618893140 56547444 247347048 248812264 274103488 472108044 887135597 52376457 15572824 635306198 551437213 269294825 124352720 337255762 939939676 664704579 716908622 330105704 206473753 926644263 476202 359189362 10102170 930967019 827014315 379461928 356399702 962441767 213598780 129151976 7776609 589662407 67798084 483421377 876303123 31010444 245272980 125500931 331878110 951894372 990458871 508939727 110704305 378202961 520278987 710702337 54013325 387206986 123085353 369313217 881875884 172837545 289602818 35093646 245745967 536523950 266335113 766769605 38766267 482636904 782238787 280106115 956422554 670224815 824342120 500402152 551099729 828412693 120531563 921351295 936635387 609385821 106553187 799251359 931589553 783558659 97513604 823881741 381714597 733022588 657420551 724893456 364970559 332793288 673915218 957263325 495403172 395449353 909394389 436097519 861553473 170941263 925729612 323935253 380189779 833856191 22282363 664509033 328242761 904680360 505485400 57703189 275889878 482580584 261415965 834418858 137066091 637461457 917067345 959060750 990584959 841205309 319136737 609558127 867011430 973786466 429788348 92314664 18107679 497784519 514044828 70153055 948070447 463641708 682197714 167284108 435361682 168732525 276919760 624775602 977276868 98514046 322817265 166323108 450605124 896752672 133453148 767590822 389638234 910747912 103331722 148723684 167604716 4618373 322992303 842667912 277030874 502926136 21773420 651913194 564721210 765906450 442867683 441116653 866583838 750853770 145693096 121856764 808740566 563728659 929777385 390514700 709007125 214956811 876996195 605635919 752564276 644911330 891155089 368737292 181342893 704444432 308709562 731018060 53675724 458319105 647848140 35783270 818468538 885068231 933562855 352884131 858095136 614033983 456475390 436932502 277790031 652242512 935164226 829206588 550070369 824284927 187688167 1767707 435549715 558007365 451937773 46359171 945632000 943276306 50788680 778849285 770554842 701669052 961775774 825743677 413449153 684265589 384062962 739436203 776981167 973801645 523238726 23444397 713551623 339501615 548790504 556630065 763182162 458634873 536022911 871748318 931304740 16305629 215119966 439258465 557680843 293545078 35324843 278691500 547423709 289584012 251417929 137056057 257670854 163000523 49099398 442195663 257306751 862915830 499238392 909277851 946416633 215817155 829735799 54009675 789866605 200072854 338858814 846781588 166540893 609814782 259580393 226820106 241689784 665573673 72009990 777181249 241782276 980621656 447573461 812291734 412996823 368077964 631492001 870729854 816195214 225453941 380488574 698189475 777083378 728433393 803286600 406942617 549799783 200497801 116280225 333194795 649174382 205451805 656051288 889366758 405276470 611812782 360840863 468392150 115116824 163033762 841847373 327655023 774614885 271304681 11827264 20622971 553926729 908598338 849226314 904692790 556919488 787226146 13913441 490162272 736968296 417729282 453303786 122903428 141324179 613236717 594271031 34040428 262781204 531730878 132028078 378675260 57669010 901287440 925355581 273744289 126037376 8743250 378820887 725847806 305408296 25624389 603916932 648804504 959548615 91263101 213297224 859871180 196244799 358252705 22704491 185673754 118105285 949740202 51425038 519835589 322562172 249670930 298019866 464299303 552349398 728742137 607787227 976301115 499879081 605256461 480767037 574202502 494396951 800196862 890389605 206950836 180139654 106857603 768321152 851312910 216632617 895877703 128394634 525505103 806979001 853581864 834031975 338629352 642437751 182796200 638111965 192051146 876647595 122366661 224469040 644753287 132113355 964160425 107854688 447499068 29855662 836868371 156231803 952614304 969520308 633630642 905630747 388350485 32743656 321972266 992346016 648557087 240229185 431585531 108589090 545256739 759955005 647212505 171649043 833196630 536611020 451576187 304636246 241815531 620153153 399502177 958595978 516410454 602507004 979644798 432727928 636438045 560402080 553782943 270629992 942827754 940039754 772354131 988336581 323512005 960640867 217960916 185742300 860038255 707092713 919314130 364112031 669375662 826859535 768438869 199979920 298832357 522716396 43669283 217112297 722558936 225470701 942901358 91747780 634488725 702886994 466481041 762258341 547272254 716741842 490835503 431871175 83528783 843110307 301665394 644179656 411520142 755577219 637061676 87819176 377688655 8521328 797578160 748522902 218635560 93895260 473417380 730407163 292106593 326604481 400971278 723083303 69862997 218347252 513086467 573655817 484978808 642642740 912063518 878380422 492298613 288188492 804886725 813894147 414734302 628758233 96163710 211735946 236705549 163460970 881024 343513939 69910884 422749200 30899033 543389402 191003741 756693131 699335313 906304283 210817062 751069219 184834823 689807222 354966378 460818295 492862992 244696295 468492643 321233261 89880249 930286778 398593983 757661229 394220673 874900257 262109600 39441016 973667018 815559750 448380501 585581586 252877393 954071456 9585615 188017109 710379001 44360008 79177537 677581639 853973202 367898093 801166327 705119676 739919650 981888447 320517186 814428808 983499549 152565762 370838498 647189667 695677535 341074169 239345702 30545409 943489863 324565022 198611971 427375997 223979074 103754048 820540452 532013052 549587140 685648004 564869739 609976229 84212488 716458264 25362728 299989214 891432546 716768552 168270572 881257680 528643004 788040932 773297759 827253599 402000127 16012689 376485124 9999062 20504128 195795343 857791374 216654087 301878411 749860259 504031734 105892809 464446380 958187929 321073162 768235499 311638439 307231132 980504932 824697848 614990795 464374888 185808681 386023484 442652465 108711539 119511024 632497634 165153291 983467620 542042606 70253043 404501719 20456878 691329614 964873980 49722677 603561824 794189664 892302200 344905279 219026416 257210327 824353437 762119428 298930928 342818018 376848499 736415118 447951294 35474247 982981851 762147787 3998090 761557173 18959486 323254003 673456362 370115917 758792876 465342074 435791899 249634158 318580966 916179833 147293057 523847822 398632076 985395131 894026487 259949267 203972090 772903881 10254865 163440584 143452111 535599761 21810851 519236558 41471624 924569738 271573547 577662425 830669262 897920408 292613504 344511455 244320670 655464461 384274872 979637615 312037380 222222823 241323918 990037663 149105845 356589750 446438171 561854795 149233814 598833010 904040869 112615445 133494526 415942328 591999037 462434913 623965807 494148622 952473089 804960451 46984054 860944665 868290455 616316453 796297178 410292066 405223424 119742452 901337438 115453993 357603134 697655179 684967509 836153602 558196873 968795547 434017572 448506687 376039346 809881170 238575826 592143655 528958972 168443764 635918920 528976465 334720343 425460195 862630440 921909060 453544896 2222731 161359207 670324119 957389066 799331115 415472586 869078785 303849033 501659918 74387484 23266507 26094545 181726646 48516469 278281358 149667118 124029593 933279883 571144980 421576961 321700548 124346191 370170816 23812133 875995858 134310012 947562859 680217158 179142147 669297954 574356086 191149108 756218705 281262490 496465627 359379727 213982968 740052000 961183359 525743071 74759195 98959069 275557703 180451633 193291524 273457664 181522306 695823573 113019859 628095940 601665804 248548561 812216601 890652990 683021059 257335531 246868942 309085052 187758776 453365441 933399895 568056652 811644871 262400620 478737299 449718218 79602865 812495790 768428940 532585540 839363662 258860231 311396167 519063633 813900957 442160336 937163302 275305844 638398370 660065889 255121726 760415128 362070458 140424309 394095109 849603287 547456933 129157553 877283359 154874218 472884579 422449163 343643900 635439474 654343366 780345764 636512706 530160955 761068774 499480690 201953203 557847016 629742457 657954178 521871621 778097770 510432076 385613805 37175961 781949869 475431355 54886417 518276515 763785152 817599850 510811085 910486470 994689362 910003145 292949566 664059865 830038757 773186313 455472884 28486625 678067330 378607771 230162944 60401465 729699342 361888865 323953609 604497148 444630797 310178302 903354979 965639782 730932978 80887751 271350246 824036095 446062001 162318589 705050634 296395122 770289027 633050179 773519100 181270138 236419355 738990352 253767932 993258540 896387472 540050482 545606559 464703175 577777095 198814467 290303328 576245771 829194926 535637491 800842072 57680575 703498958 781731740 326630608 116337064 828430247 557619377 899163343 16599264 73068519 760514349 425139016 537151357 976442796 855758731 135787217 287611558 212105860 495942035 609145198 155792492 885477623 881523889 43851964 603552692 423568064 227407959 448665207 169905386 829158323 826231118 959520768 482121213 671390453 267126214 165552608 135089998 631053633 291613368 700161187 109996040 247714625 246439923 921752379 831179249 234149099 496511793 231653154 856777068 594666534 734357389 71608270 667745745 406464432 586060752 12240637 159588687 296352780 190522100 566208078 52938694 88597601 492048469 135552694 884204620 646647586 864419215 484267168 376822405 81799029 922389703 887159993 382442460 182751408 511225956 608083118 301294534 325666728 213702121 376881057 841772563 467445058 32094926 787391190 626048126 179595093 68449912 622783407 192169257 250171550 804973698 312627627 701345264 128181742 30329413 51520336 911903583 927248587 391531901 347990345 878919540 446962213 555938788 111013751 21831292 534898610 755383754 440806392 647354838 838221425 197082202 912225634 354493646 50417210 643606122 915631165 63861147 966331876 713453524 438209960 593866238 125549225 25113574 674368863 991204745 304071405 559436699 560820903 587252363 273736393 410261779 468864175 777159107 68085366 749583516 338152707 932025854 489898513 259641137 941352996 156459806 130903819 106474497 500442379 38657424 572119510 996711785 729120429 744540295 617203409 340993154 204881794 885407625 870116484 136410527 52417264 73797523 426455762 149866428 332422159 667716685 825684822 679812320 317026523 335107595 84882364 72756774 465145564 830818992 757372860 520202624 37793091 665410781 729630798 671137110 708972888 900616186 240516569 73892330 121579984 146216522 616878436 114403729 336953506 816533871 85575605 843530953 83589529 66942697 448205902 209259268 490589704 666973264 474633229 453600876 62750694 339076296 762365722 16716576 928522368 65131676 734349040 694509109 494791119 670129893 146927122 237538337 70854944 422533936 38018516 893643949 124716801 205382724 774440409 771697293 594764600 433160275 240226712 416038914 500328783 579061986 988846777 65864701 758232367 900219063 225579750 740715255 972997972 194297515 489497408 914185358 21215326 591115618 647841181 774617464 283872118 469508573 609000891 222999985 359539010 63105140 991191697 550352414 52661110 360344867 35241415 219904240 716073387 860333239 925496054 527484916 893314603 916357443 39762014 348606578 136778862 821524182 676414123 366295157 814653250 114341170 501205051 372780143 262995467 114914483 137637435 1004045 996170278 868249632 150524517 229135185 239048605 912380149 502379254 499883627 413653052 181954530 847095139 398337603 776679079 769987994 259315767 427553884 39011757 806071340 997287980 261898701 537367957 244145053 396527764 506267591 727932435 388766474 470150051 762472686 539858320 732124232 676380493 124719465 802257832 266999249 176197486 111054043 825034354 347239682 238989226 882952415 956511144 861765285 575828044 312757548 162784889 872483772 312399511 572056326 893256097 623302029 258687074 568342119 703806244 493118104 40274200 683863681 44064160 873575752 207585022 802995382 904421690 7135663 609966311 962264053 239924200 656751299 166820254 920659793 645533162 314142553 206468160 181602626 831796905 779809371 880618476 273630671 81475009 624200781 360029402 568079786 553953470 420140363 456316523 683921309 939558874 347091822 411122426 864779621 935329025 56390566 441549687 715235409 528655833 68878714 699835452 47095002 35363911 460315590 62610682 451775752 475043660 956431491 141475252 695599292 341138340 448774116 76036144 435411677 719784159 209403723 217227567 687925241 469636294 381000538 382417136 738305115 709416134 931985011 963676582 547582305 390805182 605652908 447859644 813656339 493358345 755742906 931648356 2172130 486520121 351635928 575640336 139775025 905294310 850422511 990944634 939543460 802381252 924807039 269427416 608444310 36273785 877414998 565959419 690912397 824392156 957208021 810777466 439474618 544186050 232719589 713043859 917013142 553173000 902292369 819381966 264338681 409248772 235930538 478831199 425202246 408943067 615492438 77441262 10620973 877390325 945005907 774717799 207559027 93697684 133386146 331958291 102399207 490457645 675530450 927268583 623485618 516828249 84618936 806391832 39846217 522877329 792111958 192852239 798967377 992942755 114410974 71873844 662158569 693010096 328269684 770646474 82139051 777161007 703473048 657130816 117931329 588737406 472065404 243732770 206209997 447498531 192992255 471674380 788017988 849090225 624686723 592251309 193012956 978587749 646129952 165097452 893329296 446267306 180819707 537799808 888559311 578527084 170244272 114742440 773595918 323286246 560165130 209295326 501512405 196565747 227207673 418589325 68325509 917641677 260390951 196094003 923459149 919473924 56575879 227496457 947958964 972954365 717803294 368513564 813336526 253102713 334978242 679217776 404529298 373522966 863729468 686189239 770013925 664667302 724367780 83972895 146288628 612616520 855966147 337300988 776219441 909743688 194884774 124034072 593338320 779544741 976458369 248698768 277071036 378335276 424374951 30607536 939066048 464208641 512557816 440117803 696562558 340214071 910257802 772783788 505945171 466271583 528503005 300118848 938566586 161120019 295805075 841010744 800577460 142641214 916587183 307603104 600544255 295655624 523955475 814320590 522000732 821030806 788208980 33240359 464537883 360862430 349306526 401247423 945944201 916917587 976394135 224330753 401412247 617785716 349071734 693488127 897839108 591071167 813183595 976853680 376689898 708498031 662173484 513971734 455741449 989967003 356849822 386849128 330533324 476752516 569501555 340303289 16149859 436049435 67019554 131856483 849724480 960745407 629302684 529333279 4363722 700333668 810213927 830677627 974832635 84094026 80219461 269428952 365568263 584318098 33321801 582610707 480230608 947957762 865776226 801285997 941977526 939646913 545211090 688333722 928178514 499430676 448499209 121224009 161902219 636729703 777349500 983252526 869805463 464357921 731919967 35847463 203159615 594403047 781869723 153959739 466033157 292997879 347524886 359506371 335813157 603924073 222469967 594407885 859145357 653035811 119717884 360669691 246852279 277518810 188994889 788790201 161276183 65876149 515691777 515374326 125543695 337186714 364981712 524100956 340889550 919833441 417429716 975851478 766701961 680476113 140061653 752436381 626498280 676500738 794465162 440725423 105395569 792315177 612467473 262939716 896249663 682888402 855865901 732588086 259452734 85716656 703888570 80494876 364979721 25927358 526847754 410387044 757787367 953684195 608655420 953246303 591378661 593543268 603765825 704379405 29179652 206147877 808226650 576894447 557460624 984505828 854754451 67177776 312783398 543161036 517843392 888654847 457820352 149149160 626263825 838472950 648534479 874921931 680682471 474810150 610403862 324075676 12030382 362108692 37386126 235166040 727826050 231126334 399589825 139903634 383080428 823754402 221950572 352742284 484557527 793347206 142927002 263770402 482134122 858241222 338504622 861997374 657968343 619111235 364036438 257619166 206771520 591249257 619780121 765977111 307855650 362566672 3091785 370765191 405608223 357790345 88636132 348355910 47583419 203336139 872105743 786290622 844770729 600502222 115788894 859893996 767014806 396888036 634487977 779519508 177627791 850768911 374932407 283431973 957641015 216724528 387251271 261627036 993580570 639690533 967274947 128873140 561249452 465829288 890199360 285740907 153536541 65841340 320893613 979373463 120679544 516779820 486491761 592261522 706006730 871795587 287731893 185082432 640132387 854771167 946180531 631991273 511167013 464203256 602652053 762802026 289544158 335839231 679927708 937950199 630095670 30958583 649004770 69052757 601206734 223838333 962304568 859517832 904040770 478606272 73999482 817352590 750318920 263865515 173896514 601860350 256674860 51739347 57878263 879322907 366400416 536608347 42205907 634460262 801235729 645710668 600387444 991743305 727178976 583092310 928554706 759549082 665048981 787742314 76479273 405896285 558813651 76968225 889036742 232380121 677501730 66698053 393521100 708762999 862996792 616526614 80965060 562425386 382071974 280431922 471016885 252996406 202991734 116475002 736923533 390851794 485810112 820746819 106061168 387316676 23705996 979569290 781700744 72369383 68339893 278926550 758301937 173248393 140225590 546164876 925916084 830914901 900537272 87418981 832525553 713063819 867464501 898290177 784585281 418346578 247465455 335307119 101281418 8022615 148492207 948523850 216901602 159037122 928564582 961300946 482160721 456208410 341866965 232988429 720721217 822702047 920851008 96385637 627141579 570089042 940806527 24817672 253004408 68327496 840808177 961380763 328780223 101424974 806369976 492439793 843206123 360602039 348497467 33274100 661629306 787115894 195682373 470018115 113392728 772357697 294372397 323381673 526356907 918880535 524838114 331407357 216226618 765220983 769496419 724452582 437175517 448709281 256613739 712929215 739682676 274088106 973706645 85527564 771452356 70544908 763557739 458975760 168056059 752933075 436018653 580548161 282138110 164759550 684023040 8476852 335969862 54982928 81538866 469307003 639430696 433173838 184332318 56444257 114552944 757201547 207683046 282294367 850106840 87461876 613013066 391050379 205544322 397987101 182222208 956897730 913976886 691726877 373085492 954028622 787241334 837133571 432912687 205853573 498453952 277986275 702120812 57190377 942060708 562956610 782998361 501937106 164997090 536230665 32897187 366417711 535379399 440269405 637025884 627078596 191125874 58850622 376478963 228751854 233699153 814131752 123231911 602982183 658804363 932530524 572849746 604488785 658683839 565715077 868479345 909273757 246238200 57723920 617074648 411621914 801204211 164439295 396462975 760200714 260546234 111644940 952014565 294288884 62195608 67653100 739904699 444211759 314279905 939186607 149373609 558004521 290337471 936992756 212439398 943956334 860817768 44896218 164946055 814978870 551233666 747914683 959092670 843209011 607814370 638981334 645241275 328164806 667355522 10313829 335935274 112658727 518488482 930399916 141085514 121433169 74214132 740430407 391186326 99637283 965004931 660584151 550021423 533615005 860356447 742201599 936529465 126368622 569228608 721708806 214561724 995677232 255832334 934077753 713634925 952389542 34316529 843043526 234172922 288995706 523958123 232528627 304547978 923679546 271980846 161572374 387723695 519795404 300049675 783774050 822660210 895188004 288618747 337413167 338646790 315365909 727670418 738248822 413264047 81937672 803589108 994353723 127956393 252709644 113018254 520834756 69823062 889223787 809233371 116230374 612086736 673113400 17909040 851891323 896142179 679502456 267468674 927026988 816636013 380384346 598505844 745314827 126474845 588568207 947964703 63002518 225334117 477625995 642931024 976641736 57969739 547092037 37088675 349326384 146527688 495141381 498663817 372023788 457888992 168472740 704668559 715260566 932741772 154628995 656885685 83837979 762021672 367362576 75015629 120162403 384929689 400618945 348509612 188379219 458568199 166515017 747876642 225982875 602485290 323559462 256024021 311386315 715370988 280662438 634614475 55587717 712574828 850007350 533883189 911701701 786578874 978390484 538641140 333424470 351914034 845763369 217977119 648417536 911204853 671029217 689430516 895125426 91343866 664449051 931204140 812849907 893847373 954567629 192705203 263981183 28368370 157193152 618371511 720731592 618148151 377932546 269214498 279764804 438016303 646174475 975572628 254507077 692638313 415990429 589573534 380367780 37519978 743214823 895981060 701843652 776800254 394969464 775723702 244170013 26761325 491160310 471952044 473348327 979594676 633701287 365427561 638516845 810916602 344313944 611156042 224016246 88118871 869151208 179168136 348639397 945422144 104376490 751750128 133448403 960642344 759622018 580728165 963089684 809106406 19831845 712415147 124676130 941239486 83413454 958724669 385123990 997822255 734516717 936659742 646418882 619476004 652772592 458546733 743726356 650421459 432256210 643445425 599890256 535913500 732627939 54939266 710987291 602969921 767714001 122062437 846232751 149653160 893125228 211379965 787133281 71680195 460189394 807494935 171057111 768822583 176489353 199718813 31252245 366281098 418629665 313828079 316595520 600690754 995823604 550164104 49463555 2477024 914238390 880722070 911282332 921311558 920940036 739313453 630980242 620076528 417442943 685988668 316694172 578579470 539201872 245602740 579928131 146247964 267683519 793856256 824449940 755598175 786928602 980385700 634737345 652198408 470017137 110945494 645417071 818488769 144860599 993908905 93527962 223067395 416196153 742293641 553031323 991708931 844301786 515299062 697284141 687025209 543640815 878835779 849443812 396803703 625847165 672985607 573638772 477846684 626082878 885506606 68634335 861417292 54180086 755382394 14023007 956983889 890071773 371808203 654289542 69002816 474121341 888430381 165250036 996122769 445761910 501041963 488070805 382009699 55655349 597162576 733274673 344355392 872330012 43802038 119292056 101789642 648198202 21172526 699727827 502648870 859173887 837669013 877818911 146155878 29770451 163973437 847328983 966038415 183449031 283089976 731752750 439825504 486458571 772067009 453652380 903327591 971787258 783108990 856835786 841229910 764520833 513624109 309528337 800309065 747686287 616623034 524629850 283987500 342440432 431833279 905559098 661339196 636536865 337291706 453700966 810669415 193378992 840121190 782742711 955333097 127875423 273857444 135582389 982397739 176132565 927412013 765845420 61015256 375003591 631061452 912364333 235679335 522157103 347076307 254930145 825027682 298077041 384197184 703002358 609834802 793061667 84177704 101685159 677778503 184195965 490192538 625447252 886315057 16480234 811101656 48667291 505365169 547137648 889788619 12725429 30841789 465597348 179392941 816350580 791932315 383460930 280359338 845843199 398736560 11621371 979891883 888217640 966616599 264779913 674779289 191944608 74308724 587177974 18939530 126588004 727750959 154138672 237910235 429971747 206601250 707654934 841724564 883231576 571663491 508960581 294036284 291683680 705478854 952030764 833331780 367284664 164076190 446574774 426379420 271495739 163124417 834586615 346389249 107863479 276108068 289711167 605914923 170147217 999104833 226286734 475014639 562440414 709381809 151786683 589774853 284449781 307242960 47621285 317023285 585770967 894708973 246207200 882025336 301991819 193497266 310623262 890126322 242560376 532633054 925418188 37978100 331471118 54771477 546863876 314892677 77378431 32025515 833530263 16340933 563991747 709819778 377360425 95562657 213251543 239088163 670157025 361488005 750633841 890877681 970090398 890146096 246798206 453924730 171335337 601723439 46747400 761684861 326024503 299859183 642835460 116771709 580823921 787113451 358399421 890218773 224408008 757289176 329431034 330561973 123428618 35429268 786473404 878389449 640012164 262415252 654306578 522001896 673986150 749100194 37880130 169579389 166636210 549110714 475991023 755719655 865925352 722315690 36994847 857491721 647448193 963777378 657369097 869979634 544658029 175967345 661414886 55412618 747949679 372877631 798439264 60114396 927709813 83826549 293353701 773069521 296254121 392235355 101899232 417902269 925339449 926332025 77275133 19523794 421803864 302629236 560235096 171755471 285868728 89830455 377940332 486316887 848286579 225260999 96967259 573252909 440050180 140915575 436082338 849273705 490303584 807280486 119523334 642214784 883982092 932178855 717506846 684411410 736147919 717844599 85629281 402059961 51876768 527439800 357525541 11846047 867499426 824556587 206018647 978791163 827481530 914180819 602637670 680578537 273491618 495724224 383918039 978642510 52257769 872779203 25818186 741827649 163480645 624142806 766103062 64185276 916911736 482397357 984308863 278044775 106882206 171718985 165023564 327591631 426234612 242218782 261878203 301219780 583573163 269457829 40627672 452208347 960737593 31362484 714183709 651406213 311584181 87921105 158027465 471028406 64010790 526143547 167918408 900594782 666410302 40113696 619539277 942161700 691243870 773155866 973033908 315658627 488950443 926421542 752026364 654430663 882870517 690187860 721528890 879433566 546669062 93847147 591207430 743164395 801599697 365415705 465358702 652486910 129909180 112596806 427169697 573758665 879608039 377191415 734071770 802038518 554110031 330045164 610598947 178053724 954771753 544953643 754769113 157084937 273594862 384420321 191316788 840602773 113804932 960070638 615835501 631453519 189762476 209261698 712230416 708513616 612689250 340873941 453599467 643544821 729962145 313780843 4448647 510173640 801721590 709463977 381280365 7084561 263374925 109189696 613540292 968183028 142027922 123827688 872065837 118258538 653402652 105369022 996046309 242495951 387035348 642971712 535607648 884548826 700638232 383086330 428430408 338347393 344788510 708213922 827287139 864010355 618164439 797894292 726391687 181622107 51795041 163546289 270776210 588697379 787595781 340338331 217512281 26415950 850189337 897371635 30689119 576695713 782615959 448268892 583255375 426380782 343229726 228574490 827039083 66117808 286484254 566183122 293011075 962674388 641918223 823396753 340558051 829682677 487449985 582838099 573770007 874344493 865528963 980855190 533576713 660260277 50691095 249044190 782544980 127647752 346556749 753885275 305974021 242150972 143026844 864335104 711451372 14213503 110240079 955770621 567141864 169307496 109027621 982884221 972802261 352199819 826769123 916280656 446119887 861923289 364684634 34292743 5152885 344068868 318182883 242916143 193924215 623641787 490802921 543241907 39038972 573352772 573635029 357992505 182291305 499480460 270666105 673647420 345052695 839730298 373039267 410015075 726525080 781432390 461055454 325008324 648505013 779834385 615290954 184170835 911164957 814747165 713804313 198315727 650048440 119964946 653419583 664142863 548668598 541670417 52930813 361793530 797927884 211483800 490760211 332290549 329769952 284853411 846303981 48593684 426914081 272774783 289622441 63475140 2642666 262165459 846880810 94120199 226446706 161950798 981834542 573398113 434766759 124484596 124722505 676054517 558425790 896568492 219062698 721843369 338950447 404443731 138869275 928994351 619740785 193259931 463872271 848804842 857710344 107495495 504210685 70111630 968254372 369435913 142292285 664724252 278496275 576132050 481429211 283931508 687111157 982790612 27956686 55831287 191061656 574503177 202517047 145422036 508325914 260589868 614622810 800886980 405384848 37041236 454675899 494124476 812290274 253805526 17892268 147711715 462337342 841752051 166796973 569096079 734771309 55965237 458816382 713784451 311026893 299989200 65446864 761201370 425119145 620170728 585436599 584251618 87446606 229016159 84892427 169461175 991196402 882017843 926591947 332737973 495067180 30644049 359550425 297444223 641512905 167813500 540201367 826202832 62517256 552325977 64295750 690332738 413189279 79579695 549939722 185462327 665350954 175408327 537951397 37019447 725259895 901194627 414878198 897149057 101296762 132839202 955244707 171005552 393889621 520356530 231940285 291009764 797852686 568323874 269937038 748408455 987049146 582036775 80888668 914045454 18168104 33982627 55154115 167588078 121556002 213748236 822484858 93199758 928665980 965965535 208087287 621741629 556159068 35834326 864444849 953930800 573635183 989982900 371042713 714847475 271813113 234598325 982520626 417580052 662711194 102236188 462464069 650313402 469199791 678834245 796037979 483489718 501215597 893958081 166253915 307999629 451598477 198576592 505894090 797003468 605544965 715733045 951907711 688389201 57738765 717860604 422627108 583272626 101392010 357981817 913346995 910201925 799328497 184608168 149679392 58255980 926444555 491106488 392151545 53941551 893286132 422588667 151465724 198797109 53492596 106400258 691942120 38578779 239950066 6331507 236121507 78331701 243939959 769669739 321301218 499107275 279160247 430671769 858083081 451116574 235324377 617284416 607450183 929529020 654419138 837769684 411866563 734570778 466239476 976695610 517899886 558602917 795034273 555984721 492216545 666676258 77309839 806853955 420046103 216069564 882300030 857644317 463451388 740184792 476275617 277889410 926120002 367524382 102308264 639629256 706732876 958187102 357012658 593984991 998724976 86533348 608838213 54319469 628782434 432179665 632498489 681157050 287854321 944452300 755144627 573005962 375798563 342082199 734780493 420269465 588828326 858003840 605433453 825662450 550386955 930827484 751404098 227052963 89970854 337091257 584669384 133164139 283117581 646266156 976491629 495103493 688981748 599882472 589162085 390102247 160548464 818834066 51698126 693204596 445971627 674654065 472329123 629489489 115327063 772433645 105669811 747482842 32480800 996523550 245396486 343602504 929076148 863727567 544716305 24625842 409985289 960166490 975051883 877660323 345949737 994094242 25138478 137877453 190454271 739942807 286282894 287611268 27795326 300563869 875489729 780547113 340473911 435034434 897032756 310242943 277959967 9738837 369239040 972986525 537326383 327227315 417427674 719327657 369899774 924859245 818260571 652320817 646795059 885097516 324238826 571039486 585693868 244883718 588199642 170105408 612427087 195026520 64327891 147014912 476618614 834553685 460227706 508912512 258492007 384038137 596037630 295825071 121480963 256971265 19317776 846622564 163762478 778825578 637549850 997597266 563482009 598548378 196167381 483530331 336099523 579149566 68966165 249642996 699477791 37348954 688064532 803111136 917141624 678368463 684361693 389958006 942247394 970654332 53223901 858577182 306166746 591064180 18201838 517471188 744173885 576255353 255250662 986988480 326455357 351493021 915544699 453817385 957080358 371361711 150724276 704691241 452771474 344355164 440913226 817291073 270448659 596604365 82249022 329093901 931229781 926056062 741174461 756230879 348632071 842246756 459410043 672713472 236396387 811133371 183412986 815839825 251748068 795346410 177458597 589381319 665070515 18637017 699964284 609594779 389953963 360407553 404867726 303986869 661034537 811831151 392417099 664805197 943715917 203230682 898618405 651943429 924935624 935544261 743214894 820354591 584207108 832046027 215376456 54064506 91302527 173482729 668591740 792157540 652374824 426231749 369522382 12121245 446078985 317157778 312953451 760114169 734948559 521910717 120053440 716984892 210705028 978737360 396193458 968630748 699627223 781196219 792054728 556324259 631041876 9429803 107229051 958296742 156834930 32162383 927640758 259350552 82974633 387304300 893738061 726267529 526473119 963420380 525067997 210295514 754351959 186452141 428665975 575579820 451338369 356399156 301581681 534139557 181987680 876005524 677084277 152626659 688512502 794108648 820949856 710405589 207965778 501654737 229898934 942438694 232514112 168342078 933551071 758562883 485263826 169258586 131890585 25673312 367574081 32275866 698488145 771890801 609255563 771746755 983109842 742157191 752044794 141560139 895084161 749780731 449676865 337342080 848101755 588613445 852090837 67444630 767998087 383622800 956675924 566345368 32246223 556219494 785602227 403211098 389893516 156513396 92053549 386239539 974657708 182574359 118704762 476413313 774499244 75364369 385778742 157227190 567464614 906633199 416214644 985164289 330939856 870182416 468645319 955230415 841949135 304891218 900038747 149963718 405771427 564984477 820061677 504069456 402122870 450934645 235641618 534934262 187330741 703863468 341528983 152475191 711655966 198675860 335947744 927807331 207246053 208153820 148251946 793972606 126459876 483986077 468049091 198607393 760023084 561194751 318826838 133586636 231129848 628007524 855229741 295181696 821651161 548795566 492158924 212693276 880351743 357936218 862099797 445453773 579012806 141931276 342401378 573518122 286713379 756874011 457571779 761239660 37495384 485695940 412465110 660062452 53522402 415728064 256544917 162961489 230183759 409656720 697034684 301461740 73347063 606373263 148396511 644919855 223577363 438916190 375786018 48905703 137226134 991374572 496378514 186858888 157617318 78889316 256282077 361872689 340943040 519737833 505829141 408246121 386304359 532171971 600425735 473292995 187605177 441187430 822892635 510935187 934367861 601037353 317251705 669153346 570974316 225037565 716089791 967192140 138128749 982889284 588090508 730499723 775783653 5487607 66969388 349979529 218946828 147789408 347497135 11004057 520730191 197347488 169515187 428009162 57818034 444201976 812743071 747430076 331986596 512096290 205313783 100474885 666982494 804403924 953168102 61970020 652363485 6996538 674994912 416021189 968958965 947535159 128863296 132018787 267246869 804651846 739005880 340717516 164399919 282981632 856288171 214456145 811289733 864632558 130011284 906865368 484819772 926821368 109084907 919348485 763419359 410659669 696497387 524850562 143930623 269748616 631819849 32929816 308908297 227992573 524388907 6786596 164524392 248594315 829807293 447070040 892221901 933523476 7011291 567971296 955989213 787814985 78543374 375397975 30012803 792827735 490071364 151866693 324120262 474809940 373019396 12368286 57130153 115566662 599347082 865717361 338442505 797614595 146055536 117514081 924636800 748354490 609095271 81171292 894672899 985827234 355328949 782408968 978122341 824014072 113593407 797582671 576216035 348241182 358119302 688316734 867806681 205794451 252993949 582069669 708401353 177334688 443622288 93994507 716214324 762932002 208573564 769553544 622698898 117187234 643288163 939410152 947407175 701265208 789694099 831635554 985280542 450002658 719449110 119410913 193200785 459435819 687888883 937596022 46217475 417511342 191083396 302148389 988866657 965267661 89255720 433051473 604303555 109975475 726331645 951131844 989375330 452910685 392670375 310125864 350212354 24278052 326774215 445618796 40996316 119280131 447161530 643290114 611114917 452181658 603536510 932759573 780808686 716969232 185173503 138328219 250567519 93953042 94782858 155858951 994375249 160100900 56954434 687465983 515190032 414594072 387517480 128252373 528667275 924463995 941635857 242642286 398494827 73501864 139951678 547771165 586070475 434068458 882853937 600779409 237568155 323776895 739321154 606665840 505591540 613429547 164125264 708327924 509979461 181919960 694450610 744891967 142563043 177809716 680514529 728935189 929950704 295045405 594025751 998062003 663300319 810864200 918525873 953020748 850743653 928134758 692677376 39630449 958663761 733520881 565053777 851165363 295812259 836210502 710045923 997606006 391883782 608930665 260757758 441692029 118377214 324398531 833401621 582707147 364225704 890592498 457855641 411075836 62979408 218581335 463370545 808557123 384963063 918794960 276902093 901938525 569916548 196601669 472543070 106379269 822062380 237499972 584260510 584883644 8323233 509708965 900873082 854328682 571143909 44748812 457093625 513289694 666638648 516782669 58609406 646568298 87221134 581454392 979058790 419192785 668070406 709417728 130435483 547052778 599327830 597224135 792106499 380515130 801757963 457131694 551343946 673049124 285391091 785319054 477440810 10171256 738742481 394878065 395945727 567625355 591504670 147653214 583010533 136204332 493494787 544446481 714811335 263903135 97614902 152775560 542840482 739638396 335474668 232304619 218477213 616706060 900245089 82523499 772745650 65654932 602622643 524663296 354384815 418246563 500647225 958450731 894278616 364606342 527869051 234341353 103472843 562514207 615534186 726490415 36195804 987739841 235513969 446109285 172435326 871480182 81271273 448701533 701171376 413879383 787266365 38130188 214365392 576788386 120999061 806979737 544679266 157551366 799444281 791865755 501769348 921304122 222425605 596032797 872866588 374985113 181684195 107720637 617108220 658080779 177155163 31179304 959645027 67665173 219932110 344005425 400608027 36763370 606385142 333123104 937209648 234144228 137719654 360299141 51134630 340124206 251750618 558704704 95903265 865817433 314710438 590360350 70849269 386160056 747651449 683837646 915194559 828487896 527224098 202160439 701539893 897642029 353159198 397378340 461276868 654806208 640369441 51266721 144856465 620738904 608978678 120615472 49330725 941166918 655403333 60252775 659263279 394373927 127747597 103710307 169867458 90398462 842036616 119715263 856474048 53328212 627377216 6298708 955359170 880328762 659671181 945936848 958432323 304465638 804853469 29017624 225809005 512599879 913041673 222208176 42587303 153347158 431838858 217905675 365070255 47235900 905867757 517559476 872064647 528716034 924019439 342832860 320812086 404264158 937427710 769104611 571374854 463338494 576212350 928376431 946983360 998706586 30843277 58614429 380582621 83236985 315022764 94736040 867774060 159974560 92633302 38296429 922972554 901664082 581034313 244943867 881890304 940808947 410535861 982216555 976991781 819701506 172284424 297319406 14643410 205649320 127505519 148884083 362323366 583039747 206253742 337995568 867220268 545318640 837742171 226504197 808954910 12804166 559553606 573647992 558213625 948860272 715031314 415642364 417133006 411028517 626952800 867582210 283333903 113212802 278920136 308281654 60865714 98660292 819014061 965815436 464537542 730478350 869015014 767347620 433538982 588989883 651200358 268997754 122577308 399310457 854059518 527219300 621059349 916451335 944626270 250863518 349789570 993249932 212187345 601090968 628014321 932566510 620863461 932281028 791317477 613392826 936164921 171255086 500882493 139085891 604155544 826380257 628487948 843647749 560351322 821175424 136748126 167804318 819357893 257856676 705874697 482329918 695887190 802421937 927210119 656534628 206592811 791033309 441655749 903737824 597409124 96193279 635175869 70816861 386067236 610187659 326555839 654472352 556907895 695368437 388330370 967358478 413727205 222060666 253473216 808543424 287072630 434063975 455864080 517918852 418096254 876277560 647325116 897986365 330486867 728968312 651755395 46676405 506510145 951724971 956565790 394847262 458502467 666773235 303487029 984045640 487680419 130573689 595226104 739588556 12079484 391543930 996897391 902838928 28404642 163333043 887655293 365909324 272703194 963257946 326956293 336048452 711676818 195711285 234072324 602743240 793322945 370807044 545102158 744876939 903225278 800259362 435038424 284922806 832350455 744373076 109708517 600467209 363293771 526175784 977942205 209073737 154025214 310905551 135878531 692507192 159767517 359835449 146335040 646698884 297992164 961409942 628486222 519988424 919991064 4965240 405476720 370424801 415378931 875008713 722965115 484782300 174901169 152332317 208051757 21868861 356315480 16466075 703712869 514696379 10787808 684724103 32744365 267989446 104995093 554352187 723782810 752184023 141593852 56600464 408818481 908383108 500428736 834080658 791074 280556300 201323818 81404262 735055004 415021792 277420420 168332286 69516421 483926571 618143675 625147219 478754067 148553468 255735791 892696716 483590894 588926267 117175383 640512775 229768029 399109207 39458666 823933671 187581470 486148329 410253050 640520532 204295941 939361113 317199794 322623282 246172832 199929542 729722767 459069881 675122287 736904381 802379826 784536491 890907652 506673571 687337148 944195289 206625437 429561842 605088796 200156126 838756557 437444637 904329149 405257455 35899699 817470212 935568975 788176340 476912465 946653885 746257119 433288154 610022979 458033669 144566614 152907965 565155254 650900417 313309373 861914170 514665345 732861075 951522071 392771235 854128563 139341081 192275074 25667304 960927846 848642797 727192038 180678877 911231631 329561053 398380606 279676808 142764572 478590365 828939840 756883462 517331682 437651778 336119422 5130178 211691335 281839133 709323938 691586433 258073260 615918381 933493104 608233427 853688557 872458575 556737262 58981718 458169413 369293027 773789729 602700819 371244123 26426258 990795649 831485542 159044223 205829072 939012731 702603858 378294241 956349791 436218402 321997229 502855756 407493594 947285835 819988570 243042232 58044928 411079967 170929758 10692389 840449217 648773894 199592036 817841136 373095953 582432733 20198389 874698618 470372174 941750372 577113358 510184540 903974818 232794047 884153164 31635289 849007816 675014510 345599634 735551477 980866375 862716358 600316894 480770547 374314685 468099507 697920401 983285783 796730314 439659305 14233384 210050593 639021282 760625135 575613404 251381717 237363878 419987525 953917725 851341956 289175426 152278665 360755304 116163902 214631356 509887630 930377054 495693841 768084353 421701474 890174067 371462020 768874597 472720854 257451907 232346114 613983919 140682459 500331438 64715221 919610124 233494495 244650476 113393428 520135907 341116295 66672134 217877302 86224738 27043743 159983886 190753212 936093904 465351156 661610459 681463827 898693559 113083341 727600481 812486592 700600414 861582020 860098907 208273476 789870207 104284931 954795558 593227315 209462972 252659500 43648626 426323603 675510949 179843985 55977867 10569873 976234789 840551035 18392803 504907572 795461067 285635179 828705475 41909090 910697166 906484048 473404721 737768431 690906224 94885527 667915158 149638160 307341168 745711949 289504614 615497695 924664918 981242316 921146082 378687549 844678105 40930014 482294795 712828493 511541648 207957050 933664961 291317537 374910640 3485320 223611917 590208321 825830812 506051594 706231033 906201338 831191792 118270653 137463309 854907424 751833255 808466354 443695396 560042634 973675393 96989482 668569707 635195654 143533803 825689341 217150657 957876676 54727445 257944688 473295279 68677928 846100146 358065149 716032983 619308822 140071933 115932037 854838725 659603187 407543171 432664773 107860947 576599929 706712245 83917553 987035032 337806686 258361126 457795889 709713581 473907078 829313177 90422078 731947559 47963302 831894962 131953003 673630906 48712945 322142408 283134917 328764067 421504172 381664440 487386986 117685087 901679763 969775061 813981133 848032433 358238236 746029760 717778743 238409704 631993700 430340050 438223160 300344113 177089691 595024161 763890185 2815073 135920893 506049507 276505261 362492896 480959143 759767789 155890004 399245583 809230234 540070121 501762456 703534538 255672793 584106801 43659960 105559686 519506282 802706214 811482264 666196690 361025369 113016713 617436170 479647828 932257244 785390266 436222933 54767373 772020585 173690251 609712748 819927236 772699174 187565677 788991946 363215579 406879129 480802445 505524182 678558897 643850638 346402454 78733018 508744234 219014756 230004936 178208282 268384542 976197201 832919430 790295860 823465406 136474495 700092881 410066639 115579218 402999618 544848252 679520889 173217294 54061449 391067677 496882566 992045455 716518558 72976669 421240572 399371983 63698131 350164962 372742601 915685584 591121738 103831745 71620034 887312026 559110223 814718048 590503331 293756987 896864179 424345960 984862409 855707606 592552217 679953415 228886557 40297178 316176024 362759558 166601269 81932202 985086333 964542055 219981877 917708903 928933455 660929841 24544994 922917612 4073571 202213906 829515446 436297609 805529651 108998480 812337260 52722678 989441024 993584133 956713682 586074996 202260398 274726493 593418625 560086957 806838270 389530888 891013042 504758548 228676106 521647977 921736020 329328235 820048478 14533421 707400754 879262962 444053577 166898172 701473130 475794068 847490481 665267555 450564109 695698543 545638775 805952959 32294162 375197255 364676631 951883901 55353737 903089842 92827423 132490579 367851746 856835106 831805081 963314456 207857182 524482867 361894209 795935716 718622712 10233065 2816112 309753461 993779778 19835853 744847457 330492753 86828450 69499680 8333432 773385471 741745126 966710383 685888988 929214205 560689862 884328785 177884877 864526755 527548522 203704157 521609083 531526761 711074113 781351591 78568622 137352449 803246528 513382600 955347134 894188155 769038319 914826227 767651571 514520249 100827740 777345534 154260994 789289379 853495755 499393210 202734605 808803555 570564189 107239966 246143367 12734303 6470292 863389960 36215603 458871808 990260495 485850676 888625715 78787521 703685021 443772026 616822207 811262115 818294575 443300194 496925811 931072315 725273117 68537967 605923678 60874098 966484032 25846112 812004471 932227605 317785151 42120973 610434425 684215095 535794527 986179642 349984142 93475086 433904904 679484115 149622868 840515172 603351946 984276009 571681493 573700988 598143920 421401700 501873691 303598557 181546142 817709551 338100177 993000044 128669797 893106192 234070229 673261784 317870100 658921666 820590506 1434451 13546520 526590738 279825658 744891199 301188320 513401331 944305576 413708757 963881218 915661241 761704027 881947654 112363060 23575005 785213319 785667825 775844808 716405348 299574859 999004145 508858178 392513704 665596082 742549798 812901340 752105308 205130231 50118109 189013610 723064478 393279696 76896729 288643061 689644818 937909798 257896110 872524646 344192363 959182613 43326345 875077136 432175638 610952626 30134704 984175127 456612088 574075314 446407283 482237547 731244670 753982891 41108667 330982636 788078156 33921124 912867308 687403577 899526286 580011032 797612531 562357021 535032271 576756124 883485377 392441869 326569818 582898126 371548125 503506619 972830289 785528280 470617598 307514857 181642919 849070466 783943594 201420918 567925597 648985466 290693323 239446094 956154610 391539135 52242183 846116872 99427614 153903688 934709374 859378171 403687398 729572788 171207698 949298840 360134385 555569292 331096593 140978636 492347173 818397637 412721065 89159966 69233750 49091357 687350450 810032711 823485293 866453963 699730479 859492201 929579010 43613398 505731172 698612621 9572109 88611463 862642194 389284723 789354267 150959924 844450068 299683538 335104416 99221595 806379286 849997553 807378568 491850813 88072392 916902925 223630771 508623365 541518843 516037393 181359561 728983102 164820277 931980950 771555800 63696613 828342451 630661521 381895607 724916019 562556975 218528837 25350378 557142869 22647620 31772369 164415630 599622431 356518631 175804480 824332475 731854506 122103855 237284056 916286970 963509051 105693305 295201752 336624075 800675362 774022922 18671893 929007534 656262191 103542762 168762321 570214236 4240366 451987808 764995462 872878095 628829512 187092294 886312835 913097783 132490695 731602716 851710710 997006130 724954606 486560248 190579253 933237050 96237336 6718771 1581647 843885850 480039599 879658690 237496312 533188009 606820735 129503247 261621357 9616881 831497297 408463147 885278656 209953341 781256605 808341443 697247182 398175019 396056493 52720400 652218976 403354135 5982061 924839249 818985788 662142091 121157400 893866188 824418635 870678302 666194328 182123374 962244072 255070269 413203622 786371165 262519215 43301482 902228564 919765882 416275280 258697019 496125228 11229637 685304312 695389017 547345742 396984791 189628545 51611713 812490319 949401050 467597917 111450191 575342155 655861970 632595134 269752099 564730732 788634284 619492454 407160093 711133595 380121506 56431582 84950438 760159758 344930227 991492637 473961717 945403637 98632513 856822621 220659645 763773622 45359860 170507973 500736128 134592959 214911556 90577201 873535757 639321831 896934387 656108609 530183126 509358979 291389313 10112008 96010403 408205454 246568248 661758686 411768919 998892988 328041108 219342840 981510012 241410490 146432339 434812570 771397231 370445938 25003915 957620678 51426835 934390915 896421139 43466888 951618404 865520177 711114689 788818788 738446309 527903877 253857986 184338166 391601095 246417606 800599085 299327248 977950593 216300450 905117437 871456801 389550186 316274068 446954403 209100013 70016355 403477893 76622227 215398684 443727922 341316516 461840440 48608161 715602737 237354409 797394815 959904497 785236873 935760244 566856938 586279099 6041985 530374401 640535259 150672959 258811939 547126051 464340315 412503246 814282555 960006970 169002743 986013277 977501702 20814167 488163438 268477944 302689183 769998641 169961695 610917487 32737376 687282758 828325293 707838759 207508888 347363981 788107560 642299332 678613178 761570762 564602070 742070972 776335589 710436559 755408577 190453871 151554471 637665237 316691597 949203323 889371414 213880800 923234820 790633890 932884938 457033583 676470767 790653267 890484223 861242582 902625922 150008150 594118288 455237786 525524660 159979537 864611578 26370748 529958252 969057230 83814424 513738781 753231437 88814907 415850810 946918267 398035334 980982526 885313760 732877794 615237854 495394317 248048533 570594639 281579219 577987084 48027535 630790478 47944667 177486061 894408728 924944031 274987760 839221394 25040473 616357441 762036376 865498707 561390869 699883904 597610359 238392900 122927324 524226616 702959585 8992039 707042608 460981879 571822508 551019530 27609584 921381089 126091116 209164608 298968487 813689588 146711181 348424230 79204013 24889900 808477731 239094731 618674447 885731427 163763578 189406831 521391676 270467941 66580530 208561845 429670787 942396516 209051028 816105315 686849970 385723940 909343588 853628384 366238775 214732392 339614248 28699648 256134919 319631033 518967598 482906115 908422198 685354745 267491861 828727452 451252112 697654597 586575205 372231033 741889145 757348905 33579635 278843861 633828926 906561018 426043059 169014438 653771449 574693725 813737268 207263067 927255909 210008191 565434526 504940459 109370595 99206163 769770113 27759075 720524920 128498336 763846200 994901661 558661412 424348886 738098492 499217213 49737780 808359737 292147769 399301687 147083577 946798090 169249208 672982648 864296517 580642336 59402273 435408678 78435958 358134906 393998171 756227171 507005238 411179225 696420603 771935131 620431452 322263520 559445861 15602882 427110444 168222732 380567161 112810025 887137409 839503140 145399933 936871022 248853570 48615299 571583771 688683645 710705998 964266494 891424687 31592531 264030111 425620313 370672713 150586412 191288923 492776432 306930881 778854300 551977438 439090351 284682392 842878654 742956375 522179627 160953574 51515108 475011897 754733596 641519006 661522664 988743522 949832678 918481384 462158167 105169695 592278388 123872615 650163407 982620944 226120722 776565683 827855864 239446185 437687841 407493790 118139136 902588895 270066005 349785960 973006280 743033951 853688345 324420550 613769490 621268358 333780075 308360463 26636545 602437186 881122125 626654424 795949513 891919349 338596389 993167745 550417438 7981927 703325353 531868666 750422305 804059578 898095261 607155174 167534963 788077673 709439919 348446085 854711997 578358381 698065908 473325086 81661205 380408770 71190003 616891678 997678716 473623316 689110349 357073848 760429026 268622312 64999545 2204664 87214335 662291058 342361379 51620231 569735647 358749443 215607857 870549838 22342248 269971107 283334863 731962770 602449552 175571106 270135274 543052228 708900058 539041237 339630174 494935376 921251914 925055076 185225160 701957718 433144701 507885433 162682287 743637303 272592666 572194384 39645605 397269825 170465858 708089218 618121809 976620923 844251157 338167579 406993103 908896252 965887239 463188216 336718121 219004151 836668330 544882686 863627791 378543547 244935108 295377613 978121964 623358144 520908300 732585752 39713998 442175867 290633146 264280877 633405145 612095630 887271790 947110276 153984529 44431485 250252076 755527472 804427619 183082868 363290963 4389986 86626447 13379229 78977519 292544574 835297968 846872580 396614030 421573817 133516967 622808472 570806068 531256950 355764111 576109968 380454858 140830071 963671698 71747634 859577377 645647454 439707757 41246676 541343478 969308213 390276189 285738234 71835327 55690231 141238790 142667018 636711615 788061765 527785398 701971462 630649946 913060411 203444213 722971160 700726857 275584655 900300314 202979043 325701798 813137698 973786227 259117523 380960947 897066817 413040284 105030228 407548105 414956806 897110483 759485357 140194189 280009929 738456932 341235415 953324368 891977974 305468891 742563314 497229701 823818466 785824821 810297273 252782070 186870974 184585303 116164952 912522065 957856423 361618840 818611566 858503978 940781646 374722535 993659654 564600232 524610048 360610222 859010028 71362673 70421865 837419809 1404745 532267317 881241140 409938010 194268795 478144355 621578305 814259711 836457854 4285391 970781373 183717799 253612164 17189769 371660669 820235892 876934757 155262443 823143555 564800609 221354669 390632704 414242884 686680540 891863390 441187036 174996920 277428975 571830751 50524618 741036776 198490221 709869653 659768486 985984093 852090332 827765647 575569721 574064381 32455354 273930989 653189268 708404851 661573555 912325406 512988437 283414157 114079688 770009805 314520281 344665338 655191704 756523229 162528068 435009605 546248251 549625435 394740163 704332415 713107130 506648753 336549910 957570393 705144801 236602257 589110801 106984786 251892455 88754109 279240450 798869985 552790808 20065782 988838709 978512716 77788564 530866929 141725296 875333052 692877903 763503816 646132115 622740218 934353840 898280423 295445199 375416337 449144727 153867845 681785217 485169444 342020466 481905784 677217659 803582703 538658088 346094298 660642807 130097249 71096382 174244740 161677201 262056933 649098570 58358427 629937655 966273946 799154391 39198873 42152692 119843190 33855232 697453345 636617296 202148783 354308062 318719441 274067650 281183594 690435686 483553890 875082966 306105943 806790384 937652211 517113258 4610249 262613334 866277788 772613484 927926240 426267384 185724811 640669057 340286756 957069434 920746968 616055715 236539931 825109381 371310170 864289305 668669816 767176383 745983094 915224227 479310670 962797136 142672375 307404303 178754795 504614857 890667057 401476553 375251212 352580708 164033729 444464719 635697663 995777845 985714820 78086155 265821379 500324464 185393939 938252333 940799301 161691651 890008133 331853629 886574718 950685303 423387199 616411414 973601225 687839949 413956972 483853035 650188758 56211193 780746168 157791827 169278458 488359959 342199035 670230077 334031218 828445635 732773329 850933531 841892671 753674864 940020903 944856441 693693287 741946591 833989840 479338701 37382624 111244554 374323664 418005130 317092200 784426026 559637094 675644802 533058342 868529994 479722069 641363081 146957052 825581140 524186824 214793447 530854377 512211699 297271146 582180625 237815993 398165533 179004483 250186463 39271255 885723928 580001234 621715294 529830041 460505448 537332933 976951516 304807227 120047520 701206773 420741099 297503626 664119188 364895167 443219269 791749175 615419797 387479634 134385640 488853458 117799019 512074857 299400176 4400782 117668148 857473133 904279675 681558635 802268430 532799057 295190896 986933719 623235587 744312643 395437682 79563093 564863780 375146826 244069903 585611235 800911939 805469751 785564701 621887562 91234734 694191468 313292541 655266003 638006300 853153439 217490331 88083873 314404569 370054104 470053885 867247232 342506727 862134715 813135875 875876162 979549588 591280370 307652427 386471850 70125407 440327900 364928075 536106189 176924988 719579305 770104836 704520183 619791216 674355606 90710851 10344379 528003259 986335224 968062547 814305277 481497824 149852730 105964332 744992483 700021693 925058597 576106936 768811598 90240533 521435252 701270345 235455217 360897031 270949780 881025009 887989228 719126708 779580273 543040326 608674420 803154900 868334158 584017387 733294745 572968238 888209989 107904458 180263059 265755911 641128142 465645643 388753169 196367460 101032605 766154124 477449106 249188668 476762138 45491968 634571308 208832756 550398728 166602452 830407603 151374106 89148652 689653845 101888193 410413488 202143735 901932076 9389123 380643854 858651104 83320800 831427939 343455800 731141842 567892055 927832554 530578491 247709696 51967130 27482209 630602126 883246404 515086811 562827313 441882465 213059434 995063404 81129039 98674984 251533977 164059017 902163374 101643632 999669853 283302145 327536665 731254298 132446444 183245299 736853590 757318639 345987295 463576949 907250117 288762005 982934889 823465021 570957539 472802739 217320669 435249655 235082253 537718931 108902416 564075741 411898001 602967465 76165736 951188466 988079889 23021562 324297670 160137299 743856195 151812144 455853033 223005104 678587278 650506458 946688661 759740035 192714229 933949341 329581548 818166904 658013480 186300358 374447277 797327074 183108894 656446597 318638815 900970327 492745018 155333167 424884197 783430087 519677323 524848650 552945966 448800178 567452681 562459672 512800112 349040500 278768525 707330502 510975517 590665188 248069633 682791012 444143304 414604504 980176338 190766535 281022472 673395171 10826959 93592633 232185310 969602867 787849639 844386267 387693787 509125284 328679694 113593234 649051032 775487216 940546301 589968093 543519528 643978745 628080758 766810517 516899122 866866296 484280589 348946323 595588803 456063558 602578918 557821230 924274518 530924880 655820185 375106394 640167332 985276579 186936238 955167928 966307345 870804415 212440967 401848945 902818201 207653617 703575779 240739087 329021664 888934182 384139392 314890882 98910549 406416841 563701556 472176322 329657231 656557578 829858885 396112626 758292232 572063364 137194480 797554072 826895689 230754447 526675821 81211835 83644839 140247485 612625694 910482591 885041177 958016992 803472856 623193530 460297506 867312257 218403314 318552790 555349840 247978265 565067940 539828446 243387570 766155878 102495450 709455402 816603255 580096984 754833524 466737918 283726512 550204620 431314450 382597813 747473248 582225011 560728089 641456735 443188429 176734793 819777186 935066886 595844606 949409310 735164121 889959602 413359250 250891928 817630479 358476874 213002986 57438822 241065246 431987939 606898420 738145305 645700350 45709488 950708896 532974503 972598163 427946387 730961066 865813797 170774958 410663265 271479936 913906646 513893719 953977234 863526423 406009357 832179157 812118933 459584183 806593373 285078914 327382225 924868774 372648534 943625035 763719763 892576140 186894603 179399836 356161411 506450912 235149720 771185876 490356806 823399225 883464389 671992833 917193980 482170824 905030609 799530889 556269661 903961194 316535098 722706598 128373403 434513505 81493575 306602776 48161835 931481999 911624302 380455801 409115368 896140921 42286685 34698900 104644689 901064000 720175949 968036452 720015539 225181613 984293056 584800351 715108092 902965508 473305068 403042262 125197917 866428874 431000166 503425085 41548731 847025428 882578087 390465534 381066098 975822699 95162481 307092302 479804296 514856306 971238405 337801137 944583845 616434454 267850764 931266488 332346345 25470042 967348831 162848855 684304375 335813160 725943341 968486392 613506234 746317473 996227267 682744850 437323523 784362106 928349062 336792848 316188623 496601903 826703458 48545305 790018673 347430665 775122611 475962804 807867122 144645837 322102949 111615951 234498351 955415071 181256632 221426794 239759713 461836047 256265227 478297510 784541268 157631461 622268368 617365360 537223312 683193728 868964874 721924886 984287160 652378355 863978922 664190885 777109943 976772772 118570695 352957137 919132965 584503955 630367824 47694951 834001357 900886263 5621750 42782221 316999809 577723785 652065389 91053425 198907216 803233826 319945602 680439307 213611517 715769210 980545124 686109059 956700942 47908038 443205111 454568311 9398022 64690821 72043389 152114467 339451240 228393029 652836042 272428439 604066189 961502539 187428748 846558547 105585761 364670004 543374180 446652061 619539614 224934409 884972282 336431910 83831806 831572469 511211566 251911055 579723856 881494398 774647196 523188888 147613184 158087827 759129203 222956440 104977768 846189626 729984951 873224078 655458815 611548381 804533001 299247567 977429465 487067970 248655813 584740177 888674226 952639390 375456397 368111266 783486725 840285556 807387691 341859523 951951308 825030560 405885829 903243607 867726035 835224050 393518835 884119931 248992845 525622888 348312653 485586670 469024696 894008045 676584137 685453225 412012515 648812169 282543323 957630690 231739019 76480275 777996124 662226044 33928059 886003263 48547616 512259601 92519244 483253447 697701054 579939744 598616951 475326883 66369532 773849175 30922270 258898395 717354328 197813514 102922878 951863247 128804218 619290562 318257557 936493719 589264763 853846411 498516319 94384200 89187677 241393256 224405891 503418900 198925838 668012706 626828919 720645562 459933452 316528464 110967858 565610458 379266517 131220828 191641010 754556019 865702856 370349083 376277477 16397181 953116036 750693670 189496461 489942508 816684501 684738468 224284232 33684684 64644180 653047468 842720022 406517207 750818959 599990052 287077227 51829457 308166188 737362392 614029483 918538890 589202658 338084921 483067694 740074137 929396107 193068535 716616870 918167763 462493828 850878925 641932891 778489887 697746739 56770128 654632627 520739709 584466839 785604986 720003463 271032198 849167399 590126555 237655780 532094248 577536144 138865478 486640261 484575470 526153442 943745159 810254360 477189283 931060711 159168686 266555246 126656191 122053297 917544289 492571459 874688361 272907888 497828230 697445029 593835758 956733627 833847232 946777116 228880984 752623174 659694645 599180638 599518113 461117876 886903300 480899406 699304368 215722026 488401702 222447252 52781834 261108658 553894881 735100708 323929956 176472427 69352282 762367678 185178591 45692613 915292795 918321458 566773423 194265424 622220556 742856523 369421831 489417503 126005503 508171748 382224413 363047418 263469319 271370703 864357275 202925391 282490108 223027027 870778446 7579962 94150616 77818386 495220530 163805054 480235298 344803960 947381591 781556450 437425739 457470239 214737363 988184631 168592788 96907316 844245031 662371997 331960622 315400983 20606123 201252427 283132546 687237363 280426477 175514805 848670631 359254330 471983038 622447051 992672899 240543730 900193898 740027967 863384681 214220286 332870841 55586186 103864596 819527376 534829717 357952997 613995067 579484997 184803161 779882403 610062626 290000646 631096778 90008299 224274893 211070188 117478483 798708006 134152151 743082684 699384200 53686424 437584975 166257521 914843718 921421980 245985271 653299312 930169662 134793001 324608366 800840454 129012319 80515270 711669307 463053074 728329185 272199941 821038066 575532179 687848488 690678336 522615467 421976856 400728518 497439469 655918973 768000229 424282177 1377453 219659471 726713696 968236794 395366024 791235831 522708108 435899667 637185901 745350950 449616995 284771018 652394547 854186718 156631317 981587497 116565709 907914645 173726126 451976712 592836868 141404952 570848149 689759861 943963760 726136174 68940332 474026511 70460550 118529664 41111604 920436177 747429231 245586760 107579944 872219090 67118048 420295603 16357135 705019194 174558903 719854612 751927785 340641034 62414029 898487162 685112615 258598150 942096826 460635153 259003477 997102338 465788593 120924322 19402771 945548169 964010580 750239868 421731436 96696990 470665702 182307237 450817674 857641474 241340643 692658855 919379459 148425443 461837520 243775888 288218187 573835479 183225423 849424096 794820323 957265797 242775580 60991957 952836551 867810296 210722529 855549287 412340752 699612920 327827011 337515998 696185071 569434752 809987474 247964556 358438152 520629454 483214378 885976573 853780269 382629115 579409425 327090340 127451035 867851283 44989454 728363080 340577987 154059681 29559010 240884644 862144809 956995183 109732153 52862589 608802531 519570566 894599303 373342056 888987813 619109117 23647497 419443041 5679207 965288948 510443786 81432846 248376084 519021905 777905449 411621019 404559683 762431607 606469229 913749660 254573644 785253573 692710509 176889890 42749616 572453360 52922955 27475362 737704012 681312786 273883488 490780586 747730790 761815413 103700646 484673831 610397667 96556863 463740907 113872159 238043301 488788331 383145576 30608108 867562939 926878253 868479367 468628960 992304737 241966529 254815420 215078125 671793193 114629569 901571274 18885639 865192118 78468034 986624736 919103758 162640476 110256446 23958182 683953961 656298124 664552825 224450311 12025554 318244582 729175520 365337081 171158436 650568015 23014482 60863324 819576433 745864014 551471693 710940541 973127982 332701966 681394912 795271006 626522589 418644531 190794520 499644554 48694120 286748794 980676915 367356333 781467307 294779210 931329097 480970065 302214979 860981470 60103090 980297651 869314696 27560318 47461111 777255430 708619867 929978630 691330754 267657057 3426875 627036479 290664060 432234322 227217896 255489673 496710904 639949009 499154767 404034130 371731033 42602099 871267964 299225144 758744943 3680063 306639968 383579551 967419745 304800300 924872713 257191284 879440984 95773259 391040936 118768481 919923130 193874387 809401679 755058446 315222972 149061620 686711694 517645007 832842945 883078673 263369941 816389565 975066560 339009128 136564570 532511816 410021968 440178224 787318306 691827711 373180795 93752986 873358283 344525400 613020052 451962548 253965783 725240265 561754062 294026691 745108442 590751587 412740402 208853564 669782106 380339567 350525094 557475371 606475562 283371828 32253907 19759732 784189453 429059739 173658343 451750314 222009314 214035533 110956128 891415725 824137479 360700852 249482858 732210594 360573726 479708730 992414833 975393492 122402166 399049416 252911235 150608658 60610386 616135625 982134414 339203654 833993185 620363206 280769768 67680861 540947662 659695370 860321592 859308045 483126972 438355177 393347669 868907283 552274496 973342816 735037083 483886858 653226204 191938038 3454090 908595606 825866491 616607801 514687186 235787372 166663099 532312477 642051869 907422239 992007344 747967840 135683154 205587915 111136466 641900561 89566446 546199642 737723192 408742901 582841780 230323339 922080997 31854212 989301033 619412328 255615725 889620787 87363330 282392572 727034104 470321631 949013301 480919206 894993693 442482080 951799060 915593855 323194997 490030413 769798445 955758541 289223063 424948560 150957675 721553656 575803998 425274750 378107924 513956015 451300983 39446609 230347557 655141139 144155044 252903926 198781454 282863912 915075152 633361453 449035188 334314374 881333161 280410936 24043059 410961432 814892932 398403876 99808661 40431537 770277841 794469420 603352056 607848976 92831894 432766811 514769668 395165997 516324525 514446309 369452935 822473811 396461858 213744886 647343278 354593985 238552870 100141839 750838000 994084542 291506843 102754689 706231187 512698382 371130702 718334392 358117235 813447702 918720063 809473870 669177324 406365838 804385803 299087712 844868822 284832636 200801273 662906541 587019998 831731422 823024826 392770834 876113554 537464348 771179083 693324151 701526929 511913109 524654879 402715648 457524406 57454241 895589497 792511115 103103510 847546138 387989405 824753544 578725170 770017149 370005864 18557674 185009086 649932615 996532273 736456591 192112535 436326908 359295812 560763012 613964508 333305334 861685365 1657884 732422868 899332261 872610079 25663470 874480598 459108574 451194351 908263536 733076393 524835377 432578081 801171536 550149929 131380965 674657896 356733131 334333598 433629222 167320612 369581244 635882647 696140359 210569012 296399820 108247519 621625184 17021784 15832362 1302469 169477912 985167136 253691291 479675894 531901752 986534302 271113214 890991764 849074758 952893473 863678747 345036070 414438934 624241094 851872426 20930953 915765480 604395745 494206723 278633174 410507508 756042431 36126457 545544468 923372460 658739418 61108 368659001 255749130 214168288 279988439 419325706 815387726 775804026 339448503 302531655 803365521 477776610 216157218 625392401 144674633 475153858 798015257 130096484 382562993 707783633 64421246 277044148 412296315 400021347 390115860 709947957 487081721 188556229 322193018 250971676 459548990 996023450 393898486 548211224 447277365 239178716 598789441 95420215 78058213 462711042 588315195 456694815 711249007 538185818 75980991 1880592 363732229 862525262 683171827 740900815 868526177 434183898 769086233 807603447 523234822 787713782 660545340 648974875 965711278 347379108 127523961 276160194 507473581 686949637 534852575 650239709 614190905 149147392 877098812 494188933 193782294 990131169 265930054 448389487 115680092 384347505 880314036 400405141 102849816 271780068 509396194 718112979 616733228 219678700 205808241 305478632 859333489 37587663 209595414 261010820 166644350 405514999 142030770 573631843 473352917 344915069 807730260 668770131 320117596 926261754 666305748 436193148 231873911 309626152 22085234 732051252 404531139 334405015 645768019 80544346 44533192 386614296 172544026 151660494 515549905 288460116 953302630 742732356 496582325 834653471 691335897 972826028 742982553 967410180 478236100 150086211 357287195 687622078 945420152 72373236 966676756 585168144 220855909 599054788 916285147 856398224 492713809 985399480 96761310 384748505 327847242 339531308 786810437 938937873 371225102 619799104 299779357 819444943 199129862 453716154 38450826 598306160 200473605 486605210 71907943 368866523 73636950 991622219 856376245 451353442 731310263 242396990 775855983 147133522 261531454 746414327 674732209 441166243 254078901 545728081 72684867 346561424 307134993 752316329 145878678 354893387 980485732 45033396 342614827 377068165 46729719 345677109 26240747 315046167 838097070 622357895 998888081 539474296 583669196 975689366 253495735 490331643 377018809 559845337 397868851 766123409 903847764 831278806 83901038 119849204 15746329 740068094 211244042 593437433 783888013 315853108 117535454 522066337 974429433 567137368 142948419 621301479 17933822 16617253 561161128 36668080 901116706 318952335 145109904 172108332 996989648 520306182 230535401 633199334 762163943 10638665 327684190 729622114 374614114 907489928 838319556 474005249 716034078 260399364 37279527 421438657 618204346 647318839 806557098 82072091 234104119 823205021 859682845 633217029 631256832 72172170 842288197 792479999 325491317 104948612 323492982 969758826 779526645 116164040 571469026 926788092 107122114 260100675 469566756 86146505 500987302 273153377 630346437 830128952 220396184 868672476 293958243 894640945 314951479 257810288 947097454 447517505 223817613 336126921 362457785 578347291 951663908 279146011 627639561 211109466 55530267 461695779 745169303 72237603 401125889 559501417 248321981 603157132 735331342 135388267 995666855 967095513 621326178 841175874 772749045 328401230 152047318 271903452 841059581 438734383 389395478 429708982 620702535 891011268 493828120 161943249 500111702 232723278 994188786 525586975 62839244 578706648 987742862 605177264 980724769 367046691 391709214 397236208 856172085 251877985 446747339 879370504 238046258 931500481 857977080 320427916 299781048 50604794 952783344 641302064 495322997 898349569 21217189 667725942 494556592 732289215 914728796 980947723 130250683 868565718 590201671 115552835 817590569 320593949 903267505 262031499 617044948 627738784 187987960 209372200 650897471 363119939 77546947 594964449 639662588 195153664 963718003 72642316 404522822 846529949 712406557 652431 187732104 299089539 877832553 846783833 342205078 993449752 197020445 671288494 99993250 722980325 986693066 58103381 175913773 859619053 811805757 2044166 190149044 744289683 525763305 97535349 248290349 325267459 114012823 20090944 243920988 396426738 806173246 693567736 757836747 534133132 437831957 486807811 693325775 242880800 87344401 751266652 174817142 496321075 112544599 334870688 842620711 638799465 382690370 283744807 102520478 774477750 591533086 222827182 640081812 606131249 427522317 211683422 885738131 339630255 434103326 628201522 697916814 32971098 621065436 639417011 462744351 947390250 202924301 211710344 422241645 591711992 221459869 772237309 767200018 865952754 730833176 329543584 129950340 298202439 840684307 803425458 642216228 1055823 82923765 224609700 954405698 220140493 788938915 831743957 458462419 733644019 819283881 839954952 973939971 640226495 100954607 859981772 756708780 525951518 388869410 725682205 304771853 450284916 621646779 18434721 2447193 910331197 931358044 47869831 430369381 937776748 515105771 697182637 603461217 17527027 455262327 260361997 897738260 914571460 130282916 925114250 444851308 275975993 671185722 849266711 398832153 805266058 815892959 220641239 994417593 731069254 855594675 192047339 884506812 866057376 748049419 27693966 966797106 969087676 577534845 85542658 148884796 825685273 732264400 770680041 685391813 441152327 673865921 257493544 381133776 951246463 931038377 872020929 680517647 659955739 447898443 917119312 564156351 61621572 868834488 166495658 512344703 329443656 825670145 375708304 837913346 19629428 211794758 908109895 245525686 42110109 960682429 815234137 639333406 886133887 701185681 549419158 521321996 597734005 155521185 819818676 615833112 12144797 517606932 821994780 687904177 144818429 35261913 581765386 261158232 163897429 369828749 649301766 800237753 636073068 442459446 66261480 338191864 257826181 240702244 124148417 699590130 172998121 981891978 590671296 849955797 55470369 437863436 769659786 450535212 608856346 741461094 860770297 595760201 642581225 585312786 765360624 177112016 321006290 924173367 745997673 140902908 179660445 285917646 725604847 337538470 668662269 447793798 511765697 791159477 399415913 354704269 334850025 291878661 395715527 83906560 786947095 128174528 639495680 396441250 990084887 414180917 547196067 754280731 49416439 152655532 895657801 214896288 808465679 427793610 183512622 707226125 620148729 13577644 884270807 306196256 253017591 325988928 918255829 586683658 186373577 158705857 942180609 740540915 244798250 915843261 844501005 922348767 362350922 204769191 894062389 69042585 309305313 996460522 532161549 455337377 409637674 327196515 350029248 841260836 447715818 165222048 387485683 655816191 382141909 908301666 385339905 221754192 287437155 751936339 965265624 709581507 597800862 609554981 858954778 913850176 594076883 633985948 699157556 354800269 826548268 355593600 641591608 214181737 839830222 696989845 725973233 952979098 834286507 834135924 667588313 697152184 342395375 244733939 99800075 22523502 96357826 90083990 838124005 779018521 668966108 416740749 873267753 947814316 36189643 296063078 638031969 691481522 260251905 492233988 477834990 13828064 791891593 920615802 176643400 592345906 393313957 211341671 141161152 76367351 403770666 421173555 443807052 889569872 33753737 829321730 222395788 223420680 320921031 733833702 907948049 659681105 151093880 51460283 331271516 727730486 872542484 966661295 698132512 743601843 208499565 579667567 553059119 242889197 905721225 456538902 147219252 865709878 81528407 365826126 706397768 893185648 462321858 301975764 779751973 943701012 947138866 758745529 878386845 251003234 800684484 804159547 394595842 777186216 864706815 458435585 62528983 340446397 776982206 816621548 687040589 553892012 675956434 348142339 772154983 874814808 247178485 207123050 988007121 742622654 436128748 27820813 257073442 314377467 258159546 441401857 691994113 725934581 354322687 880924653 501796003 56695679 921372286 887798219 175718905 424718405 427459242 714339316 929581200 683184081 139928364 686882876 893141844 8977365 884636003 41330715 946196123 404260306 841952047 711844805 236845362 991352195 217781275 87871846 172701187 519818925 219869690 175613710 826254145 663189491 319433831 539939053 641640809 738951365 286318736 658335377 298330565 406092595 354466236 769055895 625868000 296229263 710162353 475090514 917798703 162948270 562148431 74619733 426793554 201236611 948607238 287046435 412126092 337434323 775575072 464473055 189498249 799847452 648372309 641897791 387006664 694639828 713074698 671763487 808571714 989121903 122823656 726041459 689686615 263161143 616825362 171356586 953524313 489361348 899022257 605984979 272234373 794503178 428360651 871032957 335393451 312277853 745800168 168102104 601902595 259520111 946042098 73171615 639873853 373240270 90054811 988791335 955720142 885598475 794980973 411229380 283202 770617174 328098984 800648085 877152107 79001184 88092854 613256184 3771845 874982426 302863264 840170024 14274392 435399729 80839994 541209561 357078021 181646233 355148910 651811105 440130424 857461878 918037070 505297182 11600915 473158660 512986188 926028689 884437012 261296013 549956870 240454374 629686459 944277962 270183553 961552114 162618564 855489414 317865976 159613749 861992102 241768394 282020993 111516132 503783685 132481660 712773152 84169609 446073161 298222446 870399760 761397102 474010511 408298502 204448424 398054415 109061996 981802253 280153268 224453271 113387505 904071197 824396728 15233174 980863187 428238563 291294048 685140889 893242159 684670761 487268666 651142561 252213665 523948425 596579025 539095360 106045327 951759119 194681983 676936396 687561026 98937647 203572992 547604815 857606854 136353341 649519839 884647129 805781745 83336270 503388384 519289498 69221959 426584857 659151484 304820910 988112136 544576363 961612926 829842534 297773095 715766852 936477628 286413980 903103718 183878420 241607009 143632114 133696603 135003440 852188102 808948406 759502370 61931762 709549610 23970612 453340699 579761323 774779733 146615198 284496610 73656412 351542881 992590791 580121811 199585174 399525942 640841243 460839712 552895242 24747992 547467770 649438305 243538947 446174024 906056866 826691077 79465059 706228236 623961399 318216660 271693333 935571027 31022779 209115759 895584783 197145336 18479476 823535464 803672642 118320105 126350936 927532882 607335788 137168650 403517824 661016671 548915083 561417102 311158346 480580267 741473851 232104889 62020112 620706436 918151263 756886073 274409943 608785089 790990443 838702695 114612374 811786723 188561130 270064908 624625800 814032810 445077212 320006884 846113385 331819872 29195893 690161072 588019643 527049755 569570784 28900100 801571209 21154347 85378877 837605971 331626374 291883168 231664325 300791009 56712556 521405949 882559684 500837472 673034652 818186203 682645377 443807775 331831556 999133863 230209961 722675701 455845785 808796523 784473241 5019255 137033454 963152322 252180088 21085205 290313548 30519130 165143310 130919409 817203704 401987649 888465058 469278975 33027061 864419821 496050949 926024007 891566060 608517286 86150127 961567408 585126168 874317722 889254059 466698599 330280372 426851177 57554693 238823393 316525748 431527871 651530777 17295206 197633690 297538499 591375931 165289248 160036180 676686658 170702556 343104085 390209397 369085332 409610759 724426958 29355014 48827988 538630905 84094571 743926284 994683151 525644500 972059100 448259725 188400738 823984327 817170955 856616394 329571092 194970624 420584941 579921688 304406615 850384051 468590961 843417959 336158065 922256827 132310756 812555613 961849836 960238414 508642161 707654398 606071818 39673086 303017269 349809122 223707675 980363099 601787429 590260316 299774149 574190124 145559876 170081914 395326131 727821201 453013197 726553380 59425621 825782521 975662353 80220694 502681255 234286616 804949276 769625760 162604013 925320373 601374029 562628579 375721037 410446306 464858146 232597900 5601134 898765133 706217665 337161711 344404151 630697885 814338159 700531941 134080834 942434593 480696006 544783812 412802695 469380175 956574603 613972059 638149599 333749560 632513051 293453245 298893147 45378825 189966387 613452333 912857974 375403374 96658851 123900874 81945184 735643001 449536941 336276877 423310867 348164068 135983660 509451843 672613748 613670152 421304980 45055812 681038647 735156567 394762428 923770181 28262770 878548466 541175857 822241270 892451884 511745444 309050919 717541491 359751132 63043878 607204108 707448430 50773824 948822040 234544217 42977567 9750155 739854768 727242078 317646654 285468869 327710471 963921599 660634357 876204597 334229959 308974420 788631463 972437738 512176966 948197740 444563653 175758717 556767694 202113235 888905286 252414720 793860693 405688767 14472317 899972255 363225329 166954870 629909071 15171445 325645368 470906144 501222921 170880685 746837800 997839260 207414964 573830288 856954944 473946920 164871579 785786124 562532004 205089271 99861259 727924119 976071834 543601265 152819344 757671316 505078824 542220490 762001762 958201626 487279638 218041976 911409646 399318778 842593941 625662999 455835473 160287662 283827749 720890700 961950939 33959707 791506920 294547684 279613743 122328311 177803383 989974432 707630048 461800330 375025084 512967289 241541399 196072663 594953065 294961621 719456428 713635392 973370094 418146055 24890033 727832172 468523990 871187432 831300923 715436144 413200815 32647644 336820343 300748750 861794457 479918121 251573907 533878949 601808992 763293685 979832767 390007975 143964934 480364113 976190266 668762165 944738791 158103389 556344283 362619351 337967948 42308556 33460433 388087612 110404939 1986890 268325487 224488034 435396878 329421941 248361365 741776466 432188610 548325870 620199416 321301160 258682612 122064271 284314852 657527568 481180805 263176421 320329511 924387231 286840664 470320584 423700103 110782493 64562418 221605244 296337724 363210345 320779289 718878906 436350604 578468064 307128929 605785061 531448461 627037782 903848983 183887630 906991513 131875677 12209475 972390478 255659027 925880127 796560741 519609322 911906979 947603481 798737889 751369287 707406798 852019211 280002406 786781640 547092918 372965872 373447353 505659890 209369847 513010387 277788555 364964441 602284335 79925481 499724142 976524416 955661034 412003685 881910305 795816338 706359314 184269095 513166860 598831768 246965101 156421116 210979181 913019459 575637629 295140287 358486970 527440701 586534781 722013696 604901967 126174735 680603549 128949557 455756379 462174177 391550612 603722511 88679596 39851948 348378931 872647909 133158012 520585398 616384555 76952422 392072932 497134490 59122644 964389285 260038468 534626869 647721609 934882814 290846657 356470820 306641000 531204165 64432667 843401803 877386146 219790052 68040218 16431942 268798982 161039072 303726427 223000269 196074834 322636476 47499522 651765399 487796160 277535337 857961167 800490142 256224296 925257374 185412704 336902568 24742476 492618149 737796483 579760252 899754674 836986885 743553684 926947008 143360281 863738217 541551264 928093969 486875711 311006498 745710316 312211811 913940903 859378447 534484255 580382622 455507185 452956685 372124979 653541890 953723323 560710497 620585534 943555675 777753653 374335434 607106291 597408325 485935057 705139005 313609166 431207090 135009882 49128574 986197329 623764046 821520729 358663198 455946373 617261440 308754927 688451347 348623998 715121004 133918040 947587051 467781350 958833495 486709610 796698155 501160892 312754077 208849743 811630309 872038803 104407296 440857822 670303135 24973532 788321050 227863766 196836684 785768399 18626599 888558041 425584215 185909867 338157877 673820168 942392223 26107136 984604676 525165726 783460168 748871013 983251607 628965048 561044853 267244185 836987196 901490307 532459832 648662094 567235638 547584417 967711811 980223078 84095325 307139302 784995767 140624955 729117160 51732567 537520199 48069963 130427458 124829795 966600850 380324665 260546743 662300076 880652488 43723050 269340807 334131487 976716324 935756527 388406465 800669391 62247585 500639825 749963808 65613223 130565853 750440371 456434711 636053378 154077784 296491587 830088349 270636926 901389263 495336843 240826708 373125440 312633699 454246407 501853570 566975157 58226960 621807589 786141451 345570297 243673849 218821163 191807580 324673359 188136825 742813452 876212853 216615842 680212030 487615677 926088478 151773444 187518145 920084945 771235869 698360275 462873508 445438404 475891634 157677705 825618215 634554126 896541723 263502022 934615002 334661638 502421221 187627438 138006121 586711562 617587037 486288939 161077553 31984761 432431498 283700690 663714936 648055720 479370186 826427970 504469306 48997306 111010569 209596271 874873424 702443943 448392540 580544321 275157698 100713320 327835567 229936556 651453138 998694085 987296256 366103420 597486715 558162619 266105813 735081005 433601667 211904371 834517047 770508589 736201883 156741995 248621015 835771513 916068003 790514627 151517283 430018131 613974899 637113468 515709033 164470551 800521535 669366130 437224255 754390699 152000410 969914067 664546157 228220588 931425804 590505622 400241605 353466864 612258311 363938574 781893743 162604188 831164578 481830527 513658114 523063581 583023022 795918773 11302936 684665745 583181253 540433324 275440517 607635374 176391224 842863504 654981118 624467029 574784873 989032091 693287049 385095625 6229814 343573022 538952823 136057607 439665394 397848318 382143042 471878688 628807950 806202598 845414880 189974556 672601585 454193093 814035163 666724368 612181165 293882327 983739756 253191027 752626318 352974874 300659931 732890442 41747754 910003728 172606657 550052749 231831762 159032621 283048684 199071935 286377800 782397400 878282877 242181342 818701878 278423586 738833104 491311557 225988129 207699294 358673358 57943417 357417771 595764288 729999992 455596966 787913733 635974032 833820947 733180039 972464789 129487833 781338439 427616319 991390827 608923741 592195313 548089044 694158423 689992745 413808948 519803903 407233423 340637544 47937374 231256215 222766532 593833940 766468841 326350516 46999135 792279941 65815795 140863962 553009409 737747521 349062014 778904436 688998365 305369062 981808387 422517820 445361683 687170357 353103367 675286962 251595257 617175055 589183131 283217547 37972825 102191804 697081506 450655184 121170661 750903062 234833468 467786010 268040579 603028715 645595549 977184109 523262834 731482124 575805416 187716183 562743852 719279035 77507721 410199577 31585899 540730145 197084506 274226511 855818563 563375099 236545124 643885365 365587302 756630570 21904986 862715996 872506836 261993025 181898041 766985812 646615165 538275043 7231096 428463105 454590758 314730325 173866787 874503996 541061414 25671381 731213645 811224098 223749545 789835148 445085223 840421115 933728081 675200424 118790663 697349745 904836053 175918287 685181778 844765271 156626044 955570906 768682340 586361307 355285753 279182029 33046560 992740028 267481741 113847304 184807315 886362882 322965723 28450900 719714165 515026781 809006710 825836065 12856960 566441980 762678573 848151738 372670880 817330396 740757852 637867483 764487481 777596918 932413291 204754152 372354543 492538844 628955274 557092803 523932337 733146233 372566368 547142477 947387416 398299994 91977170 786837351 602605254 239079023 168804269 66359873 3331772 883222895 762402413 923249728 403241280 950977681 425887617 201474018 347930066 396845569 407214976 743883171 317391607 444245554 953081031 660649138 781450167 459418029 788289028 878201782 819485801 545640243 389802645 237447194 661620894 650878792 809331697 547230300 511947011 219781248 799065422 843618715 78154166 788681902 879933376 325624471 766096887 727911065 110288101 504725562 259193210 907757753 138608693 485998711 831576386 689005098 203573685 271479343 514176923 245428861 999470870 898527278 362554440 662374461 495219429 850730050 707209321 806726454 256996948 705794355 936225007 793995041 537920630 267464424 746842385 55925498 27058520 370253732 994223941 268694468 710912418 361609402 977623857 924121137 999932591 71250077 460129631 905396277 640996223 887954728 119988201 386757048 650842156 384032962 59059169 391525744 788816257 205293400 415897570 634290522 14976630 887718505 269914418 817454360 317331127 167964436 334453363 545587039 652765763 910194528 426627497 749187995 856766272 802542577 281926026 703146034 123184828 43704951 433739255 998043117 224863020 231767818 701373544 863895278 115862718 478034060 990049614 991333185 907156214 594493828 362287668 259232640 127044163 390003631 664219950 370253061 933056022 666400655 34164835 968191359 437627767 742991209 435429996 339676637 385556578 871929330 331859095 975793418 438191721 59188364 971625584 940535333 342106885 531320225 909933455 420388032 530986149 460723857 517035008 297625046 756052803 323518691 590776575 942331849 522403129 393842234 94704380 779241831 215662802 976280237 713523447 42163319 333418714 676918923 12743182 433917499 787652440 322328434 678350868 944265921 607048971 217538250 788221358 647004429 889218750 807620342 72349905 863391166 601247104 834230340 304581197 669471662 264289501 372433221 16169915 815975178 882526682 251063863 480317384 41631709 820910483 189406797 492403304 475364390 414843362 50263005 387496675 781628464 814941895 72327697 195521873 637627579 35483200 356223998 552394480 68838618 16024008 470751796 785765705 965865653 840583356 854038787 986807558 52192538 654299687 678337190 315278743 52739531 339119281 701154825 416058895 974999037 391793787 320484392 673424759 996231443 510532832 458439298 245483661 411970327 997917926 77721183 287479986 930123537 817230895 141896576 827566210 385251006 9953147 423672295 931309905 885348487 433699509 138423971 189568225 913025824 967838362 486534833 476157807 85713499 359016484 96225731 324635260 777694951 597202864 19348908 38228071 919949058 582391703 259970296 943160236 904758377 876270678 525850737 59727362 696274105 890732343 424065415 229134106 734245343 970020580 769963324 705324841 938746433 343469437 344162967 723061402 337483011 875799970 718524654 761635829 922334436 29557232 180683189 665321358 148384503 110528787 381903996 865368070 944873706 224614747 21500608 871335035 180863120 448973376 347362883 239108901 263527575 652749162 21012915 572200045 272778497 47753908 738296091 797125320 727264077 937333250 212144328 74670084 793147078 174291215 785544660 677955192 155610930 331052184 353616060 178428623 905338638 202446491 33483616 738735333 456687918 161394975 160668839 583231071 430184043 494632172 616625715 589828878 498747146 707498270 956518382 904983713 48644590 130612418 402122662 366548041 613060344 497054705 789019897 790699896 136376673 208085412 532906593 274794781 245052747 588271679 81572087 652878450 35016097 33061499 320397944 985411913 839435430 725662982 990883564 273227021 927750380 152863163 421978780 770428789 260991083 419110165 214875432 907672555 139349160 464653953 460156397 201384354 641446128 616506879 285917630 722916589 908947438 441863882 456444725 793501603 797409102 268744409 21264809 719318417 401108084 608488763 722891252 280831495 846269930 696942456 914075292 17333993 577712110 265841632 614968997 898633288 710902341 859291072 695623047 298171259 805530029 201793930 251529975 2612227 509395785 26100970 278613905 933120394 723847726 335631838 890550104 918926873 320578501 362210939 380446562 188082150 185627567 316812485 225594076 779795795 456483013 837154919 96786870 456533341 491904650 866691569 182191234 902140421 911220689 257605607 309439549 738667945 154110270 264907011 429127175 785466605 568947230 534073142 955809389 253431499 308151215 79427788 635863301 897306927 520686615 944673464 592362133 356227866 57859667 860926738 197943066 622897839 625175617 678940120 957476708 720737565 933650693 758064027 526362299 901899427 424946930 109897858 216287564 747393213 325290940 312743707 995164022 612384398 910075573 297134505 8801533 356459128 211674480 36822759 428658523 692804411 50026348 836108662 208621053 41740687 15805236 989316318 415213123 539347410 995587855 645659121 477534136 420606284 723006389 871770006 948473737 636866203 407944899 177149237 837968248 145851197 700404711 575211335 460091943 905505568 925670652 319023749 988966486 525828802 351755294 387510683 235591248 419718094 126413326 219528028 328449907 404529388 929923306 119812520 964754557 836500058 505149743 456230056 438498215 607809698 462940217 647810695 283954341 705271546 540923892 186634582 979980328 832858869 889851402 203478971 449527399 226835496 723548689 390095881 640949525 208262393 33692729 906611121 678142937 581811095 128769840 158624410 662947665 961133037 735710120 734565902 497432843 398436979 763343019 386521454 869642772 956252762 968977592 656279989 606955212 577214061 166881503 95670507 218958693 405638593 917647372 507064689 557796680 873717784 726597397 150783865 745509217 383226535 598711380 637298956 397915102 387120256 821117191 169467376 231240386 874554216 911752003 121264017 131592911 83375686 709686349 365832799 670020815 482887216 651479812 201217426 522678090 939132087 203549 157562282 770836839 741631997 717725453 457715069 211133649 255671354 781763236 873639208 774933386 602882993 777221507 427290193 402016904 382323332 702370591 55686968 13171564 678612171 428326016 960623603 892759952 962496015 73999219 688802981 494530379 908131077 355003852 561159740 979842970 620684796 499233915 493648843 679835274 533928361 326642825 419601669 887747562 698836383 763555610 921370132 450239574 667426711 984363820 858776940 397280634 536014907 198915127 142988433 786159352 368906042 143858048 389824512 574719173 616869838 299452476 312863029 321096490 503198855 752057670 84790625 473320577 350456965 280830672 902690966 452167155 355477889 882808248 711307936 744904287 151490227 533138181 27948611 318157123 963296585 555612042 972787265 132133408 604988578 192860099 279256845 142660681 304125302 513602050 679134274 152393749 585796709 850040526 877856364 506351041 25185019 207408224 734924980 651107486 632634806 663417947 512866069 550650154 476426792 899878175 405427898 504967744 754723309 289951729 186586483 102561652 509059239 44321212 147235080 185324523 467085907 654179764 353664004 491932853 738957408 861044728 101438220 438360160 973449131 398853395 836467385 183479370 226050515 311614990 960966416 418326702 610480202 568096904 145794081 586555201 635695642 877588364 774672677 633099878 694533393 443056303 887467605 40288068 861899969 580075821 305798614 791609309 611848174 885966288 348092855 331359169 210468776 334674725 955874906 856604329 841744415 612319581 980236770 986635472 46204062 724812170 313912009 392801112 465143103 657172820 363017926 664400864 24317599 793045868 907293544 771746607 383360032 312657048 514205624 74446879 736377989 998915181 347537385 339230392 952946092 230523792 785787841 789217041 476605526 898290247 400372645 858556252 362423319 897589693 556750065 368632423 818703566 967384620 626989235 751428349 414119366 744805622 798654464 37645735 535505655 642319799 643764684 591009492 553841361 389992091 947424402 646594779 977659090 707228204 417955764 537658741 519764988 149879704 593243970 804283020 358203445 767652091 988606016 811136354 731856818 743117150 441615501 112991891 218973619 101940798 800523791 820009361 352084424 849192968 835620338 335191485 67158409 803032492 962820483 938492652 634716885 457462980 9247968 479293391 268411830 725964706 634649520 21765697 557378139 463569075 479790481 799889588 717841017 855143135 466748274 891010222 146788610 141988328 191934190 595081608 75412364 360958218 322684675 287165648 514065534 674047050 234081050 666527253 31260516 716569223 126771829 596164498 819209715 287704044 509135858 256301320 496634996 60872292 982219434 485014033 148497580 284466140 558155572 146932458 16735848 247005363 519261656 920843511 886455540 240309796 492535372 540554068 352584211 82665708 897162203 541531657 212143662 924369960 502098358 232928702 155989005 906078432 490009195 586076 78754035 350962140 188354506 474321096 622830978 644382781 404393264 369910222 318001476 273612499 98461913 291795606 767852769 29042598 896447709 940276418 134335034 496235513 198513223 101345824 45081363 199173771 497532225 529847628 120473691 818440579 662886396 97394106 647422838 27600504 426441605 216656623 988790827 143130993 421969062 435485144 661965943 672341400 105854449 576766117 771056395 360602929 138027394 719200833 547551743 558517353 181056246 706950247 569068460 352058997 947236203 933524740 185160744 37441762 109674798 334675198 670745679 304727171 504163449 156464118 723835976 808877105 85053276 586134272 870797435 410259385 438782501 147484829 890231648 870213237 429017231 938732930 353989336 866213969 361211671 512708543 837682937 893081159 150534059 59864504 231248347 717835490 868940662 566964572 49239067 764267729 241688830 327245959 983340122 99842335 170080077 493179604 4513682 525781464 57934940 590381272 211942839 681160697 120024996 131742191 552133360 301187796 959027143 306802892 903124404 577148785 570826485 505901204 948654901 148773367 554337737 790988851 967852552 700473419 447922374 870377812 206501550 936542460 104292374 966280550 969187905 26152663 681992184 962124496 42801532 375721452 540530875 951403534 711370189 744564689 43091620 192524094 126588668 199452471 743582821 363331066 632274704 813949728 881667638 80594009 88321817 586008314 8366682 359931795 103206145 966709787 414953524 649115242 249332990 769966792 405292669 855647803 498368836 801693057 768601317 676296909 818208016 309597198 302403359 241626668 163442208 200581882 354342951 552421814 176851564 609913440 212481612 919717480 915086117 77566435 818564986 378258096 25825059 155576829 989887657 857982671 601038981 445927235 309885846 515932540 44070283 653219453 997072621 568096247 280608008 966639457 558939229 155239823 878484578 27649403 649553325 965846524 28192816 59218139 704893126 670162666 490846916 424671019 277689694 543578008 406101775 956256171 690532854 741340527 921130752 841989365 224486943 291372265 395427057 17236903 49243356 112283875 71310655 938340209 854441393 739521974 706975453 294028993 148678082 520308302 715468707 185675517 807731675 925486496 940090571 740855320 972336504 698173589 360495618 477169223 256252503 193349873 830356514 618193754 485678141 784589868 138718246 280280983 616462379 305863913 268939667 338874133 200051252 13787691 559851117 977529007 167138183 962407238 907693336 557161819 553483397 791406261 903159671 807669387 195991409 278743348 499902758 432755281 257664854 640303333 191778674 21633826 274131083 606659992 410868336 920149408 998063669 396898909 658409267 138385464 481543458 990184529 143017783 988720625 203982512 583958800 89657456 237238658 693715471 566312271 77643796 887721956 112123717 599114014 669863544 323391858 602129806 391619898 549176073 666475702 711473216 145887091 427253421 296799404 215396470 696192723 221376878 103162614 634911265 407348178 562691824 712678849 587882123 525366383 222047032 49879405 539416615 41385619 412383326 484265295 171988923 184217876 860332431 450435560 600569800 622300447 721304874 140157901 250876942 188340265 355870327 942152792 762462834 521326744 553763562 358487178 532740266 521218200 902984409 476140158 495457668 654820794 277620470 293375966 161084430 671742637 627261300 687422247 813907678 368956634 487256727 452865074 390107054 943997352 896429580 797987345 529551502 614836073 948193899 115833710 613056011 907192183 497378373 16684553 231764506 66988954 888434334 966675897 651954139 9766917 115996036 118719699 704537430 272139203 978401169 573487159 849670677 943722655 269789307 453801919 599098105 562478314 205197631 170694665 190946119 393848190 420583348 600479838 195106405 472701026 134034311 435866889 82654302 260967810 777959332 251827696 596023804 37368117 702940873 377179553 705698478 121310444 204313105 486109029 663229834 713871217 276678807 366031989 682471637 99549250 701938165 600255562 649600650 480639195 7770644 423583376 629586997 107222335 831430313 536007931 558617609 155251932 928299913 714231025 888542304 884588721 3939005 222430557 537763124 744118474 958828840 118756536 670482781 409587324 775309781 299519554 323896777 15354353 796969006 574366643 962529512 255253648 652781621 865046549 133242530 293870999 942503021 539955101 484009260 250076602 988299614 237827770 967039611 176702754 190963021 513186056 290482316 285423912 88002520 171996024 323608839 967501584 968877070 893895785 770535625 645824631 959415461 601802653 861635299 130900176 210880740 8440513 556019114 295498632 60865564 831773023 450402338 295536446 138238112 379855153 746603993 200653299 546367389 445539436 963401541 917530222 309310772 937143832 906448392 493277455 132298173 811342132 373038309 399194146 582821652 754116516 298924783 639739579 934741945 333450425 120891210 780201634 153904383 847984409 303273643 997256776 955389504 448876916 449919741 614258916 278404889 605721115 748607708 998594796 197610418 64085061 281207216 756474809 213017490 444605242 285334339 358314167 583255314 568267941 205305401 390885782 752252456 709555408 423697399 407859786 930741154 958361910 264665798 371340360 791616461 445297862 985857235 26135302 951211863 209397327 190421573 830307862 338802220 735653949 420812148 269830559 72265676 38413085 632261242 877288292 445487278 903114038 138270477 456796091 493645680 304713117 899887967 37849260 843646029 824228839 541091452 688839595 274866942 21704367 543582153 688181881 205455263 579528216 694111298 949355075 306581138 54717901 86947381 128304528 338069400 643353225 626126386 371558786 736781621 412374521 637955781 236111088 591716861 276856046 353994066 863674940 679292876 610721102 574959743 918606631 83229439 57258540 547824102 769121859 58663437 30251899 615953270 787049342 588147397 331912835 816779865 256807805 487230681 260417845 978653130 55013196 810183189 573531732 529423187 866677618 937345367 534452795 128268109 522344112 800288410 83877667 510118183 883222295 36153735 127615518 627774514 658727327 57239215 900724245 405722774 157401064 859405718 440679600 747434811 565631500 354886332 412614000 619197536 417540511 643542539 612830055 255625954 643367726 837693273 530562202 579173149 458130560 263024898 522145920 591406703 331047933 593302124 513257909 215101141 841788139 948584661 538137979 338633434 601122349 965960914 374860675 552897709 798996550 402784357 158545190 560672453 237634491 51281374 212575165 989822955 490078836 688075068 472872182 80314346 606711167 574962453 483385404 227922939 432413696 492304676 18105740 813672714 212263900 231251344 84736131 861674451 665730503 3338685 474591242 991097456 162791647 137504589 167211431 125565015 937888101 62225121 441642822 300961037 60272141 49326396 849266389 262083013 235830057 588113076 943273467 31306512 305707925 313821497 390912893 378606417 857534099 863726031 435138088 678208870 210297770 780954940 195389004 717278666 211080808 822398790 602005449 263024381 760650413 311958228 156471620 941946830 782433893 355783306 304720104 734152194 603570430 155158454 975922996 334869800 312035837 538738129 953724448 131367796 4878301 886640456 992471585 277246717 899482555 279178764 639026923 724567645 163489752 480124743 932785661 141279295 908380436 788744709 800183680 648395952 648377635 508767442 676712838 618282137 533149643 905123045 621373505 842353039 753610390 681043218 850472550 418368351 423865037 96350946 783888768 231287953 991109208 756570822 986880627 245937944 952869843 56543000 247366836 436565908 293933372 409226287 97465350 616877556 214662790 93543198 989087833 491210492 890579678 649760531 372804178 516700606 112217945 681551869 809282452 181677617 196872468 653879060 360871987 421911607 980863576 81489050 318391859 866633034 582493194 961634730 966390149 493151247 876245962 366124136 164341213 634412498 166424292 436326356 316000788 377096669 352549169 875896020 420925931 691763700 512453159 726947385 314825515 705622491 224613353 561582873 833912711 916005578 525399655 308836256 504248628 493484797 514670118 179148458 971879635 193922999 523549599 175217674 369309015 18455646 125411874 913390076 378343769 813177578 171876451 805891416 895002698 483073218 530605332 645873449 900083345 116992925 332917115 786223313 132986137 973878495 323025595 149683193 193358478 291400167 770791209 675909201 232692506 436987633 342549547 16011826 635221472 4918045 570477836 407832440 778598478 367449286 302663846 341968828 369245075 294528881 903860077 201521814 957304590 802273610 968988237 306540890 402029768 274473371 601382894 998387689 615843590 539659091 930472806 268788503 965654714 60037310 989656118 318983757 951823084 150924756 954600499 38029239 564588220 212486034 862707930 468170540 935619546 886605573 766059160 762614538 410146638 491412719 525775960 24193449 57868368 635621618 518361354 275504335 539955908 857622994 603861977 915859476 108038233 702650648 697368645 400749003 131108911 972578713 502301762 924110377 143449391 76151618 101824687 829201449 752054423 53779473 729024417 75215976 439739604 206007651 783973968 343374807 681165571 318532369 256003705 10981227 143376643 627183471 590562732 700900730 17986623 956130414 8841708 800621029 259836411 242521073 269625399 710135963 641062943 494132826 419692069 106580202 957261353 39856127 27361719 69383299 943162895 685111268 390587626 116572316 905769909 60007716 988726686 385651043 30131360 135933360 174153253 792889230 866095130 955659921 138740064 197943509 464440825 631648189 662299795 238070753 476648730 426744478 116883914 790402120 687242994 879155189 126242548 206252818 872111643 268528367 396320376 582351722 134708402 917094800 994363994 713730652 161162655 386232568 839381187 157161719 845211144 271304779 412360219 556049473 770585695 148580096 282235765 591440515 505614157 379424709 923489329 827902908 41696414 833488411 215406735 810418937 98519349 219277811 514431990 149485831 804846493 425357292 132558924 254725243 927032732 912877937 186714355 57402102 564222168 369492934 875049366 805883803 301939134 201241461 69411355 868183463 263076880 757549324 263570536 429326448 787867916 229584310 474537863 917797653 37963130 775330497 707224769 364986834 764807568 486799291 193296368 287736777 402260607 138299798 434302410 61380451 308076025 932536409 913215394 948626038 870750206 499397398 355197912 413025315 359371662 179158708 738865802 212903361 83084131 569434152 618011774 809301607 505515747 564274814 316852196 612593619 977518023 802858239 958846927 476744297 56073582 664968695 59629976 120834243 72142962 665196111 451581775 901066355 834878054 891092676 26179556 967344447 21597101 609230905 838890346 960781149 376501145 962951629 167187056 608921904 707993366 493646693 756431386 453959530 904003718 151464781 548959931 394942148 238533870 207770865 936675025 602237228 26410881 298524817 865872715 351391670 320283645 424722183 277119757 451125927 121670934 779279176 9258954 664374758 553941162 668228013 850528827 285036848 160261361 248750205 471607011 947666723 979678702 849596180 312328760 416395778 816598372 325890424 853263076 739403275 472899128 399283472 79043909 700310756 830158167 242533208 255780072 130949832 355353295 822504604 704183758 166397424 546381483 44379123 101453526 785827241 185906780 676327940 936127630 578410055 337064439 489897524 747472711 405340754 855081743 126815497 133030979 40963709 53302300 993935730 911059047 583107561 100176238 570946493 946937869 858035163 258550226 128973616 255426161 142382455 211474170 674585263 561698301 718706534 118669759 463816039 551846834 243306303 322566837 689342306 968092512 69069488 338109055 701199641 696061047 941841728 821563381 963089858 698857600 946968151 468656349 107209131 864378822 456058369 915388081 943109385 879666118 647657907 639620454 362437326 279682302 883187506 777855140 573681568 282155765 146954195 641556561 216215514 142340774 505106970 101624009 246650274 859276382 882442441 422136337 438879735 348305086 427721137 674771216 14214758 717405861 304943772 774755869 43283329 993754716 475811924 488842760 36081147 563182295 866050055 54651406 377212992 396159015 56605961 691401136 45645810 791938433 727458541 976130952 512618336 946814778 561007803 850210304 82040768 322492137 11690687 579834981 419987026 336506258 372478777 669026534 23317240 244256954 27554553 196349024 260240642 170338580 782523775 659189961 465206722 73002245 167362697 233649461 232645636 686005578 264567682 614363956 784041111 661116811 74639808 722940404 862231052 676926451 128756199 61763417 587812353 396222724 286120581 849450642 826334575 108637528 579713894 139201969 210335709 616089215 84632185 36688293 449589239 381889046 475489755 37794544 282061212 830497474 259204663 575911775 791853624 41384004 640158566 896699892 144294626 636130227 224243779 486266339 107075423 977831433 252001438 651253157 837323939 558727194 169764903 758586458 406042057 429728278 955848915 975160506 16669286 679017429 859321738 106971048 185477138 920224446 781909473 997079555 715153081 669467948 665017174 951712235 565298246 176776166 271581812 38830204 208824673 658606626 482606830 724017839 423739825 45031538 720105784 320909126 663918747 431533086 385588021 329199355 981107467 582284550 17456248 608311898 822253103 871748628 873640704 891933514 481876526 550907665 466275980 952333116 268251973 998715415 548522601 453140647 509637027 351445795 1494005 487915706 74992207 891776720 517896739 759113482 508112647 116971766 759038718 776897700 951886757 509054348 728637268 105764839 189521025 614813351 689152972 50583638 663125494 830370742 423255391 61719422 481986512 156002222 165470481 970937891 759151187 943732722 748333129 620068168 581015318 719259879 769564546 161632138 142606384 809449098 776330128 806247678 517969839 822480048 541035358 350240540 731104676 889291548 60787367 671969933 271108290 552892898 10407121 302026543 384159633 625888891 943851733 516744689 910798790 29040432 85652436 41446121 37683034 526599010 298673246 53498359 237911110 756607683 91159338 640121011 537438275 497006515 828515945 694477096 924225593 749251579 667850190 209797683 458584941 435760914 30901911 84284016 810823504 713389383 722068588 845831190 971141952 528463842 461082166 411042097 465894362 637748167 497798043 230552287 605612937 538943633 103627753 997149199 875342352 935866154 77041361 486373258 213874557 5225728 933833038 953181491 588421180 89320192 198315962 902972236 9187546 136236218 48920819 741136208 208855649 795570211 186909209 796920751 832127456 287340990 550418630 556907734 65457653 574617380 82343379 234058604 298480865 913526317 676292900 247579535 999282713 152329807 405117771 956759469 622266158 333827144 700758946 972846519 135882303 554323230 774302225 804875786 339693624 722512979 505074165 817468216 750910930 547822826 196982298 407872347 211606668 608784251 447698078 509535034 969409728 726816084 951077096 385388043 886520588 106149063 494970914 88459776 373158085 98824562 370730951 572402113 574973479 846080168 178143017 665908083 492916458 658119594 629036310 295992420 438702217 94340248 597822363 243455219 226332977 521570218 353124824 392891607 15838691 618471925 316224419 966449244 526057133 279252538 999031846 615311285 312132222 554307531 724685314 975431525 547909365 995704517 691564535 257690307 227262162 998141506 737521801 593602352 511057399 781015613 921387875 154685067 497529867 417301350 143229610 713926374 761982562 24218089 925035762 216003675 543078827 901984577 663043159 163153356 957428 103258937 834717524 667846200 994960085 548117230 950862425 574090867 61785258 5339475 64413324 30160396 914368114 147590528 838363964 247016338 172319013 165398852 994956608 464704538 339989372 60753825 515301525 459831603 480767244 30149858 692372475 305078066 974172985 422444246 524126275 254508389 78106828 837143658 952704827 314360504 691506062 627285091 884953552 230101840 953257508 49470893 113094857 701680099 171716946 886183918 644562627 415017675 404816690 466736371 19121021 890096066 63608201 341855173 444433915 892085825 111296728 573005799 516919436 327218964 627968359 735719090 605245201 577435514 917530642 86958281 567386828 678800120 628661155 705413554 235098414 479385788 303717363 211734995 607311201 244127536 108539404 352899875 315724160 298828161 506383479 53808309 317493726 370397898 464108119 65933142 582466256 967532094 184482965 692772098 265980248 125290082 257505328 327443996 499719062 495123629 601053462 89069265 45225296 375816184 980088391 488996435 304443233 478065210 345812006 265959518 679560072 699925382 287130235 434308622 800852201 591801226 684364003 555990447 415501860 731172569 169426829 835762607 800899912 219741523 950464025 295738361 944874255 24038167 965637755 368963892 779789407 662198816 566493867 865556994 824317306 229741185 380222645 726140992 992730212 474038920 786892882 120531202 246317299 669271956 418912227 840403984 180185174 245909160 769554914 332202257 51506434 512171216 499724423 663320780 876949775 104919281 965047990 88650172 311668131 59525087 52031187 20146065 415318129 682977105 334152845 582126877 284653883 580945295 910483210 345296530 638935862 462730797 814448558 209252705 964510865 939864432 806982495 400896120 623749918 202127447 429568992 344549385 769409031 477387105 605204327 294778220 84594598 485214873 210859418 661698979 686824194 347339812 540034186 663519502 98841987 542640102 179299533 426916735 745078011 447578345 897542803 802726885 466159661 464354756 601803252 974436621 5890300 469977217 702191618 726115694 681007451 175407226 279099782 701055776 400967100 609550975 401399562 611900106 38994944 452071583 316787437 992586339 458041575 110138080 58272687 444538840 320395049 851114689 120360353 61475296 916778760 814763386 111576679 653407505 170011375 390231232 186673864 558043015 187964085 820792170 615082384 374338632 853145186 918030820 197946662 673666243 473411304 118440839 48437741 180372662 894650800 934402528 672863999 850652133 122992800 713781528 314398563 861876760 323914261 371791021 442187427 475208796 203098493 961172197 396465475 927095572 306158539 885102636 675391599 24130809 859701812 471788097 40436058 652430345 259979022 286459858 648330249 825678986 395163557 144944187 346740694 99208391 705422658 356386229 453709872 188483479 643054384 442062064 694555519 128959167 978561387 659512887 834701828 374048141 50463504 345038579 958480808 519861553 368484578 366469087 658671037 720657767 240618725 817551840 704371941 10080806 597884844 398408642 415902975 801537070 515095462 601289645 273333117 664112110 852729388 720922034 269413956 390190942 114903002 3833399 189230450 148578049 28802218 557625789 160904405 404480552 578208594 453825709 693248337 672891925 222271926 954740718 954018582 906753519 461882036 10356703 819330360 124071748 226964398 801131387 452555412 704498113 502527666 876290699 198938214 767291973 535095943 455047876 220521481 982242089 757290438 100301608 213712751 240775784 601179960 53903332 354891062 192042283 692736562 304778912 253695209 570465504 455405203 523541350 741536265 170541358 938243179 609756638 645860095 883272036 319750599 619202495 28945357 226448449 692708823 216317893 525059451 612870226 946634597 887833643 769954601 115070430 276288996 844684166 645070341 991526519 14015998 801130968 446310089 55325223 27383368 486594985 149718066 931069742 66983244 658229920 176895197 300599835 805425008 231252568 93627278 304176027 303469797 106060985 783784488 69514552 476138822 441736678 378058002 869802583 390831267 811457045 805948913 978205317 166375276 287573733 620766722 260186598 998348298 228173197 693027603 948575408 77049240 537981073 262465012 340644597 434755646 816891585 442821724 848040164 46926381 825537334 302060045 825026374 320988511 136295770 837565148 440947868 24210412 535959349 36261533 279510819 254349982 146750998 578899484 432302283 832770501 719307603 779391919 199124569 115697508 629428385 352159285 647471229 990294305 750273819 714653395 263572677 179886050 731403645 250140408 178049807 179703895 3432895 789989477 977432332 562176179 196175682 444482613 909587626 280926836 909341609 600785662 790085991 60739012 328294669 143963102 252674140 284545814 764912994 309379378 537345449 993090556 941095341 45209415 683782274 659659680 890533489 327802956 721903719 353534738 951311172 563351335 179698400 631325679 606161349 927359666 830043853 582261872 889835989 883199590 70060210 179395034 937443238 608018348 157887128 807263264 408244085 618172104 582310831 292331164 591745272 981398484 927933572 516682020 80683163 354951741 452959321 367897337 407423361 897591974 682507294 426334100 870105147 410440637 414951911 246549869 21431889 19783815 204193730 726708601 223975105 920925817 391252893 432405366 960070739 676778863 604700353 426052444 7054645 444670154 146398630 867095894 124253368 896725115 741064543 597851539 439642382 545307368 561059577 33288588 780228504 720147588 418035757 771720201 95730725 953953366 325855025 355710042 197485610 723819963 909272849 758091621 937171401 510520713 154953501 399000643 140840685 980849591 779725345 234756440 529403311 242514847 333438984 242914656 470952969 940710786 944323904 355241345 503505141 13584723 682607413 321737650 101890327 106570237 907877262 618284395 827120204 132834646 170344018 110020777 979886404 76331695 866031461 103523544 650607294 538635166 576436904 969433980 613163919 465469637 869512427 52094929 913101016 573315712 337638019 579617640 917045223 280999126 492901174 767055197 312118089 502297888 951288853 944568854 514344370 803272023 340950023 995511554 337183500 527143008 660192884 502873470 291934494 794911048 191417426 914082150 874628372 935796436 85316699 39340533 975251270 311409808 827114182 108714394 439190572 945615744 968708620 214525712 499198729 917429637 621688122 833972263 240068822 508831235 928221415 643605374 218676116 494676719 800797711 974319544 918044377 271130305 141724318 121749971 585107603 669830732 306740537 373377737 684033934 854542036 107784800 839458350 738371164 809297844 633028766 291571232 383928166 647692540 788212222 110036495 462781956 258644267 493593727 199329011 430151904 112033925 463904239 238824131 861340653 834658415 85237728 526502497 71555037 353515787 778794106 581925948 443671703 477438419 747798707 682416924 268385093 610692289 696013859 288956620 75399746 665867042 580746335 640195516 821961785 82057114 253050740 628073454 902276710 283283455 795824544 819594760 227040258 376993576 89789023 409387328 879219884 249394066 201087228 140657104 274115350 313588770 756123994 263347582 61448780 392988760 711481494 593628535 276467551 720202310 305905327 570376763 707995727 386328847 301321963 183199800 818190880 760891239 261998931 325292957 128026719 567308256 564227744 614686416 890677240 667748595 612313198 153127617 786518341 704566163 884868579 575643443 120498523 456359864 560368771 804362590 876676557 842322121 480569035 760653156 134932898 677297541 357311315 403475147 523718654 965886706 204141691 240080499 580644573 825424213 109545855 983292456 718699038 579162722 230190018 321967421 333235350 227309220 591636073 718342814 854729171 142070166 782423571 208522770 875117790 656391431 260916526 816463818 612732993 237481273 403627362 254470642 247359659 664770422 995648550 478568625 818623737 534889578 2402170 190420499 525090484 411134344 387143533 145911464 136725477 348870713 893362019 655679515 295195999 926991786 736082829 602630389 761552351 39525081 598053476 749275954 311798052 378870123 381116962 324045623 713485928 159967547 678487929 715199066 922473681 669850526 829445343 141438668 454864751 535699543 688977528 375994404 144607491 927506678 469579933 159776499 282564201 156751369 901290733 859364517 18237589 698830729 228916028 374517359 443324950 138601618 705258833 5344290 589320160 131590453 579940486 724072467 769616532 805433315 924087440 273138068 804197732 813997811 170623967 104130032 49398482 50060359 115954215 719752885 250707863 975371842 953826613 699899787 667255896 890015704 979287716 813150243 39671338 855947003 569182983 253272618 156459449 566160425 344460396 230684413 870392319 443693827 671850737 194325090 738174178 711766055 937688992 750302294 225631096 316991991 799779637 652883713 723168921 53855931 27241314 280328770 275569854 371550314 370232015 983929133 195526340 619287618 977448201 543288378 752286797 114210405 523771762 506762491 439415557 48554506 90373489 519593925 679545964 988403605 585988177 828390365 670297122 186537218 326346126 617535904 136520097 965942110 307513067 678286129 839684884 995476299 191005205 654693341 669445963 901574996 84473680 354381577 434770011 819350319 86629556 602620089 664363730 226334152 678812496 674119711 803992243 188203158 171670964 32129172 100232146 910728101 217941604 360381109 889961594 747395936 860279102 169298754 311111377 850565530 181372258 290665908 832503387 357951265 725143103 314509901 185314458 434295879 360599392 137530376 982264016 407440614 729722730 563594161 775834996 288300285 276904436 989686631 262344664 533042620 671732296 108050380 716827214 180639352 154449297 48335352 357496003 903590140 375988535 644462274 563769627 821295548 148997830 138062302 9799408 4092458 829112553 104812842 334432090 427507379 9064139 653482543 411296856 8229548 362932527 779604807 485427436 902054158 552580256 799165882 169752306 901643630 413133179 841712161 751737678 861879503 50781617 619269057 746229608 315681197 884465446 332658730 458250185 547960872 593431855 298043505 362290691 837639774 237508818 243104146 853086407 903585748 901473780 370868538 128039218 70268936 695314953 740522082 334260813 980958249 121767606 672564796 391066360 602570680 630938553 206536282 732979049 834422900 124788471 730856397 823530330 568062067 307781274 709341880 157605229 737918196 450345238 533934501 93634953 188803752 572082606 504487924 934936955 659686262 933674542 768049533 59017221 128151631 635971823 377060056 488336625 294575546 902555025 212836528 612915538 21312295 94970621 250508611 667715882 307049356 223808106 830430531 858237039 452124123 824921001 93506422 103357614 823245105 698320461 656372790 106812804 891268578 123577880 288551479 54417878 190201849 309868457 514751995 951239576 111577532 972274315 548475106 699789457 640814913 290635431 857070020 164139462 918627076 317111231 765323621 697771532 276504733 323899623 697426475 934980489 401271937 724000283 334710733 690034682 736056704 954170310 260757039 576727087 815004235 157921115 890050263 541558107 16480967 778443915 756251096 181341920 501149830 718976923 608840411 572905592 615763398 154179933 681167143 911483508 403863275 423367645 404155063 595773070 120102523 452005542 301450059 29439096 205317626 46958623 495429830 453812817 877735802 438974391 27593429 146617337 150474509 65703796 435516344 792643958 986200544 74056751 105799376 997564658 632497210 641145546 186587311 760693573 86627798 499247533 902309973 360604498 554379775 3157989 116717919 59981333 948611762 520132477 462452355 369363677 296521928 883480192 571787282 449847135 70076058 800811338 916260351 273506773 245670315 131992882 90150746 151260203 254011022 199807602 9919376 387246881 255434934 274226079 936919918 882156967 410792531 213533250 437982370 727551642 860377841 568061681 128355886 57384642 174609237 986649043 657302305 43305140 588110239 702677521 56916375 980508880 26616920 977104422 509234154 30849565 494335280 988866669 406351900 226307754 879229040 894422710 196632487 171193632 764472372 933003117 732682837 265203386 29680678 539652526 956267711 872251843 62597251 671140339 262150335 786492194 383787512 674792251 475556287 354400116 216734508 46627751 996712205 757185376 983211398 964056039 145588198 14040951 89606070 197065506 636611615 966312279 36247590 593045027 484492752 184980447 497939433 385301054 169311722 537644987 137580133 747733293 651037154 20438485 100843354 705261595 307770771 668815315 455535891 575723420 306595904 95602423 535310178 665097106 203119379 28184620 243110568 558892959 191192806 54006751 74170437 958852790 725994748 909414920 985251090 454574899 528961227 173716181 848772387 95153583 249293300 668717444 433042963 386680690 105767920 297325874 331846364 163340419 770842775 846868931 620756158 863073993 740763551 302918279 690059649 242772318 855557626 432453374 520855761 400979965 62356525 211387109 150142160 549537438 877611591 180283427 135403281 210666765 363039177 404665124 811143799 151419290 995959320 638828413 36569956 305206180 392007522 623631014 104332984 450737023 759976247 268468112 126013728 355505964 115810410 387918168 645673510 40998995 298025327 920193186 968254404 728733152 920398033 165837021 335221473 176221298 403488365 416152709 516904805 679244391 513001978 885909709 116175808 895175417 367831036 808591222 466123989 180776339 724787262 595679091 535418878 812671520 603342587 298085877 406555492 357868851 297591384 671479459 152950563 979125693 634496153 718201902 90514986 649540252 772711451 513112233 47918816 800789603 327801574 184830197 140309744 275381299 834824312 610748172 162539045 576038832 818183985 1003307 253718389 644534 818308912 755494088 821009333 663176905 224332380 603097887 558216082 965604289 954072879 345291557 60425430 783695710 6378668 418005056 106406305 595903569 726132771 900269157 514440201 46317464 504296914 805823587 913687884 590222679 786511982 773983121 572917726 823300149 121267743 574961330 472458487 668715883 991316623 592443540 583804079 243621142 741448633 525805478 59021158 726361317 776855529 945078019 437045157 456814689 843227954 682708901 953451337 510855412 226713774 150463858 613603605 64265018 515430342 130392332 891737683 796063942 679345601 412755305 993838292 299765140 124320025 148413495 554135826 469387846 282290176 202967609 34695351 484119840 248186479 458465526 412388199 845837658 951019650 480913311 88948086 441478132 266766376 92208799 110097748 361083677 449029562 777599326 800876142 725522688 556922418 733565508 421829542 566439787 47676664 761442817 471991315 516559749 897883064 55024303 706747306 546678037 828778542 195136964 116127739 571999854 888329105 365480009 930719491 656430677 568728250 612115725 855410327 601931435 818234910 962057439 535983750 274810553 833580381 466571680 744873043 415022954 631187218 267427010 557526305 842012719 906359772 732410539 677704176 851764475 670380340 528249100 637269426 558362269 516693421 417211925 597375967 654826019 546507843 623520723 715431010 657653580 106026363 67071470 548934286 734241137 384443657 231697402 731631735 839801106 80341948 340807511 530793117 735096324 452956601 653814048 617532423 325768252 650388386 866437016 911177735 384132638 371651361 592450833 215408581 161251419 64601886 789366028 200608479 843396305 636688049 383034576 905487900 303997698 247934419 606681932 834211253 459029772 397212939 610841615 704251414 197951868 577780771 884110675 312245855 353878455 556000088 409214997 686697908 355913047 767119753 375175346 474988499 478391465 203692286 578587090 956005946 318461760 953707897 179183035 801840785 52930712 979098092 112937793 297106111 522524224 416567486 940640642 446057948 277292648 712258597 778355112 276480633 476921287 777164450 520494950 160221915 955946487 55342807 933714228 172666054 477865419 874106149 815357561 419087438 80857270 29662631 828065044 303409901 558686993 150991146 596999972 17493719 354137669 926528826 806552131 281354051 883704848 381732089 866823493 595108474 323433405 130659599 789416303 889307240 168957138 822272391 684103739 996476170 232034941 164349206 634231607 205532408 232236973 152897771 135581613 874784952 481546873 537833613 867051564 519553915 793607771 736941545 638716469 143272262 5298282 759300156 290878046 832381003 658072349 686814149 985373388 548971057 595105182 791040689 313938514 120923205 376021076 363925141 796233407 825153313 593112163 138923094 317542141 909029800 862274537 312973622 808927018 319492597 900567749 362088156 397954719 321687803 107749399 663930078 368344006 689451080 51153706 551411722 484918320 937517017 831610492 118312689 489923086 588797170 393944745 241817011 321611734 150654032 874853647 564628427 787767571 36889787 879688771 656751445 624073606 645841177 551440186 790502287 893867584 409490271 626809628 925520722 446190864 752541337 44699122 916757203 710067398 34956398 241827785 28605350 581745318 802535756 117773192 265667601 887229701 315350652 82488236 481082459 539944264 148508047 559047071 285747422 102371890 1797010 755831176 575227659 528236001 262848971 129116556 872430183 727777210 364878668 251816216 4345240 739887741 291178974 867383265 973045785 417943170 944222845 219741583 529463810 718713919 705155284 952550777 956330806 758073957 776822232 384421912 827449863 292834218 433808664 164814711 261148423 856452926 322775633 659921621 663701212 457930575 830418823 329743150 438315596 10921102 10035623 866133827 766920477 950159876 751259138 452006697 108529363 84486243 452282253 293001872 668004972 180562391 633762689 801149721 684060963 251728834 940959581 458863541 337609300 173403150 599500829 254124957 887766610 103025687 167371560 630869623 82102358 480921417 704942391 316848619 872027207 603271364 267554312 417246731 539471419 337440245 587642527 561734445 95908317 713666316 72777842 69743194 574589769 653166943 864013137 414066478 152596628 251750127 755176543 555804356 369692718 647624177 221059606 668204772 577970881 602889486 671712055 367013125 768090262 678057700 228488570 207355901 392280302 271440855 53935635 916736828 334948333 131785456 216602524 354009136 808557896 609531719 94091739 421140869 239394192 384439623 924113646 227213824 337894003 386660993 214324606 237360472 503515187 672598344 441773848 347148926 975006280 466920831 349473242 916694715 569851682 762341068 960893291 111356898 303564449 53380437 475617531 3271925 151313219 816754429 949395690 215255497 251004975 241863281 693145260 141340776 216748441 995713640 73452519 33493969 851309320 633148217 704191178 738776521 126392116 162088649 56160856 241909487 419596492 387850875 59369364 378853906 358688061 431349134 403794240 785293015 550028820 953809552 91249445 714802386 32712440 46175003 723553370 199368724 654025764 251949604 185393914 25121622 864095710 416828177 118320155 64455111 819454255 248021362 860073918 717651250 575323115 858883110 775124507 762778536 850563330 299585510 443538952 877991614 795278078 901856280 957305522 376065860 875356812 623548593 665475849 236323634 677811069 152561040 140149706 577809429 232527189 351779808 506735380 74484354 175912191 362234684 720469425 761748935 770915877 477023527 909992202 335170695 182295505 927056846 513322271 21349097 44884365 988529638 134110001 309248865 704914375 970324503 931654523 245755374 55510688 621384615 574643399 421553647 858592806 452518076 557918558 697225928 675083003 355325138 45126863 955451514 211750065 235408035 528170595 189083091 243568875 792213800 715942316 601997471 440174750 80465872 884042720 561157606 169961637 654442809 537306618 605627071 690445085 625921564 917049866 404221300 969715959 264344879 89195643 363032740 625817772 712009664 274782561 74740037 969965827 73170047 489861351 757362666 187016699 949569785 525128276 656063227 139970035 255238301 195754371 392972054 916885375 2319306 831247163 366390088 438550545 846135127 40147492 308294978 481345278 938988925 830280873 889562893 593286000 668758342 126637741 68695508 548512967 523014121 477715224 220436012 842319334 873026461 672289805 711124116 107090574 90311476 467623642 286285196 609763708 254492290 663622724 363991742 619902292 150758417 434286816 47633715 863353531 882672517 880579001 286742912 413278037 986555426 540540683 149799438 677703028 944217611 104512530 960448647 914381738 366760488 961525358 191544607 523428722 375194955 914804783 831961417 619982146 664701185 631107252 362675578 956518630 845046526 905153819 2889531 491888047 730865367 596690650 906148534 356415629 482839905 198245411 753367121 418260462 436386047 2408393 446699650 463359135 214008620 400963774 819661016 124458036 417915226 138862147 856061694 955658527 153270969 774873196 783596046 90644008 793314368 567101664 311461821 191367518 132094676 494931450 485783160 496474542 341787380 716307006 397942524 353254387 823847639 603003004 695981700 106334263 77317352 471891641 182808657 349957099 344114356 723077656 95745438 950076122 37280208 349690959 143652603 553198517 26127483 433775967 670213349 603254424 47595358 681886004 41175722 485891006 992254556 192458152 879297394 335255217 621526167 109245933 476315417 570226669 87889708 69181866 549985464 213319249 491847751 161556780 495672660 165763381 670087201 659456604 790745811 318320426 407688824 288514251 200559465 941084931 995376771 300933820 324913863 439642712 642854764 1920815 434779407 214971065 500680413 635045445 330967847 906706241 587020352 622619384 723052465 56629037 608021608 162082692 857063529 332184842 176847430 90021638 467856736 392411835 321460729 248759340 785883172 600297882 355823160 692259699 625645880 932441329 830946578 595286548 742578261 823830455 595355497 867401895 200393536 427223827 449597708 616668386 348472847 709209405 852924692 264447721 938193235 737603106 69110780 363596853 159523900 808548447 355258690 414045558 822734277 491917213 60316398 902657054 480512974 723894704 886356669 754749973 183308831 991832074 887450823 282041397 934996699 856847031 549047362 896754867 620824424 291976060 134939447 162628449 24457457 833658192 730354016 205833632 247162533 250020108 876351418 995050778 942915435 817359272 556144197 539189682 254376625 472243025 72782713 225633744 583317208 572395997 390224929 725131781 257155030 828213801 195706107 863717777 741584014 728102893 887238310 634531389 361711182 637102834 312713946 40579212 920744734 64048151 304751083 34192478 108763832 5100104 231757727 754889377 835742481 372180790 163002239 89086676 215200224 852443875 681743712 623237613 501813322 321984316 668896919 941856812 216175845 528515798 189191617 119939468 130045139 95327962 577087853 579848194 149280034 644987742 524070952 125662749 575062106 259493971 373352038 541862415 807351778 726192456 160068808 27085558 863442511 801164703 161237824 991483483 833073355 950506240 656804704 218487453 264091752 992725922 79696026 794761307 526331089 978174237 698339024 645364267 463184751 696342544 540294217 130815274 580029441 14979849 899769840 154787147 825852440 218509317 455314974 24504657 346836628 14558351 161423132 761043065 562516564 311584884 798732776 938533084 300957156 761837918 562797908 72616672 176840711 541195143 414559787 423981839 775208846 385930695 895999963 869537975 452158373 951693772 506235952 586371373 3925783 25701394 21614787 645915973 353635661 726034661 72993361 363445999 708594563 772830726 482417253 904700060 237091213 876113707 540443180 700180115 496862839 522479275 96976317 103271079 40374243 921764599 5160461 873770868 882033462 857930329 469782660 548936614 257680258 712061897 18533300 242018418 861543574 941454886 693887719 228851430 966479404 655968821 331377219 196541316 157851064 971420836 394809886 241035284 986457757 547477988 663639872 60169024 971797316 354192961 823128091 291876488 217123145 348834409 702400076 147108032 390207494 344976881 159542108 399087004 993679687 679420845 396890622 656846794 92365841 455632228 988267795 152819851 752628850 275669878 165259462 553606596 460411169 961220380 301934134 637562056 497027784 111875417 256707568 718673552 593408927 625168772 91263040 643161959 236546964 390097336 921492421 558240177 54445363 506993273 354034508 876489208 82254465 607570615 674163570 920330344 686847583 66192487 744332367 51926994 462148716 704218313 988534557 644210776 438225561 54538791 475471383 178863235 581627187 267105091 945991938 455961501 705893468 274140610 694575871 414424987 584273904 120171217 480987430 644098803 199780532 929136088 189209650 259031601 669594263 590697195 721033201 379314944 212371242 679271332 734974705 29178132 253531860 858498701 833409413 156646619 461697324 976105021 332407070 496761260 908361548 661072508 314404715 547525035 716888033 385652169 781394673 679512238 958067697 635590158 722320574 302440234 283940001 284761024 490020304 470220586 916011526 317341303 427910846 110725414 561523873 590239976 90299686 303963477 917318332 708929484 413625248 791929621 365104906 922636486 453207137 49120754 987079861 310781703 84152067 993928432 134217535 610221061 775247792 445638620 311475935 525390941 100929510 906043890 397989676 752038673 188925371 485943396 724950309 497967644 999689787 762368392 934652910 188932888 294938605 315574716 590457342 130398302 904480245 273031378 208819438 686803625 510264790 541394611 534593044 42522201 92851989 30388299 919092122 896669328 202384273 399294857 618979809 508782588 87133769 348738557 784445283 368576934 512750462 792551744 562677874 330136697 30387364 932638299 816059079 656302446 510513766 759487711 876050281 26314492 750664039 260880369 621754221 347658637 500138933 937223088 625611228 284343996 845695601 65323438 666823358 510622799 642445843 932111458 381594424 748096007 496963644 231891566 534248888 111317148 343967414 839852622 702460691 68102354 80140258 947961628 435326277 30130116 180045804 265943616 332560297 572668989 431908849 791913516 689635614 821238996 208714388 543951750 568333201 985466291 568474441 729561625 924284766 828937681 569183597 791494263 793670222 375549793 225860052 220830070 479810281 198071673 885873 192591415 879333183 535488432 266902236 592444883 218442081 252245647 946576995 938030041 670483901 873722889 802167188 153090513 893499844 39637677 729279019 64990296 40108482 670181050 407476063 161434286 954814424 34077415 52973832 106381364 159069222 33596640 332931449 678869270 886390722 585248097 372210535 413810289 570287193 685629085 668336522 690391194 846041597 762112768 980121684 619867734 719814449 660909578 492260316 973173223 309595315 731796514 566910271 496806742 97030119 49226809 37631201 586441550 256333196 74987143 57811420 655003229 830860563 442488566 267021967 167684466 497789144 344462762 789530782 473961852 65877831 123524977 342193334 888536317 865471917 86347740 131168084 391358437 758368034 663721884 319311491 968355892 867338912 825956447 548112123 909914611 524090338 392096327 735107808 687583855 360977218 257851180 352884489 859781136 583284038 811308901 295094255 393541520 283124047 38802372 355336848 189092995 734506736 255208952 94815735 174269528 528077682 494804960 201346375 248027204 233383957 597242774 919452203 933879740 39285576 157499629 695036439 819631733 228794561 173335844 865322552 525428731 201538121 253886607 589434256 803889245 500098192 833652204 995498809 80204203 200214169 729568401 302016772 408042220 784427342 8684077 715163809 513226697 303843342 808820171 793250318 232370023 782134547 175654548 689835002 385094542 982379303 822564733 880564478 768527481 104696336 434400463 7597076 716415966 400345354 4711233 341369374 155364420 364290615 357722675 559779711 813172725 621125930 760014092 150217567 747556964 776137682 426783642 503283531 988699299 992310792 959023971 821467904 852037094 472460190 509252071 919089506 418859485 460637099 966003283 396542613 619269926 647301954 402809169 24876853 131552307 107388568 554232577 644506375 111516718 692012025 451357909 211535279 561605778 941542547 479424762 219508622 760722755 402574032 654233873 453863810 398873660 994125269 827418584 665786047 608615068 550123360 217591325 742392930 439022403 44943486 116799616 186215856 489979519 281882566 900136048 880725913 821153002 551999242 15003360 435140612 112829546 861614961 98016187 955402523 426204245 762702339 529841995 493994040 96471596 68490535 116775392 166757848 403868896 138878545 127114384 21253356 653798742 33848710 32744632 726768505 757090180 695098745 520103653 509869037 578012403 707956575 929608865 316028157 381697363 137689165 202789488 269852680 449849806 371699146 359710329 16046092 133092428 121027133 270494 229989876 844800941 832154707 619342151 449694261 669521229 758640192 369624722 504279970 225027921 879559610 120394074 300808623 539248844 629617993 445972784 520713077 313791737 242178249 298853356 195258620 178796569 836248513 665772110 327513560 668017295 896465756 670631249 847437200 184089493 300881557 317540656 273435607 152940034 740887656 155357529 779970296 535624221 750375056 131635378 658295696 225649481 9278680 327369237 350312564 774454271 800051764 603281080 358016891 401880857 948888473 258646607 540364465 987267866 726920847 216761052 265637392 837041603 363287571 492257615 572485777 449093478 271117121 926609878 184837580 77005908 408917273 975860014 325956240 958116647 130628418 281409838 973148395 764494227 469278458 902237146 22719601 796295660 369356388 531877727 725622649 379301714 670833011 386727982 167476256 449771835 653168829 710593547 432549885 148732973 390699283 748230146 52596475 496900496 325601944 198867789 786671027 474752759 301295927 274618914 931411699 211268460 489080484 864709886 62721449 998388273 713241317 281900868 792188851 124075352 444187843 667328420 837755940 888495201 769118147 890915694 627524578 523898724 86187042 822537056 697100555 990000261 780032040 502159381 694631501 49149443 329807749 425174888 585664490 994879114 5349556 141775879 833202645 195632381 545350891 536686999 843633785 704513609 621725283 290445719 713654332 607555628 969358663 966107854 556881538 15249224 578988242 117950341 321607814 756313832 356421388 258192770 971577636 76091164 561909085 542148424 279909741 686333678 87366231 712851372 100644791 291476543 995978678 360312547 386828573 18332520 632873974 135591198 687787937 272658375 43291977 862319587 290535869 628124172 537659294 684515568 174741183 735862025 426707422 982310397 353329384 252344012 903601577 823691690 690251750 802844127 199703488 880309228 234419988 514127309 914491750 975963812 460455339 534024970 779106109 583258094 327446358 608550669 330740566 120172243 12541393 846088438 482708633 199236195 115608008 915562642 720637411 75549761 848866889 387105477 846536551 157210024 87203761 216171270 731711176 595571150 566113244 875216324 916044731 157646405 280793113 638743562 547044919 692923614 257696791 975630483 837179884 770658953 678207397 520907655 913664250 590857382 144740812 232495116 5123542 326364815 92389026 843326095 813647484 466564837 909568613 467349095 611575465 232988438 713971168 872973692 616844710 53317881 192033183 461874702 913342268 581932675 7957288 944214561 407224430 151736667 25084391 13346954 965815974 268205800 987147965 718768097 877399844 628866135 662620473 879021427 253105036 202929651 981317323 65071156 515778178 858930587 513642768 506947846 915850137 693939298 916035283 537510500 444530043 506677888 912005292 277847023 38564905 133862415 968228261 715124202 48545948 107718655 670824518 677363331 354485163 236158859 368501832 646901091 676645216 703216702 156764160 396440033 686609766 62323391 356805156 109895589 738089370 523709328 753124088 753380312 383869643 531108646 182938332 739380623 45298345 146673311 275736464 319920239 799254887 108877248 868965131 99189699 783402501 766009469 943970765 124600729 635828344 517235660 71716307 817397900 511896653 450761551 440857953 335203321 388789012 740843524 810030919 910501547 526255902 517507957 226359357 276544161 669530989 665852090 490480723 425038670 720669621 238621480 216480654 820766850 883561545 593224643 615118606 50156530 410320850 620337670 983669316 820919451 427213536 629773650 992081664 759187701 537671903 946268480 780804884 115123615 278999528 527492861 807891697 623404728 368430796 798934162 54329856 775408915 341255674 539630994 42270838 420409416 699846036 501373666 63531399 982143184 457919980 184065982 136014944 258972900 186491544 306136990 554251743 351515867 772114918 458344057 477501101 940826911 327454583 714676661 908445649 313598797 469038272 907054821 735287710 32995681 28589000 839356981 323510222 864295532 41187832 811536836 740291122 949776478 767144194 780958163 139908864 975075365 917940442 51260912 452222113 970820809 462342655 795370698 525809585 608272232 524189861 114179444 654076789 456572413 136660743 202844038 991508529 101798157 973606029 546563125 645643180 303374641 489473631 387128906 728189447 202938672 899095724 170059180 497091552 474309456 558239392 572366 34764952 833694583 262652990 404003492 410924947 83758922 128084016 185199311 161792982 604395907 28497091 957406449 606691074 963485683 110466408 145589417 296187504 910395745 552302272 585229609 935084562 405668791 703780683 229213816 347794509 929782574 706900242 943318704 76333980 729527465 610613525 437056271 64522427 448466105 501009896 3954267 655422289 826901171 419716824 629836731 220310771 673916360 230499451 345206397 30171839 631865515 236642361 161574078 495482762 361332856 58731615 891126016 295302796 737279939 829773103 23564158 626986558 358667581 903090824 474431114 382492449 524369960 412741731 329165226 552628022 284785389 332565881 202125666 729036317 310105737 585684572 155039925 367991790 929583743 610864931 858585381 990579517 422554895 584032264 299166472 284232121 414928117 884145968 546698939 672727483 568301552 822619373 426322195 851044126 396324656 847596142 554048878 467019032 716574275 551198513 503435603 428913955 981948257 104520523 529795400 889578108 343333122 448871874 447882342 554767069 814772483 407955244 699971840 286376417 860174676 95162371 962692244 304151778 783313868 88013341 132999986 925248520 466990806 169195914 492146082 391179471 288477594 824331800 47265290 389663486 679873877 179986279 73972337 110432296 60184599 513154801 71908019 899074958 446262674 562161225 616850298 861272148 115249076 448805434 764087952 530677100 82587199 701018559 670987594 223514251 169956670 560067140 218464978 172467145 784398679 975393969 335355509 537234834 288693703 973181371 49910988 610346357 760482841 338069831 769266443 476018921 54648762 658628145 435981449 41015176 639927452 803937379 308498116 954752681 783423005 400957502 75275489 342375360 387238898 817221688 250016983 198535978 621189321 590167431 955610659 567044344 746286838 213178218 163185078 128844733 629580327 349543638 128874288 493335463 169335700 684895203 319777910 542428761 875573135 365684453 524666497 408842419 187484447 59774683 881591217 137271318 148112065 81651542 789273491 542896687 265954766 432939845 317290294 817230172 840070333 368027971 362007754 678726909 166174173 722707614 982952733 644664003 634811794 843968261 857089891 136095795 178322074 31850118 693921251 550662318 418149899 843074609 743986839 783759079 701049094 721039019 179722316 209336539 368007767 534358450 74847477 171864087 727909228 182625430 505216201 128758796 660082641 765277078 262385726 644460578 310854635 895601808 362726643 171676973 874569882 299482883 862535229 990491219 424037631 986940662 219662818 926499405 130724143 516491109 102332890 305943954 291845400 298581832 810280042 849401292 250213704 118496110 770284509 722431190 94330175 847208547 767886766 563909067 589777109 410122859 230283926 57509673 520216099 574791449 580513525 417250926 45653962 93021725 838526805 107451018 380865809 549149230 560529027 566466434 145635781 299589604 79775148 886933448 495771014 57109400 782081271 418257708 358885646 91120229 435054238 509460392 337834573 826598384 466214410 718081469 914587578 241986454 631802339 413044551 275861998 36833683 598334241 772341365 780853493 646106833 532960303 633666875 318527435 246720579 920096070 293500935 712598369 251315123 166204971 946096088 122854141 973065296 412540953 291757427 719726590 8167381 449068004 111860562 92709678 17892062 216906558 18661198 964091392 134695234 729182248 163027348 834265834 459284445 861143304 254908252 244293801 645838276 355743948 912986766 309959910 915200582 141545582 617517159 34658094 510962031 109985267 235598077 88265726 698285123 309671064 742445521 752847315 282048077 335856083 582808587 767419372 712214444 65944394 773064601 463761664 207817736 142278532 484756124 464228641 1891319 433398169 560513958 489479270 143086906 355748623 890449355 615379868 418205678 776661086 976137203 456261030 958577455 665718488 471233578 276447471 125453119 104593441 742148000 100325314 234711722 799469272 795580698 793575958 366946627 675035973 189708145 635298984 615846065 263820608 631011374 949247730 453477805 501164870 300717912 750707985 698215946 826400437 56606320 300770678 49542384 684827005 966238768 211602669 549549931 963315278 102033059 597449958 727838214 403529621 963415599 335964880 495945033 774060053 373423265 834655981 502372646 537235789 744490844 993359300 311791746 619018394 107340800 681361163 397907767 789036409 917360007 50938606 849790670 872278536 10357928 965779309 161528709 59268821 514164943 172686826 610074610 368044763 591019055 593037568 305485492 753159329 989254948 446954489 711048644 564389275 824508845 275533334 414415172 853795306 623145252 303459137 102464729 934625093 672161192 845698303 142804855 67036864 915857472 81047534 613829837 117635195 413516261 302172892 131552122 422384571 709579931 311234341 234379963 966608480 631617897 153519105 692683495 258728486 27050832 726968191 605988943 310104710 913984433 642129863 628101749 57040324 295638862 602098581 14607268 931546148 435426585 185482962 796354124 135046638 607238357 664055008 137848502 452985126 538938241 974362308 759265191 465763676 80312558 181195951 960156825 403396294 331504151 28119265 3012497 739008353 799594090 224687134 596247160 232612441 514485324 884799263 74030027 645126116 805959504 86875726 57158437 694745045 620224888 507651877 505305673 878507086 455996572 123415037 683030644 620757043 383199980 199378923 650355249 392997360 879950506 948084649 85570540 105776394 845886496 455762370 659302155 229619331 550729383 631053820 145500522 340697854 884951575 319905300 814380050 709224356 135215825 648690902 958877304 544084939 28957932 982901841 418519801 254357670 58310777 945936689 664090012 746146079 206178011 308294157 933141746 52642211 888175822 589379127 414860393 943312881 77488590 231565630 559768685 390873513 708310782 430892651 782536141 318562914 617305826 610334811 486415667 330767072 193304516 23628796 798238425 758941 227404803 744002661 688943787 184718626 267633381 339318081 725678745 245537227 98478660 86212696 826291642 936073591 58570529 878713060 427369892 591307051 425753884 522948187 702116203 559546821 879952630 704789872 842952204 68514788 858238957 327487437 29679269 909843775 387923353 668756542 429311737 40956816 727575554 359786696 17664238 509574548 322757242 456903162 311862851 953688608 894527141 621765960 174804548 302576637 717422821 777405158 780069084 134098148 146241765 460949731 426860393 830964752 959651308 584715205 505321198 785440989 375984684 224062644 732874492 971593738 385526273 618284110 721092859 215072892 948488797 997762490 510662089 841052714 67767715 242989706 556179338 608590673 716435919 146758446 169360914 689512199 773227977 604869360 4256493 875852249 48507199 151551094 853167640 774446993 188570588 512648807 471254683 229970293 875740614 144745000 877402232 249109834 833067746 647800010 83267204 17411023 969211539 20673008 688872864 674084748 417291312 710108125 686413822 404474603 586569725 126051547 428842443 539477664 130632155 39713833 803387762 749913958 787224328 905659545 961878263 863659523 303879615 170330038 862891771 884454280 236575204 468295532 57087304 101027566 687240342 213706688 545585991 340264358 567317345 638349523 982709312 926611757 209716162 672760658 202888844 105495206 399929800 21895849 920004067 909755792 406086257 180480790 64697445 181744786 333317456 559304895 730725511 367031137 697126589 952528971 4457909 767789005 952613518 918847808 453635693 494617015 715445420 924967448 808616214 443108528 224726502 94025205 727988792 224384410 195417047 662245550 435962341 96935139 808684590 361596371 944444376 159964227 350385851 565200191 676482531 16086329 794364957 232140820 649312667 78367086 240339985 107182927 587401483 735385119 424837078 215530616 576578673 672017997 588323403 490415447 203111996 743166514 14720946 536681449 72915475 329585819 133341383 324164964 986179970 383454818 880357825 632697001 531481741 142444880 652201831 444035766 208363948 444345206 170965588 342617891 509929844 198481965 379282048 899437912 866613355 570306301 269066724 685229433 124849726 161671311 173301462 428875573 183656189 310892759 71385387 478587091 947316717 726849270 335803058 499756684 474895036 366352308 692978864 487996763 154512831 112599844 917951496 38194736 610603577 424687438 493444031 4408488 669456873 554903655 807203797 488034577 914591734 10400613 107652487 876911550 749605028 924979602 594670393 619865214 228669851 781353290 177709788 177643532 445697558 392370110 760637610 22230472 877775753 484142777 673170768 920826484 975077774 806103152 664041819 904487741 13705660 357088581 741723400 329447722 479432861 20583374 916020595 685313699 83167382 807157040 249525929 848605045 417633433 503449733 537100717 247171246 788380623 899170534 244378900 318187122 906012273 802798203 498334385 55386505 307510464 42653766 413655961 385761939 744757172 603282149 567861790 216794372 901262816 913207886 462770965 288257662 278125174 848313415 73766998 662170784 514883325 918054896 97710308 848536264 435333437 759833633 492850750 545159399 667277843 372635244 691999003 920513124 84218696 558219601 530781743 448097569 290839077 760111452 814201979 846896993 40268327 852681314 434533273 991841937 293188511 423341471 739840842 348106068 476583216 271285338 208795089 403597706 496052811 5552714 895626599 273993358 55230238 648125861 169217563 19513991 913208952 228734675 158704470 175410716 561440613 502284568 836621220 34670078 919619728 400418898 453061930 356898891 421284183 392745832 351009941 643776507 661844810 266858643 239057930 42103046 108649881 787645010 613930664 826820869 353330270 912942842 117660850 875113680 819114343 628103612 399912480 721530644 625034997 113571062 69849708 855365468 581922635 55293752 693276744 703067200 314862470 131531406 912021068 248946353 691945813 688357542 976538936 474204340 392156756 534286912 545800486 209601764 333079707 787919929 479819144 855552387 440384304 1201481 576877175 393269471 445215265 466334293 268870054 163374690 30441072 35203158 353066275 842364205 59465871 911157729 256271693 931470407 658887671 328466752 641375983 754702950 903514802 749232986 237259315 998009335 709661663 730682912 67482602 560062111 379399199 260304448 244943089 234040171 350804570 920458790 220030858 336323579 269641127 900389882 509116582 553195966 543421883 775429194 444736911 846965085 167587905 769702075 867295790 678917642 707064617 204163900 470276991 45259962 5738171 47051138 184105587 877080742 261498345 583699527 816580639 19865495 22893456 230253006 854781681 71972028 330625685 142456513 683551278 118575025 613090125 268908105 665027559 220858247 513614944 291918347 951109352 987732655 8738217 36967543 62999124 166703659 812974995 711881159 530911617 386650901 805659150 232843254 414555805 388646596 463732972 389053414 168833942 71237809 288553893 264325691 124980721 844634309 882670361 396109549 120235595 880852772 485469389 108642235 195415264 891600933 683509045 88621211 579932071 510898156 879208070 850752058 852292251 831524904 416285644 367131004 111293879 438659379 191685335 980476426 760139365 335680653 271464563 940289810 954485774 254070449 885114112 507224066 433771430 981887090 969127723 225220028 553848509 345135166 360979690 666610498 465823203 930207929 249592427 143002693 730843464 812114256 410659031 583941540 676693190 870822371 931391689 412670682 581220753 28494579 391242314 139587592 412551433 981607968 471831359 34677869 657029108 672361800 725761350 318679099 154931989 954358252 955992406 195886697 119201759 562827940 555786684 342399742 430552981 786135985 416404824 503486392 167617293 603101591 962668693 165385688 854259806 350409035 105874012 904297747 586325610 974846903 724741887 106150472 608461215 352309133 429262703 4305432 801012873 73969873 136624043 470507468 863370467 227298611 144469250 651201788 277962944 149592088 441249051 212443320 134481432 234634990 680137193 631833092 269949049 723247732 671324050 114942503 29229179 130686025 951894115 140754242 74730076 82413087 954982518 844208668 105530920 903721030 633331074 76789171 589699131 828246878 904303333 418630684 635484172 506008588 237633613 653342427 954044736 823629757 795664881 483900712 895665729 66018624 938874766 493793368 399929938 594924893 411516990 700660169 565121630 12206679 118714844 214178489 31763447 847789505 440888476 376851893 930365181 722367055 539599606 669717931 509213459 932112389 856444402 352648460 458964156 424633318 301354534 785362669 296285615 399245546 661190960 154028133 505845576 90773768 568456868 645079136 376244872 27313447 339436855 110733145 358293630 763484203 263056356 697033639 405764567 935956636 210717728 700346590 170715393 678140501 931277558 840067502 70687589 958914701 748928472 137491310 70068193 288622616 114003725 697313332 348000367 631771703 341464580 62329126 464732211 818538516 846996410 995692775 641645798 606197793 183664126 618652412 788960760 918998820 501422379 586336884 688789433 123423611 728577546 821662539 870122291 836814436 206802716 644202842 172643627 432878864 899321163 257966866 850262856 37321651 291345128 195876285 745152707 685887699 396640482 571896086 382683339 397570138 984478092 650300260 62905727 190096590 453355880 517324559 534804137 537020225 526507904 939412558 814048043 758440317 671388547 341465673 45804270 672740697 244723847 591152580 619457570 638766930 693473006 689393465 757831169 190071488 726018694 134582309 387643356 86522696 271842421 919696721 30991574 95766286 485064900 694374600 262310769 998975475 358193380 780946985 336918934 852616854 391635232 7533733 467071005 524122891 969199883 617822516 694233145 231930822 374341099 30765645 281440368 801880924 338803983 425950439 383590415 805767673 935524556 61169036 804175191 603553676 591802235 550628053 277906396 214019212 788946221 730478549 430187566 945617101 734715367 727785142 973334315 84019890 771855564 794900242 607594022 583349452 37593917 279710869 73029714 72557416 680330977 323833888 706380153 925043321 889605283 662174585 11562298 476904197 187633443 258117757 14267050 554811633 286067194 782154150 668809424 685927060 339510401 762555945 241295682 752370633 232489702 444209360 512846586 849958153 348572652 943837848 81797862 901848004 154064584 434575775 376332882 81546999 977754305 864360258 805372187 102822625 315116268 465011670 99170407 545302627 53738208 52921471 644992754 375236277 967586387 49922347 376436641 567646108 12558986 585721033 46837445 890126270 606146205 511702913 864842101 776629024 852748975 416588846 628785834 839464884 374247185 425839557 419944318 606158270 588190064 795845042 823140464 633744403 898160272 468945658 949626065 921105268 156677611 824877228 276285638 560698647 797132462 119989893 498537220 347655047 157129941 205012543 140125907 125833668 800142800 34031401 432899531 843643313 680452187 29416904 339114631 351061928 503950684 998435210 85049689 877392041 37658895 332620023 753746821 75499288 349903579 305438376 623467563 716228299 908866680 311035496 681037553 458424818 828679940 10490022 191345211 233723372 400762375 527923645 238910335 421882565 904331364 537615686 212106681 348169835 228851735 637467042 46062474 122375647 147215899 375519002 476005041 614205758 200255975 48965272 986895509 112102100 237493529 780610195 593196666 694654573 278042181 682176858 492494363 424307109 968064059 979255034 895086206 852080585 433166330 102787119 803915144 293971071 483782736 399595200 47740483 543453557 219977927 268133435 397657508 284687409 103371722 334458830 305057504 982944237 226610625 969180105 76737806 151197421 918926133 174367120 610678824 369144334 482894722 328681008 317252013 161627234 454704551 81229494 668881354 597798473 858960375 613420697 996513600 545885101 780034105 665952657 939229743 497964799 79443184 938247554 367172138 570882291 416408390 902585529 925246370 154628950 707792697 307838487 839894525 239545547 318488118 512164287 718519530 867004845 755038053 850872082 65808385 709175802 140306854 863867855 540260967 415304191 29378980 343597976 662658257 935927053 150820140 651377435 814164394 398280284 608736615 774935589 282062215 541044798 686413369 177880143 36302383 962140895 803319870 793090901 853486905 80566883 628807846 129399408 430940426 742924995 256525310 920539552 342327237 301143529 51571136 398226508 615784174 964864223 209473402 574000518 941439104 794447224 232043733 267876151 887538327 379095709 230109981 434822595 84970266 289179019 476162947 814609234 916430955 896738282 899226148 719402049 258254181 568525803 139499853 752766926 574359119 853943191 557441678 82854400 683092680 657888755 288996173 699081501 666634701 156548249 690875322 279391423 755003367 650689908 24971988 957722262 659997773 43024484 149564865 236998786 102464693 801233896 249602472 410988860 881772582 234375496 760112699 441416055 87016067 561062898 633487228 603466580 741813707 831875359 661098780 174079530 705719512 177281394 349990794 380088320 484574302 77901206 46155113 498395510 557308979 74878169 540736092 92854915 665583756 527151205 949679613 344614117 508681242 885179208 573064255 380750342 545501209 997047396 292004558 299428671 459279033 91872566 857013458 912579930 893142358 679171163 91825670 789727005 884470651 636858324 611065331 548619745 851112291 143928343 846728002 263042767 379529587 94698385 457961143 130319084 196211349 848089127 100675684 61469863 990136862 283605465 743262679 131456703 142967544 571318211 109667419 906389346 569104361 1846437 270679803 555003363 36431841 402137227 439073706 923860906 947064027 507245358 397037203 49078352 991456110 473026420 143996284 982008276 601817027 985398173 59912236 684851275 951263851 962401616 1657907 271683399 41013216 841062154 845874849 204050479 596658250 447590611 186338162 585537098 716677388 114186580 969029112 773442209 123160724 446824408 643568760 972723239 22454865 168104174 402740608 505606402 267159130 787169332 613131524 62560120 441901409 714894090 260224419 136929888 660661808 639633053 473991152 321748671 908458653 192444776 707049773 785658317 46336327 592332623 326386625 586796803 751160157 952298908 780388960 926394055 815556801 917945847 327677432 282043442 556198793 966934401 458877212 755251585 56812144 525197687 460692467 597911718 682519334 322361271 136363558 513644788 233771178 386739187 339967537 123612540 792481359 681907566 314947977 329728204 684058834 188121072 701583094 318773814 387573086 551556705 606998558 623669142 245700504 439674606 49397083 824237451 805841829 665383216 964253358 713001988 212967569 309429044 85241391 789274916 541549119 325867184 461147682 648008011 40086127 971591470 116947039 727284484 391934683 138609834 449400978 581279242 94403636 3000075 412087456 638607530 61358949 438577446 942629402 866952938 685654403 323312853 25875766 919173277 174622475 62440701 866774324 16952783 766124579 644155692 24872063 554125311 184181348 62380274 930171496 158936009 376037951 446977657 736472749 327607034 621056480 733904252 904581127 332818122 167129367 443959893 192519777 857477144 500651148 280095536 646477172 755644225 79766214 761365145 7636281 642893394 142233004 867887646 223400434 458585206 905270564 432876456 973765561 600476746 492934316 915332391 564480196 630032782 940101999 225997543 951732068 708685229 308501055 31808106 797860142 394442845 265410755 98868550 264441985 509127739 52825312 861954890 414469406 274618394 686991249 955221997 143917983 31219559 211719711 5010549 878086006 83663036 15669050 688487891 516269633 178204360 195943509 542243174 230687714 658227392 769825049 682369572 312467322 867461761 464664548 213800554 649429971 836020594 351086678 806891495 11083642 360695924 425978232 938157846 924072535 120068882 151348525 663672845 875867186 388112792 203797707 456272856 290276075 308028505 913125168 717247248 353739295 153743315 274709062 689213114 328470553 818332249 456897229 219575347 274765750 896350147 624880722 15676058 14122072 808920899 440126885 388598838 21686301 281273545 978677945 425331218 564620308 876554738 87368189 493115823 496815168 87483218 441042103 979889178 931108735 171913684 299790483 401342257 206444787 935993597 412888075 670124920 803944579 886442798 619812391 869841773 257019002 829855722 66732595 769655961 227881163 237556082 541712748 646702405 705729875 781893824 523970577 696674187 588376233 721578913 998998416 89094808 998841143 279008839 769533391 51417778 303565446 869548728 202014621 55155981 312345956 662537228 811918346 138455736 849407094 642006170 360007477 123793821 361178491 577869004 711010795 638342652 591078140 993295788 910185265 725336772 396797658 195205516 374461743 446604765 374753187 796258615 449008613 798907215 107975713 210370008 506459640 425414556 785233941 656716892 530642155 537670700 140372176 403472453 286772236 963177629 40557295 388078076 47037534 90461263 475729875 247542082 14379469 954304471 389194447 802563724 547458389 597429764 540676994 200269403 50158671 410896995 730910989 355608716 422509585 376331400 506004228 771068894 762532323 126917776 833825789 248194700 516640068 563894953 642258576 938564800 29471483 222831039 811714764 942251238 14292564 423837224 88472105 205961759 90121351 117167165 374375115 75043654 368813567 727066950 78445246 460460854 119242695 457334732 900678862 274743499 770618112 96581562 254782414 523149996 647201996 279836835 952667230 55104186 641297360 729637493 319328208 509784391 410072236 712884648 692722729 786374700 708444829 526255925 626489212 232685009 868318001 317796677 970381265 921702110 634984223 370001475 230080209 256175630 127247534 657286328 541488921 330627134 125500854 832272229 921287359 701050335 425755625 422360392 337342750 238386239 457295306 361664302 327923025 125121464 92719938 817992864 827157754 458237487 915641085 860384701 172779853 524098927 385266665 650692496 630883623 27679258 606421578 660804952 682043876 129316605 308601201 3164373 877623284 981022600 627047284 409483781 671884084 987748032 391425943 432211272 277602640 653209542 33614408 279893261 279886139 492063615 724742423 18481121 567586805 821058157 78919395 212374643 258899581 357475629 219052831 182968481 813264383 35006729 379968196 843446696 422734232 889215593 841039424 113800112 462332979 337503785 938467177 698166142 597395256 781514515 770935509 518775064 461559964 388242047 335920332 750467526 540622714 478768039 944025443 610668097 924295287 971273686 945277206 442306389 459501053 929375513 430743684 559856629 60850186 652873856 930231292 137809417 781130632 741305556 795122426 34219265 706971303 396363843 325156000 886192776 774432826 736603781 531993445 207808654 663959907 779072115 67394001 290788145 827802235 272741987 238353717 539174673 819618690 480278371 317744328 601644121 248668589 82966067 78612058 716113852 908265169 133441081 3696051 529265426 608260886 846781508 935253121 568202011 848125092 286740171 893109487 230736664 140081101 802423504 710500002 516030502 72135735 925566574 863212240 94421994 440513241 147222535 719581563 719568098 152789411 208649948 229907555 571646373 196733595 225039598 221265003 574353248 645090648 552009166 343648193 248736013 341697217 878574475 917123565 273372011 447172555 303559946 69974987 409530296 224726178 386411050 689645659 384784796 737848500 788167698 568317862 655665505 394980633 581284043 225285520 827329167 531319307 876656580 433888038 90773063 483056150 80612908 722211140 526113211 917159409 122688803 763414692 23758327 885022055 322482649 499109970 240941240 483333343 742370703 157586027 974327261 17517380 426137237 12994370 793593938 362446207 360383569 799473141 194498727 275947193 505097902 587798404 317247069 667976861 28852268 485473126 148668433 255226456 841133828 933281770 268767005 802825695 933530135 918040581 143271911 856913985 485904931 553723331 226040849 861838311 265172813 941105416 790112260 344354314 646619173 917923682 224062870 685161866 973162835 171622809 213473818 833428566 168398987 272429086 844971471 289185826 457038538 507926215 357414537 327888740 121945527 76947430 639524089 94088750 53265158 353810341 100540150 491338682 36701952 317845665 957350205 168293531 588531844 530383771 745919542 358074343 544418995 917521998 363569452 280465116 31734950 263911221 269623092 763188596 851612282 523455114 504570723 958882485 802362363 682539974 104753529 427622708 827138237 632229083 950989139 198480336 940663711 54582672 648873608 216360458 822574845 758698626 763141300 872810303 17883553 233900463 937882938 616936177 912350264 864071927 648857384 335514118 937958076 879121619 585631903 576300524 868896669 143831929 930562923 154356046 753099931 672124018 792177762 72019399 934685398 640497431 148731613 603066323 775557563 803630558 407173712 421470561 624940995 686740340 659713728 876921693 346093827 716443691 370449978 528663579 305594415 88757151 274707270 235317500 596945434 14014765 361919500 908243015 571353405 652756023 605828719 917073502 73400481 335572041 265352780 569821475 377422375 473720826 356502162 173123134 827152702 140449427 845083430 846503175 780213178 187749242 448045437 300670298 49700302 678335032 892804171 602256218 527796234 191217764 461283175 59469624 224377532 15148011 463062081 847664230 574781068 656523852 829992882 680147364 284736788 12946599 399966096 405628337 954063290 900259823 431127776 686885181 26766777 456364980 374522744 681671229 943924512 836105317 705541267 601571800 204283644 234711295 678785366 219083371 455056651 989014829 528728678 830320910 441794694 911480338 394277426 603883935 208892953 255649222 980144725 772310703 856818384 525488471 278022104 305105086 53690274 223461675 866797661 860490787 289759654 752965896 457148603 236046703 595101816 572730771 908838410 703226709 902035934 605576482 818001152 824995484 845129408 400413248 172401722 303496713 379346389 4844191 982328057 328463673 792310652 976805448 284391955 230950545 426283558 364282565 338283752 742779156 990109848 474676094 237359034 563972678 719801561 666779409 131119318 238731806 299799178 841912981 747045778 889812534 444277039 583658965 831791173 336403841 277379855 847994336 375463300 577271180 281726977 396282659 947125367 417366097 468979245 721418915 153969566 817670039 873341249 439682372 233203477 159831405 866258315 655380494 346435606 46678985 410175359 931458987 360461687 210131881 495509988 20565809 164489709 719475803 483070019 345475067 225336318 68564885 698036962 562517946 980459722 868118901 18822420 374409786 861610162 914202592 23012340 370537157 266920263 741542716 498004458 389745346 584693584 661268700 52094042 836486351 549956639 582218297 949843976 361258896 900211017 271702903 554619344 308771098 36985444 879115696 254663776 123628114 344425531 903734346 981615718 634991307 860765041 672300468 395145902 465726691 84048995 590849306 273198704 476601949 900114155 505402546 226364470 558491014 790171429 107285357 803399231 948866925 161445495 281526753 401228977 582610040 472073830 197198122 645278769 662461643 852533246 743939435 315886804 606449865 214975271 715412154 979220394 712062638 141667680 40344982 783973061 808038544 264923186 146123957 780078921 34483968 398421585 689900497 715559040 70186846 74536862 621301983 984650520 742241794 786120448 881896793 193848851 906127129 160173585 575629455 721326337 658819399 836374464 160620118 694786545 751501349 462574102 756814792 576363465 40497300 311795570 358863937 209484037 479968841 346379542 578984949 402885616 705364159 271151834 253898464 524448295 229308868 21332059 159720819 955002357 464517196 474898598 762119878 44652854 595255291 726903641 347964957 963015095 558015915 768782451 820039592 854905061 163346181 797246704 379375068 738668097 539091400 965173336 59525486 150533682 372340274 176470979 587011580 644009589 114234818 378586355 642047389 651031765 827744052 625906050 126227384 577551602 409418957 479240405 418820527 455148383 699858255 950232048 591479952 144564284 370436215 929324236 342005483 749190640 926241518 767223402 218735099 803307731 616859893 226156497 19148322 222273303 494502283 696881925 104028842 510471027 479350069 511645958 722602298 531083668 508355146 835228678 968203382 338670783 273971624 807700170 439648517 659760904 687080640 715855285 488697414 333323363 727352555 559998980 665409195 932179278 905288986 851166194 28891235 108023652 781771652 317570705 822320515 334862585 402128724 747545257 972048680 107731919 344639363 545679332 252685552 709004783 973979615 652676179 652796992 909030906 300135926 149199441 342452655 48204953 857080340 357466632 593583203 958521326 173012437 483930010 881193407 487756896 274125914 220982555 987426635 633251410 163336675 64709129 521421289 36712087 604869773 69269120 823389681 500126579 218826868 99069199 556735043 5163805 816296451 782030610 711806481 455143932 996560907 435909539 329102253 243970759 134953389 287814282 673415309 282674865 773185839 924311890 429245108 113086849 276919453 279433150 317978963 857696361 735624244 833860180 250227700 133103121 631168138 851750593 564002870 135819364 478982534 200158580 777122651 34979960 419134399 491341182 196925146 881404392 776719634 387597108 405853560 26585096 403465530 228653086 270616095 956829054 905507003 412633087 577854751 559861788 802657551 17911441 281862253 665541619 799902020 198202391 381593630 944521146 560737741 347273866 216889981 69868683 286166530 826737478 326402827 842815554 727439379 20484454 552251223 263779010 614915227 398336970 61950871 724828703 67565471 934457853 199791554 512079138 450586514 187369606 850680353 327730367 571643114 157672604 519188630 487694484 691506147 651656320 212163096 988003025 555350230 931232167 502174427 858004766 317226997 259572711 524876467 691599737 287105034 667525935 174618144 198539842 439694018 204276291 73502258 305026994 112835091 789921098 791928765 617549704 44466480 780218371 399796749 688785163 761863573 974074038 983902894 519724699 462308184 459374919 686342112 573130121 606481940 193608617 812716763 191496414 90395810 41928317 49150328 547222200 523779525 814881033 224937122 711607592 758286989 527595209 244025891 93942666 475740178 343112650 397843463 932760387 741880885 438609899 489267173 698376363 99346410 245252539 401640894 426644331 337591664 275225980 188321514 820608904 350262458 864713354 236486534 133390906 26891122 838095913 757669276 941251539 732153735 449432434 763544785 762922652 698628802 311998324 401325399 202510577 747341764 336011610 448880546 230766586 246965621 633266956 335547112 252255150 278472025 779514148 191756315 250934226 854309769 757139427 869289225 778140736 975492399 229714102 385072334 842872360 533924878 141438967 924051635 292334784 729297696 563549847 902282917 317726064 415191748 219364851 821668122 708380363 212294225 263112891 123068909 51659742 15739246 520404185 822012208 724489927 39647992 610218059 347528236 552195270 229767751 94236221 820616513 895435607 569232706 42891131 580581053 289838928 806786548 123553106 586077135 979387691 851104919 462544691 764864572 589392922 219110987 601488129 868268161 691520088 408838050 140041666 1097168 190376271 546887794 343941227 837855621 669938375 321184485 802712985 311436595 5337294 475399867 77009562 755638472 414045839 193936130 928418911 119306964 788163063 617736720 121903498 145040417 860312947 7055537 662006829 157175234 632018030 84023508 880454048 808500808 963901399 232750490 327384649 364969974 624388310 125443922 288204148 349084617 971758237 731664378 427742654 209618072 208022397 94225689 269551052 405319692 532415288 842461480 503571407 619648904 570732028 157724522 818733809 681209063 694103364 697399110 241956211 871380436 604790997 249934544 667955122 519580908 784344400 847700223 27171559 636150034 922654148 427824107 202625505 883246171 424896974 317331548 324980962 766972774 786978977 321633700 832006547 640190160 249305154 421827769 579177679 310782322 85931632 872791086 985526249 842378337 779681312 421109292 603812379 414666553 31501223 158827746 557725367 982496564 449525510 619182462 886835559 429328761 348946401 406186463 675371756 215058407 219243630 51570085 885274815 647618371 253356024 859908158 287568765 564716794 580023668 730487159 713670558 426063579 329768372 381572363 13277985 474198264 194139513 968136258 452656925 190535031 24598874 941367164 493368359 301348918 780238194 541613568 493774079 837064585 746308783 252955494 897894165 643284883 15558189 315615343 325678387 660380891 686707010 867094085 382965149 593274961 742440676 558152828 176696548 249021837 621639618 305609841 232112712 594571685 783703094 76330867 139070427 519562168 949686719 635764002 141523555 76872370 512553328 153507897 229489204 197895216 255355517 311891868 223720093 820359885 458997780 149593021 44033968 357191370 404474966 914970692 177264738 894612155 639735180 696804383 967181910 804883766 35064945 660807672 598131431 311848286 869692456 768045162 250123210 265724339 656020681 124896347 148109465 75458100 233077307 781538513 384660998 947506655 419646230 546969293 857022222 421320402 616688191 218550251 586843712 161805957 118984470 62345148 379671948 627439785 676046552 488309063 809234123 34411922 672501866 552511971 766329374 520994895 269476886 833454230 233655258 193299842 810820006 893012177 206538760 85169099 762320457 264734400 506638628 87471791 961893979 803115560 213912789 478921790 354196438 215064028 357747842 402868175 972123085 109696980 970867366 474319906 532451111 926267352 533397649 86731705 965922416 676281595 28871725 378147660 232448180 291559691 956213171 405598124 599280727 429785690 70396803 65470624 455239459 567510774 619174679 619313204 814102713 936767856 321539077 104339705 434940517 71621468 690810479 206901358 938974573 752531206 608122100 39192497 719807779 201305363 698711855 154221174 586524093 214830030 851222707 961410619 434692996 273621713 763680090 469770823 422174652 412659973 999904610 741920314 185160520 4831269 474662262 144057690 779038296 849715417 421926627 568263233 737852708 133165393 501621266 417792816 656644698 105938230 733115599 919763001 281843982 355771775 165262183 216519467 164595731 41334900 126368312 717229452 540327056 627830142 670424248 107191539 329118236 980165200 350157442 692159157 803753745 24535931 455035313 22928400 76552035 971061685 278749847 643836145 272699970 40023574 181852144 861545789 827688561 856328085 22824616 972373275 586981527 85031065 249710023 191331807 203271317 554404707 131594064 969823268 361269139 99813208 52576354 871526149 130291929 392798143 681041394 383140335 923667166 608562724 950172198 345255446 416308214 157312299 861908976 483217187 163182662 896316298 572185564 688118252 772013125 526197173 862303886 907481335 127277295 243769344 326475136 19000366 995243654 963623963 883106484 564451402 77473177 814244218 336228737 650560675 7979238 226796771 553085177 696448044 629989955 29425502 354821038 332000136 237440853 6272153 6806848 370107671 8990210 620580308 26038765 960393383 568816393 616994814 412387982 211359943 958054825 897405290 924490578 262057898 62061799 501802931 65336316 240809684 732706248 292789225 739585070 808625915 331570323 475845396 760700424 877666942 360129678 157342885 70781200 808623783 522006991 398856955 695743750 123374752 40752496 276610816 757250343 680404588 841181017 905838638 640632827 232567464 438367034 585053782 694052404 681073410 780177883 654404009 575030894 226031393 973940671 679175355 904529288 453641863 443708972 998722616 772537794 133062444 826934964 369323274 891266445 721490916 35675345 827725479 420671740 607817963 331530421 285087164 188511087 521471718 495542184 383196306 50713463 318673851 702663647 737207634 697560425 151935864 864845447 25603587 468221994 153389168 15580450 319249538 555146616 178040310 15921018 926721355 913746022 139306227 451391496 901641847 261564585 792207577 594841765 810215451 598429796 279673238 635346154 559060657 935213869 519122376 483777497 143336062 292374603 823508284 525035560 597207073 704559795 96856563 914456239 721613836 598928561 116309514 442840069 897725855 889672005 774320978 443012343 236381477 93908043 820631730 854426210 291580153 837027214 72327697 992677001 734748160 349798448 18610941 596905029 393765256 715642419 522437800 461636759 97924478 758055316 971327416 506198138 722399540 157634269 246166871 224795726 656020709 273756615 119361710 929035257 550235267 213964524 343105352 837449178 655666239 344119989 38897255 699791215 911338800 772621634 386256339 94461903 950582651 491526619 291507690 745369681 386124211 897111319 626608216 110503123 740531262 78572997 276458571 342208062 8672171 892013568 650383559 412062171 470674241 473348227 118640298 944846396 774050578 736090738 145996945 977747381 60297003 820976195 874228378 940458192 4243896 738429053 911546289 964726617 52042140 714476712 658188465 770281359 793639576 305111835 711746496 932582742 889709529 732877070 842460330 128998268 939288191 315856004 390628832 83095452 951547947 111596427 466718137 335847286 556771169 26729268 432885272 273081979 324488097 300792154 523399420 409362960 830339572 803984146 277288300 526853221 779125627 172816361 712579810 272930865 456990422 539215507 356194437 902609169 589063967 44055199 824326267 886314389 115136940 995616058 139698378 262734478 851363091 876514284 947621147 436171364 595562257 623732362 369325308 299207598 878205978 977669372 789408667 259085282 896318945 795460127 450342763 550358817 890081828 715852150 198277289 451073426 531216950 367309327 4319286 873794240 417661972 338971155 638993652 94761139 605515705 38548113 411872466 228859214 331684912 960499618 573695645 470719880 678562411 140724252 154266976 534690989 531629428 908412755 660317036 448565185 534443472 509609058 334709886 105164848 460365510 658720347 44057319 217843504 545582898 210262957 149901747 354679373 503102557 150797198 631558352 218499681 142332549 32848859 885194348 161741746 611058595 201241443 113769816 763048597 462016312 384054444 398381089 958043157 320917171 735158678 860396029 597803302 799544883 115652199 413487086 49330489 412492513 862193160 664009171 385265951 392115808 76826361 20579763 603970600 864013626 471028397 525030514 809865825 208047464 606713493 627966346 851276972 62684720 418173467 710810785 204881832 233829198 500139480 734415766 402820263 185588530 239019383 851693924 245350210 475073074 322777896 97553722 164372528 619025039 729930778 498494749 16976889 287544379 858409927 520437529 446497315 89382594 785899724 885327419 583881776 944525985 5931850 428599988 168113163 765359341 687536247 667090381 374487715 601908383 216760046 274915131 544886728 64923090 76772621 663335219 715514678 273943242 831377472 684087836 693008219 725258292 716478734 667068959 908724326 830389728 91862299 386905812 676991130 515507465 752497969 690103303 89071837 201947932 71492742 26917648 273082101 82764306 906584803 333657269 85929197 657094546 551956874 32539352 284927071 447196516 230558440 476783749 672745556 853068657 832603268 783480163 568697229 874612154 344259118 753405920 254473314 727436715 703388470 198014432 97473909 250485695 658840197 659170427 485013536 756132271 278828519 835846289 639621386 540714843 51166377 743817923 20154931 411093697 992355438 410109663 208157367 381350700 512862231 334737753 557780594 931633493 328331946 685443837 420869089 391606792 188232166 443239787 78918620 567505461 488806519 973840298 709313558 738285884 121576904 755079260 511646100 560838681 322754646 268336359 61863882 607754854 44952698 177018628 694172476 809734711 190725472 618703176 888689509 457077273 824609093 674873087 486498458 487656082 911449424 253081986 564479574 560974118 122725360 87957103 482438673 813168822 906386424 713343690 242443912 536967863 317405950 192782839 401206739 516732602 759750921 414915548 635427502 54332475 85164733 815900111 156629146 938787249 5664663 496514085 4308650 125172931 941104959 112315530 911602886 164835948 120312612 72758744 592414267 672001697 830551588 135937985 798037872 347869824 785285420 110914042 118857607 755786688 312063927 141535132 800527310 895599585 80133281 151805528 25165209 89376052 791772723 208949378 830464137 331911550 229912010 992938376 776830071 125043732 17156621 952460521 354440861 862614406 200622513 642020942 107282068 515570254 255172507 976031619 803289371 171096124 772499565 389818085 919454991 446288363 63412596 804943952 459522278 673542325 217187841 749062360 42059591 52959364 939453054 634747670 293788760 433416385 79593427 761576759 863368006 467312814 803485591 397638656 187268329 771078682 983764082 874532962 26010403 610565223 862930276 688256601 508634090 226336860 876662011 933727686 185602242 676197467 734072387 75336890 668182223 276049059 536159399 761110608 470879015 92331961 769666165 308106361 497355189 227773936 292574894 728403254 713605998 249260225 747030725 932716523 240322071 790166303 428131652 464987614 153713011 7721269 597570114 516881200 231510324 35506869 73636540 280875692 402390652 234227008 870743523 978970622 354641605 665383303 603548864 44376050 904630254 690371689 952852522 260258192 308046550 270273162 191404425 650723031 344936430 110663668 457486367 940984277 681652518 213505457 95132806 977812165 390704608 356206818 527702700 926400126 2303431 955702739 621295528 461718267 288681941 575718138 782715569 269526560 937941905 623749250 378600973 43477540 583849229 721492155 421147356 986947025 772462730 383684030 417182268 762798622 33630484 529655602 870275550 708498095 285393747 678642929 257553156 932984418 685429236 594322319 634027601 950898882 18999304 825225921 276182533 81832368 429334631 682300522 382694221 824513393 194974362 725591001 536951143 266702082 635881469 880783672 512087846 436665714 414657163 68533560 519173599 527677820 25590038 147834726 68928860 298563345 976223196 371550164 522649871 93545498 786867463 606044273 158202420 173595893 324844708 949598786 202003506 583398329 106286156 507704294 47480572 576768509 768779538 405132261 780185102 945773259 723679788 604103995 156688309 776106839 490532456 230861865 654462981 672288510 901644796 817582995 342973492 166011481 581497947 199805229 884429989 45352902 915551674 141377322 519393020 275139779 63392778 430789714 395033907 990635005 646935132 776934310 885110910 465567584 680991500 482909108 458500266 307480278 5629785 564053222 319305593 159403672 501654303 139918462 784563322 467755222 164065890 416953248 107791388 745410506 418914758 470402049 566848316 616159681 988581516 593652546 996562021 629504171 38803203 615175699 130089532 947553542 405171344 914998781 131063411 847679023 380900821 255133563 651575179 339046114 737584847 123311835 872482840 450930654 879136691 868353121 359569341 83996467 283104660 628842537 541176252 512596765 796968655 727246342 788015543 473954189 390249998 582111094 230572911 150323026 620183959 764185810 585728697 337723668 392466161 131352350 990774627 516219099 153432562 706413830 776318633 417814041 147938964 598338346 446867054 361454905 875206847 340669801 874878277 51638761 303150849 443766146 465805191 438733338 402143741 28140270 478278481 66714987 184282320 882420937 800132792 755397487 502683439 231507812 640856534 386216695 760832140 717449072 885719405 413948135 537424606 876271068 101181976 511156836 693242860 924001536 9179685 218830521 228976654 574535131 746510042 770034513 508619653 177742109 882168507 248649374 198936119 412532776 778760158 564798283 953656419 941455480 900911749 887044537 777379723 78191193 32350301 252427505 754454963 79014522 874527558 114432613 854174100 124501890 475632441 392025849 576343605 316795574 162121271 754995414 577535001 539148963 350414011 236517211 758775662 207750333 878493225 230970370 951455174 979598852 364509219 762944909 327996867 441466442 228784391 516460403 267943415 943351101 327042818 590990187 115716839 108260618 812135005 560559744 807444209 753548943 63783223 597231040 469586040 701781423 221828983 867918656 34321958 562221073 654848748 532102215 782298353 384511993 459033510 481439877 783923698 82871627 573916828 862267168 62298040 25420889 97999336 147470050 8275694 872718805 304363721 689550364 434104130 411107838 401993448 715162348 629069484 819491848 159513957 4532538 294114913 502483194 898334400 249414416 739480364 782963544 326109835 184122114 988339925 92080993 600230372 592416832 619642970 310852717 682427136 834317644 654106357 508219254 194778558 766352983 85423590 936266794 124975889 157796636 726940686 843337135 902961647 689399585 774890467 365295426 94566592 421997528 195021101 580161081 521271225 323827471 582397108 877014633 185842163 758634579 20970553 779258206 3801647 935004740 213097149 824703278 997634466 389160609 559495380 670988923 695451019 393885524 682840416 281067528 15707864 291419607 837313249 419306186 379821319 397756227 483913091 245276231 537724093 25122456 562494329 879834799 34106503 645668763 704097203 132863129 48365611 586935958 836921424 772416471 394609318 198773639 828699414 376323460 477530871 964723520 914152085 409848073 447646753 466356379 140563596 440395411 149075518 496999442 367596792 388845166 774421948 164865005 720098787 390104906 357242834 931635282 68682796 98830502 992568762 782989090 561225060 765388617 834752916 432980749 832400159 173710963 659259452 733269560 537204921 910633347 168269935 766040140 288676236 939947081 152559656 293761259 549939508 522806123 841413092 546666913 134060956 421025265 228430304 824249518 50062712 667696764 839662333 72997402 822240629 750358916 544896057 555720210 694671307 817072466 639829803 413687684 319120506 258364465 72674839 367819008 84948353 279298794 32546941 168884401 9525298 160508726 580628820 67138628 840409328 391088879 76625621 783281184 299507756 104897153 365087745 898997366 197107887 795967364 113062557 176249725 982855645 146262644 370781667 660079081 645735832 506995125 12431323 110470183 729455790 209124662 526062842 36528330 714765283 629399031 580482474 738077019 244188463 954356031 702796401 377892754 10315401 378927102 635003369 676876473 632364757 14457507 752628764 473635454 511107353 409097730 38390834 806848726 649526078 541540824 167402820 512513760 63996987 960022208 686304535 626430753 722731741 56117052 586085326 59724013 358646751 142626299 302522830 561665291 358605224 605340086 258781481 20848978 864146580 895942723 910504282 962060238 587205357 136583569 42586454 298728887 131897763 687292968 22256934 704143083 392125647 366470764 691719120 474251874 500925710 819186859 959677178 138159659 172363998 119997589 992608471 875829805 127312978 677205595 513896641 339644328 340104122 919195989 269431026 611316764 402775699 636843296 396077945 755463741 231876363 823553411 79923636 523387892 968733178 773436158 707850687 772801789 835930586 475482348 260225241 619377414 423172275 653988432 250127569 148573516 420452899 656843519 384002950 430280334 808549735 281523057 474112590 278477048 285759443 928845330 847831445 633814694 3477315 1296665 937776409 70332609 738246696 401440905 410253646 111872165 163912391 221516938 841796747 664816534 559053644 192599169 639847521 309692853 774440191 190368037 264453944 975361451 95871687 342085135 994718938 524326496 753816239 750626969 755256646 725930155 352543351 223223425 175124289 790807066 477474008 119402938 97919746 115130054 453044391 859924315 759933679 902050401 215001403 573083907 135432655 930946576 686084742 247997654 929743627 297868279 245837254 998196934 527828611 475207036 836062413 316606774 236726808 685151992 135423007 307290676 523158985 700717529 115066543 63768434 785715355 106624077 393971832 321548571 39697976 77715196 618414850 418113801 68279440 759194925 9713198 262651632 351653427 91084366 807222212 544038122 635824188 30822957 965044122 937296763 607521721 404744373 234448791 97711669 548226 213760579 604651086 682022435 879416843 263872029 55594374 275388662 544136549 940066982 375457699 68594747 613228577 178416296 295846772 119996102 376373903 462532394 535600242 27156545 320895032 357831491 530460741 59051870 74279497 945536677 631015290 244537396 132446571 349443504 305678177 333138513 671787909 800791996 279788923 798791843 686223854 896259259 856985843 500729077 877613652 549532860 638084223 760963427 118837612 332257716 436761982 922845056 246394181 595815789 388125853 853623388 834672202 748261696 199822923 541468129 584121620 714655479 259461452 313934249 29733239 523702371 575723536 224112244 792154064 388787645 54064829 985523088 604344558 792348284 503651303 815189612 44369601 212944012 817935696 882213515 770166310 341691413 643906032 611875479 37411426 409993241 258904984 668993698 178397219 669878169 808377013 130693400 318245786 659875047 989729052 528071995 389944573 485272305 551608540 301413659 183058194 285636686 68761860 756765529 439622630 249327273 946329054 78953796 17686800 734448283 873682180 794303405 144671556 476954780 994523119 679117945 807537557 752006989 186692588 39984705 915125229 466208267 802140385 377433845 82947342 766582852 561726296 407434735 312951560 582585922 596668810 861393812 992092796 404908798 370376711 531322499 617675397 771050102 287990526 199252690 888878331 114253897 604074361 705025401 152806698 768529618 910448283 863290527 696871037 345277701 380339891 850954539 132208597 899999048 780384333 674439436 741507987 240285098 229541787 536385043 132738043 968125162 571515623 311522573 526269845 259112687 659692311 343516951 939640742 412011120 564204073 285667623 450982033 843902402 760811675 217273954 696659303 334531951 509422491 645011622 923341231 422090358 98872743 747904655 917390477 841617137 612007189 990730282 662676765 872193767 592733212 661927093 234420818 153367660 154751061 205880281 491502099 144303720 878424690 140115669 379365441 715336266 985528482 798550693 993184824 566222598 711040523 614104433 332087176 145269174 875569065 443601611 175799727 686621412 280155845 468667284 378742408 979610354 998668868 659197023 889284365 786896631 687276430 635875578 914556619 610448959 917894436 634852417 731980237 474790620 638561776 816288098 117226812 325117706 815707736 41286413 622988463 714135919 995787181 849292494 775590017 252811733 796188131 498311045 688187937 536625937 771641669 541635774 911209932 811075546 197277540 635214715 855045941 400478383 267728136 902516021 913889483 793147883 347355652 656934061 596224739 424750484 701289735 958963167 15015734 829297182 498270721 912044061 65188742 517101244 56823202 295387088 898693012 515036798 951458739 520027164 510600001 236603961 506362853 281037025 654352428 779686202 61305838 353013493 580317358 721490449 254731101 762432429 54379144 31248600 725451732 333624280 873737013 919680302 865494637 17220638 417692250 611204320 874625419 369982150 641201742 929945134 901211381 220904826 332464339 715814667 439069597 488154782 579922298 449101855 691668416 994815991 490695676 65178084 792806072 712794444 409287161 627003646 786971509 258353334 444354828 928071635 412911160 225749289 488826861 305760383 576396193 667438246 169200205 381384704 958321219 954246688 200262350 212926000 220230439 292231590 81623531 852285831 988350314 1812482 474686852 931909523 514944082 228699056 289298257 725453205 482543615 225046440 549073252 310749304 877834987 78158085 113713721 182994282 720822696 656256749 426348439 719157255 221999633 92481199 574975117 332427418 295293900 42323293 240441477 762293881 138240373 221057021 61220426 28292748 67047133 85352838 252667898 761962299 454600849 482800665 528500348 895386847 208232749 602248147 685164676 976438872 739277837 232705848 440440371 476722554 639797397 114105206 178448767 457404126 406595984 458778947 775178439 131919959 594966172 148073210 839242671 944950336 869392964 936187298 668013724 271108919 155290532 871543621 805073279 265460510 580335091 337469502 887111873 167445103 840342647 65497983 593928079 778225369 441246672 421564128 82655838 209275563 686678799 821690976 564146097 981022775 641766139 128322782 830241667 418841309 313658932 515498814 678207099 622232515 602044366 400231416 604498787 570119557 123062049 361869502 503829830 837144 300116532 937219203 601354700 757212896 293739518 473218889 173279792 272074809 89661872 484849893 966027733 566113406 315282144 979291580 583631166 664082712 332277186 366782186 424986457 768219185 382847882 39138979 38643186 555576411 785291423 907338478 833745699 808431923 267332589 898458273 149331690 365330526 667447620 995408651 624840581 636349928 686830236 489080477 421819725 633642867 19196271 495891740 12318920 407079610 848613858 375820589 506245567 38841424 112943522 281665365 470331113 150018947 246115049 513022802 604859977 452145912 999435618 135388214 81445678 867612458 794588861 378239091 997931865 703546899 530173721 871298418 315313649 402798205 103547014 730170396 381561042 468263387 247509584 309402586 591344491 489190122 856804223 501125840 963674890 868708981 869393937 251441004 530453388 524217441 844266349 45278631 772872218 98507108 384760190 767897129 324281306 231250814 671428052 746318411 480547072 67929870 719808921 293776895 282329415 602141430 478186914 408490786 689136235 120589829 759145884 593309710 593616157 183689311 182523146 367203853 219239544 399753631 559531522 810165535 738577879 262237183 978769578 659854158 585953521 756074479 718925498 730667688 941533896 335910440 128438987 969410023 52859433 921316611 961087465 815383737 389489439 13668470 794515681 216930448 639767270 597330535 309496600 241898223 298392342 244602260 520624535 562455014 476075993 235120542 595338903 691992475 21708968 657308925 320784511 411622417 915031199 39518067 748408540 785016224 702826157 153444705 169100555 841994542 923573405 90018201 438677972 179232072 338789275 738455219 164980895 810857389 940031208 56123418 696477283 267979188 881575480 464249918 981582867 343688109 201795034 860236069 120148674 45305864 404661533 515067420 284145254 16131241 535304827 790893186 215303020 417508243 542510760 853533975 625788416 662296426 436669673 416438746 31211290 933383227 194637268 405830156 240066981 383036726 796648031 399088605 335207987 773406514 713368534 557114238 951748695 424198407 561623019 350773963 22693891 325670691 210642097 557768565 295857285 736102629 842588789 706272088 688530733 630353289 134445446 951301722 888672240 922875368 821920985 265246417 884161961 411554445 643523663 62712511 147067417 24962899 611679484 841943622 834225253 774680716 253480851 592804845 136151182 670932988 709602721 696416230 371262969 252296462 167044671 147154317 3140413 316910583 30654873 101905245 70626046 933118596 181402393 912975561 533857791 526809822 872994221 339545407 73926967 414924314 875780079 268906656 298231043 326083387 499915174 125976579 928453857 273104321 970865206 187904165 218695154 259582431 78093690 502355719 870771988 570667639 59741724 826377653 564599938 820601427 358146552 564115788 431262024 355418104 145279325 253626158 713132222 162346529 44711480 692216700 126011561 813759719 459657876 603244342 185467713 134482776 820303953 597020819 123540431 467288869 309009101 92810284 990848598 73721183 119207326 50370527 68595744 970754609 509505037 49024887 312482606 181618038 951805799 778598202 970183514 863268393 147923066 927436383 753787027 508090516 796964682 72350831 729706078 370568173 699148262 895731226 329937125 475748909 671401170 40406534 995047331 395153469 947407902 451317816 858026142 364742492 191132353 68710181 468768154 394258933 295695977 684158617 587255858 117422216 503930519 803529316 338892444 857182421 211456117 173711166 717795449 990796999 148398764 321914491 120559068 547106702 965190387 704914053 885032141 573038729 473733040 662914865 485226024 736174635 61946692 727016857 508960930 211851276 155266773 554605613 207413926 266676524 925978984 597730548 907399982 537857087 753319976 898283325 357380121 545851868 793420624 164566584 747749431 99156559 784161035 393519551 34166933 998755766 32672222 639984816 898858428 473448905 145495518 27515222 677512713 604391595 318776560 584514954 656034611 332303084 719373198 988497513 616031074 661279093 687943645 590080336 437479912 472213472 759367504 599238078 344311421 695361557 237091523 340306160 848785441 67736913 423732158 481983516 242247223 925506940 3634004 558207562 360283092 306887691 731136304 928783303 933751903 257705861 490664686 343395214 79355869 147187084 800730340 630323664 53240602 913127431 261604198 209690855 340758356 306719777 328309459 324658431 635644589 948642313 713334427 839700254 617844658 275002003 265947256 809033198 881808326 962820822 375280656 954502211 580291082 137319172 898963273 458688996 42001585 881488170 662695044 413535313 840815707 794665814 387827114 261078583 769778974 553470074 652059817 282445792 250839985 789492044 994611991 166742516 482394078 22136893 521493481 204604130 994312780 746699314 883535426 590515228 691987321 401520059 539378308 382808811 402326003 789308385 6292662 244420607 379858011 239969425 122979271 599690999 129546598 255909944 865952955 254766647 597770530 410146974 611161300 139621223 261091560 291941640 858861380 511853231 505696322 609350328 270585558 161743701 861319487 877498135 584930177 772646615 972807571 378806233 583563115 292523489 613648657 415633449 16873003 501026101 777519104 25695115 598417400 228777908 209349126 275703717 8028869 911518809 261497495 934428910 400773190 71931951 253201446 642976214 821479488 222722384 776111316 510572357 326716939 191585138 877538493 620169799 560951657 755239091 389511662 447476441 724752783 732694615 899157814 825908828 286699038 799683189 265241996 178890209 388697497 846714332 713526184 524851119 464372033 356897902 736038705 497315508 104665485 217826806 164313446 74319005 617317169 135236018 311545406 941037593 47167956 666902542 252847225 178804009 853228959 498444575 567186044 556112076 441110782 733797189 852139764 520021714 70771472 142664964 328342216 650680033 30235795 354904035 614200698 510345780 602793877 997463888 438601910 279599779 105364309 364379804 653343320 780108877 407038362 924024833 899343666 53651413 803647928 43162756 509486123 572171813 304610811 979376820 905857344 703770560 908760111 929964532 97028203 347426865 260801801 117917996 378483797 602601329 838607665 924004981 948946 977774316 407189857 384298044 832595391 515812459 25715709 106040061 518395269 734871384 270907415 632536608 223951949 758743961 951487295 564666006 581442113 867735587 234402682 84752079 294695686 308074631 762050311 656894577 405096485 682794920 737347864 760935894 681815227 613885819 847287343 257516865 465073466 182451733 444809058 460716140 161522814 556295829 818065235 643700050 269431856 432565061 757088866 456508975 344762604 89693155 453685659 15693526 986174280 426598047 493641420 798303088 299665043 974661829 181296723 157283187 902075461 543348374 774295760 635970165 692963149 206250165 913381271 932625420 903230115 8121011 205855766 577168127 525869256 227977326 675550329 929741231 929523036 126364510 784237096 944736165 779603067 919330339 490075393 593910893 550316538 162606140 380852204 719347048 18506705 145010662 614626420 784768982 77468372 340045817 160664875 579120674 688656228 278582755 803536417 113684908 39603423 40262943 801410576 573620848 993443116 42329906 37465408 919963552 643344510 245256269 29106207 649699252 107379547 242936395 58887502 363279743 306403471 560476849 952548993 102664885 14474861 100213563 977803882 301634907 668085178 946030962 954279264 768998027 511382712 223261058 870013674 407458206 690053290 632786819 48077652 893234702 370653660 570771181 837254973 837709162 579216418 488472727 815785082 425176148 249647656 395796762 466483075 256864065 304555982 339299289 43256861 592935639 426336089 682961032 180497939 801439007 777541545 452257839 381154468 538813571 188725858 677179403 878994959 326845008 594706707 546973748 906011008 481021330 989495957 736380840 280914806 985737786 650844156 419545456 83362239 367943916 796375360 534094563 469051315 367923369 592227117 662997309 896473965 645552438 23213225 3084312 387285133 178271006 597057031 819748086 434591399 631362238 248865751 372166826 892872499 909474707 968242915 48664449 910376961 766378223 174925982 713623518 527463925 521054530 298978984 723803945 505038388 144506557 447788653 37784327 215231610 544920977 752248224 470933635 652880111 681001563 679194809 863924096 34314408 145001953 806387377 34722272 383034018 974218399 205900579 41135895 818070759 353137043 924861691 435066827 145837426 885804322 313541300 928803424 256503447 772536037 596732291 858998964 514724719 824694316 886568854 210538567 914186911 639638121 167243499 406641580 313258101 353066706 505145965 859840316 98360503 966463342 812096339 469118913 324947281 626703022 639883467 230493696 644069937 915778878 634184635 418138187 652690981 342033459 928715425 626404888 952516196 708097175 962964810 840598101 286827227 700777972 545108175 422088234 927105934 857797082 163734332 333975402 852123209 680990777 449356266 297890018 937331472 543301657 10913021 131895472 738901632 829099472 991452106 608546753 234642726 148505964 22773831 658434428 647630805 24322317 214017491 930372582 456779574 127258985 917301734 25258432 998201836 347091111 317163523 222405823 50121448 408450753 320878011 880021112 693587751 73865790 988644689 686035862 701423653 539581025 471351949 270096144 17260771 666936946 485944165 770223951 286429245 25773931 466280187 943900197 496823098 759669855 833296376 387840679 168425705 42164862 63345548 170950603 934128721 842441720 46495059 243380407 81070084 910263181 546378163 865145604 874047856 455238504 200477509 393993894 778953390 67035195 829875215 161889931 209284801 392109044 965314577 988176275 733865021 100336623 916345948 895007661 320814830 522239193 51902206 442828462 856845552 783454532 485041215 957169003 906240979 136250975 344979713 423819242 867472422 477288580 665880698 446503891 390322810 709773535 982716053 581643566 801007681 616032721 466568034 833138582 387706222 956586993 432890089 250195457 555441329 284378453 849051029 209691476 178992565 289638353 149167530 991429702 646042628 795166800 707131996 56951191 775338787 181849928 724804574 995995941 234882742 463250317 811286579 41331867 788623619 628355248 175422606 425830723 882838521 397797309 391755202 74228989 6257615 206395818 985558254 494569875 531380338 684602317 561544991 46717663 666606452 527137930 927580315 125317375 152171858 851080989 851091398 426735402 917762669 727652423 170243576 223055300 981052829 996905312 897156950 640742125 342055548 949700447 657082065 344139215 627768969 635409172 462279106 331587357 407611201 390330457 484448105 418119546 984490684 729077486 371831482 57523978 937777662 435275351 610012757 724262771 176273090 247621326 149345946 871981137 34859506 549800142 826349866 2473988 648781537 878763184 17194981 4050189 996908946 53608138 539990823 411184957 499089909 67785089 551404411 488715083 682163567 846988812 646230161 985561205 714090103 30029547 161400715 633510277 740427417 117926317 570979936 44823241 176566683 593773622 391257525 232496332 467481707 961683390 765425700 232296908 530693199 895636922 13576516 215292235 736565312 138005390 545755259 13944242 161069418 274805594 901018955 23933280 436001423 476630663 716227187 51546404 414032199 501192744 93472242 67379948 544693178 64140202 506937306 492857085 862884066 770746711 863974131 265690864 83541159 29417778 23152552 752182504 150404793 449172639 891023223 667525361 236042841 580907862 730030048 569281043 493380634 191557014 787187272 407300117 943366389 941707880 594807463 211587872 83716475 164452282 263424994 577901669 170548461 247069857 877303337 327220163 58755575 527962056 857525513 301987079 891183581 609668304 398430169 366643338 683496584 617213720 540976500 540020499 998022839 770574581 22356380 123374956 600683594 721105207 554301130 940223257 118201464 460952481 149101494 237621173 970349568 165578135 711925076 235548855 419407077 225904734 750029850 539586279 400001638 582851865 794030194 458456845 257280957 290540409 111648655 262504492 251723191 288620228 228928388 592676754 217602178 26196680 982701728 523140357 779140000 586569723 736647397 308758260 812711028 271539735 367875017 33834391 114428601 864169646 333556626 996610336 308578502 375940901 167767044 74143055 688800507 314310215 366472248 35424804 163741807 667395045 799590835 405321098 8686527 505119114 128126339 394038851 147681583 542050898 698465638 16940767 215151193 328640203 505818435 915099614 340146659 109925757 122928468 615405741 568820847 758665638 104756947 385713473 361076599 440162123 808092914 714178071 17396561 830757358 876494634 369457728 151796165 776466346 70104166 503402243 120920886 583867559 719207475 697310002 777683416 779182501 112728519 670264818 210885270 877180979 566142988 923130002 213191483 684701601 340010207 87390777 750101325 508457904 718178279 237864369 501586760 973127063 942080699 897118222 214654817 500949323 260957540 324500622 888351318 509320055 475415327 360155825 396286211 351749857 605185860 626249096 2383164 651809119 171566850 144755430 841009833 883485044 2324293 496200152 14371099 566837640 648752368 489044302 996818039 683222790 849439720 245602855 526820057 819343275 334656291 638802222 705927042 115497121 273978905 556580990 976693400 812851853 623073832 602656588 910477444 530898094 750740389 193775622 304412759 975224484 396627427 57443396 286649346 557311202 301513049 5360782 316236420 103318766 590102763 275954598 867307663 904884809 643318312 708148538 246106542 272715562 15244608 359804821 757971304 496106252 857925779 914070102 11449870 261142207 612439109 27781260 20251751 132083278 821645806 440873936 310103219 939171404 251888466 786926881 41109932 382689598 969839741 968312470 756323478 548121989 400174232 813702534 711718558 743835194 360504458 467010446 708572999 402956648 526066748 808123507 868906352 385843898 768826739 92208110 598015688 664871841 495724769 527667042 245291577 423520759 934128820 361080741 348674620 252877200 129467595 343056102 70590029 60351083 372902789 983879674 227252293 745926486 42962547 371670079 162600952 734152421 127750038 534170015 916524442 906959050 288360884 822488033 878917638 24288638 906515108 883276756 163487405 235321598 219162917 488219609 334632015 602244721 373976860 744946904 108946928 132055076 83220906 292079283 337271540 860846851 365117071 234267771 630228240 454142889 894768458 368106726 607758231 13570596 778090785 472664897 54967504 384504541 110867307 90345754 391655288 31008429 89334091 915268536 706208426 281798027 1408434 510793747 174359308 561740792 136911263 846594797 72410090 702897052 850337456 23629279 897888722 701192252 231500110 322961567 535748261 605613585 247766622 810651665 32949074 985037205 356905888 338284835 504293067 336940510 139515103 615961360 783257518 657642121 878391461 468262843 659811292 149581387 307615712 147704386 791950054 313970218 545999767 174930716 535645445 216494396 264741473 831940902 69807673 410798114 917628820 147379206 513029114 986546169 103685740 947927570 154980730 214282708 125341507 953428200 825740009 547310787 78468373 372117435 929278506 890930829 694028136 10817007 730260559 766818613 392078839 785691587 538624826 173965522 107250025 397190325 130181331 82939635 194834974 439080722 775438318 221244267 167960095 603938686 94947220 567261416 486827691 782915948 668712620 447029365 15551165 953653342 37882470 793959301 14050865 199862964 569992162 517158944 19716002 50342033 130206849 226379255 187291294 888949328 587537743 124877522 60023404 236627441 396505105 922068800 309347584 277645580 84340980 715941019 730242645 3886723 41254201 837300491 598356808 555267677 42520877 887526388 145767756 406246777 784731043 272399067 536663902 234032778 38099823 683320037 343366871 522566757 948065492 905040180 563304016 960260510 921980793 947076798 377318727 785177290 45193857 631992418 503086257 480452200 165231554 314228747 138533612 45084956 457792557 903857198 475924610 162608585 482057427 237740217 289619773 651798118 935531600 25649494 320571675 97064201 105043214 282231731 895587171 380257008 421227910 738222559 329022206 208939331 245744941 166836148 733864760 456462553 582241829 348820130 621796612 520998402 509485323 505339181 795457471 214393278 29123714 402317396 772133558 317438641 957815997 795579863 980878615 765955285 34234006 650541120 573554880 919413700 979397684 81712069 68900571 975199057 196929390 270775103 478904852 530980537 343273092 116808205 733027173 352148012 792095054 114149155 446234275 353177521 239370719 600621478 79659616 324655392 413785348 309351206 196052723 962495478 619797335 119977011 509223438 119400699 102849821 122255792 262384488 80455954 107425158 581524893 600327311 390472065 125701383 698098621 130943188 836165286 888008105 419249551 888530563 490687503 466946727 764311574 582792927 506702077 523836165 977973265 365801318 933390334 289976211 457683629 577215241 535784968 346391210 824765962 74180082 8594889 724253753 807531774 958716780 448604774 69311015 140821029 210533379 715148020 385400725 639191556 307176328 149130914 683464969 41854198 851664534 281922298 439616784 608300650 648252194 283467281 836579122 431519419 7501244 275432713 981688894 66762577 875363340 207062675 674967507 65866444 566598905 508281302 489680444 208925679 423269204 269072546 830458989 185969757 676085684 597260865 285662855 168938635 72558939 431077021 604439894 491530687 212886432 16120216 46747858 740454759 982261680 45318350 397120278 382379708 686653501 853692879 588261180 777590879 806900795 212889774 759088609 169089274 723054934 10510465 643249277 898606728 427616410 168805105 770507033 151036428 209747387 163655446 658202527 85475173 513103236 254157594 456830069 279592896 424238474 383360757 345001587 715777092 44364602 236189336 273926494 957575411 674321433 622976521 874365112 769756686 204390043 127987680 166599969 986188172 698718143 911534125 506901498 228916976 303877371 329221194 618221729 735006062 529847845 734863077 181144931 489235291 880798934 656453148 816794447 506670552 312993696 427046514 939050981 324380713 569833303 602020226 5271899 712314 590927897 464685445 876911871 782639103 652838198 296071378 642990483 186020946 986884929 659092358 151129023 842666579 864023692 253870211 542011133 203694889 791512185 8446061 561070647 952425567 685596541 295074697 428277246 746939366 516307397 52193701 620841674 83648202 808464110 110312343 138765733 707246395 63607075 576500180 552129335 667552166 624571289 110727231 15646878 374680104 860699455 136309035 863865181 34891982 446359798 835913125 284386509 84478554 501258697 811753050 816005586 357334843 452068717 179550848 431697913 849681389 266597552 996241467 156549143 439509887 767831284 293418879 640913766 789091135 549700296 412396531 502818197 458092858 838319053 260619996 935452347 401470577 872962818 404057678 762495853 468818646 864151192 113291513 861462780 887402320 115901600 273103673 841213301 385865052 601111030 420667051 347582492 145809603 498340048 926815633 194835505 70731959 225957720 759713534 766669247 73383290 589074999 866426032 212711777 356882815 896339219 536170575 44104988 144056951 12538586 195292252 174504655 402351529 933081031 899082821 225288566 998388603 664499003 837396269 738760917 869031866 88228467 351956749 700910541 456155140 725100094 524167674 265586249 317904931 855558825 814905756 633425587 686985050 571422233 621597942 310244787 714577963 693060846 748624482 330692914 791609519 757832757 656990527 546089889 515503096 660652445 629188935 546613849 58443811 649298093 799446307 514458959 19859862 96310500 362698489 927096335 714098211 965053075 177744340 358452536 52847184 624457224 420893819 572888383 545739088 844280167 660940474 814188233 681573542 575302430 589285136 160290281 620960624 284266065 156099808 854867277 453919332 587961040 488198664 138604895 482983870 389486312 679224560 691374040 515873167 442204769 38881319 366583681 829890458 64579161 925439008 763823030 503810438 665852464 795340637 879509687 552862235 740359769 858875154 892866539 469261519 348798433 376255060 982631645 301913724 667264760 307000196 529115099 338225643 166603 896572569 69446631 259711837 338859647 196145520 349169414 249518537 452901711 92797905 799725618 665592253 314786809 759230561 744409711 557126653 570853777 760858516 211342380 270117515 955425539 338848475 35571216 269237895 515356682 800719658 509917420 832647625 300995990 466262126 815376744 81664479 269935907 874584025 409347717 740782840 187870308 849085236 781725851 402332239 953684359 356332839 384867447 826961536 365735329 361848374 986668328 350882992 850580173 100701187 292041748 884835853 839172207 178451094 685574643 42542334 186138101 710252509 127872487 95598578 240482637 660101165 229670491 587225235 350746412 966377572 133473580 778850743 466779637 561640828 495088770 165521849 887691061 454239199 513747781 190481107 822322694 303974656 347514598 272504742 140547318 514983142 307476532 652931818 484554288 189543196 854455442 104714173 80080243 618977534 903266608 883583419 165097263 887403917 759391739 149284870 980207475 833880955 144815115 860398999 258018990 289127297 297815705 714392534 549194845 370502982 494503120 393521236 775476670 507141318 212484610 586770851 437506940 101423957 708567389 646448114 361919596 386043726 104502023 884334525 398337432 970817989 250874986 635911422 430180875 432020147 818938989 777694147 992540654 29067418 250184834 379471316 452079545 477355553 885616951 975637933 547765077 118280581 148397877 913314524 984128615 183458872 832788737 561933605 502810610 884988237 952608845 91837180 217038230 715041904 351513119 690724842 467872481 510747054 534095113 646104559 343568438 799397317 895517412 898353402 838075680 994587003 775048955 240744538 96471451 504981826 164370266 801211443 825897017 626434953 470274116 255672229 939853983 832590053 270266573 320687694 662421245 651305692 753203437 73227931 813738980 511999704 581382745 722720036 637661432 530567999 666021610 668460084 167115721 685472332 35745314 624856799 513061089 406230304 208292791 736752225 476341610 375632709 847695447 275079904 27798232 934815789 218278862 12142051 759942748 995301745 227208587 890125839 596764511 473666972 18733646 950102272 517703467 333259665 69035707 674735079 637027068 212129731 285675550 80581386 167434719 633719110 541475007 8593782 404182046 438828996 360444087 928593678 491819398 427648846 854533643 814219717 793701905 317591594 13215732 149187903 501421930 426367799 755955215 4709587 143838926 991776096 760701253 83304169 317698595 636584054 671186991 230537685 356618210 456865316 687209730 96782649 959514196 201227343 320903864 355228565 661854052 153539404 315734200 122028561 591373286 4651685 149678221 330895421 210000582 300819748 470905346 571337944 233972029 28574762 478591256 751594345 558679524 281144798 200122347 759808964 197118365 136542436 597621965 109018834 748447153 140283757 453203830 696877835 664674230 908359376 528034624 378841133 662286080 212901216 508033407 142020980 367512319 318844636 842030564 669982273 742707487 643831189 436679191 830731884 381820249 115202679 522293924 155592261 42703729 362741647 480794673 736206558 578022579 862852065 67036754 701247173 595037526 509045739 73623097 758259507 844546735 86526797 308587286 826104205 476720575 618372502 121339736 672678728 847859803 844059183 440050206 568506842 363272002 284797706 849918939 503781538 337536159 810011748 979655437 36533228 667251005 505340677 59735879 894688061 69947594 951266641 954690844 660236259 20227885 748761230 469030623 694447796 585693938 394542257 631798083 658367578 730244669 477790407 336722759 767975056 763152216 634648789 941737624 443214707 623257036 867127301 817885111 315449257 443123760 714557301 25000808 129173985 972351580 764505393 718877193 459158255 592034275 654309418 521781945 829709100 181570788 388732922 760597897 160659030 210661581 737489358 57963023 358683343 663896787 658827031 529920718 901464369 270617099 467331851 496142698 298350114 91875122 867764449 568256750 525597821 677753262 832354621 273465579 777380501 504475990 635332589 145501516 225832799 989703139 172808316 969371435 152361387 238451402 641054820 835622590 846362378 903329935 434302236 722566548 103637353 212078250 213349545 961855144 728181148 941288153 46435146 231065294 588766265 338720654 688275000 770908820 96968532 258988657 86259868 550741837 688409438 547066952 865677036 654339973 837219155 898575262 160352672 270480619 829378960 625083884 363244757 542300008 596656890 467093603 105554605 658513223 89027234 888552237 147018066 552000628 283009855 206548217 478958933 798473406 140545952 670267843 271152446 330008160 15925778 750617468 887525552 895642373 770614482 69478826 384275188 564875265 309385744 808544863 582201158 650800187 864273867 752468626 634694742 626179629 572580537 666345 875843154 60720046 660871356 844377962 967734407 593796849 553585310 835516549 406039860 362590465 70791086 281784125 480715003 968715585 450524741 327385827 676810507 701540272 405479276 391290761 763364464 903510478 381824641 918315553 502071783 162228347 425678108 831544880 119509270 104601780 702294349 243027246 499078284 550695472 169238373 363745333 977235622 738598966 814897022 822049376 870098567 3948626 83285409 955414633 258879867 640661374 419055779 378093173 371822357 178430659 112608337 256663086 831775166 206462551 831793108 100985039 47938086 970308843 889516103 612059075 746720023 40074941 566707216 298717748 498222808 808063351 943111646 584438244 658437743 740110062 808784723 699740668 108028250 321092095 287289032 722417165 922075183 165299602 887468415 417088102 456853162 465188130 653735328 939352148 671671077 82513128 173303198 130910336 635724905 317262298 934876651 140612840 841697673 789174802 44307760 766947403 58460543 699363356 40181954 853358725 273219906 575872332 684203240 300896052 617086009 545527023 797960777 460667056 508103890 884498541 654581726 747857323 891043042 53111672 844660872 42346375 476407740 771079755 757506819 233193539 410924582 569874221 265353662 144309699 961259387 978662270 871166667 5682083 95225323 961007641 276542003 351804366 972268191 185315912 740473452 542468616 156610872 741136660 109634396 248368369 364428007 283387603 255302591 840560828 813544652 593945545 248419493 768922044 935134879 228677085 293247347 770932689 748104871 582631422 799574054 306422556 847441406 271227777 777584885 308866925 720465569 291087003 125293574 544436937 327758562 569208165 432629285 27122170 463467277 568422663 428618334 31579324 906247147 138515564 17263825 516150057 754753817 997546461 325780365 788796940 194463833 312212963 995654417 240413627 883366702 861604412 731447647 878048915 749762246 805117567 563602102 268680433 495225081 962417318 870809960 176820642 523371260 232945453 83812303 95682503 521217996 641620398 448121089 929669999 811560247 128107238 950606067 697434196 210158379 132891055 150582916 295167225 850539538 871625299 109596522 168004490 344215365 459252460 242822911 628732686 323002917 238235524 712198090 833068599 533952552 634691389 285825357 794696623 129173935 665663404 544206857 241118944 824917557 97988174 132895568 713967543 964414863 525074288 247454347 576696003 766753860 782068050 273688555 535943848 847356632 809537110 227160748 246577622 667181756 997965330 341064184 883672211 383970988 993779990 449754763 995270266 469710363 928826967 637383463 623956118 677276983 919645715 229896665 2369210 507087982 939383451 662847915 307599068 805270771 548424703 532694403 777700319 133394330 235666634 578197249 425477870 603005796 726158381 419871039 495628850 147233108 306545333 280077356 93570379 563818422 136383547 578106608 29291913 87190279 859675939 717992467 121469377 309157193 939641712 437899466 964668407 188185460 273078438 641549912 201896090 641558812 269469437 434071046 40206875 577138339 560597319 421394871 716967974 225862284 127279093 653255380 447438358 363131690 437212049 190361321 57590921 937879555 694035097 591782198 646403859 920644223 30896301 540232888 113948592 878928242 96510888 955189236 888194000 436916597 610211839 580945156 41808710 120990867 440658428 473959339 24662011 864897324 680816237 37971493 889944807 398300098 64575980 141648144 877813704 844687874 145739184 167899349 91697087 597495391 109308308 247040069 634261358 870280196 486278729 811105495 224480752 112458252 473098459 164271272 340701884 15048940 131580057 581725255 247838163 587804604 394127551 967341773 364605256 462388908 653860275 985369194 783432208 548599571 438643493 444467025 898143355 551020574 935659753 715200448 619531969 102826293 58419317 766491396 53484009 958312538 244322292 287490911 224510102 618928559 429484364 487481581 136561488 993087121 854435380 539823489 54678702 581606866 624308660 636666322 387848340 775857833 554869533 652283187 93362971 854242530 537440266 835155477 262158132 182073563 350134580 781361349 100698372 30771398 816593926 228009418 608384139 484987600 984739623 949108361 107278470 856256298 612655468 413374390 694899844 910017389 825169844 643400812 219183958 145175819 998039483 779048283 7806525 531200574 202651892 594083689 50833938 873882412 568592157 612616961 142442132 548670596 891051719 551905827 203359444 569108671 214647008 34912182 571914426 12319876 339542764 873276120 72544533 542553185 819511376 334056289 783517379 111208075 504121931 607040822 666452888 35805796 584754562 307080820 290972079 81927519 561135663 175504444 970861899 822925095 906704984 108229752 682907088 831589329 591784581 910113397 781260544 497742032 570268576 568910984 752349244 182098092 559926611 740102731 248632940 394364849 814359143 417392116 496209404 666042063 327777546 649500632 845180965 746601753 189248802 668461830 625485412 580524442 477319044 318138029 533378414 488832700 618326529 102672939 86010661 680497875 484814896 315445639 259204637 253058765 363718176 314230077 336662977 112021343 323757995 74921461 790374647 293554625 769484073 268644891 260853271 459048684 885325972 650804012 450063815 1548875 773572467 305485995 311467418 939496363 776927389 523252683 310349091 548188354 8929849 495200174 787638385 441943471 109563145 888659715 618367581 864945054 653822508 115018819 336512374 17587294 612087807 109191019 43246339 698533828 872389869 268198821 130812654 367335818 789388467 556446142 778026979 342884807 456486176 205411922 186819661 783172238 628276485 39526335 923581168 335347486 487769861 98253568 747263773 645652495 949280753 936576830 845763885 805162211 896076449 901157425 23212484 229156182 989889792 685798862 877487904 885900922 102824871 971643781 29330379 270196704 56457191 83246745 137211982 14441269 782819714 448983732 722574987 725123885 878038297 505075809 786129939 749078169 202404743 224873464 539034284 3511553 916935115 907217764 450957115 480162710 952073505 202863983 850743329 587067546 40592179 596204157 460893458 30675256 631341868 937020449 492272243 414203140 889565699 968404051 464359251 689559004 518410646 692443373 547550916 134367480 951742912 139365386 367573562 17183979 658210390 779171103 885123845 424601699 987717236 126226236 899722444 196278863 377490633 424624734 931845781 291610990 374249179 287846190 53492609 350733566 284627205 873468603 721925300 687372316 496101882 243867947 885238160 427804631 898952344 55084165 631373133 573963269 145408733 574636448 238307653 179502028 117848534 5914 57213185 463001914 21431199 627001258 876944305 216572393 34319512 155471123 992166132 649240511 995400478 921645712 945028133 244592213 226450813 917946534 328481043 400709570 442910617 467157166 327042637 995254669 345514592 490549146 827072401 6231468 693498185 859351770 466882524 740843998 806593890 57742744 406767523 982524589 377382544 368183881 196082488 13405800 913897238 352124609 429337609 66890310 69163267 302876965 326400051 520216424 219216298 54964318 732266912 367491497 325500979 908076313 970095570 113826580 855064550 751524661 740036493 897303731 256536542 236485601 495225804 47595524 448635928 928008424 615326427 787159997 701775954 552818247 284536359 184027229 852854999 289316645 739115776 76089879 264453119 990369665 463739226 643463028 575606438 555674993 446167223 707748359 443018257 32341355 601040437 849137843 842520389 358831740 747321502 21182946 495294164 472918178 655121410 804713733 406639836 418959152 760417140 42520313 221390904 801156940 727234490 850698115 510697127 567746788 336561985 678173759 370257785 625231326 178568078 900391012 420272946 372252778 579419453 952505883 767287346 872617085 747773234 177688447 136330357 825729429 166687773 360291812 731362511 390583624 396983840 82524183 722430712 816589893 863044255 444731039 511582516 87848208 45926077 424691228 497052472 470652172 989703895 89839948 532442890 822406086 244610052 292239400 488587276 888655031 231051191 781509982 703253834 564783295 233734204 22867868 564774024 303577151 701894536 262513886 279004755 691903522 608515198 761845571 713742214 376499037 768537705 777626367 625743950 628851905 91862568 288809277 234562098 220871794 200828580 678341430 214010359 840205002 720670765 160986589 597002803 578577395 280562789 713000780 614979855 323223644 405278483 758227605 539877078 896981460 492092234 458794518 376791459 708715851 17092006 131664553 714259596 570125235 876898140 990983688 420823394 859848345 588623918 558768320 33243860 145021345 560793484 938876714 525291483 970436768 258040967 533636533 338638244 453894450 9002204 957059339 873463031 13891011 359585476 318037553 877248485 571124975 138143472 502422120 460227080 989016912 14614084 748717434 190830795 529548422 823382023 588248386 617175024 239427150 306265968 775987919 817903786 594844994 757862195 19365939 474283785 978192060 673330348 964956642 121441576 222983616 831993211 104797944 813798126 677134224 918027159 361962603 39435231 906399975 540501846 660119694 432951861 808913081 107125989 468419748 418046988 310886534 600888719 613540290 381464726 325515116 22763395 419846179 399096023 505178898 316955919 792619220 226334308 111970503 703582721 286371378 706082099 856008571 463534231 979220652 555849185 73852219 449382552 788206810 905194184 54625625 442138847 986709728 325109209 535922936 736747050 149484357 748706054 414827316 600292483 38882692 540387941 334881967 423085689 191393291 292606704 58325684 892142155 928329925 607268349 78294789 792301689 262559859 387292862 743964961 616955950 63387416 421158249 881148145 305525110 458554698 238509927 516835026 118083686 699866850 22613826 939538902 959828855 530320477 600290433 436526567 745477001 598775633 406273975 138212954 921411199 227430828 223742405 647812220 910609049 585970160 399284238 973478005 788924981 849947661 858139613 223232768 895230283 441726286 14806199 64903818 808724601 683897015 872587176 515652128 342388814 83682803 888563008 609642530 695251954 917342294 873317251 6477179 518597601 822497276 481749973 656951290 702944055 329314222 333230747 793264026 677505280 635917993 984137555 385279485 117988092 587649632 766961732 867896757 821943863 140675447 469530039 326472055 286033458 130102006 23762122 47081321 29663229 598282981 941037593 437822086 599000942 541754631 254923861 976550082 41864203 995278832 959999259 749348451 788758939 865875118 389481000 540318004 567078766 216709092 186295702 768255467 605374123 194081320 754068483 188880696 856330009 344791631 609635126 471012928 53369835 75941199 924003313 255488647 841599922 301436620 545928314 168851527 355543763 198520418 217072133 767468673 55435230 686052074 689535025 523740784 996082302 944741849 516183277 716531301 834091268 489599147 287619883 213735022 315771839 236673791 222329936 468564510 297541055 65677295 236666431 433184967 700906338 516365848 813665129 522907329 432797019 322314884 660251700 464204729 308870391 834523340 119061536 560625216 485447586 568722888 842275614 45621304 519938562 880559561 801667377 927384695 821754764 882135140 883334606 596866866 420069656 812565889 70493102 326081623 620203672 132971592 141576062 148257556 740939637 326559434 993022799 726167377 667723141 161347602 95704777 298033846 721834170 472377824 746820978 173570577 708645677 505265810 873302136 598339269 376730059 937364260 823603574 90347039 844782742 393318716 185916663 136956511 609104015 403256445 456699682 841485890 207744136 276067046 655566251 600580426 579735550 365873650 122408372 655908770 542848345 920288410 106810128 701495929 417205288 393629529 805249273 32135427 90162693 787508352 958067708 578258039 759702404 106128313 756393359 612613586 489763360 955378379 199103176 517472074 5473800 845362634 166600975 67763510 430752383 417765935 21487024 121334076 870822758 698335932 696597400 991283464 778836649 479590339 996458035 455284342 333687207 101640016 175920771 797822402 564044868 519045790 510909951 434522713 303543571 688898845 362870739 715798398 176064668 483092424 425154576 934505741 267326239 429566804 37681065 43753223 272159989 485782122 249059206 74932681 922358262 566760829 536153523 593091798 528379215 656315724 197101692 102911777 763571397 2771400 577470454 16914186 837743935 410372954 426726143 214871613 57961969 453868196 190352902 412224901 841962547 446186093 142951932 49219979 330808790 761345720 3704558 41740757 416704753 11779207 31271249 924695280 378502598 426925167 887446094 419273396 720620336 225733358 575403417 380673757 336939078 841108236 546210272 911850554 588068019 899789720 471724816 405511079 333400496 467049249 450694173 620463718 253924309 573345353 426888761 21582959 480012458 687240093 414308187 304308637 777892688 495777939 384753140 938821965 860329907 354283541 602583204 951980927 923367669 35163687 907928728 20409431 103188256 367968805 338557979 467206638 798911879 548257156 302469331 171753416 271673949 585201987 867162442 790290668 620922438 142287730 289966275 171283621 776917670 61440814 151464462 643056638 936338849 642693982 357053286 729875179 320027516 328393155 580939465 448643286 944001974 319646419 820982891 395077321 532252819 787751730 268088738 820561241 617177147 176323383 9663635 317109993 345229611 441209981 74379917 333502371 196805085 751844059 988874205 24483440 881088536 405428793 962846072 482011787 489781301 267667812 859655313 207529481 214867158 230272762 898955099 714947206 155964272 314203524 149458898 953243643 328317012 396859740 767201127 10952016 507763389 761844329 777390949 604504597 73522714 719365131 256827528 785273041 498274845 143980452 921850780 84286191 411062347 940727730 391069048 706732237 475621862 622229225 10004181 420231952 607227419 759443636 559402621 141492687 894790604 881334969 260696108 633181801 889960558 907293916 877533697 227230109 576445436 394758338 598692773 927856940 727829893 140247073 249971253 136710470 299020308 91652021 432893936 833115446 490747687 688004621 177898504 643664404 423648363 286453540 646422695 509067965 510156922 264151921 773066554 284985385 301486045 785502180 912113460 19895625 46172992 296473518 30728335 781891324 948768842 728379683 975140451 948227326 741630117 787281757 159307224 443633908 624075929 629334137 391419000 255499847 550635039 974245227 647503851 449248388 208879838 74296728 894783728 89566241 682529773 914963201 206787186 27056791 92608261 230235843 635031187 90816511 547010203 991335750 459767126 995646290 71402689 196861055 19948407 179006667 625359334 749073979 512454669 901962023 758891076 29599869 754662121 872717672 992198283 56765684 56062191 94775848 937388938 241355751 784963368 281633350 416952689 787175760 191647197 356858725 17829522 292201903 312834574 783242631 558891916 334680882 53792186 524704514 401823315 329985339 832794237 122217833 881075422 387053496 856165144 103993399 565726286 566383397 404862698 687562216 387404277 36385890 167758652 224332982 490865754 274605860 480324381 599769650 838264116 9119852 914350037 424538229 938493033 556713489 261818422 9265491 151341217 127261546 175955479 410938643 939677332 525076842 503094399 457481719 440107792 540718771 362412102 549942888 240919140 208374713 370736859 93418459 20143571 788537153 684279790 792698353 75424445 770099819 462677032 254427819 759904117 76314916 884363644 915209201 652953833 384020576 572640913 665353241 3002303 591936076 927141104 719206525 847869846 328234095 901268718 100643446 550570548 404689901 421532874 47051283 643167307 578177738 930903423 60953070 814138854 167421028 365577813 660890152 591190885 750234463 476603836 375799619 100345203 801386351 310444739 137473126 409411777 207200012 119810500 475173393 144525109 143019917 900921935 685787282 937547804 900068806 778458973 784837306 437918727 409077509 293207630 836684713 551593526 574707953 990862 581113843 845905757 282137707 380007045 401137863 261142681 790094729 72798250 514945764 661121265 899754372 867820798 924149485 139092766 539438120 867977915 603812074 353016627 262425716 933205096 48882960 995216390 788213972 862667182 476012398 915947958 274776507 165884217 875832870 533272428 112909727 484871548 514836866 784604578 211054114 744042756 20057394 587464413 438712113 135786590 486265548 957208648 182878595 495198540 582005086 845407863 842389955 574612107 711272403 471871389 20630008 463516854 959392616 198747565 51942178 325954988 870207605 298004697 622976204 667185514 698023250 342582397 46715189 880850631 669130310 136960850 232664244 187787982 295912977 200254698 520517040 861886954 730564994 416135125 550269856 294068222 609724544 314773277 35510813 474520959 941858572 703493742 62496625 161708603 534907192 86740187 398709441 115141722 353598623 180087051 511765465 958543781 899113908 994475357 79039620 254425155 866794534 495191169 632990212 404083907 109770081 697023730 491104126 140004889 169311649 674813952 41271680 700338364 555523696 499306642 777954202 161152294 314834779 563998688 897434403 474179366 43195566 570357473 270297873 482699869 381093746 34042421 325409280 230721043 782820241 757203423 221959414 511379230 215918241 175877714 617769324 608578295 227160477 167730701 734345899 929960604 670431892 204875938 282355264 482171390 617324634 24214055 142768542 187678696 694324184 888914208 659230124 814181684 146198175 697910626 814053570 208527218 386698254 294724304 707865588 67014960 648240351 965319358 504123784 859354375 155492679 403481781 121676304 533156563 259801466 487847875 471503117 28920807 899118028 49361507 246151971 19331229 642569535 754236807 862895261 738464238 247250945 852257738 647771492 278382926 570817549 50643935 452461609 552154249 475353913 667395412 685733930 743532256 224201291 469152190 329303898 827166488 325420274 741298475 978828900 102678732 735751566 236735421 927355336 102185464 973772018 797690771 626376592 821661012 529788987 697989943 60343850 240746996 677941522 787240292 756147520 422726340 439413122 976690633 602695759 447892234 243532306 989274473 682413648 792204738 569686429 857303347 691652419 211912830 801443567 8054701 256272854 671376314 839998361 754608565 598361890 61208042 879153294 847570428 840648682 961587780 2399436 731560489 296166814 511432984 96769746 862344280 982833909 866601311 374104500 794812085 892621644 897412558 486557137 642016817 845296985 418894791 817810520 106301200 16667494 64023189 155860914 999108877 77324580 955562792 430559304 742721704 702525784 345323835 628934599 794834599 174587809 380805893 87778962 846534779 559286857 264022898 320017789 106975685 968740891 324387170 934260455 197395563 832541920 710415179 889457284 546479062 889077803 888971689 179940269 110143677 184217414 221927302 181767068 201569881 918240725 178742893 218446400 938440122 387549014 29807393 672922729 35095856 2048819 427802876 666258767 259640255 46444459 17326590 238914541 376755796 916083277 923792446 894480093 82915690 67862354 12997219 443234094 3914018 407951746 611419191 374198735 946922738 235436597 321121572 979592745 386003502 859562436 486116972 981943974 120077537 271965453 178690290 228917897 377885736 666446618 282713948 428075817 428183592 313225478 831872221 467397119 743059538 507237541 444328862 374445698 480369044 684823505 255202909 212199504 923897336 629589113 775328472 585503569 136691605 496645687 202038007 485251002 680391643 391594956 836846157 8286066 620739546 477607724 177853747 888036743 131465233 227127852 293945583 326873016 556225503 151214783 875718350 504364707 547544548 439644961 719047193 108928696 292149866 998134940 742454508 515193353 574121966 293044528 543145527 907295460 630460768 109546494 406829215 752077304 210710189 498503270 530624275 535815188 386913218 148605209 695847122 614018889 415878560 767994138 171262805 260138902 971760851 960913515 857490619 990567429 734962516 884717903 70338783 748572303 367473370 648719732 312506237 822065731 143190567 580786426 567861542 323754113 319241916 41391228 60802995 410192033 616475808 739288840 499578761 909461058 254140672 790912991 960635532 363457202 882578406 483289754 652392590 616472789 792807736 182094373 647036719 196174063 906110138 356829057 116348284 890382559 427745190 654585316 609813815 235813083 170328451 416415104 470501478 99693282 115886174 992222925 564804858 360063084 319763340 452301802 649666443 541147462 942841661 612081857 327554557 319735560 359948194 644855638 4982714 750052438 680940214 301401819 777684890 785034616 963283192 39930940 910586458 964864521 312726717 649713375 885881615 176354550 650365169 742486645 759609671 404186558 622714316 401805327 113475176 713951886 833603026 634119108 546625000 619922100 216120383 536502650 928730990 733844266 555042901 925341354 761154660 382148186 926727090 988350704 455626650 638356115 443334303 622927614 340713774 134154575 939210861 236263145 29317622 957774813 12853104 813904121 619978524 72940717 341812303 747086878 19606668 460532039 280323908 386444549 829175526 560402206 334047868 564250150 189393001 722099130 620342464 613322743 152125682 177630661 516473995 486896292 161518549 571108338 975083530 705841437 475380023 232245848 904151291 430755752 273599410 754975382 798052227 500224659 565853072 123414733 662682688 595640635 583589530 625477045 903187087 514513625 427014250 894317106 911356150 177231242 164158602 657681630 88004745 364027374 197283235 448174473 779763760 266209795 195353730 600237797 831581214 91619419 998578201 863136695 606912562 611124418 897348136 312542035 553990518 876482717 178218556 785862544 494922918 79307956 268677511 5203459 325242163 246538630 658159882 843498897 436278689 492435683 756392450 620157233 342613237 143861755 597587136 439208396 768679679 626613377 316410460 711810373 64896211 132003704 438617338 209268869 938881369 775229709 962950018 151268015 181040398 757925811 499462566 186342140 920037931 98412047 874847824 106281903 126434277 177096621 442627593 452906719 812265368 452770719 176332149 227901733 552620968 935218059 654140944 675159670 833183518 548357528 239022254 829878134 525868607 789642018 413955302 680715064 474218065 311186228 9667533 560759228 15709166 581160917 402566606 512692478 443256552 134928080 905982199 58973882 763012684 412832277 448602366 73138564 721507358 868301425 54412721 179197204 441724687 13957339 293849141 394671155 836959908 111825472 175521761 202268445 182963780 611927486 57472162 786899459 356677613 821177265 661936642 400132930 782490812 92850585 156103217 245208024 244544146 953130619 469335084 436681380 428254288 212931519 237999383 428820875 580958783 283554078 953913525 111827744 407022596 274080704 984405375 661660 508294542 830725479 873887241 382387182 781597104 94580176 659900171 249229127 101457420 868149397 790165463 367164832 17398471 57093199 690057896 893498804 368635850 127440969 119623080 921505650 409839935 50661392 644609635 49844030 375626564 14337885 669297976 836012989 858002039 64513944 724227988 707492604 338316858 611458835 61848221 719004674 343615754 646009830 935415653 432649230 673742418 774499238 301025830 987985795 410143646 909365215 19860682 613501504 952205811 516900551 555054479 575669717 3320663 855694663 168521543 73217038 238913491 945289415 942755388 695278328 264218853 616886607 260955010 308660339 230731136 310461327 70852302 889545687 381568901 366189968 536711137 199195675 791668573 784381956 101430166 917566208 828553273 130072420 377023720 915782489 3045404 472231048 200330147 593396464 594567658 748400663 443320638 687519046 791171628 409844227 466663882 282143789 98182148 361884307 665231154 697171531 530891585 235326301 855035626 348513309 260883887 398855634 466676101 260250991 240250690 391881467 320236517 113993737 794825235 307069446 376781190 316366142 438537882 92109019 849469529 31235349 649025485 877587780 487517337 114846417 876064099 220932944 304726373 158723508 198978316 634877959 527713240 104459698 445408519 297091387 987869819 238775190 172159153 113815516 478524252 697911201 235682142 644498220 612540829 955437598 214708795 24626973 702842808 605657039 347851500 679189601 919926244 18961553 79055795 886402763 304811712 258600029 249468550 693597529 660640934 269160790 368713460 32545443 98117321 399541178 330245344 640757364 133538804 959227185 468181338 993171385 94624894 144262028 607184249 27486555 895618785 978345011 223427197 121121435 671083499 368023507 451682668 143738079 725090038 547860453 321495335 311562128 554990465 272798108 671415690 418430205 671931625 953495101 480692013 358692861 972276563 820434093 151336169 821231258 262874061 240457900 654497744 943310820 862733275 940821913 578874007 908639581 905059745 496457014 693561950 366842306 748093948 592359511 569894154 250386478 180758278 990216955 903997634 488804832 380068259 434977522 2306415 733415725 548748537 652735550 274653160 823135980 606557715 300766955 660566767 325794427 967782625 88492484 571523173 323477457 260572482 287993256 56623260 261906711 712942631 115340072 758537888 586546195 72450563 66222800 889643697 543214521 204465571 804120082 190535677 580812327 356000728 86930807 836540689 14885644 70900463 27981755 208444439 773179790 328244536 572512671 134652634 884653450 571443394 318727430 227865974 445660155 301459525 456111263 640214198 7657463 235162572 133548862 577881445 207482961 885643469 641677906 35217231 459442774 48369029 642487302 850158052 641663349 716523767 546527907 61941363 658286393 569699377 652674712 590330955 563886106 954249322 867181727 427898851 142797932 167357276 122645061 399661866 833024374 53378763 612415741 297528067 869871905 988749885 121423208 5764420 489788218 4272266 83728642 431637457 102904375 779205024 259373727 151757475 990685086 634142066 828790239 967308207 334903783 427883885 573260170 759315979 499011986 599887516 671013683 325649894 134335179 804443778 522287873 725667411 884324326 449767538 517463425 900213307 751844882 868950658 999723373 351940192 925998697 769600251 445909438 570068723 506423335 556343630 251006072 355655070 416809635 338388165 397549842 539824251 669593637 858049428 711284717 460980622 719896904 951836838 241339059 241752155 51199680 862156049 581016858 673075538 142249544 378439868 132804250 542759344 738734632 141363661 781698620 366606828 994341857 973542704 920863559 931237319 379476721 444522737 576582427 486856041 567284361 680562529 707374221 755259952 814176130 319193541 782792331 876155543 76003047 654843426 914644092 17752037 982113045 354097203 491556877 824494960 823649678 357891158 437807906 388450397 583562051 602403209 168823770 281942775 643699594 493355403 652060879 691430083 196523461 785757652 531407588 932311541 455565673 290972059 172078769 94908059 884808058 826327924 814234389 225061024 285473964 253151889 13856792 580854686 793806776 302198027 144406578 309204376 905821164 975843988 311674544 844501077 294792258 918817436 55782197 573235638 763686771 993646621 18970297 809741159 556413608 205749906 561067819 921421311 252039670 664283038 773981694 964261129 259758046 516601611 675753199 410305811 291619115 595662449 824850621 718014284 371902394 414343956 431133674 505877922 362919704 79679000 431703283 10218485 793072550 273859718 475984461 936402295 655066264 469714235 110447862 909377426 403920316 942141748 575927585 929090582 465994470 518221292 661126220 126450048 211610763 179257701 787211592 199622566 482974274 140680764 762196143 830102443 88291472 383337664 659127875 125210776 92018384 870371220 342873988 692706582 725255231 248342584 80207776 507604177 807531492 911475127 182196711 266290689 377998819 16118369 300017524 517475860 652128991 257359287 92440656 490980575 456943741 491146668 297513828 902592728 139471089 582170463 172295538 152927734 562036979 628302571 386050097 865698478 385725101 265870224 954799278 61555574 812051895 250273934 787480997 994064901 827644970 930991672 744997619 114404528 514907456 50020144 931755413 558280343 200424149 278522526 556275015 801770370 829976399 353081975 707988365 765940581 424751461 49744876 637278705 210089591 783017032 166861337 33753770 207863711 55424760 476588506 135623423 940826547 876556489 744050855 828027369 641566134 58753225 512408463 869186048 961016438 54868269 285522431 600504991 919509025 154011845 720988905 213608724 270848876 883949129 540893104 97489163 924671555 317692688 389722208 618072284 15702985 961089586 475388101 156286858 739557977 933969584 823250350 166411145 934828963 9273591 999923443 764670109 639063111 383711347 166722559 326366748 106989031 2075799 143456246 928912986 815857444 428157982 419610100 8045061 451008387 563141329 77645647 394044120 245652325 851990803 693371736 338317298 631159913 124294838 995173133 282011302 466640967 921134690 896541652 736374205 173969963 404619658 184182313 141819127 545410988 192249904 813732966 138769394 249176929 454964722 315156015 12680012 78342424 230963937 863062064 402231614 438890606 232001317 161132808 281315521 124980825 938557273 887997698 257024563 230672273 360069005 338297687 310555115 798403810 585570436 912905372 243503156 390433728 991396780 842540936 729590799 559898597 620496349 597327060 869699985 199947092 261860595 5731379 30208106 206804834 930353676 205479504 28682028 945285915 272608169 635194111 324125039 977240059 740714757 52803557 872296294 440881697 925269330 623458080 435476121 686622162 919125376 260526372 971028592 404799321 143516941 811345433 750609675 429791911 190768698 744751073 772134558 903318294 594182407 653806908 872354108 595540619 235485334 244385369 766642532 72847192 574220212 240206532 512500450 611437286 669247487 531838884 429920564 143855014 290632608 812530694 594286738 329033233 368850060 667817485 776297206 237047522 493092108 507819606 483390369 429225982 828726827 197103258 415228468 754456881 516632911 823861238 108631770 365791898 829837551 837512697 311684194 239801708 382117165 62681515 95047766 93484724 372990890 604876373 451649227 478506173 507970969 156444903 486937873 787845613 740961486 974933505 601393246 5538311 436721648 950204362 338640547 702471895 439478282 814042024 459150343 936030314 372139827 260826388 204147002 942916349 685670250 12614156 407239061 227192519 6846598 330425941 874192992 6832484 278956322 376375559 195386782 42946798 188711649 718589923 614167812 429216590 57226195 4420548 108600989 270848145 320557871 320010989 145781215 12457434 879118765 84982680 257874635 658294610 409233817 586414769 814123593 583710866 756996337 46310401 950877159 711615278 721893415 10091153 409721349 40006598 841446698 162825504 712503514 131430406 404608010 84253390 726088954 866298484 591330016 926896209 734230688 508399497 121857431 8567735 303675542 618942480 823061913 400324059 549049139 491141265 746201538 514853248 293488684 203029935 842463242 247054358 571822716 633097066 239858454 779342846 97064344 937691195 441765074 918108851 161594569 410533859 826956323 632777827 509762447 350448971 177177911 354968603 459056467 496418255 81091726 61234757 863443496 827618340 420815668 659686935 916443387 232685955 312136342 381706672 228913687 271101928 828088409 489049990 950596896 519248617 856739946 752188809 125737756 390441272 938223451 253778654 472792272 758081428 772387505 67149277 946504297 487409086 633839091 733708788 891043997 952995324 564461665 168378178 785884805 286635710 501147153 356307858 929810071 749317515 817538975 112947286 645224324 374135475 238675450 712139098 830629756 172265496 26501966 110038927 99310911 661027024 119358452 692852132 725651616 150150502 221481060 126716360 292084808 288885068 18229364 869765314 370785857 298769998 157347601 366914134 361508459 304825449 656644192 58591502 852933760 234492941 955908322 228831185 424348657 582066436 119759036 279483105 432649997 343867384 490462723 634326017 227822849 521034338 267413741 814271079 187344237 522893567 524696744 992899215 408105265 193296116 626087243 251724637 444515687 118632915 55132075 924098584 84872200 441792594 828920521 391323693 944165140 618840164 875783236 391731244 350790827 791851941 812917529 654429500 508750463 884636755 17482904 986529714 176315349 30067640 459016994 711223733 363740423 629925576 617184209 354384031 212764617 487347544 137578271 569875943 866716633 524101149 979652290 402383188 59033271 156359232 50493847 125151595 499573766 888464948 156764860 972650315 757093965 105678390 721857488 752304305 669700536 83584121 939299196 672016771 310665772 346375402 862799176 990983262 666865449 952642094 542891185 663461748 86587672 296678615 526492873 203627159 733142829 280930264 37224937 412131993 629367997 792647750 754310035 206915026 943026863 541815875 675876064 735427350 175000001 201112023 701650544 822390947 418997709 506797024 174167429 556900637 582645172 493995985 855482917 203952631 66460021 252740551 565738012 416246491 360888795 12292913 193866682 253530280 952359105 524334437 83589253 161087890 54663739 584863227 470195597 181510939 26267586 173589183 591376574 42298231 320010673 413284104 18741514 568408224 542324771 557249011 467953668 421870447 699818307 943963454 54103021 190034371 752088419 556067578 850381661 412802100 957627036 121608310 799594005 81445855 370748793 75427836 409490215 799534381 717720329 543237517 861642501 919640662 831658675 438588179 441632208 672479083 482729858 872887512 656485915 485148757 544887997 743870956 74786727 86379520 614065731 476030409 430240423 95570330 314810193 349799129 208886729 733604144 530935247 52100558 362976642 946702124 156811191 317240380 306482547 332145434 662626595 589165656 517974660 689033877 688418187 182774002 663152250 176698719 996078451 911645023 973581558 573634204 664823049 587570417 245846406 108824617 643136237 835670570 211169541 348561069 645556231 256560266 761371907 203568744 601731630 764719117 303613491 536591131 220726964 557045994 659642562 902316203 884524400 258670414 585688851 630532711 483049474 292358757 676737698 219468154 865281638 553959429 349729835 918294992 705290292 655597824 951944784 899959071 503133048 179820560 852942348 351292401 369286519 67180979 745889783 172958023 125852534 909664481 146596744 679677071 108146522 868507907 594098344 915660098 496844800 622883283 591587708 318942321 754166895 36769305 816919710 222852842 924152305 916977169 865993868 489074583 257549120 61690566 417322446 287562523 132860469 270386075 294382416 18979737 11093035 392797465 201138162 206919 499942898 784609298 830669973 400863321 211180372 239829583 373824070 308323651 872211335 651290588 398284716 35144429 539493011 408511756 873976659 486703349 529076387 938125863 224938292 323266099 233505926 601979650 843927699 152694658 501516514 284716941 68452877 513676709 763032715 217873630 159681009 367632669 51259641 618634033 664678484 915563631 32562449 175929395 934089053 42875382 687794495 639395032 984209521 144790960 637413375 535048896 973736741 806408814 737936865 776331247 18901468 919299467 692065085 62005304 770074364 852091565 646723601 868348163 657480209 869266909 332218966 680959461 640416163 891074000 813336404 837389831 803990254 626226760 781283055 702747618 801352155 958275023 560928321 144677937 394776786 103317717 17592503 517407104 479841680 892467268 393767986 301134385 981761565 669363268 142216679 516156902 738831598 925059717 165512242 580704299 956698892 413061449 129295409 483022004 723217310 850354947 52940807 236219554 636086470 39860894 981123494 820953136 212025365 106395857 921042722 194059405 328398179 579286094 769875941 566347843 337625539 315932090 170618474 564098841 343278062 433037067 254455572 282909147 924545450 702838268 997881874 366549128 438896705 462818547 959161452 259910592 835307934 72465121 251978797 422082137 315005894 692483747 596750635 601237222 338469705 316385982 676059641 975852846 631323304 697680722 907456133 766107214 982533033 496778973 402435700 488538978 486444629 731386311 449145453 813969308 864037384 126141137 416804562 337143526 476092181 68485660 523640083 724576695 720860360 324275418 531285018 858533260 697817815 87193822 204946801 383961920 547161465 217464593 601173012 44353151 453039411 54508054 970891771 146346106 943356606 864985040 602501883 88759869 302503055 278203142 42705208 842578813 36585223 486385564 760176841 902094905 518722998 123492608 928998615 878574577 112867483 446265827 71269616 60572861 732795049 841530504 714924654 645495913 193350194 559158185 632660215 521034537 9079867 888633103 764310956 811997029 561236425 243214836 545756853 334494175 325111153 866658699 152887347 613470928 960804992 117796346 925726341 968273406 463225567 946814797 641853624 3805607 906482886 471745139 913034678 269017234 81488264 544802193 613758111 251860661 406610839 638624916 63282512 591025404 364624704 617041392 235804934 689744161 817672144 726611258 715641930 643791025 696206269 664423925 650397441 144438560 687022614 890174936 461701570 893174540 343254110 971059162 340405854 134542002 219131654 849386142 167452712 36879048 583755780 630999656 552065022 207508422 69196642 111972467 479239326 468096215 268530798 574437120 993388634 582413985 526330053 198336896 202580495 201264087 884375397 710051540 372102826 224184165 393261745 872747617 390882326 606961589 426673859 890760749 125167633 721737505 851580787 709794942 918259304 220719881 897344994 190490649 89177326 82359330 917043118 514188184 101735004 345893442 957530017 397858820 262732549 577604787 882297609 18173984 197750202 812624500 719645134 416977579 650185117 984192201 724448730 967002305 563127833 724814091 265875119 531091291 261304225 813619895 779851204 168830046 109580780 591198030 205732528 810501045 370983024 517289598 245386696 270572108 889264359 122345925 249932287 998224027 798634541 400269950 814957933 525674004 454739369 657575804 360098737 337254728 406466387 269914330 771877022 617382603 897314699 854080488 626433654 784082776 468536993 547277490 179802472 646304167 76957284 464600823 646996100 257989940 985620248 591193067 540089859 253824397 106852613 9355724 924857607 482319652 535611191 893291949 861326280 278543551 496978874 380119119 753638442 371378234 449223954 539894667 122553418 970796398 597337801 383553829 599591816 25311481 840474730 933143410 857288334 246029337 783716972 568594053 180922166 83771989 58693300 510789667 594219158 88657243 307543613 971766526 797739198 495263894 3436850 105740777 875258351 567440671 373021212 465397045 47360939 217659397 408284179 455626615 644224786 825114237 835235741 33469184 418344669 514448774 229092934 709806399 946205684 647065477 186451962 69143850 217962396 559086513 724621254 845865064 698859481 174959774 230392896 53991451 584069278 85698647 903521465 617167609 286578659 497333432 77533994 940663584 983156237 675867987 771754694 498965325 526100903 152172297 38904085 95744306 563981477 694296200 218788137 834390093 169355869 207983272 867054366 678777215 718256441 727099449 305201212 899450760 913205294 31576958 973212244 252091804 431504913 995341788 342968888 87135076 335031542 611990357 747627783 259534885 986681257 740259573 230167111 96915883 395360258 958374263 632430762 501020948 999144833 153621489 568601402 280438325 277263223 208175152 757297240 704442671 894687740 44613002 797129418 841297130 265682238 472833179 671022821 878930117 746254306 806672758 821752011 5142797 690294595 714035637 493691379 269526139 828430953 701298795 699849551 757137308 84380237 256017076 195576194 209895571 819819527 418275238 304012634 390910669 466467610 790362623 904886854 964486717 818152048 316658810 6977399 942705539 713835591 607045442 747200084 746121129 844694342 657742120 173833447 318127967 515904547 735586642 449380388 3433999 446356568 574577705 45561721 529697358 368174748 378531553 46616952 402876338 403280912 921661911 345394748 756064753 191232697 693164909 572978253 742998252 947632838 713038710 468758172 296724537 818337656 944680028 134626385 175921577 64236912 824812516 904456804 565122815 5994453 850881764 238912994 116044615 641023085 999774145 550643962 719157227 77704558 601657974 110923588 45465023 569505277 186043902 258998197 887733644 849210466 928103947 348914145 997925767 11869872 588009936 553070572 974867508 769279725 736989817 226330032 324597641 71076867 277726944 479144577 869928170 954208358 4319389 883371761 817152732 377730390 271961432 273938131 313600472 136662219 151675876 699213580 288601533 334080460 876328655 714364039 530419747 513561382 790819520 435205588 341472837 274586345 321801834 130854694 622581203 150133263 729146086 411795763 493742129 420897250 525726404 136271989 808474470 409152037 636207706 161420485 707694193 873433466 664176810 636818181 224087275 625900584 544812111 926815799 433741425 509530064 985551267 717965863 64255671 43871847 928307745 964700078 567002945 220883843 842496741 623865219 770520309 868524772 641401196 781195202 253552842 128825129 755940996 921470687 509267332 140354315 107508722 912613646 305932127 324791829 631085555 780918880 803223145 682580612 297406076 446822694 531034430 14289397 337852043 192252010 912802487 439066428 366577274 794187181 61519120 630113466 898726868 465748815 734664818 304765293 647079121 491116975 28341906 429416369 131543944 991448700 440360050 516207710 496833712 974718837 112998364 158511967 39738049 843079731 278972144 726359126 397460033 511490772 947530405 688450533 480315079 31577787 384914660 401083034 287484184 648622685 375722468 935176149 737920315 428532629 332133889 824313290 870025309 259567882 965947046 807147704 839584814 450948672 204155087 62745366 1698321 85100909 565499214 372177455 550207272 560458462 117168695 769787749 638352433 107686406 498310699 579614668 17988163 472853253 216525199 787569677 15733992 236828524 367608579 477841518 554071641 482394067 456692227 913122067 984162217 980065383 488042717 35186001 546057847 755468527 755912783 714208743 599320766 443535736 738337635 696576670 707391148 631967672 823510973 442100738 978241503 712585500 1002864 593093743 474122581 856229194 70891042 998568069 819851047 440370525 238246825 124985941 425909782 637678002 36745706 677333222 231779059 411076430 937737983 766152637 282371132 534678522 649951365 840024634 601215165 591897139 149394196 205755864 147987449 844666721 662874790 797617354 472216082 532471256 664620863 953039005 51283936 828206006 992555482 824905329 45151664 747386515 752957743 863397422 302773506 536685530 607126396 196009886 753409154 756443796 440518347 944885344 402030823 33668044 183212288 214055728 103957714 801276305 412679081 814497521 853099523 917880630 890298720 838068358 836955142 989371406 899614060 224475389 873813491 49433471 876555007 756334274 46363074 208420340 259354171 239920711 453955920 242974134 588642054 397798816 585945936 238029403 966644118 366944157 501858749 485061399 483952346 619747038 45598065 525446849 752693371 22572917 25049507 216427236 136095707 210672814 92086834 775163309 92340304 124172352 530790349 241766547 103803748 659399888 420831513 350156046 507938710 952372732 224676840 696226319 317065062 918327163 65099200 806574031 993788192 773105082 901588007 281987216 922867911 746580946 9452914 648054049 107468191 777210509 828922957 262797250 688188975 818869699 227813252 243218789 801807351 238822223 713298377 998037642 197660775 697649905 609231683 548998529 248031527 660448792 242600338 105777517 525848636 452352402 996181966 988693619 999962343 160378176 533658705 969113895 513190272 428926166 488257394 186470218 915651110 577787323 696388824 144763294 675596740 463670768 388683978 318650578 248573754 832292728 509284806 212122303 836046146 702097760 126177997 26480021 534088007 406199233 776756207 634165719 330475101 631972500 729801832 464763707 200104380 857882347 277365421 232550475 873483874 712470754 604361397 753827678 52833455 513380556 898036983 475080551 201578885 279550358 327664091 365311364 98956889 469459819 774978781 711425770 444522860 848968290 338356965 472485417 205392319 192156775 14481952 917987734 144349814 737168716 828211491 753375731 52275303 175717797 859463321 711995793 627243106 340535807 923372337 557714660 475206324 668424374 594109514 386175567 446975702 572419446 390144479 367323213 667152400 270549639 485291060 726216850 790249694 17529876 766392547 689081573 1794199 383581024 852183615 723201613 686898901 358940151 202468515 261338838 382119693 272372476 854019150 833507695 413973810 837696015 418410670 500574071 450054378 398236570 139178164 702055483 732445267 353494571 182875312 896109388 270625786 287920183 655569792 900358326 136968203 15474658 43592008 762656224 851916015 472988736 409096627 92429774 860458434 83526238 703299871 984610014 238004911 855694577 493783451 88322523 725716054 806464972 336203738 472704334 874041697 8615663 366385260 224097213 149378066 262880837 69125501 603789189 934545976 913303903 296292828 610496233 68673988 129262819 803022069 844528482 929807541 999764514 993181004 702363441 715893629 992068192 273572099 123603130 787373685 871598319 786424505 104497740 349496128 455361185 239516118 762832842 547501675 136134644 774314529 352945981 64856955 177744953 777336139 433469943 611659524 30630359 213452761 52037527 93728768 728247519 275227043 958059343 478693224 177969444 858971011 120493614 742148334 305783780 545244310 418402301 195678490 935068559 762864408 33072834 473085213 799137203 570598459 461085640 551502321 702256080 17422116 655331371 767859635 240090912 949506941 468803338 910945150 809357198 647002706 930773633 532517527 787569078 440345809 318105849 169283776 834931027 642376948 46113468 221502049 290476860 808246461 301306541 350535735 76698 246971525 909218114 976329030 340393727 623295583 105043956 305071448 848829679 143284769 962573135 334133979 291962868 777348711 899576946 534676171 223363262 613708093 899708745 573692474 99723812 212663933 121090440 68916624 349381616 836291655 548221020 185326330 257359290 252158806 594934549 477828414 168035450 947024913 873463480 134164395 904865142 644585793 850207630 314075407 26229806 355879521 586010288 633489836 875126722 274324053 779346285 506638913 140792101 821464004 334801063 389462651 779734678 822606215 588271988 586164675 369930732 268388047 797271665 34494843 175429475 417354574 470748664 512247883 771131573 433062948 74205382 179937002 216401782 684353288 57875474 398466681 600480223 841988208 353242323 821106424 947891381 770558083 352984888 154302393 587885173 776421846 94726286 680384912 606491970 688561267 529624672 395514388 225273229 915571410 281868899 105905298 397605094 404773863 280529185 672121640 837795556 20532126 815359562 213107000 66324184 606630021 570077516 957662376 418083326 953518763 254035947 371032201 183694049 625456064 382854742 916789177 123753894 173435729 856734636 239250567 355219361 849471330 319597383 387173325 53347694 658412039 266113365 948251192 953548038 376476479 785317712 825917004 386582747 950016187 650615849 810841795 86930030 459867041 718781154 999458280 236236876 669242329 534241061 809755283 633919016 635199901 583616959 652806569 282362062 93837859 187867462 265332028 353124801 694726216 459345480 322326213 429034948 709205160 989455737 829727939 634956291 69587031 683154011 986856717 945526346 686003703 753464725 565844499 553889211 843168812 309051539 126053140 556767747 850424303 878979774 155172665 788942915 595351001 909104619 161421810 326910110 33284781 835050731 447108565 549772354 870853948 408212340 61829042 861315253 347273546 873884240 595601442 841602370 978771954 964789205 456452042 737991507 201604353 96446361 863805565 311613937 75451872 559272027 967107627 655186267 765084857 866105965 371247320 506673170 6869459 70713374 739849577 606280200 390420781 238803480 834252253 147227271 633912626 518502925 688592728 422971436 664007125 963822938 153638756 191297587 964635688 894919571 681416055 539070 384409189 849562246 802029377 57107994 574602125 358463032 963989969 599124169 257027072 376270467 967494269 324977367 796499297 468229297 416945184 278195389 659326718 733078601 627330663 740017966 423071499 411525419 970429294 514708017 942989666 69343320 868464885 927047961 48548231 573910576 273833117 830587432 146181696 949761721 150940262 77157318 931296068 967000580 504506456 536219380 236793338 917978144 587447282 531348909 896593385 224174724 347211450 431996808 17256559 62825307 842297827 478592251 639146210 367819366 645227254 275338639 426330058 168955330 579547224 414339813 585921858 841721268 476262748 588244359 863277621 137341339 799651189 618827909 41220757 302375960 591843990 361385927 738024646 289377788 172247973 551018883 504512162 52802195 787946718 466115707 152908674 806404855 118172488 867976865 810909224 297360976 360115878 538548382 662042372 477332211 818112041 925087356 683179564 917244439 790336103 44303350 255424928 511766238 332034823 734818055 831849100 113910140 370328632 981542060 225385099 943991630 445226646 731056006 830188682 468347736 19979516 299112878 561250846 970286181 66918297 892833586 704170727 335162915 134634358 38841514 855835609 114805249 708769961 617964321 84904032 515551843 921888291 542748263 249766226 681696097 43594517 302137558 51005723 900654377 671099071 987291099 302609205 534197211 110125030 699848662 474309541 533347926 223882090 818563712 961271791 974244874 572977016 626768856 65691280 929399181 771969453 604175244 471189903 912950014 842997936 340523462 933661444 404674043 378873347 194987377 60707490 749913828 302890546 794713634 185099391 82520914 651973951 260686010 423438878 498517128 594591091 599340757 971487855 143932527 356722188 747805471 349062089 476343332 367244336 396971529 515323601 29392836 550487131 478784668 889339761 744441825 195926977 865780970 995798033 403516737 141570725 549246057 817694839 762745547 53666632 426119434 563582001 915960359 363467597 538184338 106760910 196054202 496055877 823201017 743128936 821913242 561817203 748035869 369201615 937578012 964468843 20061954 158870985 511198374 441380544 304167003 82852490 361739026 759774916 561625807 610978481 188037314 269929098 750320049 936077630 58233281 253046438 862240807 428381107 471010730 898684107 467720128 724178640 904196430 496655753 487902601 803612764 814463399 418703169 268983573 708905635 959670800 979515583 14793558 337151674 565524952 13495659 628154887 791264624 186630045 399068365 687172185 99607772 347909050 650709090 820463336 27307547 719312897 427819155 633207432 44900787 528751432 931203383 752839744 552045911 351206665 401342126 262028587 361517180 352428194 641777766 818167075 529836189 690949833 126017903 997007746 179163660 751822893 744082230 58163434 9054286 5243907 35669057 293871665 927343336 121513748 230201671 160282336 998921692 299815259 341802719 582050556 288356588 501056728 952509215 736085543 268282531 302493224 824850126 476955757 35371234 521094683 57492832 961851912 63365070 548903480 383220490 794004778 369808083 881282787 163710745 217494582 371079948 679825950 981722489 107445807 286684566 56076557 352390249 782742329 521110360 154083553 816051894 718019378 209055978 992687980 598419680 706706398 704482031 937834932 406749192 614025354 275555966 440745133 759262257 56202108 120294138 301820221 218110377 868934055 73171860 46163876 916280035 525322792 701737176 995270208 207016199 83354216 455041020 721713226 124008014 343768963 562761408 31761117 586544777 735281983 638990865 354950532 75136162 407126676 345387770 488270401 827518985 134850744 438506696 988861941 552743410 411786564 720951311 956090520 429567741 184425237 448632497 777192035 161187771 37683203 932680307 419451847 572325198 837561678 760242129 633433965 186783559 380762718 251817529 608822316 690051902 448255359 401274188 927548434 869071616 557846906 788051219 773886735 586074886 408289406 565622288 411966163 197982944 420924713 84691324 662672367 231796947 125003968 113415982 675036541 183574258 344395827 42084559 582240674 28426330 420717131 420022252 648932214 171144343 622365850 145868707 481870985 21572394 647437415 817617432 390842524 60910185 94836439 729110868 627989103 94195361 422861682 184585039 695545584 610858712 735677354 965490611 386254716 620859859 533352595 909739752 727372187 162954373 269276838 752896864 508474308 666989997 447790693 467353737 250798804 916415349 432954228 498300881 582700766 462692631 12936742 550833855 183633531 947082014 609168111 256352155 993505015 431045302 109498270 256780090 592009303 516358689 196360803 837615726 856960290 852527904 551132579 767571328 807463547 462958646 686902978 176631109 654772339 973004535 305452616 906839484 527400801 443292566 698099779 370268036 110603394 19738576 307080540 404038267 318034647 434860110 884080450 684644716 34818757 11432120 26239113 563526546 217779835 112314731 224503213 765592123 353192692 525063244 449312779 836449605 941322985 625912512 587034715 497152075 410208828 777866067 170013219 398744817 166571036 188125522 641702376 241155212 107363421 815055278 420162093 255091937 832952664 316640681 805885342 496076059 772882429 788364576 429881703 46396540 231767309 569597589 52985850 165577191 967591119 607626226 537433128 346447714 277305902 983785886 101342395 943223004 123316937 100857485 127813798 797945279 719766847 248192765 307189893 693744343 724709046 300312039 166391103 354642383 60763324 583716205 975295058 586436929 233484893 462245260 454781081 682026862 618675161 314756424 667732295 421334372 504452331 542991494 870961064 525096315 530613904 17267767 707516465 807964543 442354284 913103431 632164616 910882314 430945754 215006993 500564186 467640146 447728808 193592637 969010068 907907250 891432793 133641851 889363128 194010650 508456375 81259873 606213769 95059574 629830839 786028132 450034097 137734736 291808213 864585587 362159038 258815233 810734826 518288374 795833453 949002313 3060709 778199749 22080792 655620205 715929333 831443227 973972858 431319310 627507541 920385018 533253739 41711656 85182776 980219471 148887997 396966188 600127696 974247045 942061706 778706892 817825999 927675287 942055484 853383822 557649756 543081428 640690343 475102805 700147198 642355307 313058258 442074734 352000165 321660091 846086288 444930734 255211346 969856590 684386922 11250415 836703221 312791262 353401955 532701651 410416362 139692434 21319477 304721078 989706015 836897558 175547175 253362779 598125744 629399231 159123142 700798288 224667198 736241322 570702128 429539437 586987198 963546304 659954951 183037782 18947345 413745767 54699208 261636168 636901552 397121313 439365667 430028293 47304509 392553258 929111194 835821990 798409517 309492558 417608059 556719152 335603535 711405857 212467061 122799575 237924057 939983726 573516759 949635046 680857353 288686042 969976988 895160002 408856261 864871829 770932138 965497337 626914963 535937083 436485533 982322802 820655650 623772846 840832910 452844981 230601289 210132883 978800390 720892307 344255101 629281715 111272787 349456204 500286655 819509669 610304632 254231863 106246362 676538265 645726291 250058775 756418310 749526602 41154030 979498429 572023981 344383080 455537560 621199571 947810958 457362095 953359314 671648748 500138726 628216485 433684497 235451564 226510532 602798440 821856459 834131535 60953380 822869814 92540433 47034810 16204382 802223542 219410903 526327242 24792776 815228584 173067692 986456435 177119855 916291764 263971536 996310411 979410443 663965102 573117989 95119986 633709138 613541236 886810911 288750469 827198152 421893082 428575565 87934510 492715570 580781793 781612130 741711553 887933674 206670078 202317343 130587021 583151497 272969529 263434772 200728571 404664807 730065226 749895981 45993627 732476500 124971344 711614945 301284704 345096316 20077316 612360483 729383138 626172721 753220637 949658140 479450287 420944387 570847721 454474804 248592092 320875994 696558715 729780512 406110898 445284877 837193998 215999608 639303627 492934895 411429508 678008517 661922604 903578865 223470104 366884998 509670642 914263995 920766273 150881027 478536470 642425761 528727722 930272541 492009706 411097209 458228485 218923584 616034575 819422957 879882854 974822163 886301451 522966138 865771518 398590282 361193251 139069393 177011171 539803615 861940922 426051990 806708993 793725752 523380347 444056897 710574855 673239403 845160655 917598384 722233142 491335382 735082719 877712142 500616000 121506136 14532037 312964288 852979094 326939349 832210376 953080535 156507311 243440721 805649963 523741522 60819727 109072798 912426348 924421159 797620657 567571681 440199747 649881569 313221546 312264173 659887096 345222325 178191006 440160992 30619198 773264174 563028300 451008403 21239130 126172882 575650792 622746768 71851697 838791275 293174780 379484461 876636332 304024955 610959125 563710341 283112039 61908633 11165428 551731304 814586927 78600994 451639640 259213836 953708338 217095489 596610562 584498141 774210054 140354860 826932623 498785739 223862281 230574036 532016509 701990222 616845931 510498417 332753270 905024964 120793848 814496428 936889311 662800136 731636850 90994741 698967170 719444639 549586232 232431916 768671041 524760477 653909874 694415215 599209896 271530782 559631221 710561383 352766677 596165771 931352840 783669576 497197170 860695597 360228169 830626338 781962243 833278987 385917031 647014052 390276132 575430042 931329792 790401310 284851028 165053861 629379766 793451602 853153289 584030747 89820514 394667574 958613428 211601400 814042218 515345216 721024310 417291757 365094685 759981217 852286673 200186509 987801758 776782262 726320165 718351690 692052666 632712302 217071241 12421937 2847395 675885222 164840777 442356352 44096097 9670309 108249498 212834630 657623397 447391636 324630837 116908999 545429437 825457629 834299244 494404866 967401617 77841271 747491174 828133308 41261358 7150534 443919590 680753022 646773184 801752608 257364837 280706962 965898101 278608151 902114319 335286127 947309098 701446690 768818251 848807528 319620910 406392926 803364053 648504588 662987170 364030560 169415018 805909133 18868114 29756911 895426594 769981179 286279518 322046000 998313129 337077990 782608326 301205449 138917300 327614030 459037298 882215816 806965679 512952164 664520741 470951703 216352213 887470815 985710691 165957453 728796318 279111821 57292297 104122878 82820938 96389998 309686176 125390390 105395883 541454931 58340518 865696455 194541522 762872591 932378023 975654119 403060215 377199801 228077269 309517097 906580380 762901321 897220151 326037447 678987961 932013943 684572181 984130979 941984424 627418160 90385638 533791521 312520351 589897295 609818267 783448264 232723536 826604566 261720766 709552210 645766137 702013591 704223465 938358503 613802136 911342697 208840726 348552956 330129107 578202066 785752726 378305122 652903212 765935420 754777232 432187186 661042 254343472 234473731 502803724 156923471 854456689 738881744 129988869 727604067 252492267 703493920 476559708 370410387 780259139 930555733 131931238 505077439 704131300 820116938 67976719 401239219 687893647 811403690 446747677 611911826 457569954 364052118 803671215 319597527 292891089 222471640 970904079 497837642 648408510 11133554 802242119 75708651 4623422 195471290 129615629 585197956 733328826 883177427 263707542 212295716 958153339 284151671 458544606 988191094 572082882 347570445 954833429 805962618 438999718 777321669 889579788 615791745 557885484 354978828 497306023 237804680 311946409 288548340 350807665 589253838 629037046 215768433 436682184 976603368 108353338 132505916 819911700 721707292 3941494 270008404 929602537 311831435 961069255 250967195 174333530 615478860 597120728 169293925 137290931 172060891 51191321 817326064 321141922 754506274 684253101 527005726 432426846 800897518 428277242 451665570 210969045 390139717 257720410 913165712 688107227 207397592 849103969 110059709 699717091 253706602 322724173 884358416 163298639 653634632 802307485 200214598 970787844 273218033 721731497 181029690 770395101 825042774 937010824 985877247 661257915 967212391 440419695 329450264 859927274 704499221 484783804 552951763 947160769 228186387 434280987 565021595 225657242 403244624 150702716 172317999 404369211 391958592 688570963 254553837 799425181 748841518 332407071 465815585 547702163 593323070 64233267 892675569 253049864 862267750 683111429 214322931 375658630 662258030 804055065 847256628 579773664 988665104 271239922 926290332 816967189 256333458 169852101 121356556 469034148 584028849 727485066 142523031 578472270 332268971 818152397 453145235 26289451 229705834 692687467 694715676 630635752 498109866 516153353 865590479 278387534 364277365 411181070 631499391 625969995 433050114 856617993 551474543 949719964 232003047 545705220 871390912 65219185 133636132 107196297 830399205 469543320 611166552 929591229 315366500 707443255 260043954 35238459 97508245 160050308 746461678 598899451 993755443 764086945 262890347 688576556 590542927 9525354 764435014 193870329 577177848 456516654 277827045 902578858 346415264 516056755 632116336 102442213 806887214 938162909 300775308 841460804 989378414 740278090 843022066 376494846 133261731 377325849 403261266 128713618 941488078 757314415 937041277 79230110 473590146 22033757 373732796 67651532 347238431 917916826 915540426 210782095 312742190 630131274 86706779 914543549 569908036 804345582 127271078 516327953 56186553 496792600 781783686 620816856 163250494 86797798 266536681 738247782 668732034 462382888 58886624 826839107 77045148 855931608 891231260 172318390 100985708 55253545 75009571 13933347 909493005 84059155 611991958 833772749 626207961 895271908 699258717 696692427 303953767 659722004 437616701 984496886 10757274 24724396 676317802 825222729 256371754 959314437 292103394 433167222 718697927 633424341 807722483 893872893 427395497 95732302 76055391 193162500 185292436 960734366 162553265 44928819 520832778 743262318 557600664 524287153 6956527 786036674 198281265 764101308 273294414 925099056 534628002 960214329 962529237 459705480 808478619 407806502 267610754 604642971 621967956 897862713 215651234 901707613 277154725 655716798 64969744 728427819 995750753 523290697 455745892 977831570 324340143 450315444 178516103 898694847 760126345 118555438 159061214 113869971 897930327 533063486 306367604 773533875 120759426 846146504 427250161 96488998 310165222 901488377 626490547 353818654 567070308 834148268 319254775 875056567 573941974 518908392 919309746 373400894 817330531 936818469 705901226 294492177 204872127 741785835 130801630 774111431 893970917 341233419 662952865 961209692 620658360 464467918 252827701 591003052 102468643 416189873 578783633 188756156 823550514 500195426 933034881 105563624 548505230 512677965 810471647 533396681 929009021 499600617 402479037 524829208 521080858 584756391 8146245 698379990 56405959 561112851 83977432 502250586 988204163 417679305 555133837 337955201 330670897 570645776 988119811 51761617 206327833 209864239 228451075 370896149 801522168 22584854 88041509 931729536 117996743 817874160 897696084 310047281 315535952 304902944 871344069 375845201 439806893 495577329 892167455 619270317 207028432 849682676 252239683 305123558 846872351 132126923 646843576 481366595 539498040 398748528 599168964 711832067 45213026 861087391 294377398 787203312 282563453 193493442 970456505 195269652 284067871 892988629 559372076 821372813 545828015 31755238 441426671 982496166 814754055 841548241 305700902 133365154 501040859 415055939 326182851 268192484 942561368 450262974 171437533 816194723 5548515 545590257 452546772 43441417 464445436 415789212 808962184 983201227 862048828 746609717 758822787 481101370 870669068 552313332 850660398 978916871 144341393 186601173 864299712 828375866 955539128 457844016 883927459 465215465 753878062 985360377 380643114 787163609 223525283 286850742 799233623 887105044 932563786 611631829 233957032 36843091 116472595 927739411 66409808 882222629 854458872 467804140 340073621 247717178 390015353 621432136 778674043 232922260 946240429 233527463 673464239 703540946 59170031 489933077 677807348 853415465 724878111 723372172 432820249 674509329 263172778 733870338 82117083 899304399 510927724 534146512 396153670 484529954 644126747 725636246 566067028 286967657 159029641 707326947 463779292 108086240 754403042 936708049 237566376 447072040 718156802 39145207 829778406 306371970 46489841 758945317 70843098 405732545 792964003 422102702 784402229 146915497 525500585 571822305 514010979 969488849 698410273 988310128 70973685 920863590 82494454 600799953 966860213 892407857 44708913 587297164 460725338 210634474 437910911 470338540 280791372 295730087 619587424 685986063 276499727 686400796 146945969 600271686 53902773 875375578 710207366 571765893 619414725 117077285 597176721 116878061 749936815 173790074 731307946 655655306 249252670 688521367 671441949 72562239 651924896 416846350 992233889 348573996 550227671 772500418 218390213 124726097 106915652 316797480 344485369 869801477 12220237 827471993 985112535 187315616 357581521 16342116 711409201 45296838 994288158 750583804 840897763 710108780 478848421 830624740 463530032 924669453 525399829 3682419 149135266 957898846 673392869 144150718 861399347 370299591 702119560 775205441 656817497 144826918 189270083 923294393 722962739 726005614 492368172 949507574 698016294 603711167 20982846 25221256 56903673 726060817 134851144 162707484 18040620 186544583 105922295 651904997 80170745 217778843 731635452 954448139 244844145 726652067 503405354 317954697 960564353 388485858 198052410 340382900 631167436 963064349 789258820 37452504 624478335 879643273 62915806 72214216 143211871 429372516 960666050 757951639 761086318 688949238 214416466 553631586 458304013 996226464 283923291 999546231 560371044 239086241 299378053 919824519 475116825 210376697 763560370 115326727 249903412 258987403 337473410 707683683 62780608 773700276 246641764 387088122 190651611 513796683 982034170 9223006 194984403 923250167 534478374 63091559 362319997 325740797 445528405 922558269 77391280 328185031 395683242 193320183 618981120 187635182 575077149 226784167 766427293 838475876 34789949 418757649 51797753 313817315 305871862 69619502 259411902 627611305 99086864 607428860 306639958 268680183 150103615 204507188 831205666 601644751 671220809 304184143 376073358 401034559 844752121 243316166 414620879 533514902 3306276 456818235 27752537 816349624 147414079 642292190 118333816 925712746 907012767 117420459 287976251 378970557 334982119 65233793 863032843 680678630 40173458 586861796 863835750 155761375 361787320 646462213 387064726 70423452 840862929 112996753 159675295 743612618 330453986 492097504 72112375 910538913 789933690 142189982 990342209 331496200 76051876 760886282 10059943 277569995 922713532 167314234 894721753 263229774 457971476 381213352 697946215 440990793 938927593 511038350 140293801 633919152 5511265 369330695 826617762 50223033 695965211 126513253 288512745 831840523 237331949 472501223 226030174 951153448 607666981 207248885 617593262 129069036 742256695 828775204 993531198 959134479 451647361 61836083 441282533 246762635 939343282 852462590 683304083 699256015 887363212 421572517 92229088 75079764 97914554 677206366 744280856 381864543 226138735 539102499 768673755 928447126 122039524 138248779 437507958 440830186 153898806 331312505 785745478 457486964 406849276 213615063 841335574 827960358 222051125 376468477 944909978 936340042 41657098 812598657 773259223 586571483 721013450 389730009 106705102 275529975 483039471 191375029 275630326 134425859 678245380 607381609 875942550 97646824 270147591 399555471 712250108 156144730 132311963 936104373 168569113 597551005 623138130 759628686 564046837 293171603 83413962 253679685 66625576 291646837 518114822 835251398 938508723 971375095 651204436 102640593 859721760 561489905 433072961 986444373 123905661 358981132 227633156 426988322 447955007 62158368 69023706 635760332 2304191 891459053 149452115 32895102 968253778 972143518 817055957 356525155 241180106 96673674 916878680 359403384 829315034 655605234 288380731 929016515 986055200 187800744 321764526 837838023 609812979 514502868 418243990 369584463 878249958 40312559 408448014 540836748 952191101 193960108 145107515 510318744 673320165 412887426 26323253 446393624 609404431 306521767 596712481 247523042 466755966 155060719 784321467 619281404 535255116 815575064 944011217 14896061 357978472 266448466 494251215 18202948 452573558 555768774 274394573 641428921 220609697 560879406 834805191 723552984 389076443 734813228 527819721 534207285 276150123 310582680 349503163 400801960 750283532 753024277 405843163 190135773 513285019 254594732 44704901 429225862 209216542 519952905 55766513 870087629 44038535 703654513 27088961 899441299 905948741 403414549 15858520 938722399 485062993 533948509 320682101 81818361 573710671 821372923 452302038 872622711 484938104 219876274 560477074 483488288 98740712 168529888 925290552 750594198 890682216 708807270 742782537 56210263 264520030 375581742 590392633 509557924 984470635 882986523 11349421 529288089 42406271 454062760 752979389 541568578 994382980 54999802 858923974 560162221 789635227 866418281 44083795 72043397 310463949 762321740 465550399 980581701 731885717 303407153 127107582 286905694 140357364 224470729 178517376 810011595 283592793 583193311 857203762 144908166 987478696 529092260 466648231 246532563 911774860 341621097 131811304 438279048 215256631 766584896 125683363 896385214 398996902 467856106 377073189 297689534 60776775 574400729 824393626 541805896 115800851 619962971 381388942 401446398 448507586 291891129 351677958 868586941 625517358 222085780 440362024 341384966 22331432 931434257 719100673 705230830 524872544 522192919 644364740 927075067 473452731 750849994 332214197 222219064 691140491 212321908 605913330 197829008 928240841 532704643 198615032 306677558 57055219 673812156 487302300 524490465 252980889 173472061 872984049 251111772 558192495 765548917 254879854 920769169 408420997 510943001 19771730 669282711 173825570 573637714 420159772 291464972 99965460 834381936 471311381 319239565 343622478 93491068 770373240 797958315 379173176 641592039 368062588 937178779 454835485 452396909 38456216 398790045 244460173 985960986 121320197 574697631 573865679 637144412 721097981 291049523 60396899 920767538 961970224 784567323 135775901 785576483 896995004 941456150 496008603 731598871 439526928 181815501 788011822 477173468 671147473 377404665 408574395 339921758 33804522 21053113 468462049 346925821 405817874 441048928 270937370 844760051 574776513 177235100 26427009 462770292 440793349 385453294 754199891 67856742 762872963 203573539 505549518 65266342 206801006 415374776 859565108 630780450 471482464 833833966 120416894 29570556 24412501 894981600 29375229 310501081 399694782 967477188 977992959 523015053 519497832 965597317 458890666 433015892 958458615 328830731 344319883 425040684 480323126 429701090 289266151 83939571 747433836 232187474 45331126 521126677 301829637 177398799 104082993 593548321 561927664 470770535 763025991 384404138 390328505 914608594 626827594 440115048 42151828 534843015 653972305 767707994 862923669 635030109 713450345 369665680 331068367 856783438 595774028 929036054 382347757 398569474 594311977 98259653 906798843 83134594 968519439 855354021 775401218 968779874 802460579 416012790 481347214 203616414 466693170 303086629 772735464 827959556 724314809 494959212 183614629 183284435 149752577 744468765 636715940 958787551 463682686 301801748 346292204 270602988 103549687 287046216 355578182 545207714 444085935 541661178 481451276 580699677 272200416 687768133 189950894 100347121 695820039 296876507 701511550 744751384 898240217 616268761 39091215 451152791 512566033 195075966 1904116 617756483 349054599 582608474 16776404 432829169 117095084 644709245 497180928 458513381 948173001 864066291 861263890 945418663 859045817 730150376 654405467 1444140 15706831 966607364 316454278 807893599 658064896 211686485 727558495 987140795 902224397 71877533 521139998 504477307 469667029 39890735 280784577 950062602 296547702 498952975 853072727 232019507 919742997 643415851 344912560 201734912 217126580 198223599 387803661 41808914 402420702 138923103 399165635 892953674 761094360 757509264 178477246 948601866 970211557 158789083 865318920 970685576 752527992 513730108 880277175 814919717 213189575 353689236 254087785 297423994 781887883 477802336 404081951 235464084 106822430 771023517 582667944 663518314 208230266 578047003 203904363 552288767 507508352 559786137 533312455 397125456 543481138 481417099 371854597 532355577 375493813 651831239 830538180 822749885 478831445 242201637 68104925 199042888 67360768 963689723 895599357 297790278 569609184 279467759 681540403 273390252 35344086 354753884 494815242 652899365 530176104 62869354 562739261 924876488 854589507 403225316 819189510 536565588 831095111 934904499 381003844 160359709 928252975 931721600 214186731 805432709 508839199 250065613 882286454 689424478 936404932 169407628 412959392 390079261 922912105 836236223 253022192 608655309 755110468 934776614 932696147 571797061 77374460 712811655 161725973 152787128 711292176 548251816 354879728 483936204 992523597 96403919 825204049 860281307 206488788 339865382 585396641 13359055 467151886 457701525 475005377 312724747 388702409 465403160 544571582 37733459 352331767 255030129 538581317 274067302 831948626 22351037 975513068 972640446 831693738 129753230 726577320 962293250 75836295 526609312 959060192 892685858 253407341 463012980 544188270 982773227 464983003 313504142 976384126 311073238 237209736 924447363 150574191 275365869 211703385 40281325 553198414 893635760 581734275 436342665 555201304 127423691 240269074 670934043 343156816 36067619 451023674 310940711 985001103 53363301 602173648 621693652 632946949 380230205 933703728 981098820 113276131 605603006 192108709 225942881 619262672 140128372 813185871 22104922 816675417 423543689 372902862 776952404 779550899 966511276 595365531 817340945 714473226 204523309 249490462 808520294 432543716 953951761 244400574 426149218 881405777 346091224 603567173 537258061 524621312 199899631 367364638 611070532 880468690 64384278 927809820 825896904 654555060 142034552 752695420 907110777 909526627 67587757 667167651 905422823 139488922 70073801 97870783 807702081 223076880 896080716 304141495 141043549 16633150 628310896 965149164 664963150 214300735 289407823 670115137 261564970 405426369 41256032 746535050 39486265 438276728 528892484 309197193 683838354 229513411 167076966 376322945 872631278 396606465 468545716 462972979 193180573 242928938 334599933 958094035 821028986 337780298 226258371 316485227 169417044 445351928 679747105 412889129 887789862 983789318 550014400 370257012 22450538 399707508 76334005 419546436 80035579 63041973 117022699 780375700 828188903 609998668 372925133 854148997 294082245 130655165 912556476 496797325 892991704 519150281 450503548 858054332 878919507 302014415 131349130 657809585 754872888 832121820 14339358 558329258 432407628 426426578 675289239 792621322 252355572 992849860 155751104 66762974 793380284 312811400 813383167 871733386 650641139 939961695 961319548 836485268 773281571 14045315 276348028 800985982 420316884 467852528 256297162 697250522 494448264 531185772 272466545 130753009 745227444 231569570 259290498 954023269 518812372 507032628 471894181 258355367 941917355 819304751 434318780 408237295 844108027 190621773 59756216 567913093 277591828 807996350 177578681 473138776 149882558 486820602 997510631 67410491 252020266 586784977 177633202 923479375 862431046 532536234 598896615 476602079 394349711 838538532 940036925 584620145 988222058 481631849 757865166 308789242 952996989 437098769 766523568 834326458 699615521 903296185 257461816 106861369 197377358 167588622 266526424 248386340 99649686 428267128 422102168 201509999 656990141 921151098 555235575 180157187 922939374 774046848 76710623 67284170 444201209 791679058 167537236 505198142 826527853 579696777 444242553 984958869 47164011 371457366 494044068 158770937 30742788 812179158 829000754 84850136 124460485 773659790 697292935 654079100 286810363 275829777 696167015 602025083 97296217 697704945 321826547 279237660 479873703 894051502 993143559 993995794 556536256 639086535 606579475 309990898 348269072 388178226 556042333 503075223 199621871 352183424 129110185 39735637 87481737 991328422 965674678 849337664 845731380 188995549 915688846 732728477 101598168 13844794 389704868 209476662 73823802 621079766 994345062 817472230 511590503 80511791 332740633 174903037 248487821 675039928 820581643 474949829 689728759 20662411 411534157 288948951 347426055 145479578 841346170 907842115 723892991 159039391 845130920 79210686 269271 851117047 566470127 458854357 885240016 820694276 234918670 544186185 132589936 97383196 234785665 417971126 281304639 242715909 427594087 786783302 29684317 255688319 977307571 762958309 609458245 562868426 342879352 876386237 543595548 369157810 851144804 460326031 953209378 975957315 278535607 628552624 741540061 963320460 4281229 812229342 23335493 699593605 499948249 439146772 275904771 687844260 659062519 93775654 675798945 831987824 166330492 26370228 935081020 440439650 534505266 885456318 114550349 572886550 168108372 553693413 874464837 804645212 926859179 306354716 312427953 715639049 776501195 561655678 133577514 591009873 956999428 196246917 565425650 287963959 519241792 309343010 782453483 113236029 791852597 226139438 494706442 454124187 664763845 932440264 523528617 355694579 894048337 699734457 427417898 717281672 908776870 107937563 705982436 752083050 800700689 211718478 691583462 946742673 329990712 368598273 89144925 586824038 267535284 703099455 415515766 642998072 182308093 463892221 96484117 941636461 642169482 299402504 8775661 772351726 968608611 485154455 601091745 348362827 483344546 886701474 719725894 75233621 65476038 356096102 237726029 899139964 91179731 922737462 684905622 148187339 637914126 828150175 692048424 42408180 532003064 549830229 622202769 830289401 232606298 181938685 896865952 453241001 87034839 8041840 391794190 867105230 676069810 649618765 740915411 798156799 245170983 149560410 129545802 767952476 451637520 194789721 775704050 418652699 911515608 231639276 72341635 421228277 171926011 799087026 467251834 535732365 341834841 689996262 851514601 309935686 116396861 839177143 671192685 304124950 884463233 789553574 884619410 580518157 448511065 351140334 855670705 116128573 843463647 608118106 304637610 948640160 304502698 341118644 876849363 672260278 146191312 142598925 91207526 802372195 613670744 717356300 812571071 809097423 394006835 335367406 148590864 484787438 884566356 359906595 660633381 816891654 127766180 647657441 31219170 674824522 703281744 691205512 257780259 378680646 438440561 84322864 580967668 320067649 150264704 830492643 639392203 196353267 867961734 335735932 787240974 332557884 225207065 733910576 409754856 290315488 671174581 267346000 126459610 119845716 391892990 611080296 530135135 751910855 160821634 971672114 981675183 628844963 130297265 459698020 835618479 436450917 601667118 782991528 852365144 390159945 879076402 237701435 720265926 531663360 687157960 285609029 449642864 549656855 729068964 629158070 941195683 68446011 607277196 990241866 328400478 903631247 770625494 816936713 984066856 403259216 542233585 95916995 723944183 44916673 42066963 561691843 890119577 747017039 574189841 760870365 102472487 282877603 220216266 254776256 350925377 51003297 113303197 3964334 103769202 914254887 8117063 406712911 367258015 886096671 949809830 954016846 703683274 780288974 862349301 701492661 662045388 418431883 103542554 226378751 726618487 934265084 833436706 812111505 633897174 338381446 518462670 191009660 935695499 651452224 861852628 642713042 649607763 465887771 235726057 696307862 120707410 312766622 700238598 261461508 579458795 970690015 769775616 360271032 154147616 815516138 800575250 525925889 564320547 511101555 829666541 458047295 500826578 478837248 410306816 835892977 405816526 802607800 281023965 578593787 387650028 995238329 170523452 469230488 51796740 458226333 969644386 669321028 658905141 304074852 146614260 254995727 406227079 190676003 35468287 341531452 293297560 530598221 351627950 166358791 494857497 848696337 987138721 168247737 757802646 126213173 526258414 475360830 365162529 501748213 687582780 511718801 698602090 413522786 971306903 48378354 400607235 242203565 627289824 959446826 926807572 648990462 680246034 853565235 475775851 72547256 537289179 779445620 191423688 356977380 596600717 964166893 863270526 497892341 787140453 111390780 955433724 806486819 202946909 540493984 525615823 779101949 82263480 973098051 511797917 672249390 233950136 388917073 923249511 94155363 234577387 660111520 833047787 660090080 250984409 546502248 275925262 140440974 305329604 266789648 857896336 593010869 327627280 368356047 487597439 513593998 143384661 274802263 47944640 966022933 632181635 889596606 720570509 164842815 191279178 129355321 475299859 282025728 3197467 22737084 310647744 743881376 606810269 978127363 666864573 642285889 693271372 405802935 681691062 571423216 97866726 436729905 523019956 904013175 43252444 817847923 909632727 71648239 197593585 867177899 155914032 234215878 276872950 485926201 212934643 397399555 844239002 724971071 81909149 105534445 61159292 472317154 382626774 157895766 61045880 429542777 829620299 634740886 124523480 478521665 311666612 539062353 105929118 552188832 48997 667880459 800292050 135885547 645458060 258051702 491757027 845695298 36750121 377478017 620474689 734405979 918631885 552233685 366025155 773576914 262979280 235502597 66207404 43870249 881006483 621435327 573944371 366455707 459531900 206282060 599032060 185828739 29537916 452357616 61973251 968531885 788513254 784248414 381382042 868577814 141339396 80903308 728224186 424177345 850490390 838155602 248490819 507579495 997435191 382263735 425750537 883544778 636004674 694785517 377559445 290794230 119083914 329800050 101847644 258571323 551170015 346433382 182534139 512385347 181697312 460077390 257129182 350332451 796626308 225431399 149741935 14455505 967528916 206845202 705258296 28122484 982277116 32375891 250866746 135383673 480805244 206942343 51655805 34787097 736586949 573495476 789490427 340643002 391540922 450168325 545605183 555517294 899418520 321676586 728181553 312846150 954560734 221805167 96838963 493262084 713058796 269948850 277833275 280590335 668642389 731593080 458974170 105529995 732169470 107461519 72373148 229733650 567031292 388635783 308634376 74883954 7423743 409775850 715568804 427168628 73645608 118397187 325724814 89705302 814667752 816139973 865967224 41021013 284744605 809866170 404537734 537791390 987340727 268133968 314884362 195074610 274943512 281684876 260860838 984253381 589599728 987402040 118502599 808473012 384925281 647237020 779461360 725018378 725501811 239996304 874832121 470154451 48010111 709126028 140113534 752544667 757734717 878625473 231969080 930567321 140524415 916895870 428280692 561594911 157444754 879434442 497364653 153252603 782953575 597744858 790585719 436338949 718796223 914833104 461744746 517146875 775722005 954113645 43686978 185843396 413494889 49274132 297751712 987256695 33998412 335700193 308884603 116198048 791920977 226600368 679982388 735552937 247579938 328380436 952339620 300748169 775097867 808420127 227915345 80408092 555749317 901284637 925938078 918117715 158837265 808931396 923521772 425817432 530401245 382244557 200981023 781153341 84641088 578986123 402898932 987761230 764421512 858720637 838392475 808556149 718650586 14081382 969668765 785218624 605656419 365112371 787220275 133944699 497247785 284621610 239858962 963535144 259657398 411032942 479588243 497768858 573468562 159913929 348171874 728298580 358573056 484556583 3492006 204073529 932783416 412391136 951553031 573950036 384420361 210120568 338097470 627704671 463868913 162125878 605728307 403758666 130029368 911096348 857001376 676359886 579334741 806537329 930791614 675692590 929260430 818260805 489716003 514124484 245191577 569396786 688025576 648389960 931296377 46439409 595746355 879485635 274462284 185893693 116471597 311488570 136261568 680633139 170463072 239119826 506916143 945850544 300407213 883090498 654747234 828786846 161784354 993444506 239487687 990610768 862147504 275448462 231681798 931568827 181394742 558597125 136308706 509503846 120276482 968543365 452827675 652511269 330477142 213107027 633711405 6781580 884011547 337429483 98718755 576046758 312944474 961117047 586016876 343978677 272299488 428586415 266816025 112464302 676129539 13733773 74408954 49974752 596909450 703791393 527382660 872075054 548625928 585904925 821791847 739677498 76885585 225260423 966533191 770039901 341304766 977383205 811631255 846101889 907868126 206040407 36141923 467285151 14542019 603259697 815726833 883420777 637109413 154372706 764439963 467709523 679440305 91149934 515077397 653914836 447688866 105120204 470814757 572098096 832313011 905872851 283243138 327553927 658892341 961651208 541352028 22849271 262134672 185228097 377381109 876898790 940207316 714987548 181660817 593309330 893062256 489651131 18348369 768770556 622032020 965519317 964864347 802099152 895973588 923430350 422314241 485135867 398270393 455511238 286168160 134013306 448456214 124907636 751839246 614815301 36428364 571238676 954869961 191012840 620290743 396170679 471177583 546740370 472786191 746730847 980157458 341462356 496894821 864787048 811354488 517728389 975524746 546344173 740399620 4653230 141649247 180767411 718181286 523030987 476174839 313988429 506816002 27716819 289042240 4065147 498898706 183476888 764708474 31337529 282421852 894594914 66201017 723513603 717075378 764558573 295360357 803617182 17230047 974637384 240256217 175517768 267326980 608927878 260603733 404231706 822393003 145524406 597858539 680696130 136150577 896239903 565311749 912599451 708204074 908309965 855138807 826016110 17582201 954019818 169847386 231143417 589176302 496304918 609471138 198547624 301619222 514269762 926009442 106812606 701528673 913897730 806620470 2413277 365632436 774062692 670664176 866069603 579309373 675609827 190936141 46475173 552522446 710545866 647851514 420515370 886457417 61155023 255704769 10061399 262415206 139766607 172680548 382906932 554601740 432576236 874535096 305181723 291626233 98170071 518986569 50307016 869205868 475350925 28769754 2661414 773341065 598664684 935266234 519465800 233180937 290626357 520106272 946228073 670478469 879749435 472464523 512663819 811609638 898462487 549434021 30088934 144070092 916393672 827136029 529421703 845420697 139614628 228091679 709937024 417205313 761057071 389533838 226993776 630821791 227754221 205238271 103248463 189499589 172357912 604276086 651752994 164323652 181977626 846528945 746193984 23176791 584718258 342037288 53935916 3764334 560327466 464327337 986790181 781759174 44119485 838479896 297991194 452818359 870880411 516619046 924747888 857021626 165035875 73514822 340636192 292887349 302933534 583955773 821990343 992761052 202910916 447093884 670632020 613872154 658218198 93314831 381976346 672028053 589706835 814354859 281386185 911685517 21931955 273389541 917247162 285304931 996006162 563885334 440310169 780848570 665162186 565748601 745529285 778969613 326670403 141401890 469185495 224798260 40310992 186549586 58604314 572408196 378156824 672995629 450903510 888883575 715099281 69915149 909311648 808822091 476816606 200155240 161142295 277259785 269551229 301777693 439465331 31358552 888488100 741821936 497378908 729101926 699832059 36298169 696749240 596951608 42215234 413084803 887676690 213213034 913491310 917084058 648977875 515958705 213298271 47336208 119040689 985861447 236740111 365241824 612142671 853743691 677970472 48084356 503449736 209090068 614850232 445334609 258430186 500546459 357365745 662566914 679203399 67347424 981056515 313550308 320392488 740809890 140514718 263530705 130155427 224005018 67321656 997127838 922379059 857735393 243976190 616080878 895546510 173765401 847742385 404007367 794895945 168177094 496730027 395631150 857887891 689494284 858201176 982197650 350214255 635635060 135382613 626330009 940865089 831962491 96573658 299635181 839908055 440688378 621997423 644517315 265720968 980942035 898286355 456981602 672742675 276030769 801015125 990043850 20687484 881872177 759359008 56852692 116674194 851181433 899180192 42320006 424234899 710219215 481216431 517339983 769505604 109453856 18074822 467338817 645629319 500143296 797544995 113679408 26380319 697165630 949510783 700556108 607631098 463263778 756429396 147953918 375016258 860291263 386035160 62354624 278734863 292207017 429189123 889457587 116204287 850020952 543838517 450475943 437057988 530367428 894591032 497859448 970850439 172073217 323351130 391632538 32551466 92832588 708816686 462860950 555284564 15542288 838421664 676869793 445344574 402258454 258342256 81696661 24732378 750698574 500799608 883585346 9515625 551120591 667004911 933370605 348309498 203562133 950294350 253174461 778001990 307472551 449090209 139859208 104012459 801208748 860099172 953492654 587231894 162240380 832191650 975134769 604419793 951338311 177809592 647882153 421116983 742248392 548139551 320447237 109429104 363297215 977977387 92981052 163514821 339897046 389065599 811989277 506222659 546786447 708209438 936234529 566616855 136517113 691532031 200813449 976592064 684744959 801913566 621257384 843768953 570403481 715134144 188833644 545698971 208014469 755340635 2037409 622685184 689245523 253044894 69326785 283437017 956501470 133051903 483428959 561822735 135915799 853744046 709305656 420713525 32112741 775887909 188350687 204784421 448826652 663238917 729817112 582995276 987694909 497109388 945168054 809037219 504748752 313904170 50500550 163308081 406648805 960797086 690288382 592260719 978561421 685122178 236371789 951385814 854088854 425224872 422993922 561683955 654497306 379892880 182929758 355573057 115514264 64036148 406855878 252956776 875699090 860587109 215761555 150012737 310840494 101899751 387694909 741427616 43520404 200678849 176704105 354114639 769544146 24851728 382113630 176005716 547696591 101689066 263249632 52580299 276862239 329702624 142420705 721101928 454978762 531469893 387148125 586477260 957953391 961534147 384315727 728235624 541820133 348918009 198149459 47460354 95117235 19218348 446010141 812945918 670984706 380285697 325530332 254122217 110887227 788081571 38617669 919474651 281459029 349788191 412560168 364574775 666650763 766163193 587610933 522655542 180111051 654632363 394555110 238344403 240699196 36548296 956292070 900791334 772770580 506214768 860403380 130547940 522639230 499959195 266742970 810079253 338243611 751680358 568759253 410967872 608576512 82055119 686187592 473273248 954764384 747672742 781774330 541111545 558001840 396150478 634349730 469941649 206000957 746286523 528451632 645683791 964991257 704797500 860827737 579646660 78743468 477598894 332707490 923113770 814612475 856600181 603771389 187036566 654431933 789088508 454537966 835582965 390443268 640233066 995976557 845602167 219006262 161160142 688522512 828658738 874577028 742929945 809970713 987757010 974176160 434607421 266470538 750199153 872525126 265554666 706790604 709459005 118241623 770364488 903391877 390844091 70080138 368016790 233507938 884487232 667668109 427561948 760896812 290621710 150886925 198749724 715086708 936136144 311497361 590651616 348740052 334478192 600979210 122819999 283511484 289857397 664985998 278231953 724987897 923886195 210212028 647528426 206758657 996349768 259757327 4218627 495923915 783398919 580052014 440857253 170499280 335255458 333254017 630585651 92846281 692843808 852252359 325807052 497657005 925529441 960848244 73749875 446149511 64314231 500132622 204488494 107781763 554946612 469358601 956003635 989687565 841686317 354468743 901611123 991077582 609952499 871017054 440971555 234762111 76162578 548470547 663318509 75052455 514758974 590343208 210597484 79452959 112215142 519514050 850244333 124261269 512278080 483590745 442825008 282211119 853337089 341682815 550756048 522743871 764529317 469882695 847382288 645177553 57051932 70371332 583258890 268544963 301894116 872215635 754457380 782635394 280060807 655447802 830028851 441943619 629371281 708701687 587870479 90188856 609574302 750735755 791157672 321254654 418955616 678787323 121652065 519012551 586619787 810651173 659546967 283198683 272047589 659516973 221067418 369325467 244121126 510226895 298277716 173008566 422703769 322148845 202680369 356973453 537538750 849706259 536519579 240368176 571579067 327576062 202438295 198973010 153143826 324015799 814867452 602084414 511364757 469351941 543558749 240691318 325166025 790400940 574590476 23289129 842113875 900118325 971114447 713729060 366451934 765338146 710907747 475719746 813933326 567997347 812236124 812384972 567298183 199169234 107234488 606806118 876780038 658717191 226098785 629069958 133717560 792821353 128226514 190096431 313369844 720773361 957247610 30471196 39008311 892230824 972089192 366462986 705305724 547024754 633168601 976477594 261581061 965310798 782505143 273027179 220206685 27026984 196358163 597188579 457568217 732644773 750796575 714111418 628094506 272422153 832036460 935532571 579366289 973608944 35783627 683170773 694431911 930911721 478129305 127150535 583161941 121508555 808633662 727071151 250725284 779917238 880272971 485657540 269181319 738915273 223668900 637450780 789681872 842102018 600417523 522041687 788276589 649691214 224823845 741677886 84611850 401023697 411667325 841801203 974602121 417607617 628421250 934830830 825220605 415879435 432465734 777779262 883891531 503315425 272821490 307874708 288585088 422740582 282427340 852295443 86685773 773855406 331163844 8304494 824463419 182493630 918020938 670678664 478878353 328382414 88382099 999552091 844410671 10366004 395730950 960980428 1130651 59123047 988652213 849185622 892929847 480377563 935965017 8096191 774997341 998363396 663127220 464714898 82338642 673973147 444494738 874167410 370962018 776502516 767646446 813915202 567727216 140330979 618473926 635060525 951971849 895952189 456340356 33511877 94006015 389175827 907285797 763647028 313401359 778612779 963559125 591904132 406829134 90489966 447330042 65666336 176872992 466421701 886901829 340117871 686794706 568310316 8822877 191428340 240096635 681733501 400721449 605305020 432842672 494331001 698301740 701394494 596484792 112510865 170172434 410185791 224731381 963768871 149737382 620723428 459796416 607856359 384635420 495385534 869883679 3673663 640730098 328440068 408366810 122037704 624101538 809378352 937222657 118011170 595108785 287402380 773422393 610011551 735691825 533985845 212955127 733305634 244198572 273782312 630825425 211180091 414107561 365595827 755314979 565430818 433912805 396293142 915688565 517730670 693828605 948988036 136733581 673533728 705561211 294007645 364937869 426360311 308445933 983228632 7065544 328378804 692715331 424313054 366890319 622190393 142267823 389477963 51456850 325541094 583007330 440287288 81200728 650040910 614111598 28642855 943880586 964638962 994775331 989714500 989534313 533760274 847457745 836679421 6684079 290647257 803719926 663204634 515091711 737832313 659770527 360172699 456687143 617983551 980010352 835959290 889245596 483595338 167391524 615841905 970482698 262702901 403610378 981759720 656285412 715122807 507156046 347311154 823066515 58944615 13436436 665823744 280469571 209280935 409295105 71506207 272793456 689545995 545911762 930963576 543652897 834148438 34193490 975022130 196297477 278146358 37865828 678693217 7366541 100608554 168433816 492602857 739840164 18597515 225123956 79979128 928830507 987669996 311009224 484928750 908131058 973164182 44633045 283160333 746733463 143477674 493641439 884064993 943491912 53833035 672602127 402919221 12399404 737805911 444158180 34274335 319912037 799500606 299881696 838028465 634793116 743197160 291518536 322155424 829596106 509447225 351319902 799620413 552796730 171675890 130614458 254707972 273585940 217735353 285764891 326065120 911437518 790462903 628878168 368749915 77073343 718720565 357251998 748530788 445361339 859134919 73652956 408190784 244748687 358277025 750482372 478382477 376698217 447841072 46073860 382799710 75472080 182361806 556366320 715266458 881801218 305927861 945774473 864009122 72531703 276350630 279430900 98324029 924579107 495726155 788977927 429639570 122260973 58335122 80157972 754597758 591445859 532210893 657022704 111959155 755585451 310435147 110970983 770817553 678559916 648855212 242316939 73296034 546655986 309692215 768032401 240260462 266123869 113901122 846527797 146400634 360005212 984153070 551751560 420675209 769053295 155438211 876516912 286186676 628052496 593239425 94892969 35428028 179588352 256216863 682659398 867673823 742355821 86479459 648143387 901116079 329085976 968846491 204889753 177249343 31425840 199100869 273173763 403226959 57706130 870329662 46858516 643982072 346423332 669132365 270146813 551808666 291863146 141636592 374321103 831154783 149637436 655152099 118264978 627735270 824042083 104682280 410351175 854348792 811304940 582996389 432246789 307168363 906069068 377935718 121046076 750801637 267919603 897895524 627639888 16847793 84502421 332172708 731933049 375984710 76552205 720693169 226806014 859244233 119930769 961424693 422328588 248335838 58945936 68310355 438926457 708483055 757837740 532212464 281610329 980846512 774700068 478083657 280108816 446095792 579783590 483012369 759956521 213394237 94840121 207920823 317377122 38794643 496873105 266153457 523196979 76747741 109810243 130948917 616462582 184594530 101438368 805177912 185040450 196024852 824141940 334859571 558100422 175462722 438165598 102786277 570250595 982642579 388002714 301062072 473744520 471534635 63016361 257712856 120673153 98815759 420738592 805945299 835209408 132276360 623759087 949020872 651435948 400069433 367716231 343267758 456732428 574497196 27306086 155976912 136812929 873241404 220369815 909833735 476601519 483062685 662560493 436571886 883586765 895555447 305722184 857877897 468609634 87049904 860347530 197913004 781824869 603034705 925855612 888764167 319701370 716197101 993326705 569002742 171336813 469797344 522767009 752456034 606838025 315623552 884230653 769933086 150002607 224942827 818790740 515437005 458677238 960857829 598452026 321075117 514101962 378804538 993144712 439782879 883872423 859399900 184951928 698666529 209482347 875045817 426037732 782728034 913542851 679111092 842554934 268111574 13469880 268640666 266613083 713766777 857481782 74729729 484290457 699190608 274616108 695172002 267904206 39231342 739776142 567386599 252431140 191853271 208784512 421389845 230934752 645439371 801730176 596540214 206260127 592227251 684136446 507131160 862598967 593760538 316091858 729089279 17365526 145077759 310844901 326893317 794377259 606163761 406862339 939030060 894779342 837729133 681717095 261356123 8837653 996100096 756030677 502474941 511193948 877983852 93788441 765447992 711231693 837929955 264738007 29298807 126204213 948277896 272838741 149010338 97599246 337332508 397739827 990844961 711407533 274796799 496650948 619644583 178816364 392517796 456474490 954084331 706598377 633066908 410440866 206991830 50266280 562566784 461314610 745112404 972435455 702788525 862336057 16474650 24012525 900341299 119539281 269106120 160848325 670209983 33062629 307452297 318597076 397438659 831907597 192911665 457065485 550490879 671620279 442503442 888226514 15432402 253921758 305094529 71914084 20084892 514181891 897148690 25856420 759608405 93192913 432760864 205151884 505829677 385205666 843404991 362114608 16409345 68276643 930507633 342296679 886501014 209875665 237277452 875987108 242927157 524759850 808386544 813506955 205109511 635774184 644080031 702515952 471488044 915613132 790999049 965348079 72978735 754935464 351409207 725314157 58790980 11106076 587895806 659021926 530245939 545868079 517405584 178552846 525700651 445946445 749677409 404856903 944969993 338978954 998283037 676533285 683918642 285953320 940641319 756356325 907328154 722616742 385291548 274142233 882471679 567216419 167354363 315148099 498417276 80574838 344493331 294438869 74419465 467217724 762798453 425723256 226386634 352283564 273986416 367926502 848600819 984877332 129144799 897849479 152204477 18851420 475862089 230328703 116425610 334838922 908773999 850007796 44339888 123592302 958110763 958108403 853498910 300350377 148065308 976086900 820117016 610594903 122880227 731449832 38130295 596193319 531243444 945995065 608437117 283267333 141245642 207852553 193765385 337298108 431070825 750079353 820429450 655432506 192050481 721954199 437445798 83275164 383014104 888135671 710968932 936292953 280063829 402401145 889298354 450111986 361453480 480908604 861120396 115265299 179122958 712208550 514232327 956495199 790799214 279375437 504008925 826856239 601121925 457850206 761568850 59603897 234813700 548000010 890494315 575349441 159822802 20577789 54382344 587592828 372196633 104121544 639994539 822125445 635793179 271880386 808647298 824156739 902387855 355683176 216943770 65866282 301934450 898503675 832025570 678344020 569481430 160402708 282819948 406542138 133425217 855557160 445397567 388169890 813985612 244881278 383357502 774161859 633523200 98805777 79216162 459151272 35227780 709403546 31565416 807125072 937419437 904786730 874027202 395716218 85486358 587735133 46835435 235838227 562915839 519828911 811180407 668726021 470185757 621560828 910374199 979141389 274184028 881851539 2665151 721570370 511642338 832034172 657942215 564905466 130986436 494029226 627969908 369653437 726789055 670383206 333520281 578757653 261497483 820487317 328401909 345644515 313508876 51325483 290739775 565792856 891113345 878889183 459023351 886132103 591652217 214833663 519272134 175534905 423181169 737730022 864579806 223494117 220561872 636098070 82720167 8343543 876503835 230658488 467964981 973820677 450796727 43210806 464304804 710930800 439430595 428124564 955335706 202057855 527561088 745673405 584526983 254265860 518371410 148108869 705928975 970488736 968702741 184347984 440747684 821762504 187017828 720551096 343963457 119371597 114444786 999189103 685251505 483878500 240782714 494100580 840229266 973482576 899646095 433467435 777514870 612320317 750152450 426594967 885306056 831429443 263982238 338519164 993565467 43394083 550957070 652668042 96320790 941196806 836037063 117680153 226526544 290684444 622391336 906213896 628539578 662107512 765851175 143164288 947971321 860414038 682465991 782859298 864849341 889381506 592941249 653836822 298676558 821233736 727636923 922267004 397089056 165771072 233468458 485645724 817408834 639836445 948073918 370842016 483728639 263798743 104246034 151282265 630301838 303347421 942075787 592942198 620912678 688747415 394644935 235712291 633786519 973197289 754374866 546936723 765923961 573130705 659949330 239259299 534814055 926979864 60693111 864209819 466780013 778857651 836252179 83808900 401241905 956044146 192320505 138631692 168739923 265471636 327346840 757307518 246291078 713037004 435114772 197226452 229384278 726244653 950977887 304405914 719495000 206553938 466840165 844643896 598485262 753289543 110568104 5584578 81631645 153596814 636495084 742744712 904729560 498587060 228982036 461714210 29999531 902564179 327743921 926304383 62373986 852934373 387088863 839479208 945851990 984486996 288184711 590713615 775965585 822721703 532826778 190359929 488838511 558522253 789615874 987870512 61700222 334537678 712624671 64698495 566312339 126687017 523553934 622810501 450678938 551658782 325890220 628804817 78317340 584201860 769512017 933510813 544033366 229920565 443744721 865954494 772611070 773422037 422957794 1659753 142914663 34252494 832290031 414352813 282456892 867135492 238619300 404475024 692506929 214207428 750773751 853399415 387206044 475134924 904388928 540535839 481689840 806283997 439260173 202271349 980104645 136649998 705248532 644144835 189734476 298815535 929009620 326594069 526745733 390951108 39844998 254029170 603970251 69818509 934868318 159775974 744925385 649098713 208366868 735490744 727710048 708845166 445438539 18879515 363159391 501474185 673438754 680823668 763774083 551324515 41654944 443926026 870688253 320769305 437264909 205293627 867645151 400123478 386076031 9693402 66210409 596250680 520525964 293406689 732962861 563827209 936219185 447247341 194372015 571747941 24559786 544622803 321641632 396731886 497821353 895972560 64937025 666129666 62597244 778286274 647153289 161219504 336776766 951647452 325032015 136888706 862775458 443122864 71443611 410385465 859638175 528548187 470718740 315013061 131949009 222033848 243524701 525059217 256040588 776464980 490101965 557120985 791442926 283069947 317490250 413513071 706929234 329726850 655984601 430287497 875896709 991019725 144115599 892285273 865328429 877303637 301111858 478721002 848055444 926818618 382904168 126668452 487961187 8855792 565519510 294225414 605120460 239781623 584048699 236449522 351476217 592253005 300232607 983997170 197776849 881087673 923937440 765454350 739149630 673248354 220832347 527360759 999826871 805674179 185674574 734606983 285965070 866568224 17351718 998498035 54889039 759570450 271523070 858126407 895319264 119504627 582187231 754445950 505349932 642312941 59526806 927936021 616857249 212937106 164300532 419780126 546005109 394127110 472891522 854637585 1272321 13836264 481536563 382640563 600684046 353494769 946178338 586684259 188016327 267331218 260437166 226156422 181708026 414683287 98940988 291595064 960239798 885736682 944721756 361386156 960665243 103612492 800452840 642648522 249852567 593402425 689434038 851125898 291232783 871703575 316258500 589961060 177424366 438353454 283941923 211138898 642005260 518715272 833467132 870623452 686935918 750626661 18563922 637052722 130569597 998633628 2299033 264819335 966284277 262418238 111360131 944368826 566289909 238030264 470557108 934939671 800362768 683986798 99480882 528465527 113334805 130190754 505161643 774272374 936715335 735140636 818010982 320430310 605018322 797180692 949745024 748119963 327052375 544962336 781242896 520000932 499000215 178071846 365746959 777346681 441849383 658758420 34103516 501543885 702157787 134386718 502438711 111895101 817375996 580182940 482266547 69000380 85227569 542705834 417835224 328569100 712184988 921776812 531770458 499658470 890811679 284662363 827354478 143056722 149901582 61446523 609061411 399145115 308585860 258410325 195751325 371971068 924654332 696782285 146533022 727410957 956673253 769328893 121745509 50642213 63415017 120751525 89770786 892101813 813061962 837219258 69123954 998521092 800063393 262896463 992056665 98420147 953235249 226069791 238786377 21569476 581590761 190539188 57041886 710160239 328958594 617038389 992211408 299880921 711609492 34769879 892409471 682768347 788708830 634165637 347104574 995987833 950864171 62995774 388280652 950473356 375516713 154352825 902789136 821807839 194890866 280032672 349951907 127810784 126797307 381320898 443403704 87411765 39519737 210946990 979528990 253467331 121103873 16410172 352783115 267099318 394894362 331490192 340583352 506564795 160994937 363080102 784596062 92838694 143170466 71954690 316330267 358408276 417867826 601741945 967528097 892641726 124121821 330238452 370827923 487711780 956376813 830026397 299554133 630185357 182319675 435704968 889549687 440898553 396305454 763839334 492606087 872015887 981835012 106137938 274879471 385822542 967944455 98039298 554160226 970698420 675787662 396746892 119732292 891301241 592361350 428070952 910273357 423915360 718615621 207576111 711835062 652629303 495802616 58345267 870497883 646967669 408346738 796936141 482330758 750104062 479307378 116831162 521266047 933791151 660412912 628572114 321042837 779949661 998333090 448137737 465790664 639954941 672433437 917965381 623296754 630959768 644043109 811835174 193854920 773032461 885854188 732111414 770408926 123834791 346575879 97523862 832641471 859336881 551724205 662340981 676048092 461684901 141882310 635849377 330881643 259729524 346703960 106211967 987455787 886492045 478675461 512228746 422084728 640656491 342492949 243500665 858487140 757231369 852213279 81436151 841695102 993089272 359347072 473046793 948910487 404814676 87460257 161159934 60049065 878613385 999315592 413032064 838299360 291866895 228372891 69658513 253449784 947018091 171737069 381210115 146100328 708513268 900292131 791788163 764725660 526732237 556687542 94579397 450940368 970119440 823800186 665062190 9723689 773221193 596405865 473722055 658593783 464227859 608953260 63144236 347058560 519744382 333258145 273453718 686092806 163079092 507042323 457439468 435878446 468655087 251216737 341119149 321138150 704618850 458888739 802101877 161961646 151057705 165322101 100462350 342549629 637622992 925811357 153204444 899361300 918131037 60828914 561608010 787290208 227504040 853770972 374850741 549564602 391000352 246691548 849945012 316899864 356408789 603632311 294314617 883962117 442311215 290114125 294617502 615893611 696574920 803630790 591992297 548370691 128070387 363488152 523012159 366009931 448338837 178978301 435091885 574118546 596168643 60534594 476183362 807439548 576299013 359885417 377852687 862243404 52479743 487284173 790459013 805626970 606408379 406204853 728808476 328040141 262351066 543995020 84929584 277474669 851710247 445484292 658881998 664716033 12203183 149939930 222595946 269584789 378282559 643424373 425905694 842868126 903455452 286514095 364071403 486945424 660379708 7692377 329470957 966989510 425408892 744584686 752725881 970580209 335440525 63593343 197182744 426897276 932652891 965043345 411247927 887248226 652207404 760222465 581781830 43940365 900873211 472159908 728710745 963682484 399839631 352582454 442489213 848466885 236502125 207492524 312324439 79387232 849581400 661393364 30452524 668190667 549166215 594778074 102644260 158922825 359318606 470995890 879147881 528219581 974022102 287326960 308759045 553603435 13149940 964575737 113428225 60762646 88207105 461314074 912401049 999390956 425244696 335752898 472426102 568936015 881398102 887818040 996815478 734733595 244391947 495049623 211013801 682865136 478837991 955511224 925116033 461439508 261374642 216839284 325382658 138515396 631523696 154449654 719416672 834028127 591636016 74453911 155512596 308069427 215197147 906511973 104472952 984336956 486844675 984140140 58191000 791853470 653170033 732646889 115145045 808961150 115553730 306297962 683835545 601688431 992614226 687056447 868887089 43350123 456938061 149408064 404385736 784247210 940504887 68376394 721215438 75957183 259635136 748401571 459288219 172683532 984935507 808918940 955319253 515686426 651960986 995983573 248944714 647033161 825392471 318479225 868837489 306197972 381852387 901823891 935877312 119623731 259158830 185633835 12016929 885944677 778869474 30453079 902204448 215479378 663048090 724280531 659202382 689813740 205723936 300010921 739026264 384961596 554973075 61071046 162629034 829554565 170962569 184498208 419679147 881169308 786364700 208478591 922420856 335106436 740426841 968424041 130810744 95691482 709119137 664462574 684032288 315598291 937628728 130627344 679933993 863326908 54186551 240301538 815127062 733394169 610510692 731374300 570300506 114878973 424282 597221051 328574458 796235408 330827295 331182547 645355735 767600031 982540252 960961867 988346667 658652955 337333377 597833993 940749291 83564369 100251054 750546793 622182727 782554338 467722963 825678150 455211967 607379452 77267307 805139555 435811283 502318807 338959447 498501352 121814450 70912670 238362939 67699897 398254066 242429968 629842012 523017016 550102859 852822351 289934983 201273086 79370204 340357663 216244277 498893785 837288835 690471516 887860816 138735976 714322538 946098869 683094124 270048323 198833590 983996955 290999226 451295272 377640176 389087135 696616352 572309960 95389052 913583424 639500331 993805351 463661274 514664420 401552725 667293623 18679324 40919393 230449876 306772897 181844891 391466935 741046194 102442488 964332124 582119620 382949460 294224453 430786934 790329597 287713981 466198635 655159423 800642146 297624606 767152980 339655258 91980320 949425594 212030173 112067039 341005956 338772459 113774464 66898691 773768553 63718597 359651131 987598393 763804564 589721874 624900975 823925846 561243212 283581056 485383129 102490457 708096707 114088037 364652203 104318269 277860169 446162696 265213819 782517359 861170482 296032598 188866432 504118277 274536313 456332905 139365975 481852560 738778654 596511342 583838625 318582653 530490867 324916443 311003061 908431892 731988362 98830065 7877265 394908032 473396672 293897154 312913267 375299598 694018264 411600929 2590900 901370759 530981526 38934678 940485313 443104472 491094274 804881977 658925018 936398737 480366725 498704865 743461219 112915312 959092305 150214904 361902263 811314484 377499204 671102535 523821823 909645229 381160578 10213495 798916659 135350275 721840512 776667675 917239048 849316038 480041654 244390657 118109712 865736270 844298517 330111863 824048252 706268768 479652903 823703490 784591762 641575097 980782414 667846793 561198475 204909432 754402601 695653322 161537537 336647076 810232191 788472505 595741800 727427683 379154455 924795222 729820646 248305832 144771482 847645398 245527210 219573871 33776951 69949100 779211436 297354224 528418325 632890996 140758171 545764467 638161689 406781531 23315490 266709699 11759443 410983425 718375428 862767509 860750067 290699766 339074621 746877106 14742131 158082248 492080553 7672345 533288903 944743385 497251613 917736540 276873590 634046030 92717531 846496859 631221696 677538059 104052242 827774834 431300242 158242187 961301640 651043506 434283543 768664807 423889548 603159296 428479561 122296558 642997439 207617206 928593296 452830965 183117518 451747673 101097829 821313386 629550099 658962054 295366210 322034478 945712714 19201802 80199164 752290382 702039033 669435714 84376741 332062068 388419682 125945277 559133662 97784881 683705376 911376558 78498769 410037847 196794245 772277818 96282718 528905217 498042556 903248897 53454129 866941187 47317290 906388822 352313080 511565261 65605926 522258828 910318496 610863996 267827348 685705420 986995746 163512290 336836295 218292605 477416647 622900292 515838427 676365439 68519759 526757488 643158485 414855055 399999511 242214255 50944975 589315294 483124786 539291739 901167331 453398525 320723416 819081140 716212291 353948523 261122248 800331641 264747174 65991247 497029121 376030556 655104273 372354036 185955772 504868218 519398613 645928918 962874629 904330684 592001242 878543716 803441386 290714203 474915501 271637729 170455903 10857266 373195632 163343874 264815371 812624083 773929176 591461136 378154452 261964173 755270653 805781312 382973187 889833281 648861353 773259826 266443114 920719357 432287956 651108409 126716184 706235419 856008326 933014309 436169967 903284243 431948783 720256018 282390951 257416296 496637181 306347560 338675430 284543407 463184833 175240865 179954126 253982812 189502306 895076911 612747047 852755561 969041485 845806654 123214604 456287494 181513196 957152450 124699794 72628558 950806735 490844775 617562837 237442552 982347510 983080072 492555961 305098765 385378118 707960454 736914253 69695708 260226854 307388981 450104666 18948510 498902285 191851148 936481754 767400823 717474375 413797209 289560670 529623407 147019560 43210608 950500461 117265353 691744159 272496410 171946343 85528802 814953913 895989117 634419469 970099225 388659438 887980617 582068262 322256615 164471196 184893764 115304591 429859939 106637329 410440272 73805023 567807304 168626553 572967173 633305847 406524778 519450666 885616263 714319485 745862067 665537847 51510422 574555883 843060484 935776899 334989807 94462695 61788614 354768382 184143497 543253701 478626306 617686708 498826927 454356756 282821942 761843824 452061519 115939400 718619603 105312716 256577641 383088460 991918632 71559662 546602936 827210751 428748437 859234751 305446449 916935479 23520725 113834266 441579440 745897995 348111119 765950947 529664218 670578788 20684333 399244142 730617554 661810821 301854425 169247663 203118876 494099214 192667700 404770137 863522853 331670140 6483936 593265762 283079279 424168202 367082884 680790760 737149252 187962679 373027592 568716463 659706344 303559965 369856000 221335950 187122915 255843510 840899031 405509613 405523833 940071521 164111074 541652927 617928003 150625902 499292066 490183781 368127234 153122394 849165769 605938832 674123147 846882868 157041571 742233133 867787691 592040734 389370688 606248085 994155480 529590893 764058935 62871962 557303948 406375325 722279618 823319019 480680410 763911702 478294099 767965465 1379304 247364750 935161028 806462786 227981226 827968131 670080297 694015370 758314105 496539846 144849749 878129579 306700042 861061803 273227712 620305444 650306113 454191502 49655358 754483860 131267598 843451840 757507872 23296411 62902695 411917588 700898783 999441343 990139 809722495 802297983 627367621 679961047 850848678 864519215 140959867 194402694 163078361 215681463 783978500 861398087 735774257 28174502 722530333 320436573 679543098 139647244 342990563 315865981 788834594 573704236 129771637 599824265 444697482 882067169 919062336 90151320 207279783 851925550 598659439 950375094 204510426 739227757 502936653 555904275 34392164 176567246 246189971 596021959 908486306 702600900 561640498 603246743 413949729 704488125 708930356 487013785 707222600 243973069 629095438 699893154 920689092 596614009 877952935 950320001 805669925 153792626 660178013 103925971 532227257 250928860 401226012 181793723 145870572 498789033 967187626 955605951 85898649 903653514 931783478 413983215 251777373 527242308 556736338 278653524 821808139 231565979 884108268 606908492 318821267 52037041 442719668 356230017 821613010 739571711 265946182 718013716 74750235 651745754 495495266 529972363 522954904 365310710 70110040 412360021 46121778 464076661 833927160 716147307 952256401 718866853 580323436 498650637 369211775 426796971 44264089 970740035 499565119 941556342 949796180 333925897 235663910 862452326 416935315 390504034 712168661 432366699 16823541 745264729 488300615 16170984 781889571 339340060 865543161 553378271 806456950 13097565 813735480 49545032 121393126 412590690 972676996 344537837 110448147 29842364 294671076 861245731 155512782 813251645 752981185 838257850 890519466 987563747 536618349 83460614 706791843 257074105 418045664 596760205 763714395 690633890 954547247 207741374 762395740 875791827 317577787 524607006 458990238 330465560 733234293 627831281 517950874 11356184 462815277 854732872 143489158 862539549 669188297 134037297 537613504 169725356 542582013 818898797 287199618 502352109 771474626 673257423 479850210 502722350 251986280 956156563 624444158 743802764 408807981 473675054 612255006 152132342 139742628 885400262 550197732 303521776 815221449 351933457 415182971 566924180 970028031 108440135 832374223 159873058 161743761 91734817 217220116 299377008 963822175 27759021 741884403 692346923 981806422 135860261 327589507 393761570 661439352 82503015 745225784 800431921 75918792 713422185 570969413 536734360 995538774 142705017 477302525 603786662 465106904 341123810 893387420 928000687 496155315 999929451 867751036 129531350 603514361 149159986 994792406 398552472 280863435 680247400 239175681 939946558 202513019 908634100 586355779 506791121 321194131 521608024 112520134 94972824 475629663 911002368 60144924 468217209 869421475 93171344 926563593 513234822 440130894 934456164 68313366 735154763 228728788 335712441 508323880 643115823 617629098 156642853 677228420 666374844 572544992 207939526 808251352 211187467 757549366 535837049 607023725 621708170 257312279 939119311 776919911 428490905 796466421 539302475 139760967 830823352 395076738 268651658 871044417 230697889 633196439 714637566 780430084 463121209 385273924 731059496 936038409 817189607 964769259 228810999 635587487 998604121 979074544 356397192 410613850 99419385 114402664 955539576 13556519 865742899 219817557 780558876 616397500 990798707 636567431 52907934 587872022 768407063 482806129 21858446 703432688 259020622 544176319 54705401 690888328 259785261 892345948 980531897 306068317 344338593 981715895 272961240 746192549 953002967 540033205 974640001 649385786 792982813 143491637 515959680 239859492 173643751 24538686 316169568 870135862 615586954 162203404 805826204 884180043 301997423 158302089 459808413 975523922 38012508 60503469 372445187 431822082 491606139 437101783 41658433 686456529 75197505 717144026 425670683 635424442 205923033 954057622 695875940 20978774 150585598 927825476 33046110 45265303 466480069 938638581 72785168 934063460 301580438 486357439 557011246 809885412 213214596 877389253 537126236 23219126 270625131 174914900 300963213 643209040 772167975 776770129 196812556 775130336 84635984 620009918 642097444 509580190 164721876 197622857 146552519 508866298 306882825 804292333 442974203 140440227 747353262 288800749 980767767 371979108 917839102 738691041 472307880 735547072 65094554 797572518 250032431 125286004 778988492 798128038 525957871 2073730 632569077 115059909 177224923 540661589 724793296 512725307 60655388 385056195 540870674 285314903 311790821 854505788 752586814 198106083 383775349 474465227 477058286 760350936 232374573 308250207 583736926 296515096 469737774 368580416 444147907 767284337 844328927 152846764 465566497 906988167 492640012 338590450 637277140 899519183 213134223 556624683 693085832 285965377 461722877 825962531 326524214 800271913 557205943 414447985 294739548 644670751 982789700 857295196 891706933 603713762 53232801 807962160 16259543 784149640 155090612 160384962 770867114 687095402 208057377 683677082 409697082 300407982 1103910 789204669 35791567 131815756 226448396 892455590 201637929 663498691 757059091 373023095 297279829 866065095 223333988 270853845 504368770 108997674 750851841 519253086 126652201 792775665 433566211 76371625 262518846 989816189 319708984 823861131 198660207 499874011 773166097 678117881 958604029 755798606 461325136 121248591 590901582 338627894 590814937 586610479 654975964 559341727 566888623 892942988 649629163 44039260 35098814 613424665 565925366 522747552 597203260 54853862 7068557 472281308 205394320 784971905 22829134 567209145 240011266 312928261 349551003 407648558 475931997 765756450 177871112 260180174 467836272 206904907 38028105 30917919 123914225 857970710 756851297 244755748 448881609 203089970 608681685 575225684 916769068 472731102 289834106 450627681 856829809 369928818 170770941 934593935 695953148 97977160 505745563 531640138 730577099 106826642 438758963 578814131 357178877 41798216 688820241 124845513 46314884 122274975 429836540 509545559 646939073 83785970 420327149 639695633 480678517 622399065 284569631 565555607 250107383 137368748 109447013 365843420 12466232 669819714 119365542 578287276 652363176 619821638 283806270 658261719 884937157 967373916 126369580 667566572 65933202 118835078 164607021 767839317 521573443 870857554 734849874 441162378 732817643 528944628 409943527 855038190 669406388 272140739 721069630 108139352 828863211 602884255 528634275 622803661 119794100 481585516 5200998 315718974 665407582 26018549 159656823 172380509 911915944 845345676 579274497 907052259 869091579 259096231 94771503 771691340 283027274 11301069 840714857 767493696 889073273 474980792 601217347 987140017 19664191 977696606 71061041 239483086 668298263 446989778 912259095 601976777 503094701 112535171 142337434 367146904 556970797 978564035 718278986 943394468 249312982 807363429 433091819 933404803 77240409 946645400 953913302 726853484 335313648 698758665 784657108 831546260 124628737 572921165 121075290 360147122 307847308 264159753 19573569 324273387 414222053 482532951 776462138 892983468 958169982 834964911 757446713 424303012 324750758 73736643 96754921 855861448 676087477 366678354 981301972 301739114 650227875 193500737 898975074 590749978 555955892 443603492 788061156 529127484 21789380 791631213 365835534 500946056 617765201 59474467 772378613 181457659 627491276 153837082 219459834 802914392 1196705 757758422 547673441 947041713 268909613 456789513 462615329 214757758 553032525 194857303 310214503 842288027 648288192 946574113 312905177 292364312 148982496 654872764 559079404 853981691 62681683 769113738 31312382 119840116 385305621 454700326 182837066 764016745 703454823 395606418 123451869 911828347 298707171 515647284 672968484 558868133 583568272 256043917 108129135 341713136 780626486 329338421 502854565 142955819 673130465 156123757 641853748 425484870 12457692 454161692 772088609 861306153 645269048 1914469 427095113 513426395 736042985 766642452 871481489 607824224 108197809 314301731 631626785 921340391 57897424 238079957 825427691 494222988 128350918 670581611 305972688 879156700 340550816 500392002 943263948 786720749 651089807 145048044 884115171 375599578 784422677 862512466 993497054 692804786 89725897 80965421 220743715 78379038 459411550 894764262 916484774 913244303 58212508 267380381 51334519 339904886 89390275 93600310 688081733 105209232 926227914 672043018 715344242 444341120 38130710 717778902 731792331 780241693 197999073 774765318 425438208 818974805 236807806 295510276 504740234 583990545 762544563 414860916 213935743 189201769 585867065 617377063 542871152 553158326 159071734 545398588 461605825 649105423 106429992 176044403 172453528 82794343 842294249 205595861 876758777 830241333 59804315 697037670 916056757 854022651 104965199 172114769 536134310 756503384 879656967 319691648 717108415 715848692 732098116 48901525 575350948 725566063 11106559 92077204 998165900 338580467 415335433 809620076 893214440 356289520 189314583 60267177 919656186 41142292 983473655 31850726 75165301 488734545 766731951 460227220 737189786 379615967 347182054 170645060 63158053 441728982 427233066 523562754 955952501 264867427 663915461 298851336 347846638 365773391 400510512 373768934 871154412 705905857 427624297 801322887 521575597 938333579 585065079 977724318 6798842 694305141 60729183 399776124 990878885 664099507 562995253 311898307 692209338 530851077 211071268 376238898 467322051 90803721 299614632 529702970 733351164 305091726 339157619 456784996 715515114 26880185 430832027 568385853 632473468 579871624 38832490 167701048 974990237 696677688 327749704 428344785 560487067 784937723 89772024 866358223 126523363 851221136 278398544 275704283 812894302 651903207 535919191 210264993 81566168 585228166 347858683 654103097 761867952 801383918 820941389 326808248 734667236 531856150 727002593 357430982 357502073 281470278 952079748 396459330 655228170 131649743 348403455 529780718 146691706 375161995 938496062 759344222 71172891 978506003 132529151 625953170 201078441 621224045 638093178 354909639 915696834 265332509 469007902 366195777 401784474 428170808 923518322 769805310 190543761 752424607 814955557 790671002 160030766 159164315 838340074 78449954 756452266 60736126 480719033 370945566 659890250 723412729 806124987 917515119 798367747 417916522 901179986 822457725 994893720 76669700 904489261 301876971 178274965 549373093 905206392 491029068 608030498 382550628 327552522 857213261 1401423 87436466 520401094 103282631 69202704 812337905 529191716 612448629 646823581 717478726 887407157 915639477 122797010 413126783 791805507 180282539 517268816 801078159 913418792 776980514 276117555 549157149 757327986 537390241 439083197 359310474 94663756 953553963 244471119 166236383 72795090 346456534 729726335 625847638 339216538 941127927 401927355 410673872 372910823 690086368 806682669 568483454 114178187 885290901 953892076 556806331 336482421 784372512 171091936 791001815 609554578 737196445 521740469 448265352 96414211 686611103 138737314 573881064 881217100 150157224 282390491 525529432 214439788 21769260 23009591 726532257 984391256 617219381 619325033 496698604 829242635 248748628 462917002 654302959 473549857 366028465 806747455 915788918 719734797 417706514 179464699 608380503 73076329 219642868 342075635 983625513 380588975 313701608 164702102 338332882 534169345 353849033 378987710 599850086 405090662 718509455 943573662 696466123 770235626 147524334 260722425 708767998 754177396 705045437 850825480 985409904 883870496 793657392 644449091 273594218 711283392 45397822 212149910 548429951 257200213 229713532 558413992 56127809 587874529 150567059 652035691 447888630 996461404 834080728 102097564 392794336 242885650 616688041 802591355 129941794 256552829 345865602 642774703 968978236 345868359 255220825 869320161 566644891 361795172 483639291 488629648 20841474 56530119 415257230 556765481 510979272 529904781 101055096 449531802 665799946 410287564 920171472 988417394 495651334 760482917 937650007 922206687 17117837 162148598 698556721 360782687 531700060 479588266 980380925 282212114 728578506 426067985 563016876 714730968 188322205 146243896 641395934 288100620 113174434 417071866 625909086 767302733 82048251 334331756 788355410 936998977 105322111 728561071 616413567 176245912 963976241 478556762 111375806 569392544 434975981 995063207 70318352 589836220 192983248 632460372 503352031 178983797 260503288 975985307 177142223 278012903 879829798 799360716 229639034 461206120 434908749 965818331 688331220 408956092 619490299 517702817 597902269 571036122 519513605 850911650 504093661 777530856 628477783 575981313 592337739 302975480 435968758 53894738 234135661 450666880 890297767 468623234 870064672 402920640 373300527 359504125 209927904 119906648 301551372 537476719 480932689 710484539 309112957 735492940 454539102 292820304 415010545 101430792 272177854 9555510 633012640 606305388 621171911 468674576 303415920 465337283 624807508 849159156 635996188 935896443 510429280 759825110 237353721 876833023 656300275 387116837 477471546 325331603 16983189 496955386 121585733 851818744 232424475 241202798 465879361 317260818 612738036 497743279 218380945 812942078 831320388 851628150 227746164 447532283 811961920 391151868 501977340 437241393 351323709 11927792 609129469 256464539 690811300 878396868 38518238 743690651 765819573 853889975 388303500 26939158 291873054 141188127 50430494 521527504 321901263 228299139 353902413 568405660 876999501 101586318 379223670 73145877 207915787 879487492 563030265 650927497 329967613 983097641 493450261 306046787 339945928 744738174 354192739 987301922 416206402 533085005 892216390 259327201 37062992 309385412 741492011 496445320 137706256 691724747 347741359 60548300 999422687 763129030 498920113 420702579 913967997 328471968 811050718 868039918 736774819 75028155 736976844 28340522 578078531 262059671 128351555 141613322 756087997 827186455 546016229 17155119 698978466 745241432 521407513 142362286 299872454 875958835 838358604 390691813 776204778 184261712 87102459 908383443 580307291 561795183 408047366 142034904 916097357 101584529 706055405 115425137 878553819 311872651 852951002 699113904 866570038 433650096 89783532 760671080 879185115 221325443 676405832 3771241 145114576 129629503 295771079 524366261 335054928 211305010 596001835 770379343 290433699 931385657 605079523 248959718 523015967 95192046 861364276 203755493 874283319 603262153 101913351 973202458 645012494 249795832 716485647 925950747 700842649 559007853 817742924 46379141 621950651 973886810 75703639 778204114 8622611 917629740 881361888 148293556 894170334 303554770 920631252 136405923 561353893 572916274 23407526 818271834 647780114 841361860 445722421 573057587 78370590 532102739 192343674 123933617 606595369 902229015 111172648 310022826 101791552 162980574 331600620 660106559 220085303 581836973 177659545 275091997 168759843 564183981 826569054 915934977 597372905 664357693 429884102 75116619 775601921 797530561 551867440 375829119 905220296 326842856 797986528 529076865 224259437 329394200 103271439 19660908 43111365 723062951 604531828 654921371 600031441 283547972 997659260 623701512 126793936 91177244 289797512 203536387 850876199 250916864 771949239 360450481 132036523 651648434 119013270 166979211 523871070 883732629 829448285 539542299 609124403 37451181 313970087 655973951 567206659 87431773 347639835 577946367 934243289 705989801 418843824 503951904 886616507 291693853 279791589 34926056 754650147 711208316 638496758 907493015 887275749 753477852 77759833 645158493 359877957 130765858 886790890 316777697 100010529 654119815 968656529 41879312 541010671 56826796 10104112 365113024 968150123 757814118 732455498 388722740 376707019 199242903 258616361 216172461 900850429 244349440 107445757 210641198 54897574 646503848 314511991 59805686 276324573 603142167 204292232 125038566 716734477 466643358 243751148 961407932 784670323 643502731 839012496 363436443 92766249 846900946 771894523 551295994 962105736 130011803 798474876 808877123 616614532 591513183 157837913 2379934 56433095 345486946 523861985 952661412 185266546 204352164 637967934 443820610 456097306 550352409 844640979 661030774 429486987 69797731 222622016 347998510 237188720 821703508 173652095 598114416 773385205 469811022 639585811 257719779 539115 758487763 291759238 214644798 9415772 753848784 871301236 14083495 648068329 472191378 957678605 571549322 101982076 434311504 303088376 915750590 684978928 819114440 851626518 349530651 202110582 151378728 810942730 245753050 281227672 290387444 391565643 440955799 243952279 717679286 487022616 48239765 398250855 875473955 897661827 671023480 494220192 826742578 22824167 728418078 196275682 365909510 104381555 382612733 712070180 984586321 490892483 120493875 12743952 119707763 789812756 775456539 106693641 343593608 842364053 935386521 638860466 551589416 780395537 687066442 509023009 217591067 639604896 555358561 972812243 617054075 761186921 651776678 93603523 122275823 521015751 470965261 256447830 182532734 227369436 141288597 778933112 808057520 899600358 108506050 876820953 151933034 703148707 187819329 889612014 599202265 775696660 631156255 695986969 985980990 753027792 813395401 131151257 136441022 813138406 738084067 871852760 181297733 61001911 933009331 524201852 353857777 537698413 641696799 145448174 462500579 55133006 616998976 762865338 198624968 73771682 914707151 414292701 696154772 287150 658364326 388274050 563359869 728336867 331392902 113516349 699247177 767902930 454153136 377339718 798815125 325762253 796078973 982747314 468116241 927611839 211211657 925777573 494885222 59900026 460888245 502642005 409139737 473431008 865692836 808118678 116841099 111262383 437892414 718831136 952777627 721304915 606525134 409514040 335967581 373792849 810459441 450486765 224514309 521659676 324278804 383909763 219402001 362834784 669553446 409608888 506274296 753475685 543992975 952425851 808098529 854201239 861209272 22589844 371050590 571893469 960967532 117849433 668299603 703743859 229343058 612989130 996489698 630414032 968209334 368165207 610145748 151514434 542452856 726829252 100650236 369799917 787948252 394769062 486025093 717376883 339814431 105190254 828436767 259661320 337839296 183058800 859872906 492940452 775069539 253218267 61114534 8168091 445093127 267953193 364798108 435521447 473332231 783438269 957177973 88140617 758615057 633860362 831454719 457872984 679044649 232344401 837162866 615483368 934434138 61982738 187478053 793598113 792492084 780221850 143161659 125070636 952189526 683403318 956273522 766615029 988653666 29357109 285964783 703942791 993459600 255357866 143817427 462947271 105667613 700646426 507084236 746118448 533929286 878681234 215501307 924673096 929812356 486030464 526396694 226504119 930222091 298328391 322692275 536519647 170560712 755697817 799599387 587712842 639422652 890288268 284146661 702885532 295714747 623542781 62222315 566618373 21224455 526111262 164336077 658389743 223482225 677085527 454108580 759173587 898684959 182323868 586664178 978817787 908732130 381577641 184552341 759924288 95045076 445356392 201836695 538480156 901569258 70967760 244289694 854982794 788710877 932331161 843836434 147281509 34789642 446213501 678357605 565627935 847621982 12000396 334509722 558796856 992813068 362604020 394242756 247802076 762945411 225842391 469093648 234474940 222603671 907998450 949830520 971878411 850137435 537334660 724232827 219505355 380169731 665629946 333823980 586588148 544489949 109812498 124507522 991673128 988727249 973813394 11895386 854685592 709192434 173294551 109500224 650195574 871995023 921488398 812157972 455460738 216238445 628886490 762158021 946305103 840286600 638322534 898165503 78355735 549533585 534206846 792504554 574679204 841913382 532684738 65197458 526274619 843144269 148938087 515961769 759245159 474694069 459205837 359724623 236072451 790822427 559098532 103389843 5948299 370911016 316405559 371734742 970980299 716270060 509945119 379887065 633151872 318768090 284118198 153206233 728180445 793950018 679958353 2873510 85946419 597772237 488048670 134012253 866682379 477025149 642970367 647745268 130816502 872329029 258509759 610608254 368837877 792554174 630115529 320166621 979042629 135202831 2115293 966420195 855272467 880871527 715518812 471457403 772386217 645319669 667550857 909776547 287256485 978907194 78062076 607276304 727484701 120719509 251744311 210779522 552607832 326945767 950906040 564456629 989049537 983222432 743191913 3646862 794802888 686290718 642415370 487165767 897308151 8685660 545268916 486623212 583963413 924789685 864265281 104193744 547593437 557766514 545664607 652067740 36192300 633505162 197928572 707134453 553139097 709261558 769158689 369809739 116586921 542461363 55626920 681081074 625665236 319520246 337065173 839726828 645462347 932404858 128083772 973606135 173434452 991967966 487062441 340521949 115600058 836514262 258357425 775341917 594226575 475816136 254342098 433500858 374889434 854729207 645594925 215876791 98257469 417135789 103540851 476739338 799896361 42565255 530222233 741763321 411411856 648327765 909631772 280685585 437124517 709118655 322703461 159616918 573880474 403914613 360544922 147236088 991067000 249131321 843902627 327989243 843702741 359590688 2153443 324799630 389939161 652673537 769131092 680051631 948908650 240209493 822521615 868529374 977529156 596789303 893395776 110413855 508213791 253523560 769411068 676737456 283896498 160618594 361836635 864714814 452086032 781662611 367152971 474193169 718314338 307059680 775382277 53663997 653958289 237630426 934022863 481343896 182195179 53732825 98936068 993386396 970068962 548144964 705017489 783301727 425532643 911121358 840719166 689754938 550995344 669599142 623004645 574801243 356807843 514065356 366723686 261952641 806156756 572818918 920742260 543624910 651158381 594619704 364026091 477385293 298011075 349902064 295844689 219008129 605153482 69872174 695532354 432078623 267055562 787825865 539661391 306570072 291163163 617418302 859246974 278917068 164601600 368545032 237149366 772919613 504560649 635341486 305145510 49684299 699220065 535802949 420496438 489194895 643571181 173908083 697670325 517514688 427208524 817461891 133441435 237638466 654288189 36127302 322008366 871757340 981828486 371799370 666840741 380048671 7731712 823653129 620912404 860459927 147324250 710443316 920721914 305319824 786269461 872369148 376491253 506122917 66151043 601691529 109554524 40956481 112924880 584062600 273614202 562125869 521175545 379696572 425780767 616726892 635404756 458816345 892689582 386498744 674208021 368014142 389627656 374128105 891094834 125330220 558762811 67653325 18719126 99726186 517125225 951319481 495151991 311991045 367001749 380939636 42733254 812967498 413019674 693139877 402214435 639952197 478586770 897086328 840439246 463345727 974699575 862946397 201198060 494831189 450205724 844113615 12934552 721443613 302516294 245196259 763838862 185837401 552064320 724809828 551877669 698132595 580124190 911145868 310082062 357238355 821132400 584864697 496973835 533365609 492379221 892706073 795097546 953271281 608752092 686139585 280078522 773644414 759812566 919606236 803567312 42077833 487035738 741202933 481030022 631759751 607851131 385773042 683589147 401700043 338066287 935863836 904840416 329540975 175299106 400249465 701948484 230770174 724707749 918030796 856812667 661994600 278116940 446155415 186092450 786102963 28070870 556056822 604398459 877305328 212043175 446318150 344713817 802552921 368574258 429188750 315305603 653222737 743652537 299766903 363542978 727491287 212967962 677893666 916166174 706133419 743742978 823186159 564431798 229219102 46045719 833528638 187805394 894522826 680275758 427830984 772738110 279460525 912459822 268463716 25993223 643737816 924900769 455618316 832214712 915465370 774816108 879538486 393941798 843453891 23624214 113322282 525447718 507918009 138063670 544805147 463363098 799306147 157518318 981054672 559348586 848516543 549195449 892049757 761005570 740629183 241516816 464537495 9957056 181960077 506333518 122503139 118134471 558647937 235120992 315632302 70329926 712365101 134178526 389392637 594637794 593842111 909975083 227161251 290037926 124240535 628673419 481338281 788363247 622906083 796161161 970608365 310566607 932955661 735597906 386958358 350185555 81987054 225208464 5007783 950678010 545453702 543574944 452346439 46878562 853700218 737802316 959172069 211266902 841782213 613878674 720257374 584306665 771485126 247053440 900549468 345819372 553235658 161262313 197394958 176429987 645107580 667111405 412892084 425415235 101013961 688061245 370681460 95923424 258567222 950032809 895815270 472526698 494859395 438394716 535801610 876304812 386230401 364004977 522503197 23896504 200321170 539315200 587807548 871017689 174996117 824309419 145082465 2187077 464571784 322573508 758505367 328023382 909665404 258041478 525144879 855712284 244616993 370259839 55046747 843865542 748736081 916129897 567779369 130752754 807951903 445351829 91698643 602373626 591955701 538985958 706373446 894678416 455863878 751158214 354052732 612342273 907362455 506925693 866909575 191856672 16801005 33422925 459349632 910345645 786238262 60114657 989835446 3754669 110085237 914162104 196336806 72630977 183128901 365592536 333628349 558361776 941255980 177716583 580553896 392080653 745717859 757171539 949707766 569755516 338649269 805999957 733959855 924454397 906925302 729830763 985491143 904472402 543522759 913694865 974734700 130352453 424479153 843797349 744230477 298934941 676398497 191744494 569672145 931149828 534044246 13862823 964219672 646440061 829537806 786858027 551299401 313757065 258562254 859961780 480048557 279202403 246536724 497010055 915677620 6135986 587805050 871795022 106075522 149524193 894507629 662494008 269980005 57749703 372292711 248971750 901038892 902233577 666398419 336444218 496501577 728222132 10780417 645477652 526385269 88481976 728899233 950921994 585868537 334207759 368777131 522211388 30548268 946992530 236449252 901361984 970230747 325784876 941381386 814331841 107002642 452548296 815351486 487297253 708902057 412079022 448072053 779981345 40957396 965856689 453893194 735676507 345477006 722648353 331728128 867443127 746004228 483714959 65999123 831052280 570575003 321352441 837956485 416773401 10990472 551891530 378212778 320592087 88763484 423554703 507985968 168657066 388716294 628705540 841592890 399035098 870076240 235199627 866348090 170368528 856163647 114909395 721535811 380043338 442058807 16982452 120637410 112767099 952294089 34154526 633700918 316897260 408176656 163523278 189907244 113190937 677549398 702173546 762230049 611768132 942219466 257110309 116754150 710197009 934670262 73350222 583907957 718253383 958775645 411899319 377876565 266375680 895796127 295646973 203423127 891185535 76977676 801766713 650665922 389993445 38872468 736702995 181920395 669761365 789025274 497984923 162439619 893977682 579487689 862057819 839376461 741793155 82453566 968671168 510092713 869831310 921833828 930913815 913901869 834632758 757754402 919725186 322025742 396037780 591858146 686286527 820883724 662096029 130627932 819175389 834626148 505583296 753022774 758105416 213326856 398271015 101122990 572627755 791359503 724759636 581477647 605710797 310570841 217997503 806254801 65927988 69200685 217915789 320677206 682368750 300429244 479712354 296804074 426882339 856818350 673713867 62759809 994081871 546056197 274580805 308714533 798456843 948327493 558375509 217764542 383377711 33662028 911157699 346555828 388319127 448863315 88993324 956277429 794104988 501210068 391095725 417182287 568062348 318143449 31220034 721469149 419117892 355904331 417467482 887032488 867735718 186141378 477637577 341209170 126335272 407976843 700229240 651576668 150737136 185665511 529921841 619478031 244079073 893891559 327896884 297772484 120919495 828689116 291483636 943279940 523750747 878715476 397445289 478943498 760441266 220985135 314119869 697420358 545054128 688482160 982545800 281115753 554891605 480158475 75452342 114416745 194473292 485748162 113711595 544104637 920083305 739025414 112449328 710722689 784404917 139822177 124536001 657584713 244168096 566731435 159985179 836806427 690306006 575141358 894214102 233249973 862983725 378420125 751116545 519471269 308456060 329913846 421016196 209486816 983912830 47048800 687105865 878172516 77459179 28788504 723124033 414229183 906498320 673999974 607823003 578549918 284264075 561617719 679762987 281558826 995158182 116077688 914655780 172847803 871106733 454295873 240246231 484131894 203749897 572016620 35968513 110761437 493508623 743007773 548796447 367124027 87268994 868337374 894161501 900521708 241768461 32662966 686734054 837505317 73202982 848895514 287619238 894303631 547509431 494785654 133415415 824587961 555675461 657867517 660923772 365186825 300531175 298923614 767496902 379561823 38238907 668692858 924343047 832305457 340894529 494268790 477075481 980842454 866516177 635902151 939840690 848852435 499970449 77116095 655823869 736631471 578933019 192223343 346194017 348710469 662798488 232980983 307095229 255694491 366677705 331230734 274658026 721230490 21590874 254216404 453404041 198228364 530920063 910176912 128196002 778077679 266804898 293137054 60502969 904504302 12741277 993242098 410209269 922060604 376178487 441015527 807760451 245796953 476361639 548897250 310612966 290096174 700419478 709639338 680434315 521572398 989286542 333056500 228536164 334740453 499122615 373052872 778781428 609521283 806062337 963512637 55591169 885185891 189857152 370945790 596133342 702027704 783241154 542468330 188372494 64846660 974616442 594379978 213910598 972974125 358405179 611841904 478546556 514770402 632647420 479088025 138677038 102808757 796789164 361155379 674874337 785959089 578101227 821198279 669349431 639067023 728213159 638899625 436073403 485290105 499771387 456701420 193421679 141219362 453764555 373783328 849807689 850874035 977713345 302159108 966073894 362954711 131928650 503823665 394158181 786597377 37078914 550354 328216287 832812425 605069968 961945584 304201495 54824889 223120612 910529138 280984712 874652049 337685236 429842278 493280979 108900396 110395735 609699871 907121024 797680220 16914541 655482803 452789891 387565298 414945225 863899967 425443917 851957536 126062012 539645255 528886614 535558583 197317398 778359445 551439789 638107621 855293681 756919293 959071077 13058876 292077203 450423331 818598908 525532764 660543395 140432901 813497094 956717131 232418604 618901428 525478404 558609117 9391362 866836304 446516999 99629875 23517825 179315998 431653136 391045545 202308805 692756436 221663249 942436653 611505820 723100584 865230442 69158669 833757926 469627522 160930478 49500448 11461513 425597013 997914937 806853774 83195242 176592067 644593557 298900360 405895120 335757949 787202124 574554832 115685271 522790679 689184285 459739891 337112411 310626694 452054286 583711034 532259987 878450264 817485320 816808986 997398400 501628146 565322969 182383306 403682106 827105494 977012023 450624371 970867082 20096055 661878974 110708812 12040379 554428943 194552941 835704636 206771356 10194163 947020803 209891862 397202690 735499867 459480143 993569756 850066323 188652575 462332321 779860772 869010738 903519333 588273616 616275121 979843449 35179568 584414387 262245241 739370412 289621163 229331373 315402703 85384152 91630968 803388942 384084749 998403440 913390807 751365016 904796839 767967115 251359120 57714630 534391543 212564756 290595166 988524949 976906951 932288023 307304987 30347868 788664402 231903893 534702559 176076370 336835158 534224168 848316660 541623471 22298387 248078571 271532108 877749061 746432710 741605499 61062636 34110656 797407628 574655370 254698485 316602977 311915083 442706633 495261422 952470636 721724607 810920128 92982276 286184012 945082496 141870651 557533984 488097967 403622555 452689761 828827733 202188775 858200682 292663580 742653799 799704485 366417884 43202944 788797592 4604026 291351969 900503102 491362966 859152465 963387372 221357726 505597766 500918170 792990869 951164353 762038616 496342855 62997105 280315863 864372335 264871961 820189068 38337954 549577508 482846730 445699520 193333721 857891065 8002161 930569820 324441536 168218167 588102003 41451103 691007639 4685398 85382877 287532322 758203458 115756207 673917917 276755392 767126207 301816687 232712402 641585053 676713457 458718675 637917979 942594726 534700728 139054222 956260004 463752519 678381176 173966432 17683423 305834734 62009225 691345813 502701029 34195258 372345218 858774354 932571116 733851286 627369689 166431874 761741915 297005399 391376199 396705081 685184973 386689159 136013845 37680064 381639511 131361398 886661783 604504597 157524612 909617176 479522745 428887530 33529876 661657094 394999678 133123198 777302845 676171147 294266830 461256188 411076184 88997271 615197977 498867994 662366780 85461715 697392127 686695769 925199231 353015008 77443752 891051836 666190352 408313229 103525131 110371561 355285716 562029903 4734267 34246942 814749240 341487259 819779999 719974769 672419696 44312375 374061094 638204708 67468563 118433266 510899206 806571159 501686028 205832097 850090361 112922419 918599768 639872411 198434915 741572249 42764948 679117822 2807656 491988033 362903209 214342547 593897497 689294911 723430107 771081019 349216807 825739157 613448876 217685983 899059940 880953266 365665456 442246524 699562193 797532734 293857584 113201904 176221951 880512863 534345903 15181383 311323112 602559274 475307100 15067315 155406206 678545277 35480300 469224827 805071613 842817278 84385469 862607846 227280091 769745756 912156997 132001221 547492816 727959494 886735078 774677195 495524787 932835784 604986005 767922756 112924138 493890260 788829249 224129403 574044795 475628680 571313816 601504936 424004614 804336174 473958605 642540477 101569644 252649613 470214708 998734344 300038935 738579175 74047273 697807853 957570169 771605503 597535070 885336280 231355209 892390600 111536636 398532226 548099070 26186110 858046307 571105308 780340 290571240 574568049 163939365 483070782 385870933 759543318 755823301 748323193 101933785 40485362 509717544 590878994 494033829 116760608 357787833 781646650 498516873 946817003 802032405 671863516 614520753 991212138 54468060 40173990 197415521 699198254 956249481 425200616 188924596 736275064 38204893 985426917 364499727 304859977 544302824 691573977 703039685 997637611 552102988 209346258 60501873 705588301 596902596 995053746 266747748 787891502 848539504 905088721 785957942 852941823 454812969 16038463 483148619 625472819 890532524 373107183 282070622 33476636 63479668 725150882 299356390 797400632 532153864 673680988 252488673 698531539 434199598 421838196 164555747 927457878 358346878 310240316 641658906 278374893 78955908 328198501 211594110 614972425 3717555 9200248 753396351 595377367 330364414 730211673 614725172 532365898 667202354 971704002 380606173 809863330 455769465 998412933 921487414 828168651 898500073 750888861 188785835 927858254 296792060 923499139 287821028 453808655 562750022 521356348 834997297 407133349 354752856 480851248 476746652 984103889 865293884 920106576 160241297 177688693 937011799 311128170 559901247 15232130 264777964 552989490 850826528 14217073 298335862 821447162 503706909 874164370 925841771 700709644 352745379 184080015 896415432 232340257 873432509 524440120 429539397 290019419 184765596 592018439 20321803 373705461 433601102 799509441 853774381 893433641 826240065 38009375 526812860 963227520 791029462 115696188 214015414 305993826 86024136 157575890 755503559 88415615 625079601 236138806 732584257 247424510 522633861 550948259 687840375 762717295 691148529 194931397 351743697 812240290 151076927 403037210 614838721 796973092 75965398 107972666 187811730 119005051 810447514 797009545 643329471 972445948 956836928 613542176 211271724 480120359 219512995 433878935 252311693 380928059 88319616 865613039 352074788 792855677 184310719 338578780 338915429 821611065 987682784 692403153 508045724 719468785 320724444 845245391 843490290 386472606 444847018 987841758 578279644 947364572 529880698 635941020 298771839 584087713 436163275 650468669 437733661 201159408 727505116 615187549 191478355 641305100 687299794 128899738 432882597 887984895 987658702 143292962 60767176 538925688 20520355 222059837 509593923 259835545 803220624 216803205 721135320 77876409 128794503 236272373 90846322 871601795 242117468 860959809 535079104 944832230 801520474 105061737 619931609 896774009 584935999 742588076 987463529 226468716 679010543 296016399 112160475 692062836 883807305 987221500 626712419 43277853 642858508 458944259 793034252 834204654 671718278 990425175 651700760 980581216 576448692 579890968 386255475 895464072 188907105 396317958 597623554 590973713 462885693 386466773 363227945 986686513 248687480 968725143 984479562 679671384 163576142 620388375 65048653 142437093 125405944 755455695 793779263 825466738 215306225 639423784 882073404 289792993 135630359 954119821 780621420 240883914 3108651 618939525 301087573 91194401 606614131 736179889 151526187 868320134 266152484 866017860 329207132 338305450 642153547 308288880 545545372 109261821 2723153 594316804 128864327 29607435 800904978 627939852 762726770 227964133 808163503 432186806 653367310 213999960 402480060 219606345 505071837 233406114 940791634 132422277 699839352 791885430 241766713 810424524 399147543 962636381 930103586 593347586 184604831 135839320 529327833 724625859 883928176 602948075 430107036 428527267 614595371 719911525 657310767 258831470 164077058 612924858 996078063 31177485 976193942 702087237 684331947 553413466 449033030 546543418 586498605 678681368 477795754 615726634 502682915 269257134 275861719 203174745 635877226 912187264 184456109 179487076 341655190 103446261 579281274 40301104 925939441 400219724 781912827 112985987 149115078 346041591 589131174 134388270 950632844 586935611 926231347 738096736 459857209 378515953 276841105 456692457 25020322 643293465 31926593 862569068 56103800 934081237 715056269 836978167 497464886 500936239 36029780 203557817 668453478 811560207 483383772 583588039 415058959 331442336 571226981 778965797 360240305 609331714 785698752 660886716 709467963 493032749 238825002 566152085 115366073 274109117 159472971 251703920 446249097 450595129 748181839 449323889 682974595 290545160 135555183 373003384 761342615 689454907 908913622 634335210 927534553 790490383 693902527 506110967 517981118 968867909 815573757 81821314 714841036 384957279 622896873 56861383 448874760 661598870 514826889 815842916 965873163 520346455 47901914 562873747 894257364 329888110 359957330 659388698 931084709 739263927 587705311 829671866 325092722 944020871 572620486 344836370 670147619 848797919 259164555 841634441 495592974 320363061 467729014 677263375 249067944 570158998 798363474 35751056 563554793 794393002 662495290 571919433 979582333 752743676 657476800 506016232 888397173 736295762 681982443 823222732 261542806 672772217 886704061 246176208 327859936 89642016 699216361 610292146 290357606 8992127 863076675 615518849 250759617 945696121 306099330 375032900 31897959 90314486 776716652 734850504 988492473 696893496 802083053 249868318 465161808 931144210 221472400 919185816 263858240 995987417 318901536 15391573 235663994 119744137 309282021 655083073 786948380 953067392 19441046 255538376 265601616 794231903 435959514 951514092 433863473 15519733 507418014 231763448 82280804 331506620 189790286 84399730 213266605 839116308 50320549 837677345 935969753 819954790 779396200 850203212 983507365 199719165 566039 154674650 7182396 144131998 365203797 770507810 233020505 694498610 64897710 290432102 949156897 447989816 457269393 333180688 851286859 417903128 734813614 649398303 232818127 421610287 291054807 381882684 42662146 437173417 427497982 107157381 423003445 521700817 744888990 464800472 564089776 850419913 717340850 495353873 505097978 536469309 463689725 157327295 494791800 627803090 296635515 229866386 488514144 785744708 952317827 626378132 420549360 916804192 719381363 660886632 627091533 357072712 521168477 887223300 843474631 181139626 878497982 401082127 997709079 273163857 268195331 950983645 502133200 279401034 568136111 597390298 747591814 830699694 786062126 257530473 212057823 751291536 858297089 871720922 846712804 429964904 549198814 525968866 632245647 717690662 179881157 413519558 464361392 733453179 533776540 46195785 735243325 794307063 167344078 949326269 561150891 38438682 701011491 693764054 483793311 424038743 218113752 108400312 378734426 714637402 939603416 66537598 593037991 543110518 141367841 912116654 601860401 142180388 187097725 824504344 173554614 290948340 370329099 569341543 254334017 857185314 657843927 211760493 49427867 683698277 418142314 541885996 205182011 777407821 63679913 668424924 86815532 964495894 903177831 59340789 254790932 395927595 703174232 948877015 236889061 396940331 654275772 197203847 413096194 63788395 679165867 871931898 904314468 974666838 304519602 41686089 60474036 952637651 662027921 723499310 729178629 146585595 748958423 989157922 449852558 82267554 852948976 223452419 972868575 458749419 730644799 770183572 98224972 595177440 314364422 174778813 854154743 713807071 654019766 102997835 424313288 864761805 251254408 313601471 18510924 725435261 908930915 923274890 758004149 98042834 966591868 347730506 550432662 880806668 982474664 690268224 208926931 107386045 3825131 832781544 89384556 184124118 399631491 518223600 69079925 279945585 917980130 145598349 484900065 666196193 389671157 158898694 835559584 578414367 167843029 324522371 524867770 13761710 408608448 83511673 693847225 451053863 960268849 27618900 896644694 926085799 212548908 791895153 312524787 896458944 533229962 914746511 136208262 152652659 320660093 237814842 861493963 427458899 140424748 552823481 244212488 729434271 201864763 243093439 801933507 282364490 762413837 399320944 295259392 879063748 934326408 750722073 197694620 175249468 558352215 103066391 960098125 263845626 737393377 691294230 869967405 301247946 719764622 917031601 505690448 339925024 514498853 507939217 616712497 567722507 555525419 506956414 982875233 164686738 918138881 921884859 700011416 176289736 423977753 968163702 969897874 687191726 38593454 944170581 342265675 197218500 756846790 432145376 324183246 223774516 980201726 931719970 921596618 154228076 138588792 105494198 676394546 783562787 698511019 118409727 272656596 806323739 75956939 899374731 589605917 910624215 878928149 746986432 934534449 344302282 828439059 179778582 638579948 367224669 131319551 397945609 515250515 946207868 735936573 444387891 653896660 49590836 744789562 183467313 145119078 213383202 415902820 254488216 214068924 807479499 164262709 144843230 243214874 454032091 134708568 414544440 14909538 808277782 771023454 509468760 998775259 511104759 12199630 489257182 579512396 527340967 267516154 374181602 893147156 20284574 880646706 440436803 848903273 727237067 463306972 37293220 25594008 673314748 481164873 260158019 436470999 401799739 896395467 613972454 543428765 734806713 96072998 416049792 519048311 825518994 669635901 958653466 51864946 797255231 838580543 787599229 579790800 858824371 349074971 219096961 88237832 175539600 50540924 390015860 941008600 77542880 234559892 164132120 824482688 569573172 856717656 868658452 721710607 276230847 647147183 114605749 677015514 185238954 916557843 640041478 763622292 729236058 738698206 694267893 915323871 752574140 969077905 714375173 967029861 666279526 858762307 60840740 35550915 104578011 406789584 764290299 21077349 703624883 159464527 750830212 326682912 707389180 57658223 884083890 930464288 347665993 28311132 993138096 224429491 990034843 686354051 191615680 65160666 636462856 338803955 475164806 364855639 615077928 178772212 343480997 705675118 383567972 67527445 208264164 70112251 966384511 594000448 727699671 854984566 566192649 429596419 154021113 439924542 215173733 981625848 366944482 531638987 979459554 791069904 911551143 163951529 851142366 290488647 668473972 352949307 236330281 104407979 737292119 452397163 613649002 748516781 751497946 873671449 69787717 508396964 471804839 683349595 743273141 485940708 685416031 144618673 66328565 300872516 649226770 814573058 147983132 166414102 144542700 480455943 32571301 114187142 473157640 663259549 555968043 699922510 453249566 444100892 473709583 591466408 756363083 802359977 835949857 611597742 759768677 533095533 486119615 785907665 494433600 747262284 658960346 855284533 92206850 660183090 3399044 700717294 31960310 295019739 379558494 813114724 863252816 208580991 586366239 4277367 805032372 743946861 678388544 210085885 721209863 16677895 886215640 851555844 328750511 339757098 78799854 91596108 439389610 654779211 786857880 56325292 200154891 734187838 524732095 682717670 821280338 69810880 981630606 233764968 326975909 679340412 16767527 363397214 54696125 620856428 488955248 124058573 842581470 655172268 510787711 644484336 552930265 589005123 885495335 436242480 705653842 749953526 908832112 975292056 907544734 692715108 811104383 752043009 537565943 174190718 851305362 930767082 789391043 701785098 454916648 257993371 656372819 89489795 330526984 588565010 982988736 365684289 840373948 548018387 191792619 463101120 423438618 693359841 133964654 725457890 112003211 524327598 761392119 893916611 418606247 457806656 826265637 242740526 471373083 186835703 380164104 322535257 235015730 268472100 67815531 700215591 363273072 767371267 997563385 688980692 27540852 64661019 248890015 657099331 205048940 877473397 581007538 905789811 606761259 463389873 134225807 558966371 111246119 586521502 476160274 130703945 380466989 914929817 236166184 833323185 533298522 130098147 370604577 404424341 65796738 258537052 806112948 596938705 343103383 400267044 563599930 939239797 435628704 838806711 173892502 958326516 761526016 326196947 733179372 264870512 679532433 566568148 459386636 845957268 682724307 736605973 506602758 380377135 207792941 954212386 298844768 977431438 559532800 774298669 374479377 484280781 735789417 893192509 203577253 158451693 953020365 235645989 858630294 570739976 584152208 918032005 573521674 791814721 710013753 257244706 938541657 137727638 745939268 891184388 584600405 532278531 799189446 926987209 764767477 263435784 37032893 492067563 146610130 35849199 538695757 812285646 281099647 691695152 823340269 944989651 630372295 969082032 780850238 51361311 896181533 326566324 577568507 424155692 334109809 806831452 451090234 685391135 255859198 387773374 430501975 216239787 296336114 195937757 838071700 149082767 856885532 407049321 784740910 505588138 418584960 195827162 948771279 668530491 531829867 910804172 963890091 151651228 113392305 624814556 41978708 966368435 361735484 167730710 533597965 73780488 651473025 897579806 757237615 39950876 848148212 297805976 97711128 662281701 862387282 185484391 366362272 739410737 152956908 775485529 948586663 487570846 344785467 406681878 26555481 557417520 800645890 551484496 545511524 682907945 642605791 537398784 255010527 921037591 342594572 534815730 235911793 855862972 904877680 99715586 225599429 755145181 734195653 474608723 852101092 166687409 648993304 808307264 631479804 799590211 751115467 206711487 125454209 326791137 843832843 204293228 709183399 779718782 352484370 951060743 922146051 944142720 751534386 835356060 845253109 669504977 125522253 664650506 319242093 45731765 109457071 10298159 257763807 293140292 467174330 528130873 745336408 946813620 53566468 296582851 152858166 213189588 714306008 514964642 858684141 361831006 449006174 798475653 530989479 277628184 405167138 876832275 713113488 832836411 990812670 618837177 945436892 188701294 175854059 536160301 748407862 517690680 924799673 874875141 123153311 746916630 460286026 1809213 812311426 825013971 866267246 85020452 238060501 832721384 569509383 168435791 415741231 107120115 555958749 85501274 57905627 992077646 179840806 306869047 962378906 515209188 688694184 40877940 740538226 710351564 831363763 476862908 741525881 386869581 937351721 865005264 465505718 707723823 380844960 618430933 895645479 711219953 133483096 785323684 920905737 257601138 795634213 128333952 922294920 410636482 36162708 44592481 983818270 464182078 579767262 139519653 632782264 71967358 978486119 449740944 854811676 438025766 297038391 378556937 300299914 381525531 956103913 446286923 377344683 950578691 467824528 940014172 968868266 161781966 805699139 568973644 146337440 432704719 342548616 401982402 284445646 190769321 568563443 480233621 928800056 195621948 813808769 659851809 114783215 873020314 670512349 724035089 624198052 1842317 566979424 508932454 505187101 325970967 674659248 947547988 978167331 114921685 614041932 672454541 935126753 140967096 974377721 10085161 158828244 397158191 156956750 528728948 60673333 425225696 538668123 686020455 121715528 514574063 464841509 423440483 440429540 825747723 959905849 884563270 469915718 589088840 372219422 660263904 40996093 624459152 73010145 343440392 374912762 558484983 523832263 440053508 733316826 984841775 565688696 94403524 106169305 500507805 144289227 370673597 116288571 429737433 864999702 791044664 430962496 835735100 967081059 994673892 668717739 390765401 842917554 42390301 287841074 335364101 245363805 20127295 723127992 495823752 91557994 718067455 63097773 66614116 469381282 212419530 524660055 391828 162188696 519996485 299220216 777833626 362456779 51088331 529063573 119005784 103010050 21218141 535753043 127679703 786827912 24239004 984275169 373573777 881406917 175616902 255126913 76236663 898017768 446039526 157085766 279839309 715829465 849995121 704949102 27969847 282172885 799335580 973345308 232788167 911738787 539323901 58297391 327233884 582598000 117748132 887830342 678839824 796556281 167273862 431646422 866470902 768921076 206649757 834155023 229879038 586212328 202879929 85373937 351853225 962753364 203705816 842160985 720926433 341246231 776570133 10476194 946255483 210418405 678027915 251767109 147256904 404394589 814764405 153339276 143780030 119195394 313701501 138122464 825326596 257507341 843088955 424123362 445257247 20990476 593928905 474544541 456248109 601477155 878969531 597406219 864781441 273475496 808103173 484777556 237933235 897363910 374193686 457831767 416139118 610358247 428323784 286854677 857080424 678030830 203056609 387661950 689655214 4351500 13485573 844713262 968488854 167254037 292580559 775086948 838145841 852458828 518361531 681523987 124682615 728870366 924514304 295325228 223210374 166976081 816303795 944551834 213625439 568460335 834890954 158593351 88787438 956130898 826192150 415511662 931018473 637431633 895069077 516207731 966002625 572938039 889604149 652731308 395426872 900451238 878387631 955920032 707361987 868714217 401926614 118414232 142475717 49979657 933164022 67968353 960796556 994118495 829201746 859915279 61654415 720268153 263391977 821531184 192739390 446667606 531557198 672448211 933787043 161568692 644089096 591769470 453412895 94011707 611692927 814608536 565000768 201963067 892083263 664993554 18510927 685986729 434788783 92255648 353252658 431191776 321285342 846355237 584376354 750176016 788515128 346718640 515397351 542349661 47542611 299252436 677328609 475748302 777763602 710359145 358296928 479245530 310962414 942654862 173444820 184327239 950494663 32598003 836337032 591631769 622375028 63348314 654046126 136397764 237178887 536528354 440552009 858823245 353272894 731012874 131526913 344595121 772845217 541459801 484195310 451456527 798779788 442450864 893738639 130147468 374977589 189379924 923739892 752342019 51758470 136521443 117167224 781835138 152026199 722521948 954639077 90818539 494857002 927913060 608351156 785763873 935425608 258537032 103311541 903794830 487881706 640136965 28676203 489372785 1595364 436452052 811351376 803881445 769963642 720265337 206346604 103938270 136585973 623766762 971299018 125501614 849949557 406837268 829448171 249687335 286264340 9449809 602115213 380996408 241731873 95261144 137295064 171937527 961529583 630748063 874435214 527576471 823085933 854764773 827754324 230766365 295049570 870888479 893324020 175113241 983456778 54385474 916147304 653714371 153708309 245969229 366548908 680380368 824216785 536370763 670001373 537807539 685610305 401767284 161520825 808092119 729955725 104541596 232407465 657848424 640580832 803365727 638223240 771052077 664762014 27543018 54512652 292591181 156972238 48228861 842590406 787190053 455233894 253698522 310208132 923161258 890409461 838850472 31844531 319386076 436297742 919566568 114632726 350091310 161248351 970955327 760998482 952715222 992384623 806609444 401582261 366682858 287040544 222383927 804650971 915335596 104287955 628769277 112410101 181584144 239758717 995829204 481128658 311923381 956008989 963312538 302351920 354526263 630902737 933090134 649615027 855400148 121881521 761267072 483916230 331045790 604492607 663306810 196873082 722951138 104376831 263913479 877468946 672268358 143279997 808004134 3401292 339079286 579407608 371110883 674800664 320478434 969245579 400431023 189019150 379683020 650090989 45804095 345815688 22469069 2973420 730304486 377869171 886529173 218007710 742339861 452083484 526842372 103734577 412393428 799697636 998068867 77548832 573874520 818481829 41548378 191271529 502943199 387936947 682673342 391618068 406563296 772214549 259668300 169283812 67709171 154815168 276680044 59488713 227998375 786551551 273063687 114613723 913130427 843207501 631463864 872362961 412952603 601038306 842670704 87946688 369353900 963993215 419596354 87225832 73551540 786298386 486713172 684714725 441714936 121934875 54338613 606463942 740970585 607842359 574918132 27648862 273664128 311145361 869696286 492235301 649948709 587193684 704878471 965845192 577669542 733734291 110916639 794181014 332636381 84121354 590871392 635198605 562288860 608729542 3971467 798334118 482509118 502769677 527456451 615371511 48070123 642991277 951084542 538198427 24124060 907064615 815617612 942130283 258374911 85315148 586569795 359811019 369008986 456805684 844966830 582999151 328073742 646731296 733695845 210179113 169510009 91454671 120016828 841458031 239057382 836332605 852058407 493258277 416703124 170426945 100009566 466787658 255225094 746412081 264468862 688943982 327773902 750145243 565579298 471212840 375360192 814004346 597465237 752404870 585950124 125377425 238776338 822990511 714348613 470674663 3209850 463853963 449970566 811647625 890565377 234638631 240881390 368068796 869576055 106510752 800438430 654989086 420751344 327812811 208388644 394332133 998030454 278611156 543214384 593247062 917149160 341476798 492429814 696569831 287243020 178344621 247938585 391444334 562354677 919300200 754598898 620392692 535571595 132250701 357588443 292559357 698391283 138789343 128927514 886707411 195132138 650630913 545809379 114894152 537790714 782454936 666595412 397262776 36186660 485086740 817254482 101325387 232408909 544552368 378925719 68347506 996702601 460538643 693126687 918073335 541602967 24560887 812967955 198790644 549617546 203246365 753024675 176137992 561793398 620583337 479495267 759262414 226389310 397035798 596315774 557309245 804000986 665738599 346777249 807839282 641562161 507470818 260766379 102175813 241365172 342393647 898173434 349078232 109010533 812106238 587296374 279676069 87341884 328220171 451663378 165466927 412464579 641861571 541777177 815517729 496726750 542019991 276668579 47531091 347578570 933745835 690756932 922332250 7228388 409548172 329191745 620852250 612241406 245409192 35752184 32504591 829234972 282465814 209990456 401812094 935601487 828790570 844395257 610925936 132674330 435067189 174674350 135976569 366322133 202938457 888965034 53531155 280492651 426170672 276244085 259119615 573200555 436736318 294037965 794183235 532634789 114302088 631593819 747369551 555822132 804499496 423524505 928381812 218728888 502430329 881692870 70178735 702656870 570976782 961254578 901039913 732382318 861384846 538610354 261283572 89286181 663865089 24702758 197692073 214334955 218035397 424809740 42560031 61071249 489287873 711782625 313540250 876764807 804628449 705290327 386751122 566432680 298115299 302069884 764381833 695918616 678685359 440547188 598806884 168347269 918438976 910822446 147838381 868478411 396653787 460769477 608780916 907043041 361068004 163051843 335534608 157935562 377128210 968224607 558868434 90876373 40442877 415646711 882999097 411701776 55919598 264158189 523079402 986407562 880726921 815131598 851841 67929524 213007615 258844911 543084593 854893455 198988112 241525895 674155803 34054475 815212409 280586389 982679059 12101171 556090687 109688403 958802292 648836743 296620205 776602266 768395233 176758597 276267714 409347244 95954011 303664331 875876714 122245808 281871125 125989645 95252633 95133808 603327935 390938205 126269328 18853374 271816068 523143898 640026443 102167267 69649036 521373804 208544350 89260984 408424657 39978364 11345481 179508794 469078260 200286488 195704246 489166783 5723807 315952912 169097467 288815637 473361910 945183171 188033349 656338827 311184688 99733146 149499700 728233282 866483174 966290029 450632309 828076639 844588064 598901126 346255356 429268737 539007231 361427376 66387069 650407922 809989721 947080414 135136380 448340783 590768262 311824054 442073381 629071944 923418439 971969576 390948232 999750914 471188469 697994458 715050567 224678300 231037388 25560229 233404311 845672770 28372101 1456184 501723460 863301786 768094115 318005054 578992898 592453827 526973335 56147435 120521592 495089554 37447804 205623045 964013986 739267256 236730970 223397443 824219005 419289554 266185947 984417551 771235042 191881209 46253510 658018640 560055991 705137028 60977200 165587985 202727129 65462374 425576912 364947901 993180671 719803414 382506 759123596 502203062 520531758 235765520 851070229 360505529 194375359 213067098 926800808 828741924 316729793 460345841 40107978 848264976 252016072 575917492 726780514 553066936 417036935 669632824 429269701 590952840 637316234 238341771 665080190 942899324 437846518 362352571 337518380 526776457 911715598 728882546 629262799 413973757 798775410 509258042 128151224 864698063 118764168 82134455 338103640 282186804 170395479 115930926 697180433 138486233 68289695 536397982 121184720 804325307 593450253 306099943 347254504 391279170 467291558 777770083 967278535 236765576 5569563 604728239 874957646 699699986 868460839 418321842 105355378 763214514 81473688 464553048 655411658 76230310 753789047 736286456 550838818 748778678 568885827 399822694 14708451 98620964 977739252 224467914 306201071 299499959 850449951 800271819 164004295 185038698 155058635 316659896 539396606 88333928 298601885 571266846 945884586 973491006 191332859 305508649 596065082 815626747 406808807 625283825 909148425 392367545 169402190 122885112 713310038 672611236 235684824 603445326 948252652 855567900 478423656 138360784 457231610 468862676 163360426 712887170 246551268 615774159 767846129 13684469 309056097 266230508 226155586 946775393 252911633 829090142 200180873 279069440 387074848 242580633 944605509 326902201 987065159 490961683 177920227 866375615 269395460 232788605 357854006 49512465 818919255 230494018 338012810 16094418 616597988 507468131 385978277 757595940 772924228 32427112 343687167 54795545 564070457 582227281 691834044 731391596 354795800 27539303 88473593 356995436 505943489 842895517 376853856 28394599 275573258 718120064 168768409 874002129 635753378 369382095 507404584 511980602 377826276 462191930 576192569 892413536 320969402 472850264 453216103 154171207 831978372 189914506 394864149 604418623 816992786 400381880 440021996 878709785 724382078 306166365 900803701 60512350 629810848 125385846 703231223 642367180 378421639 149919886 99314867 231144299 17869506 734586366 664317473 588550589 632980104 269605702 156034367 349313480 417326048 902236599 479435679 925276602 384829962 3276534 982436989 393146651 902770280 177926703 764126206 269284167 112774063 981981167 727208808 849212689 777104037 496069062 900674322 838649921 438067257 822638722 26551894 783470998 818994777 654226958 38428415 95192407 181960591 787263638 766934907 487832519 216391132 445928715 575481617 415226553 492636720 663665162 872373042 395473262 516064544 418515574 229274666 116214385 757667792 367061004 899841800 722574292 251631141 300473221 597905988 241190754 868303426 384198229 455460321 508760018 794618783 246280704 360007183 343871840 949617138 997106454 965658556 861244395 395190702 89115238 251322934 55296686 249816717 626462560 624039263 401101996 663153841 794619053 590230286 64929356 493783063 756202830 113434131 329441295 342080442 160067427 891496800 614775840 293179047 320031396 740966794 441375005 251359419 90505794 188683673 119907221 185333858 686158338 111422125 167942407 483134188 984113562 339427221 779039077 411735443 661816211 669470458 678030972 555902985 39310342 651038724 474813399 569414238 739626328 811628220 417901773 279853719 205467964 141785961 43256515 97353298 754017126 793942375 116255767 483307938 959050184 393814214 790916638 267557213 500374176 280788341 645253836 778232799 390526632 953895545 535264253 924196516 527879918 669228988 92707800 570689007 207224501 92461997 943557926 334101399 151552058 261720561 700652398 199595418 454492824 603191901 367239493 883191434 868508733 706342460 287909459 558757794 459183048 339141490 695378483 899038357 960823138 713566551 114488559 714384089 765512639 951290050 406520736 701252637 207483043 992020116 565189255 388484528 998111231 487327682 943633617 965205984 885604956 130320405 578409080 434106872 911621768 37323341 605441318 170327325 82317316 11542946 470758877 938598845 745689905 376576570 518592624 321530873 183257218 966509390 61286481 905853963 747183656 565479309 566598457 231375230 458518948 946013337 760970721 145796163 945780938 210003496 138763136 787510214 711525167 401095694 608111674 540846454 934737823 436245269 769857185 410662065 248634775 571027184 363784983 950160893 348152384 561152610 28126942 124526595 108433152 395867260 535590709 507418505 762482323 622114249 772169785 123847080 408112345 356911403 39424289 709935868 935472372 332948814 178993874 92152474 802814965 225518667 630349753 640242983 158812804 595329396 919907765 21887476 829311930 593393778 838401178 613457955 475277731 470310718 865587266 996289348 93676788 242439866 613979630 895332751 982279671 558556744 149853032 630095088 646909189 701880678 505747670 935242007 745462383 76179656 267092910 303815892 286843352 20766726 749636503 31221755 819413540 803754207 429024640 676375120 584947597 89665722 340884363 978594853 673633371 582490220 623934033 363506817 538174254 38243309 446114626 203757217 429953485 630209987 91572755 504338357 720797316 911162891 669418965 704590578 213416680 858754881 671799855 689262763 658624855 379451150 29135995 817431405 246530105 383804562 794046810 89251252 160475332 799695839 309555087 192475814 783726540 358613495 571559194 363140837 515773547 810909525 807581627 680705072 837862988 811785656 540145638 568834025 662839490 760712444 386248175 241590112 353394620 212509378 572482740 920280346 467579323 38740179 165344635 871126898 8213593 535252335 788942032 660798459 529020375 535804392 186880407 262992323 310317596 846255195 510921505 252644025 991401679 976509828 947188452 748809657 200873650 410510408 558534218 875249241 875582655 545719893 207927610 98304944 986928973 785121706 884859350 174238479 600500414 967181523 175253427 429822949 575990889 404971051 606249228 592734812 189099796 790580652 807306965 982704247 512476967 938263368 930559556 947070352 769278431 86613649 209088905 639467913 796892626 555886540 221427127 87809588 610168093 878923326 3464563 894690556 72325939 94980815 376825035 350180889 984278032 719255846 112705700 300502710 683944793 978588639 971523572 606200423 730740462 313390645 562709643 333590410 876920142 70117028 574443653 994320061 77359982 377599055 313790242 93798703 413310437 377491189 645118883 724817386 266722619 911343644 460265530 56144168 5091334 443068434 457313527 749873827 614571773 468546936 440867144 337876011 999474801 974456986 307969150 872390094 703958732 361766994 388445148 941231725 28888863 270462134 561274446 240495084 447070684 115836626 24820918 857138829 311991973 432316285 983350613 751981011 876898059 55067881 544409792 150177575 247598367 99638043 917652535 727968246 518565834 169321634 110427093 968414892 497718177 124840800 515251716 181320864 121200355 621468506 33700063 709426845 417720412 394763240 369663957 631711029 568981703 242171010 841444124 998307499 928579766 111723263 692151177 61840573 687483044 436914104 641523121 43863445 79074274 372536659 199939826 185633250 155836465 529453708 351261638 670480213 277054247 255259806 799600348 278648 114713543 680241637 193554541 298488173 414307685 572710134 15295258 497910851 84067266 583165771 48214105 785419381 575512003 549536398 205038865 72301933 114480428 808481603 362421 676715000 577377569 771555492 430948669 666723035 493966649 956090817 383503896 402026231 239843716 140353530 156081271 941187035 692677008 681535606 493148276 313574641 227334774 74855913 200363246 564580869 525795463 657902805 891747600 157127837 911814413 897179430 251305727 112294949 796154759 630103020 556531158 220743130 372022890 814199821 603670873 273689376 478376259 921152456 491104487 459510477 381315291 166604216 812053988 394667473 260071564 386757752 529916001 629967174 847555772 47603959 22782355 124360717 776328285 68581668 888830454 812329103 56558869 666312092 676482824 214322267 568685141 697250702 60326051 56350304 996795757 437474098 263720496 107615351 869256405 466224176 423633434 889293838 765050601 670941909 950393144 383305704 459842493 269818679 210248900 946179566 971042076 293113128 119990093 34481545 781998318 807952390 812637552 525902943 117343280 372348707 360415579 51574784 570993510 231994589 236042826 726258633 541325941 385322252 670638962 554923991 361758999 933739855 249191216 804074275 113534772 678232626 584214703 958884606 69925698 660177538 161203798 379559658 911389463 489017627 779285111 311305718 824366288 251870660 869671852 836086164 989779880 440351579 463328678 87891918 456338465 932867996 187353587 564061774 645217291 965361289 522357137 144157575 310394516 363359473 751714126 539147779 430356114 911381108 96492272 191509440 602571945 976415034 987556584 501331636 896160954 979727168 825577802 403181485 469813996 591711365 192986116 252160943 11007014 693551255 525356845 561885485 501492221 757124721 746456521 937855736 343680916 534589583 105899667 864554127 76325010 869471879 569202906 826857424 125699145 966214662 598754699 177532379 207253431 764407483 504975428 839641606 203155827 253169108 422788141 889722422 346140138 677424680 260900969 749667598 107098743 114484532 936490234 101491442 957249427 361988805 790404557 589121568 787240603 520020397 622818265 461707739 359606834 93666171 776862784 227534358 610341583 360510908 850550846 167511440 591639564 412924670 254215626 854925905 661553892 384985627 155832800 782099217 298185791 507423538 556725946 687629532 17654828 63656010 903391226 399272647 473116559 871769245 20048705 391173877 993480720 308386935 875773134 387390886 525995967 702801615 674699766 130292569 731434201 774631661 670938509 88798943 549225109 225033886 167034359 217475543 897121464 271720539 829326403 567695841 653628497 455800018 452438663 679513558 669287240 462520031 443087912 536985350 913851582 827483837 314240912 836134325 728997509 154603469 48359932 432322859 816192214 85853429 620073763 112878979 471298222 471572318 358953457 834997110 288991651 404251634 330476174 451448760 419826969 248625495 985970372 857189630 478845110 656694815 99944209 711543820 764373845 333791957 696564072 724044860 984611866 726387416 417084824 688560727 817286701 615396047 729842783 952338673 471501380 984384897 312187148 438152719 459375122 739323646 546737467 836323265 242718975 900859355 782673893 572939822 773808643 58752547 923366303 923188789 397965523 47242768 431787239 570314868 190095022 896909670 332022368 822637932 136196611 98172519 655412770 915257475 322888114 717507050 543260733 271953318 751403106 575080043 641496891 987312220 106512444 609247160 348166900 201472493 645473827 722188355 634468226 669541914 100015493 873710412 871718124 379684625 947543148 187333152 620710998 169095546 865302536 807552318 91898502 687358850 122985477 970718421 720121562 299112655 772615658 474528638 308345216 324244149 933476297 156235885 630305247 743557143 524224633 609901906 790183404 922819616 261713368 252861826 491485055 769672302 65070946 33084905 727802779 761046449 40741146 2586578 363521907 201209426 404649961 227059215 943812406 290470001 122813102 942494662 809446441 225291312 991070028 333771739 566126919 772280384 602955226 767713783 322066552 427036112 502024935 909444182 193779371 159732490 753095693 978339493 710503358 666478506 472728461 834501851 4073837 682513130 550433236 567098616 190625399 887204689 892710798 484095632 723362004 773132441 436407938 364427551 153801703 703115161 196373156 446968249 150214880 509581685 143053620 841486505 815896308 67413042 40505126 961924148 213860333 392917108 423818758 904299642 367028727 463563307 968438782 957756882 931781557 878008275 337419838 678129387 598730750 55899144 736525047 946950558 124812419 177528280 577817661 802465762 476522229 763669622 342080518 785209864 454592492 18476766 388805543 620033050 909493766 829494249 495223801 240124591 664912067 860223091 518052920 942217772 504729672 625556385 725470532 333671731 373769649 786787257 718932995 877173616 53075444 747168091 717662794 871481021 732967487 465833236 34367287 327594338 720483719 544338256 856901508 4902643 586976006 20350094 866930212 989119027 763692183 473943922 494931600 201035760 133012284 564770456 255171512 497163979 202303233 262206317 382604678 885194938 197238450 578540937 906985527 661522942 971421848 619076265 73346346 139456577 336085513 765756836 281733875 268252281 653831941 496448881 344321248 7569420 693711142 339411225 281746996 375886772 689674679 75544604 422412756 380109342 448328846 676126436 348406711 413477551 897789486 933392400 486583323 816330265 166286181 17877498 878584409 347580762 394422565 960214161 524309294 641363324 774795301 279423084 547382239 98680284 682706242 472660104 382307168 258549647 960918413 470668372 857931362 228985414 150867229 734242582 452514557 212538640 599783443 868937952 936146559 667291534 847807805 387835795 22070664 227721678 199341692 303443278 118304931 773729059 151961824 870764302 781874212 504287551 712097867 261216658 605224862 255918500 555834319 617700386 729058961 45403745 171941327 218633895 182776750 316685163 193940818 849820095 831689601 515079255 79107987 52862029 166561981 373045841 31101535 163115599 153622300 43957254 593291780 567811167 433094568 107372603 25697536 721495035 792708554 775669839 27870284 244156615 51749873 42890511 99657781 335928689 36174705 660410738 974824763 671868915 636510368 271408984 791928117 676170162 755477586 989758579 48108044 117421999 747090967 90270997 808305814 110223549 953236436 716478905 640241653 304257987 277925676 242870255 459835504 765652795 245836002 417025946 279174447 108428219 781080805 464716540 411057809 104404052 36242400 762448847 913733104 375756616 854380004 89175843 289909395 235446047 579512779 20204858 572768734 412807221 500479651 514913481 244989541 753681881 765066272 946848541 874999796 722801446 719522763 515539629 786015451 923951434 771841011 902996613 623704102 146547570 270252533 779642741 541599435 533677891 653843603 466066107 33900170 887794667 417982495 392814402 446994064 23589048 802503619 134480555 911223258 171388867 214786630 714601980 468155647 900461374 787283191 229512100 76522590 409720188 562116827 364600946 488407401 184245981 474308633 250242248 189869563 333076411 56950362 461612017 242171963 767767105 687369016 57113652 938320414 287258796 40786236 541529228 183631496 507020663 657910146 806741984 906320707 864279442 381669442 506323860 153777579 248155329 565664729 14666857 447216549 283309019 803138737 373829233 841226653 168410442 941341792 533083749 940587983 582510578 719061331 315127153 999420590 777217572 65899663 618166783 708447014 377501063 36402852 219438338 303758829 50717456 963157824 282724395 816471050 883944894 980951658 290994647 961985073 280424051 625267879 630810499 274557895 448457210 612130462 438942629 379574361 693112348 401902793 57818254 732329943 257406236 59457097 759212603 286439876 16366286 770556801 181249757 307795570 764290441 951429108 749458971 949454570 735172088 70577552 172162478 908684870 5730363 105559496 998855759 302174269 348121116 904889256 484958220 573322874 580417747 63720575 219717810 675831231 394009119 587153506 842346490 265450165 118343916 647119530 102496717 445711652 98541949 660043506 669648723 352373344 390522109 351222557 305123305 74116071 881280144 191682094 431671825 153533784 583628989 479521938 156286654 855234828 645229513 707210977 823854336 172265217 496469033 448917167 800890505 963032247 824984001 866054063 415048489 151957019 163159536 433503420 348322332 879554209 36361038 891830149 255335208 166929111 6256166 465900179 414146877 857727682 221131492 551430688 969186176 144343242 578027875 335322648 110434462 656432905 231159192 468189645 954464939 789431522 869752954 768310467 160745989 490370441 920285441 206832293 997732541 303979319 66085990 251921424 15188389 70767528 270396047 858810096 550820506 143510507 797973071 820357908 430646975 883508132 784453379 131315241 403911686 245139149 300918448 720115173 329121820 260949991 670199232 246008110 983085504 458773310 260998720 425540756 628765568 257881484 958605662 459701063 631397531 484823015 576655137 616365371 919368505 93831205 551308154 789532134 497189261 999991441 713052309 898739350 270012250 353958226 238033062 154546393 643737472 139884928 456876522 461686336 314259152 733074221 110596385 575299958 651163208 22645262 644284705 400513963 133932357 476754378 640815246 915384968 879075387 40121771 604512122 133687717 665745911 765670484 470759167 257119478 499340872 959615169 621020141 755867966 798983440 862155495 750812242 166582593 347213413 199944794 845413471 897599111 910714764 100531191 78928632 607110470 221039692 702093010 181268599 574387138 262518962 385466756 193379528 799705044 957620121 179415409 287375791 2048907 318630652 501702056 563064749 537795013 409142265 203351348 973574102 432775603 787642774 831382955 57548947 648765505 812282664 627086358 902509213 923397456 74363445 782870517 351872967 301670198 997819698 284253991 386112388 523087771 673463413 813423505 213250148 691147229 3270225 927683704 942180784 705568916 503266307 844069492 570586603 545052108 163173376 934030794 93807809 361193281 701788568 601527157 910645543 335158783 905410273 762476045 539416977 387605990 117685483 21629307 993447676 744872994 462852814 176893675 247555071 545800158 612247521 170076826 554672191 684157092 861343883 639006436 893958904 144254752 26563816 522543288 305244158 318827539 779962665 391166774 40427435 552692424 667092454 629289383 533226710 635375030 406202378 719837653 562097450 510553898 440943643 511071578 139077460 322435082 167734711 771124049 980558371 957322710 933298030 101141546 267606492 258667991 6287968 72069855 568549881 446644839 20614901 785860449 474517296 327766845 591023910 201601943 439861415 856647063 886285430 490145380 743482635 967121818 261024928 775053645 337070090 76014529 722353572 61997564 202144946 450596349 596375726 221864742 450036008 407674032 837937329 208902613 808935161 118822101 103072883 617743679 85377648 509051596 793933569 501200550 667009866 146651612 550460773 841536450 425486580 58290369 45098767 678694462 763741425 878030933 998267414 377980357 170342228 106417925 508655730 279308520 384544008 97780557 356300517 319202658 887171992 431500621 776886418 4484079 961369155 465904374 467722924 205853159 189723135 642701587 181742141 335126649 665526627 813236494 104234329 59795936 844766687 596000499 470753663 458391218 459597695 562411152 763722921 802976857 57118890 607524476 369130761 546032691 110853158 880940341 737657870 360000318 704959780 433411179 772790312 210969615 587973476 733866855 21859572 929024502 59810230 346233384 58634084 375648812 658582057 165773713 882181657 456516640 876568535 453146432 552081778 913843306 660514287 63558392 422343601 911024888 793258385 971921378 462614330 690305786 197363680 842246791 141050844 462736868 573081337 794182508 412532582 731020745 336075115 487973203 60954517 793348510 434038793 481613252 977623520 456735581 595871397 998421176 363806619 168676329 626631954 166873365 621030995 376849609 362768443 723058013 127995432 281343731 3301054 508897096 308936359 55712466 437172099 909007837 469141199 32834233 880593870 958307454 816910943 893900560 213735173 797877685 920617525 349046565 844637464 862814277 423614876 204323484 48291364 694484888 341517692 44285021 367919648 238329466 746269285 506040372 248153772 951448786 565063722 714211410 312625677 358328433 957453431 512066249 369007866 742778783 341033298 139609118 663398604 761435071 291433139 519236736 536136428 139721468 873792535 451989274 55487342 675116992 772072050 475703061 5576051 513487552 373810314 583203591 764002275 576883063 413069970 484939489 556544769 928123283 990232519 606136005 235305344 494311779 237084379 182277354 163921892 273216094 234041226 182001084 527240523 465215395 496657859 149601262 760527764 254681320 225597511 260390603 323489003 104639933 765856872 910033359 193819039 225267534 232808174 110473944 352655899 327479120 457874000 957960809 825877134 627165914 792286406 671240520 249618620 314978720 53283326 279953534 63242532 237261279 251004828 113152585 136665631 735396500 920158476 637344945 719335946 286876073 931895866 626166451 847868708 800798395 677578987 238517517 166995115 668647148 604137072 989587401 585162688 485360443 760936327 385657144 195951393 439862735 570120728 239995859 61353219 267664652 277536992 553419023 140834840 928958052 170335119 852389541 312827720 787955085 5896416 578141734 337839708 983358260 100212208 343787069 795583545 316023697 411363898 786130542 84826793 195625446 9504381 324258864 842073310 88502553 842697803 221957698 653351740 48883390 331425289 600097780 982907321 360786534 41870605 26318975 445705320 43428102 366069252 629168386 431134154 810333429 201439475 393857048 461697132 67346676 258824924 324307057 855437112 98209921 805509452 857265144 963814678 33042430 513640532 299735873 21875480 626853090 70899173 803385935 750694261 530886075 843526162 398237018 360164201 843112626 732728364 935631585 34044659 257496936 781234163 436682989 770866914 850921306 827309111 439268175 920151776 1069116 502661009 287383790 960982682 10965509 465021295 217607967 307261767 580386876 577517280 25539961 703086696 555286941 609982964 537545404 139301457 550459301 883067836 654875654 945746128 997443128 175016410 693494965 140066734 267945594 675622192 661089999 985838261 703121780 454971565 968595086 587579942 38294777 665528553 672259179 76200807 156779727 829132000 395358708 221959174 693943958 48547753 989019201 121312439 815311955 126428377 982561012 111531720 758599155 18037871 449637298 175833317 663455675 759106096 396085843 441321283 317193704 940251711 274834412 553480664 756678177 977503625 57569480 691588351 481158775 540367917 902910063 66585218 711825974 83024222 359104964 372276551 383050813 759686350 986928659 466423981 403559152 94674690 277827716 436626862 790947897 652812633 528341325 961689727 614615868 248697691 951209730 392420930 256117323 109839004 775734533 413617431 146892748 346273168 982262034 774547874 66646174 486533261 629674752 84411516 161519852 798004076 260581277 868472906 767188864 423023704 858324251 515350390 461640879 452120218 957094706 218182177 307044251 305035884 371083192 681934997 743903297 182495276 339577667 116337192 983781492 926224626 805228677 475644391 196392477 731657567 719765484 125502771 885631567 168394020 523985416 35388107 150737618 502103480 245522468 861414403 137052896 680056917 461302223 543394468 597562897 556005428 332611112 683981624 987810017 348610754 652532427 873131896 700974684 509446649 873467775 839675397 731393344 5231623 617514438 874684395 360719060 882542775 988500328 556693102 900346489 786871483 570650365 146754007 13199628 131452403 827839307 276747921 484546077 217398464 796906587 214272404 706925211 785287260 832624568 7910206 751073857 107925335 424308934 338576645 411610095 144902869 680593676 372226708 638952719 107832380 397254417 168856991 518103488 779837445 963600840 506443618 724888966 719597356 84814727 156284058 274411945 765120536 814781276 927977266 958462692 978575357 995836034 922967905 333154678 486907846 456532925 725397221 183072711 863469566 972621942 382057926 236737743 634944589 728338406 690767978 86978585 427914169 495520894 643224452 551313740 411165130 586786509 138974852 180355447 432201852 820615115 118234295 913946935 306631869 263911674 615117552 998471675 154734132 975368 952742571 970206318 594201429 862859106 830569978 644166075 812878339 208584111 785320856 411899859 159539096 162791744 224562451 533576280 745437875 240117703 639664192 951382949 446382730 379439404 644994732 405538178 306020317 611936471 603093762 537150280 198792946 120595152 449409800 424984555 10816962 345553764 665402379 82405974 468055505 371169696 590220110 377054505 249504764 460329655 915904780 405562473 27394454 928819865 205034436 745241586 642843933 143545151 424500719 182722044 631348284 254237528 718457799 75855366 654484339 7311590 838461514 891849068 353217535 692965567 713814888 575713419 334836874 337355647 253674613 313001778 312568248 163890100 467254848 20140269 968713444 210507979 477656831 472188558 406180073 36921079 843847508 33583330 753276204 562569636 906907974 741361894 632628452 971371120 662578396 498630612 29669948 170325442 852563870 106327845 97113067 645444365 811750158 84637613 577161878 391892345 990483419 840359572 563791109 137244434 404024007 605573015 456167838 59792033 418344218 249226113 954643873 248704732 263191201 109967911 370044030 24086404 889484146 679903466 835090826 108242958 910405681 930677692 689587150 98708312 513340443 181890266 870486899 803029953 199376387 634451416 859678831 199519303 334702484 741457468 945388491 349838600 223830673 734872733 825187239 644695257 598513205 927661666 99216817 991414847 562747258 368777581 441994083 94034414 209311970 290108688 39692140 491585015 441919776 999169321 26153915 604657633 631174230 98646859 150911056 686530582 477503126 531453322 746299733 287040376 445092870 243862939 199128511 887014505 797575195 808985729 361909916 414254470 347160370 691610513 934153037 974881806 534536565 30317065 268665941 403744264 903195021 761141416 812605320 907827609 455963003 552126779 369994392 724549525 283571364 509217396 632060077 424830539 729979209 603045178 531981859 929792225 723971973 634967936 610600133 490614266 730605558 796685052 284734367 520604082 629109363 977783480 574715365 245157901 70239154 166810421 948026365 802556427 496547103 450773008 72604762 442166296 185835875 689441893 426948307 302222877 887209689 52346311 303874706 651225639 248966055 526911063 683125514 465334666 310262417 630700465 262299707 32378730 910745648 999875566 338975548 409170601 385859715 61944407 720311798 801827136 934952779 986334215 411578987 701004373 389477532 75080247 594930661 951262718 985508188 20183886 935684783 300339250 419026126 543657890 691433773 187305293 791355858 689107102 897073134 293873568 169660375 889348646 572174170 12273633 768329641 477181208 201597832 310422004 859712374 301012247 781067608 805529788 490040219 795543081 362685076 26028288 300450740 55013707 619580882 541816800 462198941 89638413 265756557 137516542 19156331 500074112 216381500 389112192 458505217 250227831 639865594 222297372 468753566 942129094 95430443 310736491 91460801 96319145 320870568 303797969 53751108 338816791 32345859 891129835 526596629 591611607 422962235 777106643 267822478 443028325 798138177 607217481 45042559 343404493 158121940 857564172 39448347 654273306 16810625 589920248 262895659 187760624 326058248 996482418 400532642 731731438 661116190 751779479 364372395 881443186 523751194 974133496 457868716 51098432 835781607 477204221 114933022 978839605 961519856 633699234 20070131 343460910 709599230 723845192 506938961 468952581 424476664 508594403 822338885 566198664 589573870 691013662 893311693 908021037 462217972 384413873 65997934 179865846 898846055 113777457 631105280 338743334 808353861 777564537 668541048 562028558 738509037 181407528 297692988 664880466 839992139 268081022 699293452 822833972 558015568 866551490 603261089 680551235 907447028 611313196 235768859 47032939 338803364 885029009 307694903 598543203 175783959 944317212 161162882 4832113 496017817 187465464 808311231 639974187 810707177 753442783 158300213 197339770 568589243 20710887 160283729 123954435 342424874 489389290 25612147 439681694 355167290 77319441 693219727 89807793 728591547 516982955 529986617 647476072 240423345 683578166 443334589 690285027 813878963 573188965 974165764 504794649 536487648 218905526 909873176 656612278 992054711 939536548 200532722 299152911 964340113 739969285 188419715 201633035 164332781 493543887 662371506 141633910 501118849 341511721 963877672 826564019 499884199 205451974 655593020 784180216 872883206 633300580 785702112 376802323 646837578 527079565 921169320 35069404 419057151 531592625 249098966 88863844 435686995 503818697 848832472 698139972 303332364 208457085 306886174 909132442 699900196 200873263 568143985 779548392 576797507 887732862 113988495 661593930 819327464 116264447 574750937 228450012 354990297 622655110 849461171 40357272 857740736 941785733 120175078 866428328 102366636 687583550 652305401 171624729 952281555 669082274 866849043 452249867 542654994 994101200 888576734 404861230 223106247 877635125 644437808 731196468 513297549 663082584 897621500 17483120 789636314 981493989 852164302 527653401 735509941 33467503 266208994 89162711 561159688 85048023 21549795 200224701 505539831 868701904 873414727 671568353 323080645 613341263 10344377 123366403 933060458 35886017 385292217 898684692 872027228 751950814 452821150 11631317 466117277 831224910 733868617 805153478 59648820 507969357 885202310 991817306 909634098 786097627 249845726 906387276 795917636 453095832 384790489 258109685 840877895 710649388 131516328 278142660 741398430 282900130 552592794 66289543 587254586 707579992 686867219 124425278 388297266 321740594 696135781 438692115 799421359 526586233 386056349 66653942 184321118 263741377 849017235 78477315 515737319 342188946 767348332 820031672 219189335 718764980 79096254 537230529 216603375 781724888 893320488 503306817 340893860 500029316 205188507 8379345 228150720 603397667 240607642 730020764 113234235 248562885 265577989 966750667 519337424 725570269 789677611 921306615 538074231 986687947 373057492 231954323 225050430 596482383 934823723 320188843 369909008 196605629 860360592 62631027 603585364 210866419 767731328 347841403 745368889 152369834 303131064 182985324 724560682 173823843 778956670 637200907 330210771 774436699 42784228 119085875 645062105 153557777 263610345 847086985 821460288 7402575 406762658 429923141 829342027 605054881 300942596 255475765 545983278 775328449 583367524 30420719 190344871 666926606 471874477 205078077 277317869 777650214 347685889 88717463 80728339 633456526 648504845 777136851 188206602 202229378 874870323 322640120 143644433 780450263 665594276 333878983 146097825 621520967 579606760 175533356 216742090 249576219 331381746 919512471 381440989 482651667 224830421 320911516 310099239 282140566 765543389 800005126 952536171 915259483 64459452 790595208 127898644 515600490 39283136 882342940 392623576 544871141 343333406 261589966 704948760 66755894 607924436 393873136 742665367 109330443 646123096 487080500 74284481 69005443 168139217 175301412 424852248 660983775 478128117 906996098 350481162 143797974 527552697 629566367 646711648 152258887 805192467 382745223 269259784 749506976 902162197 376968341 478765789 148723345 628559154 723730567 678095999 600053334 925258819 938251554 843148405 325294597 393737523 25127575 66029133 658103399 371998048 932891762 262224242 676510984 929376751 5424573 675471797 113446982 860298520 832745241 469239121 666294146 851395268 719653174 280276821 951368144 448389012 738980837 14466201 908306140 448787580 636527875 216443748 63077575 110158010 558722052 801698565 314139071 576616337 820071048 142181209 198911900 514497602 16873045 774388327 401106408 789070044 923563950 389970931 733408464 296905914 930282207 325572510 575167106 545696818 287731899 85752343 323519593 483965571 740160442 394657910 862980190 693739660 576209909 411022322 16532195 988806814 856637338 501928502 438409586 628772651 246832909 875414779 697907012 127736999 993934972 367970338 494475666 676013301 578828048 49264864 455805333 830529671 142751758 87239987 464191764 309864173 128714051 479799259 185606032 543679596 634204763 822922659 995604070 872071860 489409116 334589956 857451927 881189289 678262018 31436791 817774050 334194812 896046668 978035256 508654809 236975423 226091775 678683249 274177460 146707947 439051963 479861827 73765035 593489202 464662892 145726998 268118103 447566157 687067962 434738202 673763830 138850312 319451966 916484133 2701401 629124451 923481717 395632054 269325906 946199498 954726750 877123623 425223513 296264788 229789153 818708968 440542255 597368551 658556597 443276188 257236119 835605321 573572210 458632360 392067493 243177628 26356342 666404774 17051328 12159971 980999903 610492002 992534584 178384787 889728386 626447914 710286131 642060897 618099981 901506369 832699558 901558583 84650347 977511488 735919230 657526201 174433426 595443623 874634173 556576928 971866272 35117981 701363487 369988009 660293134 319481770 589966752 361671157 274376963 201952140 647991786 63830283 289350372 113416971 461882425 738884284 945358603 612579963 801793898 302646389 662014311 535818603 704967783 446941650 532749782 468035227 937180397 128317776 360429874 424651021 734422074 545514809 671468698 812377429 536355642 287065675 622154166 454801087 512053669 196951100 509483300 37143579 563959030 539081541 751599604 381460556 436608282 173414818 910261309 984805527 376877973 705060953 235140247 406681969 409375628 522249944 130192467 49132805 546555986 748572597 40050971 695174137 475629831 439788573 377326927 691396904 518430468 314614678 353841786 333565692 455035668 12939682 200111819 365960236 85031511 270684217 561004286 575964879 513783602 444662874 464776205 936462548 209300181 820964879 571067095 138435792 873421458 80120153 668033015 760047633 701522349 702182621 31189768 120466688 433190064 161827451 499799052 494590871 122970089 797791824 641858607 657403990 370523608 776600412 623603201 273457394 205328404 343468894 312813382 912398343 238835607 444000741 675841500 759696091 129090934 164706948 975159095 958708885 253484611 851655240 770075620 443154902 669691979 180736806 624122891 694263604 224663152 905437604 862923714 389383729 459420653 588221989 137020983 156549513 45469399 899389033 888570342 740338223 425960468 271411959 361392813 918754886 444824464 767813076 289318985 173681171 834280902 608280333 232860622 473347314 810344717 416113914 237255880 167843806 33273496 187747719 898052240 911278342 180341082 478108610 364497555 785198913 381560004 896363267 381153756 68639595 986822667 234041542 820023416 291850671 602537413 131855550 794526702 516687189 786375652 515103812 403204445 234206514 727723038 881925240 581431368 55600323 974722401 555069881 329914492 542219329 60473172 829429638 304305056 857486777 225905900 292187552 38263034 974542916 6475299 776988830 580958354 851466897 112042269 32957268 306713319 382133574 144096399 723691385 621438719 128729205 961527377 348448320 328301152 895299106 46104556 543666971 604758252 815429381 620529760 256820222 435627645 119460310 752805156 927208183 82486316 550274338 111381302 104717835 726512888 181564106 649917105 737616014 964138332 151430925 234863855 777777344 587471865 840843259 581002053 981090186 145467725 88701274 685702324 327342860 404159292 640816432 711451775 484437755 407594194 632069102 797490332 85202344 446727246 194108794 212987666 740255587 386458807 264265606 653059834 664663910 622020691 551884210 684885473 844318904 7776510 868405641 418857344 224048290 143087267 7807214 9403493 527733204 199864879 111521063 42584497 531666261 299267767 683297466 902228569 880539704 36892810 288277588 744007711 451406877 792604254 869789172 249535619 350117928 626702495 719789329 382166149 687468504 772403300 706105076 266708779 131360389 949625182 124131528 23624804 801041185 655308349 210983730 596853354 464848177 708362090 372631041 977495962 426932163 535178939 382876527 693818310 910857463 302720830 663329478 676097729 112626872 222508498 172431234 953133374 478780435 871718633 8600340 991336587 675894134 684823716 666030228 517622460 603450835 274685850 667348462 263022960 278028148 445262884 815148915 436339334 413314153 909252625 236039077 900139646 332053382 713129965 604265806 716075076 131582630 176873352 75518854 859908919 246855661 82107428 511029021 560564979 876198118 182906652 8951728 33225608 831797644 139629660 688111211 201382061 708480215 905057187 463856153 104263837 258781312 968687826 344010190 550818923 400845214 738609802 977565371 501357180 288691488 849312751 144967765 866070729 394625201 151250429 406909426 13799179 629993910 773315405 881802373 984530130 191986032 640699076 230219869 718137480 461959584 114312184 659530800 112769381 763927019 251310822 245138938 777996428 999201280 310223481 158989157 511392577 867185710 296461875 602320747 121866195 760833269 338819378 272277154 59045189 799263303 138371479 432929416 347037969 748334081 458585684 109204936 820001509 824294455 306476046 904096937 655427188 582724859 117389410 274289148 38074342 274901743 13217558 191073992 235158322 260336592 147752486 195894927 174992817 442235168 428628172 646645588 934474597 127797818 587230663 268795953 603068888 931931098 813977270 262722455 463535556 894045136 480635991 210989574 571899289 321329578 935331929 524366920 364869519 759175199 18167934 470083427 821978896 60258066 416106729 638523272 78124161 408319200 656173726 611428038 343028895 914568320 567809244 94957347 724539300 850253260 27705715 456154209 455825294 955222775 907464298 750710651 17697494 114031436 951038919 922872662 219466791 423785305 903760539 598116784 479035058 395425940 235701484 162157259 319236914 42446204 983918484 508097471 651769241 46690234 441095959 668992814 499150271 987007954 694859088 884257250 733488011 386876075 239002434 283619857 836825194 506734705 900858222 482598959 919932134 808275984 545508268 753482728 26073991 520645666 995708234 799090214 188200881 409362423 403989178 725722800 293323847 421887596 651830110 66785471 634118358 908348843 209548150 314178588 552414973 517076178 978804358 168622017 961999447 408852925 303646132 17451901 236336167 740088601 417899703 680516342 476966052 215309895 553977293 245185381 227854845 633319293 214013214 725367867 845534120 642770224 4388432 143758907 191529766 814074844 789491591 407680333 203293738 590646583 132962637 464904317 525357904 793942539 400829113 46752833 421810780 686095767 549118977 427808018 816106679 64686065 467220361 254515229 265688416 396319663 360723479 225187132 442187277 872406864 818271301 457376911 617420788 395744642 830358725 73244676 537696284 443126926 983898586 813592513 746966634 120607961 965740045 18210310 180687529 153579337 560365321 763555176 243004174 799250999 57840287 259192582 303906824 989838777 701266547 285912514 152217850 304334148 713474246 118198137 220122195 31017521 592049024 912797583 162919020 56028584 230354175 586983180 517125665 503546404 627847274 569056143 506443877 329914137 56805214 23364565 27761099 274021781 48472271 382400171 668731090 436578590 946723200 927699796 311649601 986904582 586803097 998467502 908021413 834028048 510815841 980402982 791741346 333159057 479573309 820105590 704734865 986592489 499188034 476102552 281846647 286192886 193445838 584671073 372475168 745927481 521372277 100344235 53898594 508399701 262338113 793631133 383590459 436337333 422598505 778667169 457569322 793697343 77173198 198778122 70373807 160229046 808931242 598997362 388998115 15613882 344164680 502870452 889499124 446195140 445192474 646217236 498002418 822279901 303119834 583896656 295679309 31176963 657863955 29062705 448191069 474297867 239510755 898416410 395093518 653803343 417881767 670422431 545593735 138894292 279777978 144779494 826821654 224860250 930309776 345093943 701174375 377921386 48317452 890467861 374467473 956486538 967799276 361965399 182839530 593472206 247880369 512926875 325872769 107905679 582831346 137087357 680701415 539281413 765448115 251757582 586880898 686870470 118219231 229275610 787703508 888893530 223659457 198046697 859467756 107716396 207496664 323064008 603359870 51781865 627605341 814472200 721005314 457519643 963184926 36902597 704672968 53084726 731729328 424890825 754063190 781412975 177086148 758240252 871424161 14908443 40915716 21906301 486549770 820268146 335580143 159584254 135868656 602473938 126138738 326091853 20363191 262102440 957853481 764562316 518756617 171123150 984852670 215507568 338822257 662952874 875716021 18840943 114769275 410976867 315724475 209903122 414332744 648336312 542252331 597994802 446928250 375823274 428175135 3466758 958031721 768030791 908708035 876492720 716697606 319126725 262907609 155016991 225335174 88132801 306455988 713697924 282671975 394421348 347376764 44133193 560669040 176267272 687317034 700649038 295590780 368022064 699872925 751531515 707499855 863671183 4148091 977972958 538728842 256596430 422355889 292714733 901755376 518434333 679949744 887560685 357480345 958856013 237233577 42012298 973478289 411126152 496153535 648910825 230441918 702605678 242297579 542602269 380822330 444556640 770216774 383281063 88636600 8824135 391771182 436176917 695588105 784333182 151417712 294370538 533064623 142002042 136584757 392635638 756877245 806159871 123073989 991198368 622334665 799646736 168100250 132878416 361100057 530332366 6824673 896204131 102276353 599481532 350947037 605566793 649528164 595810318 488975998 330697582 303390806 231360525 808453825 420487999 565314856 761032545 921188998 714465894 65559769 281510760 740608559 522393358 273580415 975004970 302049580 233462 847429551 409933345 111191743 114585927 906185694 16702360 986381139 396082052 227536032 825032069 68819068 352556176 148183417 785677386 60335764 274874065 396639698 598148886 377966949 451658767 778971541 461512051 221613728 402566036 760452800 712473981 5004908 337461420 783679037 374833599 829420601 601201230 401688290 527609978 298035597 485527591 796616782 627683986 817218425 954474519 309816159 628067030 215808368 710398893 331301624 320175865 547640876 483033067 882295795 666951753 199611683 64030139 74987415 150656927 365767316 407965453 845853155 245748219 662507612 473911254 579982308 72795042 127102791 791656578 920847740 997773652 624461567 281223093 194625661 651199811 129550693 761317621 984264595 878524090 532840699 591195935 721131377 776907733 299738451 468502762 525115349 4443972 75652156 117907314 557049748 489778455 42891306 48058803 709235902 294547100 118425427 34348274 767191296 271314512 443984126 327178211 345591709 707006664 24016602 658490385 197038596 526620747 456831889 238752117 98653870 721399553 260576009 372261368 375517775 501694232 442188131 757843239 82687709 669571176 464188520 567289125 211710642 591512458 625694248 165142752 814336974 999993050 533246189 346542067 187805571 13258375 610387694 915988709 666007382 998309329 385287070 924466931 227777487 533724535 570325667 726926168 287209674 396227889 240970203 554722932 391633547 893646545 643451089 341629473 530141799 656169984 62103622 213476910 522511068 938904897 378948170 692609271 672135839 537915241 884033824 544657557 984470272 368656309 446744549 189525464 33645689 236465477 350804879 358854474 353975850 14057552 539758292 536043549 891124750 374320281 46371657 51150442 255292017 467999554 85342416 162685872 953178664 942231148 992359434 662315945 900856353 921795504 33740148 582396790 179497289 958579736 405036467 669044038 538023523 252734646 656422309 778906123 219843796 700908946 238377601 220963172 514367178 232357840 483191911 3816101 189553283 491894306 851196482 372276463 62013105 591397449 573080721 497728497 91180411 715290602 844868342 364473349 733097737 339447572 573546949 147567562 439977729 935173199 200255919 790474976 680966733 798465091 501545614 204335201 198766542 629084049 598894799 147851377 291994255 659793952 171867957 227640717 330054233 878070701 670635388 344131668 319963187 660970325 150037743 698172951 647999213 535298622 741306678 625630554 451102946 391303254 254824035 38782470 786624475 829695989 47507915 653387297 84791966 138961502 590670740 266528677 493268252 633105402 768543769 965321438 823905821 204917018 952909686 278848332 902902274 877380093 831290621 784720392 488361188 620476273 318418774 319557645 565177690 632986386 233336807 201315761 984364583 790938656 129417664 688916911 734628699 438519061 852829000 861647700 630078387 904822621 731423581 140934856 475402011 102803114 570189433 394702844 910081837 19736429 61376894 748902796 337567832 342973464 220115913 247089055 851348183 45281925 827408841 526358638 603842992 469722186 643316367 811608648 550867341 610949086 353420569 168129214 937297740 856814592 781554256 640723291 237133406 422113408 180851788 637412498 579961459 738542378 802535027 46262739 218635137 771996557 135144652 288376644 123919286 503755758 472601850 512306574 412980934 641936889 819774678 944537784 965074544 624279998 88223131 117664327 464539375 20588731 312763261 645024752 706654695 893589214 102522276 850195019 287773936 396116798 791329361 206947516 593987904 917715596 849945162 235214862 904266890 780643775 727710002 362525731 944740103 663050756 414038839 663952398 183096298 307899389 387176536 896874957 795494673 84709800 493703764 797499043 727890558 223354154 627218971 576425496 970004547 988425925 619515105 257064524 907892302 324427669 821162890 668062440 545160340 110985357 720791323 94119078 214734269 529999227 622676124 701541712 122689252 403284405 986621260 377487954 666832719 400418532 169019576 805864076 685466074 397231735 614057535 79184965 5049101 198335313 484289687 792881851 43068941 953605557 326758934 137871149 464303653 345883727 52489422 334794404 679421420 964065116 973587478 780493609 827644169 876550817 502085433 411425004 520142991 373884575 395826573 277436424 636136299 189902415 399080280 589057089 431069757 856946932 701192857 65911066 122634126 707689573 911985724 761165140 30747712 906904823 259371000 366563612 476208618 528459105 76613556 315348792 12137855 541424097 254011235 101161696 67220426 748546937 884407973 498112791 418129067 646072598 175650522 528661561 301222744 271002427 944220567 285276780 146024501 845373937 846135395 72780947 824272793 478118296 389633551 490613 848621161 411707760 843393100 618558250 477954143 124714746 124577532 579592556 443410656 897006444 735581 566024199 155640221 531044017 319865634 468743534 436399450 400828683 549626376 326046572 349925156 710506020 151599365 899685356 959498783 686778176 914752060 127542242 671916061 819753285 190117810 103847442 532214139 786880711 43197374 437145733 805077551 415972290 25506742 578345775 395313023 533374868 3381780 177678860 50915174 116526768 71253458 641132909 92554582 904916376 535090313 677373237 109240445 749258053 239188966 317900794 980693930 629377845 19078405 410773457 910197360 815396426 158113965 183149416 900351513 144762230 329234569 420237049 976697238 698453296 758677049 221886404 488712536 44360104 590781326 237386405 817548735 676348617 809610091 634064035 99886863 801764489 31092057 491973842 108901556 243896351 21074802 48623252 951922124 414625103 916789497 433665306 199422710 799144340 927758431 713344783 762841451 68229743 332046982 8710697 349822854 256128513 763090880 647427791 811696245 863787498 82863276 688238080 580872174 581935291 69988245 51838195 892455553 920790951 743188000 958074458 141899488 775194824 560800705 299979795 245600606 212123378 689744950 410327897 278604832 797755884 623274686 33203766 65486478 352781661 285494628 536940266 862701763 72981274 554901692 688453983 870278999 655021559 251816829 880567470 218390536 590834714 660162707 523744399 786132301 337963233 315245131 753947569 252570523 903787944 96777822 488613589 361987971 401841681 546552083 197006067 402302468 510413552 777459378 212201283 406169033 407528456 285944873 958826266 910364750 912654461 947277323 436895438 78888024 917355927 165208197 578654886 457387782 614086572 262674896 997798345 323571181 571632507 263546189 641167907 934570636 153411097 140800754 739794329 329492061 172586309 467659935 761772136 444582870 651861887 437185578 142428382 991544297 217437872 492245340 985230745 943224304 727376953 508606114 864552888 666061186 899571822 395071681 618984804 650188903 569445862 989984394 346228683 613997169 502582855 301911709 354392658 519044554 385681106 681465728 861552653 256563864 227906447 133124627 981828718 96767591 790518039 858559931 660329203 716159324 337344994 415621302 866922057 294960625 783636122 438363371 316186879 86723370 130458333 544602483 24080722 491112201 159379349 358881071 984628591 264909371 46780927 925084544 624680151 594657593 25346000 987806293 611729306 564541385 607390422 793584950 347859667 362889402 149346666 444226827 774348577 796156245 399099759 446280956 47484683 179080753 371738957 166799886 6320076 258762181 154137408 421423571 587516621 906242412 840483812 53229767 285000053 172515978 700322737 310334574 207012017 978800212 535720779 760910371 424343197 148304813 345019307 835583414 920149783 446564418 154587450 435317666 604530278 501490959 995817380 955562285 138739144 254446346 306547040 834680244 161061117 431618042 630918558 999560599 724496364 225407736 865591665 44683605 164790248 951994951 367205607 598183772 979415816 623125260 152181245 595899540 648658456 157168587 623490480 399045314 31525995 157108230 404661512 458908577 318056867 340947697 283462405 49959953 96631551 337839960 640058233 707364014 195501472 207560596 581703432 928074393 44814004 110044698 671173722 662529356 964425482 807637032 854373886 78925440 936871593 656628548 171437731 151617968 265631668 716602656 568513338 524722688 211537794 338644511 305646174 65054898 897100931 797782267 727015446 222089364 999386682 307509389 917623069 102262884 319800539 109835106 129661803 855729749 852281040 203455952 181118631 268340363 172350129 499355149 547754380 979884812 200202191 641327547 442708844 141902450 556702305 359154455 459954248 181363807 613968888 369619766 953409114 65018940 190135308 444420796 665896210 200265902 223147784 795175321 236557559 515837766 913755491 440766971 30663418 633550245 347222236 638503817 81179790 930440522 560587402 221468169 558847116 799433921 415461801 778950421 176186367 984035078 788934999 515406687 115045974 542557430 323247134 515764699 398149254 792387920 133868282 792902589 11914429 355184439 449908705 508009818 577477229 974701298 738717160 123569232 451750371 356076271 874406151 172702286 536473981 298784025 594885055 341103120 550270215 917292360 840211471 839975410 301183335 948957975 918317819 113166073 799866152 833942142 437502786 763908504 336286887 431042646 464984465 744665681 146677245 289864737 767461773 958205396 507403854 987862331 120456614 292646596 780644489 807099192 58952917 971011082 977287990 8493579 645522627 245715097 597381662 437294947 823193349 998849602 61658859 669821859 18344561 833414675 598895057 876461587 18274590 491787842 771285084 996524194 213558300 813572304 962268608 737563105 937965462 267202304 38125421 706100913 278441752 265899336 851669837 946060948 234484439 844733965 197955415 828665547 380939515 406022711 406665229 632729472 200620935 924454913 85143144 651902212 65351866 652963555 331223992 736115431 733114477 431955978 990432729 835804715 510939486 940231767 267953966 8406077 841272698 3654037 870603106 964462525 900108854 817471139 14301859 79401329 174675338 983275709 521091847 615048624 917213786 438345797 937558336 763165347 484823802 503088652 181459372 578449402 684042841 335063901 673294952 756493946 216854125 268859173 27669557 902034879 182875467 214774385 358392027 527599287 497836745 638330656 564242271 134201321 377088752 892133007 743280234 540016439 640846294 626258429 9295857 407490710 681015828 713004023 898103903 716838187 55877233 76778455 770909213 748759376 381370768 138509187 56108233 536163041 489032161 16877176 562230076 378028481 714812685 879167232 512762026 211981458 795039165 526407552 672022701 443549545 464535267 198773547 127258412 815816303 807884310 887589101 100540426 332843393 827726486 940018784 946993905 723439009 110252383 11498303 160813374 181891891 924572219 363872258 968081609 942669357 461358958 707057483 877164218 949823332 46205060 232743991 513454136 536512784 266817589 12961963 904947269 823201086 285490629 898917607 958345113 908075041 402647127 935009795 393568436 772248921 961134639 265883162 956660714 819246446 343381284 627273165 129518161 666036158 959595144 47161469 620809762 574861946 34599339 889259071 667577043 781620384 14525012 992066618 974576992 348212366 343935801 55408143 811455410 721076549 448759183 179527526 147994000 169075927 481126224 203271748 578454692 33790343 354682944 952928181 672734639 489975951 267344037 829564738 920851458 615331770 451410236 962116126 828903757 166388282 873163780 244081062 513241553 261386796 60813567 689997844 87628193 237590390 441980314 717479103 391233734 435341661 786988506 689848313 126014759 568352025 844955660 240595233 358479046 825283447 342952823 189595381 322774249 906931618 380166387 856582209 958804425 108788381 540086223 8053522 597183769 147498698 910899208 82541113 573149820 522042722 879409223 254382507 907244002 632893604 892245872 145194810 379824570 772701176 338729196 370102798 506543634 873363543 235043117 843098670 653303639 175011281 939926260 677833544 476902827 350248188 554879804 725392626 790978948 684415894 168000209 773068881 854630808 380608290 625592113 726767190 929412811 752018645 702130816 387863202 341051827 396385887 237528817 43260739 459753580 609850694 238171338 174186980 297976121 316971297 828224245 699596433 580825538 745416178 129209275 305738371 148081687 369160932 25840588 317493717 124760009 738177598 341307972 806331970 172851543 289389943 816157230 550267883 197753337 648346099 610431377 856032109 697396845 405121582 11164523 261326300 362144493 726809411 553448802 631675541 188530333 995508054 42788443 965631902 632821135 259719267 895679821 72722717 793354701 961849098 403729545 478259653 158857289 737677448 16537780 963777475 895823319 4652972 219944776 575214792 798793594 530267072 84294353 599334346 770382078 317817380 636391764 969703732 628142462 421320627 329801315 99928628 678424693 171543592 238756989 426648645 433929630 267909622 690868565 925411862 251504902 916506198 374411718 510324069 110082772 717754074 790530799 520384986 848398202 306306671 309072021 367173085 373539845 751517928 874315337 219031947 431905847 499188581 214270068 391866122 171636861 147715378 960963586 308751197 861670908 718953780 512589357 189616817 407683670 592305984 253410930 582157902 72560440 598484403 495566050 489237820 191196044 120251975 109892304 216881646 681842250 378482108 201695348 796806003 360149161 447779281 934010192 668041278 463997857 180146591 19873044 209079463 560688516 353199159 731171250 731257966 513037071 495245054 162047026 456588069 97247704 524826285 936472823 180704453 524794785 564694360 686372679 759509756 787376414 764663794 777535688 528066702 162345636 524182094 599018012 246921959 398594148 521983174 299115664 993638013 966358778 56773790 413910885 106814936 272599139 51067541 915325954 241311781 92420641 258385271 927274763 148818739 872325937 634786237 752543647 510797127 871829736 589736155 795462570 29774337 236624595 726885783 918602 767560590 307819429 507856597 10575339 246939391 236954313 186855611 200868264 247858170 696099421 120614571 764260421 257172169 676315530 684237504 450577230 773770386 72257198 122032473 308298014 597901443 920505565 993593639 592870764 64811477 848313750 961327454 919058949 609388390 820595397 339983779 606248147 774118046 334204648 794020885 172399408 407098740 835765239 554756753 154976598 955012868 120293293 325389080 435617671 750945929 639396090 989880153 391837725 926076243 865737389 154288688 115146027 15386379 748434027 319811286 547212725 666221221 327412002 129831854 162648193 317414679 658564597 995753196 56664480 340195821 799569924 217403016 110835273 202297941 791596320 982544388 896551551 496105111 392332417 758517849 847097404 57626525 457644298 537747717 106596940 948180743 654219643 208320060 735946889 48652804 161371960 482482721 195659259 982739822 984467331 546733772 523086873 999268526 498173838 382702522 27974977 628843368 543235831 399173698 530347032 757789406 527483913 251948634 708919236 435206167 416269166 107709142 420228296 198626991 142999184 450307779 97102506 122864870 217960677 736764854 371432324 801027030 593668068 542403362 517571871 509594803 211928341 835037606 293186203 551828191 159918397 637072810 47982478 783655612 520943570 996402306 645322773 883014258 551856 714953168 269035810 102908520 596885918 975578091 176274944 826022907 70058793 456619318 191712563 851713478 274721520 867801840 635026627 958682932 116516139 457065635 185489617 727334444 369262432 260705582 259470599 231340288 434986048 280713855 910517261 606574092 946305508 516365943 164152120 718701954 739262661 698740276 30348201 74491609 850033396 761001407 89758600 70610534 669784826 113980003 447902024 818042715 589685982 14990780 976834053 387073706 975697758 882164420 729024268 389357808 598318200 799017522 9019454 699435885 237284953 74329601 625710632 361275101 569371535 289449039 403269190 69137888 902202996 45094407 69972695 117733432 595138329 493164022 985985964 855533800 644584691 65894562 398109914 132607418 91515118 70378071 840251734 798735276 230121287 183829290 539521040 254297965 83710894 170616403 445587175 634217785 973533360 444126561 815839806 797131772 430253077 35942152 774092590 673596247 827671897 968978488 275856496 91024987 431146768 692915367 952340216 339269882 847669473 630119172 583924131 657795565 870646335 426952626 515899216 207205347 645071052 319209245 950908049 710330936 497864501 872043015 670963637 85786437 798796507 412103737 579603320 433367700 459693260 422022790 999411629 961048474 105225644 848489615 118218618 524988457 267102380 385754425 601883452 890483244 405269158 264190775 859433397 608133822 559582203 499861583 622593677 769335041 642280852 837667415 424365374 999017308 992795121 629659852 772740156 308338956 829347048 628806100 448340571 808618764 366256340 197563495 407264227 13305404 257594221 589718680 752599091 326826762 835695911 140035628 875907951 827847031 482749289 710764364 694767900 82685860 647938532 874925608 295837218 58938614 497834448 753355483 336572686 363811072 672020577 236001024 359824973 951198203 943163151 557526145 268672174 191093165 899874123 414449606 959892906 990586194 569477161 438478876 170098768 309430437 720780852 813198211 296617459 356211708 593583171 270629141 811581779 53395950 754069964 890881188 124366252 599338512 866684672 395814734 192137447 101712017 869466192 708960544 191881012 194334279 850858469 386899666 977711035 681138115 375623653 348587506 974599959 356162346 82189168 347365036 487921428 480307198 935481804 718149962 931164883 871493928 472883748 458009733 266751272 697174317 22452264 600580290 537525845 681656190 32123181 166834420 380267135 319150571 145009076 986150007 634822528 350443120 579876932 647137111 676570569 467724325 724592214 848065114 102755177 832468880 182174652 24826861 35431652 79004253 200703489 927381525 240943863 877156795 960174926 883090319 84862389 32953617 606098207 805093279 167156990 212338686 119113072 794811112 68370102 526903446 475030457 301813711 792791639 726465108 264731065 564085766 648507206 665418667 892017704 486884188 302665399 542161246 868933726 235943014 471320063 470793302 142585734 804512242 670891902 511115083 632902605 117303717 121088329 706811314 879663806 658722213 818027472 323697340 632108957 698728824 718686639 667221237 443617145 887337514 490306576 187265909 366213060 41374702 4153251 250248959 83464512 81224011 639265486 890783160 496866645 658787022 419676213 895107201 523728479 874054749 394783882 806419799 873839643 964197656 360124223 623659001 373227971 429083664 482977958 50736124 248238319 419200105 211792263 51873515 232381020 433603115 623610854 733389525 176510282 50576902 340534925 837348220 564877633 14210047 413132441 99695143 436027686 727176338 167512689 549845330 105610403 423955767 325706609 793663201 133342512 840818705 726169878 946858736 411161839 170517199 548999292 370363907 670597059 718098786 335000316 175926828 857766685 757489443 846236656 754939588 610110717 755392888 294952975 499026282 371379656 763029388 946998094 398793855 895120624 56686085 897792795 837448559 821693357 461802659 522831498 205151487 897714375 526731521 340713049 132993065 943188428 446842398 627902281 985399938 732098525 873677939 173189437 401835025 198314256 386828717 396722630 274877416 972305749 488155786 725773692 245491991 837721511 661384693 960369469 173567006 276186009 958293870 2308664 56775304 588302476 450181286 423635355 790278063 105694867 339689283 864222862 969467138 317411780 500727804 133941530 383981653 513362833 186881687 601740928 203834620 565338045 685668793 397524522 916687812 204400469 481551212 979885792 713855452 76190610 728750522 121972422 143890343 301516749 588508537 509059233 897192909 23686171 853435488 661164004 317889732 271312163 553002761 921350008 415133644 543158716 980110133 693707940 554425851 431808823 826690454 892072438 51748592 68402715 77749572 677287055 364986095 198140904 75127846 470515809 836633637 691854652 341243923 392080359 804463541 911270644 840832194 583329481 879397222 355951882 165887907 702290523 183471178 496440991 960061434 769855936 256722256 115687258 286392502 751397086 22816328 546670878 60240636 722545230 577939743 159145547 381973064 453417064 884615819 234898646 383501312 37386564 95445144 940087529 710659586 565634617 954983016 589964666 110420770 54706784 705859675 5923987 406808421 817083817 763470259 777134961 536528008 20807019 671776804 99272980 915180060 731777939 839600008 235087891 207540669 726332472 174902972 996592634 168325388 782037582 668225509 466491063 192551284 164094501 284002461 381298211 23398784 109041061 31610279 275072149 986385820 331114301 789428116 13854917 30255510 119165993 777590902 194910836 71445462 289713414 87501840 603317772 299068242 208675586 948802285 957884343 332817799 966555270 207824973 935494693 398781598 431071074 204390640 285614156 741955899 397810144 822981929 75261804 476802234 194932138 471048205 211107488 405325144 880523030 946552747 350359136 585957160 979641093 664549971 923328514 505030395 401228745 650248141 219954345 521226671 81573951 87315192 549411997 948988641 385051992 752128508 913138971 174896264 693731265 615597216 71974181 341134809 552359179 343660133 190436387 609707929 179240551 98711980 324806509 115670202 681911204 357652540 48862807 303408457 5490623 271129235 962568174 242967092 570762249 684091898 204575431 353208303 403867748 952934942 739849401 900838874 875157136 711661776 464148643 8212029 710541027 1015219 594678190 960648002 829026587 479105503 456987975 326768653 773020336 869109270 733004649 591280322 368767713 423974329 585663356 10324725 735223823 671575445 636486829 7535620 835712556 134644734 164099254 765662076 442131477 617786492 855922959 390742292 172119634 332045766 806719005 342036791 602211773 17161171 359917227 68504947 481857840 695009976 908251571 397876472 841039608 168267014 246546033 17370113 830864431 453272046 697517293 575639538 450960674 95545669 195712012 368027246 63215487 474245389 75777639 429119130 993217369 420020760 174272831 141930432 284790098 570873480 666861482 887039904 199030214 810160860 556629680 239585454 941746953 181260628 42998298 232169986 447250205 35130112 590790840 498163582 698710766 873224382 654018634 809656132 927641636 851866968 417830788 996560372 997172363 294729781 6020246 205448760 810536220 170245959 359622634 210820545 275104007 263289052 65322201 934051820 204191912 839953362 537805112 888941086 369376821 915204039 388483701 805320738 690651233 305591204 196432627 593744585 651715216 922516167 823034172 467747760 866827291 518765800 517413477 324563662 680886027 658734065 675080541 436018163 883060299 50362996 308377730 369441702 494441859 293313920 198627292 853497364 420322247 855281612 334810860 505138674 120571105 825254919 936890510 186252942 530140722 320003755 138057320 278484649 932563338 893170409 976247874 816541076 103584109 286297921 527800147 531029345 867006218 168397417 836527234 730601875 7959113 471822079 605473966 42446230 753467043 915840178 764251832 939669613 581013550 942236484 220759958 881964258 731939595 239046388 718530659 601719361 814955945 531081032 738495856 934528188 489697719 898072208 394087176 874619694 578471816 739330312 706505237 799771888 625645601 128974637 502769086 102524410 884814924 255494015 219806392 69702461 738195251 854418902 305887394 414137534 390713318 303151883 629592519 555975422 705640207 130779786 84722232 776077819 890872113 984071293 839981324 877462572 76329683 763249121 690125328 108669862 573224765 361986275 180417464 62180565 344851454 134755858 517465898 708239965 421328561 228280751 770251666 593362090 856890 321411763 916893591 706885580 489023670 902386150 694742184 765155724 401745062 181671952 55483823 842720444 341919951 990066848 770086253 235489619 843338619 395146914 469260339 748080146 879543545 264303096 450659902 279255891 467138173 708699285 271105485 119062054 450595452 532579544 219895926 779402673 433032508 807881395 6061001 427288890 20912440 838162186 828378065 377894898 134606287 668467099 13689302 539631858 548023152 71489702 773690609 776077174 621971891 810494868 738221139 362551330 782355158 486550724 624045368 715772831 232865966 537937832 26778703 202848769 961672385 88069649 751230040 781641924 797434656 4565067 530710732 899645009 485786904 355616047 491449361 481187835 810265508 646420846 850857196 958403706 282334744 486119501 301326116 841715404 397606958 27661722 162630564 842518079 425101582 195162407 220209169 588254299 126461911 536225041 249043052 743942931 418684418 435973382 294951107 723320586 399674652 599733056 810936612 362610217 711930918 901307721 779405833 442576322 432599072 890444159 398310177 417790863 806709301 765474624 490973037 131158428 654512423 945758609 292731038 211959364 794492866 807323297 588892466 318015227 944797333 886112557 90181003 137253104 99634811 397283653 833837380 109334095 368324493 864389510 851615842 8666411 797888558 30240861 845760816 173673209 330065144 467510928 594818328 664391878 329713048 533296206 414318806 869425690 407202377 547876419 762947266 970116260 981678764 975361594 697142425 499231354 352291406 101315048 760333237 312567228 729772913 123769280 651843702 177061898 196860163 273030705 964710423 113822206 276890313 915564578 732837354 417221672 791727936 259739752 614618279 852641570 604734681 439457295 400093127 824426376 964257080 408148559 206166819 787405000 891459524 441059313 678071860 406525926 359334938 172443087 547093782 307220393 878667790 77601711 254024443 186230336 652780671 747441050 174222716 205409397 598545160 81865 800998526 853917302 27345727 994644403 90705851 886503561 916584730 238240205 286763699 562919289 74635503 802245527 709631007 749955304 23305230 242478483 60888079 593538835 547177530 534941710 716103024 667431339 505490460 604990061 637385371 814483018 411969906 489456755 814204988 744574014 982535475 715093143 441769423 181488514 799095505 236658174 293649275 597231377 53507089 804999026 322591372 86948348 212528431 779812547 354104312 967945623 826140821 286226972 786282364 780798273 211279299 921001128 985330007 352929208 599300188 147227453 857902699 980721537 623504890 789094356 972713927 657509065 383739470 41457776 812687252 222667257 352808188 722542141 609180664 186632589 190288032 911658226 952223211 47809484 304053285 864075253 863696535 203453949 952936184 248456391 63810897 478437966 277138838 181290391 338699826 522195650 909434227 994962916 921148615 537856939 148442929 737549038 626685945 646780118 669085570 329998019 701890455 288942783 213508538 502924989 367858034 306076753 13084897 923227709 969735907 6831631 673168548 271008382 834058575 652278982 134530199 924053567 865946757 2411269 224371066 467748538 545742596 117388846 793287818 945924929 311963135 64136422 806618755 913313357 780601642 117013743 907891002 267552252 811284418 746599241 306438840 269174729 871133423 519745141 57235904 466237118 687246262 285213207 25442367 147968687 391869058 753717040 466409488 656150821 615015159 639543713 449786289 793314621 603342664 933268615 302483326 190356926 649073535 926327742 862312284 524025851 314970373 192183500 896576864 692042781 331608515 31179974 85122038 588453185 723482562 152950470 762089226 883201424 15710309 818323637 518194109 157672986 994590766 963385924 660750321 418270852 802629821 472450942 811487780 403265847 983105882 991239776 58689118 787746795 697383289 127880483 346812341 718403499 239607481 422276393 262927369 153350273 540712583 933497549 821391885 685467810 387907449 26417010 289794228 245005236 448974969 313268216 346323715 507121883 317140771 526216534 767451712 732293246 36344248 138373717 755683025 128226749 232132035 860831006 255701656 848607666 616295522 901720350 829333457 772840209 614879853 357253736 182948564 785951486 964141079 310510861 798557774 684694805 918801136 109072407 518252430 553693431 527486830 735230312 353591680 94067245 894120445 338228961 685591886 235247566 924025924 43411975 332009174 232309031 91616982 210136640 652642826 416862980 247836447 77088405 341576786 54338820 582947263 820310741 951061981 269200150 964388722 38536979 784400069 21716406 71795400 210946654 78636934 748312488 140572597 782794049 340685554 767200654 789496507 75082461 414389317 866423793 959934985 812254219 584624716 536340630 324618797 216808068 921248479 812556599 282722136 261239713 24562055 887207732 830807237 215361703 436720344 425180070 846608525 283552433 436458840 849028833 912862956 766575271 467580649 246948425 240455899 827932483 389472890 721194980 442545736 614473813 769181347 117359086 733090372 795214256 319008973 984276739 278880585 397878300 309510121 748346928 651860816 428629567 600224780 454036003 289688357 753575752 122302746 798144119 770000648 609096721 140886772 528281895 731739845 656542749 864218752 967011510 823095604 461009962 793470846 339921825 778349894 354900903 463447687 954546234 893240284 570311631 643211982 33431180 219168889 312642221 900319794 562162362 85446516 285909477 297227999 116387426 830407080 403787183 54941056 50500749 36271513 510370901 711528030 789227537 863009121 626240433 625153189 240892109 228095352 348800663 658952202 388048346 182632630 749976762 992617524 817767825 339587687 179991461 598213131 956436740 968411805 758830393 140558467 419615943 653266273 623762123 747265501 515425246 75639749 495599082 347670580 376891114 894384784 835596344 636373619 51913971 972199699 709894298 634784906 947262488 145771882 852956334 720342084 968526942 153813161 736138541 163199448 339030588 82632623 537622436 382209378 70344102 369291828 219183438 255609986 208259078 986642696 763617667 454410631 279358741 550979579 363738315 453922692 555940536 208382720 893951887 184647324 820409819 13887710 921981349 862831917 200765651 626351072 101367762 299043144 217297123 103543942 866899372 745166247 467640827 577283883 452716508 913782208 439094040 875520160 127616525 57720945 258155990 296812980 569910078 14655370 633620079 879703402 402325216 535830671 394477276 8344187 749848755 669144454 52464115 92095671 115964100 444472052 47253142 564858775 558850961 993074325 21688523 263424215 475560004 273908184 595600293 860134377 350035064 984897988 794982092 883239442 825923257 493454434 716694824 964032797 623014642 523361447 846009588 428468550 930575549 168817494 718256462 995465724 401326033 587636735 661188621 565725520 947443689 430046560 149190385 804136368 880671441 132190567 84570898 682997460 922416079 428074058 179163399 302493680 447656374 134461283 901153675 980213437 222871132 268596934 597182005 762149933 111800235 310856675 330449141 345880034 521047719 964763290 545586115 588610177 659021578 641738595 871789903 286988177 174006733 383890570 828817810 402780881 260942933 43711990 900327624 139150673 459666301 785181660 967783738 569255658 435091548 509719793 967616806 337735829 167311091 361225445 83984404 722711356 819633627 594922394 916052102 852027769 245837443 773712188 838864527 393793188 141144933 166618379 124190366 885578549 12154613 845138010 953052915 307314006 525682224 188281973 266950252 79921571 195373162 973069134 48870127 416481511 968711346 702000778 270888881 564664480 41026357 257328703 255257891 135328260 54692785 829198036 474462489 14601370 339793956 191498036 742285634 255076569 195431008 582103181 187502712 98675806 243124847 179036628 833515405 314059212 3166098 339390893 341532235 549074332 795979284 260293205 79988542 194064467 448472924 372195094 501197140 932440841 863584703 379572767 458779192 840421278 724880281 361716887 128235230 964695833 21055137 87890043 785007002 56547321 578243699 522848062 109777510 487399335 271112984 68572788 694686193 478099521 383118474 159318320 637146511 575608646 739123742 870225584 649136962 236038663 614636532 809317294 271533966 603438385 907316036 438490665 852993559 4139197 894281666 332225503 646540561 554444895 929749976 238288290 148234697 185857270 211892607 755699899 510609796 218940366 43470024 100042193 40191397 895327329 179120332 62266321 69431212 932182184 848279851 78559089 965577263 405550525 497781887 166032842 513163009 281258139 8400314 560032877 838573272 254660178 862042997 204280202 515057895 385794082 418723422 375883046 436220007 275346732 309531713 722935435 301716949 232041341 844528673 168881927 140087573 63155947 557841463 43888410 487091972 253600317 490560798 321145491 318748538 968469442 420461967 417597587 197269755 595686661 920428606 611597305 127082460 628786967 67179653 139717928 615242759 476768586 418373422 298526711 599773461 340659301 540557243 986886571 232014090 554168334 570785582 265974444 778044674 25815034 483738527 909659585 502243485 960556392 153157823 809963221 850686293 746443806 744173373 681454308 669576368 891290353 452081944 324166161 996296853 124011321 780492117 242995924 891383991 184968928 715203728 563535475 579905242 319994228 760820697 885921172 750843070 871037268 876153929 793133028 150550544 106280659 297259093 711778388 139826953 22953753 543357430 81214807 893549542 194231027 691706858 45479929 380995426 710893042 914270061 953400949 774090486 416773424 102082571 176176470 360767228 335324819 603082224 69338236 287527422 977035806 611609576 796447434 883895745 904934830 522067297 640621547 849469692 10717810 201700300 415077360 360225430 345853080 350534677 950988486 600345267 832103694 917929757 218638322 325448915 545515497 784108547 949028525 776399062 870832500 980289491 696224274 312590707 950821261 491873944 674081146 114836761 314340520 353709993 685621339 111919567 66684343 263779711 270867867 244825842 184518575 107303167 340709958 668509353 310976870 71535684 283411215 997346473 901125207 978288973 446488646 422243774 387123637 286472493 445808227 940600686 129352792 544650015 584421517 248621858 988354079 491061602 28093180 948413668 62030444 490111526 556525551 127355013 252578458 149178349 327812784 95266712 516996237 219022181 339858790 266967146 550458233 938878213 694705475 804144553 81612016 818126313 10822839 43473888 314838390 448654221 394385169 406061789 504332282 7644068 754156740 814482447 215538481 631963286 471360337 657681486 471041999 438959720 157800010 740925872 106464930 893736087 356681256 11578057 611639479 662150034 778687136 856660796 100997884 164607086 837604314 626059923 877401296 819646888 377185879 135214922 571906957 95701630 181006314 445900182 738135426 347138380 852900588 967469460 726125757 604380243 516030867 40744329 115346835 441869071 880734846 27185610 436194908 808950480 189974152 144098727 183901164 472188087 223223275 659454247 819794563 464001897 716152227 299008201 51440472 437682053 154029514 346274670 261606792 127563182 573071154 496824895 578947478 30191398 445781507 682902239 368220491 607567712 677283308 424712547 449850080 566511598 225702361 96706734 453142280 804422444 704598583 638080935 833056678 869524752 269826006 797617391 940429191 498981130 332926828 261734442 362978672 665344745 86901087 509916574 193793399 731633513 989187406 518373203 810055368 242636294 353906194 953322133 623733884 390800539 999261055 445975938 609778869 761973843 986128235 393246941 933459865 809886225 19285592 418974248 648873855 422026014 549593869 226648513 91917488 287972356 627615568 773554718 309145976 869185697 979278654 338449414 762243418 206619988 438876033 981753669 196865657 782309401 932031112 503672134 735042066 58089775 424745334 738984248 83968913 827983037 567182782 384023511 892205652 781742419 227974175 911035301 953202238 156386534 334513192 268162318 494583224 901044853 52093574 551306055 658840787 519782216 633781495 809679456 492038768 639813571 578332556 205863649 104282043 321307562 849487793 205114663 945002106 3075998 294846418 479017718 813085113 63562124 641792333 931515545 344972632 489722978 290057817 715322117 450905178 874557780 288959314 366991129 754708620 118049412 254848241 284538000 753623765 762162383 479894665 233214692 875477963 271601099 589964910 140734522 128619334 271476222 937855709 566172664 101096316 745654974 524918633 613824852 763834471 616595716 71923326 626223358 859631401 13318101 952189006 290768901 571882987 95191832 150718763 576458797 561890719 125841116 881562937 788430454 711687956 824295787 993015179 53490634 122106110 74254038 566087027 832372184 606401096 347474121 688335373 989883272 60666793 30385058 438281445 408093683 948866191 197852998 141438670 849172579 956879394 46123216 341424997 863946319 79030517 621068813 495122630 68383187 333695360 788214023 193088617 552915652 280081805 30170045 659395471 130287113 875955910 539779685 375820723 672527636 566589611 856930802 263413394 900968542 989702655 830094339 381619646 571461663 289719305 981189222 885235968 676597027 55110723 767505175 40932168 397346999 803224479 130425482 381872015 96519362 38034619 110385376 421429145 28167079 905793738 464978625 354387689 784787620 566945648 784933554 991831912 98503138 245661474 804143706 109174328 457766375 833596840 531178882 135043657 713145734 260492976 709309355 286144670 666886357 313559327 198779859 476530284 301639325 453262112 232583263 357924013 568891137 852265682 967168919 676753200 730238896 350750737 83752924 188559362 267924670 876944700 650155340 23415060 793130663 532164942 85946843 294176840 399812739 971450107 671363912 569185925 538075086 686663342 236844104 771054305 328158409 949587270 324822361 274224367 515376245 703837331 327461948 177875884 465485144 966504242 572352438 266084782 91864830 591732904 814771538 739352970 38517913 10933011 534804946 924188367 991734216 646903634 197863422 336886996 137214090 518745680 560167906 121099539 876660113 634234319 714854254 754547422 752761939 307851391 22200456 557766874 562362621 663983097 434043540 327718807 867028805 119384995 895590446 58133847 696847332 541772612 521132820 727303996 206516998 487224535 661255769 72481603 266973478 252771173 648490300 408208751 399426813 785824850 664840330 543722276 178981731 505304096 370167461 446366428 113799609 281663969 891335288 615055881 438379114 939358174 525136794 612407333 849738883 162698066 295722616 8775192 426836809 893197786 712061214 803912442 326862620 499504750 836830240 927989732 493955367 27093374 641088188 252857768 98699475 741832501 816998383 75724388 448229577 643557554 914603951 858449309 856865330 343103103 840007630 482974309 61544556 971532943 991712864 124670826 368835442 771961764 628271043 279072780 258035548 938884434 953462717 5668856 738239630 403510163 28448090 809325450 375973660 524245651 586926744 915590934 393403564 714096667 40212766 178672657 698056778 16298047 405282211 627622116 906613146 747464392 243885136 610646451 652440540 32588142 783798248 410292096 847554257 878033453 145314789 194428528 983578793 758820000 939255828 378947653 431880679 452987660 209836652 548469674 756748034 141603072 667353169 543847068 221934345 299568440 168186447 324229604 696931439 951834407 108087947 471820713 733028983 934356365 581974665 946459700 384769799 88261064 555502682 517481305 918225752 709573423 432910370 177266673 407932553 550768592 721995837 925724210 565176671 188843570 65551703 233194713 989588926 76342521 405967626 742092732 608165597 185339708 156250498 694038669 60245656 943207207 367944273 160838726 994426724 641455435 906005219 721770986 9696434 381903378 100857019 852725946 715562460 556101908 258244439 72280967 202881640 686350351 875283680 454225089 328983711 18923635 754930478 706767255 295893381 561154782 678924194 60684621 137281148 254109159 792077411 272901035 453534390 711893758 124770630 355094584 369519569 741703817 932329305 375296583 951999823 654718840 686362119 472316957 756947656 170800103 308418820 385486970 893639085 594431752 437859598 494753556 440409818 486294581 888183009 816917893 825212807 492894378 354548472 150168658 522927215 90371977 507213626 961781470 722070921 692050759 583829532 755248941 315122616 126691417 233983304 144953749 155793419 246000764 688456239 940504661 196072137 612658034 190632502 320798477 335911344 900105791 640246326 684118198 906818609 901021826 804860159 48628484 144672687 73548857 206530669 703193922 64745794 774301525 307668185 893659194 960457710 224708693 472465351 623232191 686648774 136389330 288657530 280804904 464800469 988438841 837297863 341630372 361444698 300010632 7925918 508091396 297462346 276555582 495443150 861725054 912792625 682358446 494263463 576395512 731559150 9755694 163775535 939862275 248751071 453987065 287109222 232592982 891220913 502576758 25911636 213947494 472824711 472431314 552623523 409173463 981232629 640296315 764038897 178823467 439586265 669272575 493844354 686037085 833736419 727755313 390467668 613394909 350189081 321816846 903003068 503484415 843782578 833849183 269183071 33757934 824218016 550062984 345816164 804101965 741939176 666549795 23390115 118712719 377646645 616200130 778687244 889327196 812235404 189292174 499402509 235294178 642298296 616169786 617374596 702088722 449205107 217729316 746239986 465735031 937798724 841890096 839757104 138268031 201311837 52158165 42063677 682990266 15089878 536911151 989121349 574130966 348416713 421445852 54722927 97232330 809581240 442169728 94763995 249216121 930714628 279321063 303330082 436754162 430035001 136453816 484994899 794733125 871483144 386576081 858435343 442954278 494078581 145559799 729707490 486477356 128210816 167875201 58499462 717777905 42319505 267569608 788138264 628404462 534091021 662414125 170153637 353140654 583498712 718457230 716780220 244698988 24702807 409791714 459214947 522597155 279658935 317146265 752861267 58468688 870185481 761308278 381893708 960618018 937906780 671291936 236451147 14682182 300520696 759891575 2505510 867368080 381139939 441219546 273195468 951945049 33198373 472112720 96932749 144363898 841011361 231323530 989591774 602404233 658430910 453550608 434334404 89415475 897494096 827069637 401972167 365329911 701114962 899342200 454308536 327902564 530013376 986219239 761333237 943267588 34686001 961496242 589469783 399723823 82710072 915979659 727727909 372671148 731603423 839024386 777277821 84687205 934648653 661788259 623247195 609757980 665647159 426893310 976335921 89801595 723833037 324543808 370695801 997175275 3416692 783401955 57433492 32309915 254581604 671668078 361205606 596303316 109162719 267177598 304430547 177532533 507307238 716839060 259848388 471245901 619581425 956328031 81040129 494113293 705321383 807851061 179865020 557596287 508077380 526303881 401450445 374622833 299707649 857131099 917153669 963835975 237004560 841856827 227241305 93540311 325714715 677692322 856018606 393483015 407464132 182724329 864979281 999181062 788590120 740426176 965385607 153854584 302438003 568103442 426644971 938107189 864160353 624842433 507431885 413913053 866380194 251300526 103188042 154514008 865040173 234560683 261606421 208949412 787364654 966061986 909426551 776226838 896673599 154045461 96671084 528159923 89024194 427789190 953221873 398538396 183603308 314118985 528031 570804948 182845946 918186245 916261192 705054434 899216777 750554303 719989625 812265766 229720838 149311736 310382724 692287989 508902810 45829517 115809871 422652231 473485631 597188067 577649700 509241650 236325918 470243219 313530139 16098239 166675018 437172672 294506784 682632144 753055899 907167745 478959808 695934302 307367228 640129293 558903093 76714520 875207083 692925274 45838969 879167060 420285802 999266189 36472720 340458747 832437881 173663577 844484136 412787328 272839072 179063482 501559942 298335767 38845489 55127764 131974099 261429430 782846568 189458473 596360442 35253332 290338466 971294291 859796705 563719882 820368206 604578911 707825629 464020484 538982395 202416781 209855113 852000274 811893251 516399905 578451216 957512009 688357120 138815402 145101335 430300854 12048532 136758339 308186992 26812733 796625892 464256752 838616130 542852060 522774267 999424244 742677162 146120846 890569464 161537379 746111498 899641788 996576047 851442753 222817051 54363210 444893245 769197390 401434776 929114463 604800093 131885817 629613004 86046850 425558678 155645108 647183481 62790053 561331098 573093845 106709112 513557661 602554086 433748480 247314727 545771867 862383305 837896001 201308166 992008010 589271300 178072569 300914495 29251571 782991746 645924365 744340837 983295381 176045102 759463010 657255078 539743037 809752869 423452983 966025399 855596829 613424816 493154052 490052559 706689600 867150013 697903762 383397376 285669978 823103924 119104470 463593960 328444319 699911773 351170226 23053364 517481785 926755705 352293660 692432129 904664251 189645067 687221038 63997863 805317523 106738514 654155034 442000708 255584449 419650865 618438772 173129059 606767927 790176838 749791629 689843370 592137068 960932645 732192258 867496135 510231763 927079277 108699680 122505595 140719071 242817917 267013329 178406334 781947871 950958595 761074882 836315088 491373184 300265226 227474364 415914373 382882210 553706823 297393033 403391263 756170455 14528960 351740517 543715156 802164753 369865983 440855700 992825520 226569033 665023273 300434870 341660356 119472898 360314449 503641179 938463747 764561284 566760351 708784177 937812679 206146528 175749278 864923192 64962233 175166584 845879239 650669053 883706458 21022559 250570367 488771667 282413066 819465835 287127567 769351982 509134467 839546830 879372037 935401226 825878860 906972433 15190440 813251478 179850749 495417315 770922949 492664320 262714235 570393198 820458099 253004503 936456086 207379042 726210503 203818764 807144858 535472974 120466570 710416552 795256657 672848574 481044656 965435553 371785789 195551298 857863177 85197427 813015071 203042244 86622839 211943858 353621327 179710731 242335874 656958324 966710916 448215628 574521112 803635266 156188462 396838671 739120967 873412546 30845926 946220255 37426458 593921220 435817079 333790308 654396937 833350957 575254928 44177867 819769207 988687563 701272761 815136754 615535479 463999295 96290746 299493555 986145604 921462136 812135957 9589685 59192940 341251121 917016591 739700012 374920360 683526212 199466511 590873473 444227093 810647964 35987327 898437523 772999887 708044300 619739064 6392671 885388569 665542397 499201758 197086085 536129013 203617374 510658141 978516912 688551315 333354167 772066052 757196066 828952558 809258555 94126742 886233638 528349413 400286605 713425384 61168269 617997669 744754823 77222034 852404274 941749269 462170179 344850805 149631316 747225456 290939184 944007074 22521472 753987207 555868748 553077265 243419898 247349166 257077550 353538231 387258282 730588489 675683559 290982851 8302075 421178350 319682966 450703530 284966536 845214400 315124389 823053950 600145912 477690836 820728789 302386706 8377478 313252425 695999014 284300450 904451226 414894079 899299838 67245419 710838365 818947252 486452403 812252157 930357709 716378591 392844443 813222621 260938225 721544979 833858948 60224742 410510057 774802043 449866827 69193084 878867010 797067755 974299839 193361672 647976493 721942278 646469839 895547757 136719385 294494920 411688540 697209083 710598292 328948534 612481426 639750268 242612908 732833964 546862153 125792247 653789303 677063816 948507189 978344311 341066352 128225843 921557457 501975388 738839029 669670312 904592569 285178739 236710643 916008738 869473963 657193386 707011042 191382066 454973654 882696900 958304685 464451937 93108088 903942433 684849984 721007270 114192713 867272085 274232780 72793704 419213994 552625264 52142695 796193481 579276041 526841175 520659432 796911365 851438887 219201373 926438860 859271835 938857966 313989237 423795886 810171789 323653625 954315982 712323433 983733133 63150684 473026731 678896516 757094907 469643075 546017147 942570709 107325139 296077748 533112104 296477588 126530551 48034661 797014156 881797467 568055959 937351910 656468322 850863749 319093752 868640372 278119158 771790037 265331333 742552321 93046620 78152443 570546045 707704885 546488461 831837850 549089704 489163278 740163122 341162558 119394717 380241212 932960310 169074171 156041374 674296922 616529631 863805459 103555429 715621856 465466866 670519842 395470350 69753364 996828830 317792926 191458021 901898143 254315052 956532179 688627855 208425826 539126985 802869022 731346321 954846427 90686456 822149005 257970102 85312732 37961864 316874825 278619220 453732914 926433099 891321430 908728111 93486695 413409079 150309695 448736720 972300059 531558595 878176203 518506072 779698157 109843426 303506820 229767203 663565990 686298410 372599205 465795441 160829127 828838005 118870443 925911797 137555978 527277114 627429572 438346256 115290324 4339899 436931195 433173948 4076741 813277812 444969684 191781403 43437856 863229859 551186689 243271236 970270174 324030267 363430210 151679306 168190061 102872341 422717765 29134095 290367139 359180880 197432149 243382019 534385530 152377063 571499012 44437155 936894392 44445768 244033099 376430716 463259264 49244600 833682513 91859793 997216094 889198575 441378354 631424046 442283214 99856398 648248682 419898626 695598289 981612309 609459413 617482169 853306712 725083749 64283203 434999393 606860977 726796907 479514495 681806501 934012840 691450623 78742362 997579452 397205680 30720342 716773922 899967747 888967324 135203950 326813661 78941197 384799895 857274743 315001855 158313700 917349350 526076320 279646618 166915006 34556408 348088892 500781911 646150876 977823795 276168071 596964921 372879259 729759584 369877971 759123880 770796701 99057440 232681212 327734869 223110638 744573924 267476116 781367806 633745973 521909262 511849024 741412162 857391453 213182897 180384432 250399606 393290463 125142190 549547666 472028902 438778359 790614227 430103494 382506934 974158023 617695085 751469014 990595515 312853523 5934415 196317340 102241449 291767335 150050632 962481994 746736999 691686845 845980860 476889032 928813700 897690387 859084933 351941438 832977913 792510133 834052643 522162495 578522605 318686 468435482 795588771 193874205 487290982 249656430 64795508 130008521 763001034 186750548 691396049 878372604 220051679 71908615 928053717 954782319 54524731 159136361 596720970 780708733 84346240 456073978 807929447 644892387 459887325 720289107 408727738 975418129 773392282 777498878 284366351 180723477 572809963 757123353 349452938 7303820 819254023 953117911 735864203 812733850 106580089 246633421 908780249 281719941 792856986 496897534 738331846 666481800 119054347 332949106 315480795 65804576 166623514 337122897 523520808 896929285 275611102 291761861 63239302 491076275 769903122 178148173 640501806 3878341 475102892 441217576 520066087 471441007 663996831 709304306 226648553 735029336 941965717 90220767 750357558 320347477 492068076 615344808 250493013 352446896 157346160 821787724 504876707 295782487 765011829 276942831 426879954 433039833 959619347 771832779 738986842 967418922 90595186 414236899 52511009 869335759 607623883 684994342 328308473 968240416 734691076 875661704 582845783 198684982 356643725 550377560 963511883 268605715 666619337 378088649 241288687 571520033 789514299 832955546 234687917 652101518 880052905 559146986 106573388 501575570 792750904 633804044 493830711 746464550 542732681 520105359 595133902 357832141 60739236 737681145 276294980 10291506 784100855 848128299 386830808 564130867 603059327 468441123 250426204 37467851 535960882 525294824 890054963 660687604 536776463 857248317 730108623 357300581 692823705 341245565 630846541 945644519 998459256 410337650 154361393 308666130 414857290 554056349 656613987 663752436 187131031 992391006 792049292 915096218 245122855 750826769 578817170 993586120 132433644 459689048 274560480 733015528 915106147 859292169 25326242 486735574 693661226 517501377 697218450 46983748 137616218 468229111 331850927 412519435 551611960 368193784 164540258 698420023 206303334 771831459 243310781 520282286 930147909 195412278 417777926 760658443 92204019 359816816 425972847 370853706 102687379 196812235 430705412 677891136 650979542 915076505 115067528 921351304 958517245 847632632 27577875 848042126 97359463 701041981 424811795 199992618 906227935 256387153 349269099 140788721 207848339 88127221 479488749 159856152 962246638 350021186 25639319 152630928 480364422 709314453 851169504 628050942 146548414 751915130 394761450 964741927 24734009 280755948 963106272 720316717 685003237 467959536 874915619 952341431 671478073 534530770 738862333 640828152 530785782 521461640 753342916 966382681 759835123 981476724 175187732 515122576 204448637 30002870 643903917 408940629 281386008 488883412 279809193 927869765 32418300 697776048 890990514 633843517 531084426 347808923 773409049 662174256 635221045 89462851 133690182 638297033 44978531 653030984 491269577 659663885 451022379 698224851 122991138 300369649 329084417 171041863 64767039 260435712 215480299 324426037 968022982 15026503 934649341 343877842 385427443 251734173 121339806 472269585 347084827 78347305 38833334 927737410 232843663 204321887 455766139 821852324 602649682 295134929 911753877 327934291 431289395 842315895 73122349 653445758 91001982 69872089 645792908 989844499 628053482 633644314 140790263 209471140 341865275 669518080 12164362 68888953 224610109 641576777 815654940 334616119 170335165 500490331 971761665 431334799 556693155 993397042 800603132 365326176 320145877 324575350 871947705 799621441 566656307 374002808 936624129 146908914 193620060 408075097 593273995 261963894 32843495 78481859 72137174 888270960 668101335 406065762 347664717 25459949 449936112 373670840 958289346 305191702 822960143 293967615 541401354 274968703 367528065 368168830 80570429 575555918 367468203 685043542 997402307 429119378 970457916 72969789 273447967 239496927 529356554 115825146 229382428 318992428 829413314 597575267 659762255 668674146 313792190 145380747 718408437 539232843 106634887 429099252 322945013 49095887 523096285 742281299 380108282 879716227 880139507 684558075 689836826 611642716 39874051 570058753 62700131 88326726 547369421 475468537 796778210 985008786 516060998 343635947 489651534 637376509 821779156 251567049 521036471 524338996 908874902 788546125 895298014 809385501 978533518 955611964 471699515 999866650 354880564 608668668 130540641 499243486 841287900 903734517 428398917 642527881 684428770 82486307 590192285 704814958 317451840 747788169 782314537 815843637 547685649 614247721 966467613 440236139 212487400 63897967 987357693 335458524 572723914 673294687 470770159 277514391 459682011 713427641 192476936 838422735 873564751 623553217 945862553 559049748 378497521 545075147 99154960 937892897 421074415 77055125 639932454 810534419 966795758 603125527 285126494 715449351 486954093 684301577 574848959 977858539 356154978 59559872 44272861 507249245 598570078 143816048 163437032 411292235 892855705 722170770 46820875 216348520 898454274 648571494 454653634 255738815 723599155 3675637 233572417 930435336 40865672 778070730 816514128 285400801 219559052 232383626 551950819 686287718 46743409 941905153 333066789 345696380 649803368 332380332 721557979 19651317 611577146 642401364 980511299 687837199 96392475 962738097 548204297 380152492 840595228 530913120 425814688 813677674 231099363 265225520 349413121 513380371 310145583 785686315 480530995 988331234 149506115 595556825 459817518 839863600 140678281 96757277 413998482 964794861 431463193 843184735 686845808 400282257 655355152 386994680 228361232 343922745 787232169 709653647 325462206 205646273 656097284 603648910 953998932 993781920 271998957 344472874 132248606 793075940 311519606 310438382 11113434 848637208 563616943 820974967 986542027 258043391 358542963 978795118 605323657 115907234 97574355 715488164 377812265 160818547 29760035 770927845 35954727 552306577 349257537 984957064 224220190 52365729 259069921 633840640 168519110 514782084 703864786 81895921 671571569 598246139 781960877 835828670 269265821 561778441 100257879 926391237 655780200 310085456 44284820 650102636 794492973 538651798 266929398 740015012 904016506 346252552 972783560 367683286 996812205 307360867 859797159 150884428 75899231 999149398 645511320 159881267 828196461 523544314 235705345 677830835 79715980 829604468 404034326 391660548 280094399 451843131 542855847 726821942 395141716 236112943 677737975 651182030 794438069 427201935 434962068 459489179 760511204 500224591 62699459 863115977 254351 723248930 940970512 371752763 708790245 799238902 939383410 240390304 96971726 187765020 86988405 354354137 528685491 436909431 804439692 500772846 992158405 95385590 57436039 325425180 371872814 595444648 13513653 633756714 739658843 129253104 703520986 812656606 33644038 612552443 669609521 412282732 409538654 870490153 354530736 872679288 605890655 726124334 859006810 779057723 8133196 229208409 442904458 134899981 307599706 270690421 855792295 44218505 690266105 909821299 446436580 825292935 346853585 648590309 924555530 529582258 274146121 720830848 287263998 316405704 36635043 94815930 208620253 815099001 852686248 558138288 263746498 740050799 243898479 40979504 723952469 954080288 410679178 528614729 274772845 318775355 132407460 764140475 696522968 370175907 347377327 856532507 499597417 880741140 310516419 464170366 627363554 538932002 464681449 198616096 211894524 344734815 383529685 593995153 279040003 100959604 528256821 771712466 84207077 891099254 431737130 859674680 119440787 220308965 182734384 527889954 28724366 89939912 991220261 559469937 663286124 293614940 190785310 200832221 294816921 92567433 596550581 461334632 721832624 286421386 926642729 147270384 331853817 394235192 192963037 604008809 923012022 549686059 383152007 545444378 958807231 803010395 834866272 441364521 955533889 747347511 326688072 107380053 394762328 973581784 389183088 570427269 125127551 810204289 948288523 280249842 155419328 371592511 856476335 594731608 660363753 341784617 119177690 301381192 868518958 239105829 998014660 315275557 856630417 739005917 194364537 993569679 645348408 358647794 2213282 585934439 346440070 987008068 499053858 59473306 35559718 910698437 820728474 872605876 187538420 826486900 620595796 600970144 111748836 179922317 930592293 945586633 421629464 37364032 240170672 804065480 946356322 365569241 946243807 980760655 148012052 223312753 949301813 488646862 840968752 6147916 359064655 242144319 462163603 439909015 951768788 432780852 293901295 38725918 244056362 186855178 285901923 163816396 369830216 700843505 912879086 297522567 70607376 146398600 553237178 5465965 466852027 211817950 930099765 355070007 891218498 697075335 946643841 680989565 481533508 747326118 681102218 811103372 929676249 271259615 131194305 311306603 526377007 561692113 806533684 382075601 87735299 341147026 697123189 789423550 433207000 464926119 597965034 983913112 16590260 547967407 417866169 479207631 4196590 989034555 260112015 329867204 614307590 366308758 530798368 681227448 575659983 312716749 894861962 872479319 5238483 767197576 472169475 165646769 767911090 153867894 478630009 109857944 395311915 927435562 429165242 292379983 862034324 579491045 457838903 150588389 815965678 233408163 995621695 828278549 628786407 686229862 856476759 855471343 73734312 715497395 867108367 687396067 326830260 439008420 401774278 239928685 247612901 505134730 323998215 502241000 568380298 811811804 600049199 146655469 924687844 543186630 232590973 416484677 517771285 943492174 989994879 355366182 828945780 761498010 8317220 448087725 134312279 108162482 940748813 379917581 23704646 312420791 345149068 781283080 35718666 540769843 471400795 178365741 389371375 945162844 193607818 149577571 635621727 588212766 5634313 524950834 945101985 441345619 424235131 885883648 982829136 46231938 397747726 418296937 916713480 279589690 885842469 893104906 708301490 43009756 687268954 380822681 308217809 840550122 582345994 387228986 842432450 779041798 831090949 650376682 899329677 164447637 693309609 950411822 652879351 239573317 830783654 888164728 248515401 168559146 782799852 219519604 158222515 328303573 506850280 26407705 690820390 834520887 236288710 822097567 217567669 791377128 96738295 979166143 335798761 426418894 213346576 346263081 590137169 402263077 449990342 969265827 335079627 529276090 516915025 329882761 316699014 922289571 975175156 348562839 474335263 964112982 834997680 481317861 103281995 80984141 871995247 13517413 548340724 368916757 799586651 896764990 376270942 319341562 562051197 472153422 817041301 18973463 970589341 822773509 509125221 745190318 796296251 247549117 823994104 718559187 857054660 841693495 988899267 840258921 843488816 249436693 236125401 928127277 133071960 773620516 566436257 636716026 833462688 890511190 896302531 408884710 93497906 2521619 263010712 406134405 368559336 211716421 272127840 847347520 415849629 834720434 542485101 734575551 596119962 671736795 253625100 296612273 69208193 764783830 818548946 33695694 115298399 259267778 417115534 555445285 785142356 650257751 318990447 732246997 893871367 572839247 772775165 725289881 92597081 481664335 281754049 504622418 774284258 332874861 852406667 960497958 30140006 81820280 162946147 152128747 405844701 884209235 712853364 568134322 376308005 113042296 42284432 902983575 38884912 62418445 14542905 300882591 199846070 330997622 697986393 254560776 843581051 565109102 301322706 828315743 344056995 385041749 357297869 357838578 419701293 372624670 555815746 347348222 77606545 203161754 589025883 313610706 567561047 536728795 102314520 207474829 415665185 399314501 198002894 587965895 957816674 849441136 239646296 262747818 543078217 827049419 750277528 576448452 823018333 991891609 621310964 713540196 897685114 460046991 700045948 893479752 624673796 271362676 908442152 521504335 639540758 800191889 591297971 843698904 998604335 785935364 885649090 349360418 570933708 503771092 181006152 704559023 257676761 921224834 204311052 691307218 743177419 282888968 557817193 287700579 453984974 905401583 89677330 936971508 172403986 188485568 781428624 893508656 769504660 424909180 247764724 441062016 554721067 526805386 820235536 672666227 359813638 305865995 879800510 712787046 906101074 163869443 192725902 941421397 528598685 780047245 106797170 744932414 288632532 465720369 312815226 67790816 456413783 400356963 819722368 747170536 63870777 4452055 104474634 188833871 129475644 775111852 367492739 834548011 11737364 743881931 371050812 49177663 404821055 8717307 560179485 696132679 73017033 378086837 146897720 428477013 800101702 361155355 615253846 577833571 840506142 519460172 826825543 245076284 405687325 998664355 755094967 242910555 343298712 730700439 358822928 549100457 925860452 406209142 18165873 204135819 540617126 877406566 918103587 319818548 190097031 908111382 641316049 64587293 484896357 882590948 838630818 666797905 308342806 564691388 119244087 827309865 151675197 71945493 323470783 870870893 867906791 482070783 846414076 200525949 536381455 856719481 692748693 650722109 315090267 329249026 849304079 66858412 489016935 616023244 552928802 934584079 34519514 995929632 457860811 856978831 545685391 811076682 639441767 424056614 966969655 477672479 8670659 91061513 350256261 581198642 750352356 940326099 409082385 934561483 634649486 159374423 599846388 943192420 728581748 774961207 843040460 266914044 230144560 298786954 139552484 238387939 566579637 916149882 127743353 638640059 100150762 167331623 348281970 21097157 75266962 518375385 423321175 450497030 655965368 84601809 763289863 62703207 165261944 381070098 642412313 641849567 182514793 415615801 731590792 711857943 35216157 781921068 815728457 593993586 810163179 375412187 531561439 330228637 631786581 733265563 372635387 950315910 782812776 167393366 473376535 335013276 580728566 715596329 908583811 80323532 895617269 554924054 238409872 477949039 319290231 376223568 304639187 656751327 62439188 162454269 512530112 435601338 319835646 97280978 936165468 533520226 900056298 865393891 12103437 143216890 132107521 899893380 769011701 717791826 636737727 356567212 553563996 242588383 109284565 435369939 426007017 129785122 228845940 433886627 136297475 330181617 45989273 307165759 563513133 526359994 746135685 158756251 836387481 520232456 376638366 352639972 594334064 672385702 922944388 508405924 968228771 797512562 937670586 131818727 398862208 447021362 267898125 111616200 212301823 695667397 101212693 319875488 153417732 555657263 938978967 142608928 282759526 259578801 775628430 880419174 564102029 721124420 722162582 936195696 805449688 389764899 483355153 773556993 91567710 75039014 338196435 474663533 453372607 398379144 988373427 684335311 278632613 141733550 815417947 692925475 475455668 590513634 520987395 789990846 987967072 149426382 19791729 225996916 145322178 663337809 489590637 292828094 104759653 40270890 934099549 232711679 429841976 281363169 804244411 258437388 279667718 735697999 38690529 741310175 415213891 791967334 110495665 666116418 35460471 865865927 896289794 499836017 132099234 453453775 369804243 193796774 398224905 43028577 152072181 976005689 558706492 535560970 858413295 305699841 383805339 460295726 78266440 49013200 337520439 519894785 149454619 399185267 464788915 239485626 131967646 102599370 360426856 76278418 949257024 252118274 323441832 569172146 820577310 93524387 448894225 844298009 830578790 880998905 952895979 473616607 773284374 505702559 329807705 975644160 49724639 655074856 393365291 462656386 314680480 816732736 161196518 414159305 941661408 875480860 787782787 266287811 401024402 351063269 127624800 965528715 479775163 770549239 809401795 483977140 844452479 14967585 866856200 678154938 54845271 219805846 370289916 607689156 883264898 122544265 365516222 210650690 152821451 858845588 30554411 332137325 478224545 56533731 264173906 499317211 860923954 466101012 662531628 254659485 951902226 630711812 85707257 205779853 647936206 384250496 670998260 723674960 819159721 126248195 192375946 690803205 854080041 56578493 777312718 430855346 217816739 450276442 283908650 860188471 548863381 514303322 682453209 516950957 747487199 373106953 251718640 870252960 787132303 48228426 838638762 632638151 290850147 582793907 467460860 845952282 964166127 97013481 32530313 769628243 542103354 274104248 658441948 631271250 264595633 977539175 830504552 187106278 575147449 403421294 416188367 571644478 743321881 189713503 683219516 436537961 423294630 135679312 955491279 422602105 933497259 843374376 951764830 832119833 887178930 980367531 806214487 191250023 534327907 248333773 815850790 534968958 481120490 203028845 85681433 382311918 760905723 989306622 800035709 383106741 670504443 762497828 988724538 655293274 638242947 893824037 94000883 279763034 606337062 181424020 737855720 261708673 929103927 996624456 35061823 28018271 771396458 962670765 884234538 504599158 841782462 671331285 471998392 164995139 170129091 690211992 34227114 809092509 876210937 950364454 942529553 485415956 349193344 992237562 805432644 867776583 969121954 12094549 950846162 191600273 41761818 173491226 713211614 297728612 392165036 881568211 764215443 924682088 935170632 471181122 61907348 118334569 449662392 57189601 404145932 79808400 362207282 873624997 715827592 602388082 884048866 47429923 302448659 212154658 124955800 694747720 452685634 588289118 284164769 741559905 86383496 491887377 133090404 714425389 787851349 308293342 336754262 722577898 68792984 127789640 223943113 254594205 463177426 472648795 951458829 910143 482342722 665805920 949689193 679145652 924859977 869670170 645667060 42226814 291751731 833905712 240437351 327011667 973077360 827298418 438057805 294666800 272136367 935420911 865139701 963495400 229205346 446259031 741456897 476175528 912373086 356459852 794930183 677506070 950154811 970773556 877733494 965891889 755484575 169618021 846115139 361981193 62417101 788860888 100727789 930575076 578180166 227566484 237726967 876874469 804957069 769371190 979998092 144377724 40002939 237860337 588615420 305046095 143714371 95907123 686662593 852976049 573576643 877951719 929302928 802409727 31138241 16964464 488571311 571469593 473059329 817658231 211035498 18952616 577376192 261414253 646580441 675115896 77272514 913780707 133110894 428603768 192441966 378146782 730512913 777061620 718369479 316765698 833745871 449631301 915735670 932357745 559407900 733998172 498411350 723664299 835803111 207325968 866082277 512048689 443286798 63763134 100607150 29953013 439906973 666409928 318811608 261912724 303117530 470755497 208985380 33091653 121982678 917850637 543795233 797254708 514071588 82020037 537415926 261346267 328349663 798814546 242090780 120281195 958402661 880750790 654149991 249119091 181550341 315754265 277041740 735770308 393331154 905906420 261277239 948099733 664440085 39289781 758433731 623528735 169756631 661479174 321330899 384579562 268763351 98264788 530999626 408224264 605124615 994750316 838995257 293098423 71863827 299412921 547485265 534056912 121964988 137431295 249216935 538659238 640467539 743822684 27640334 35442518 239834910 76693731 703270811 554393764 107289970 934734809 843776333 384378697 432140195 532631360 405357279 730192835 393862836 330714995 426006452 909666763 400163234 531371480 913168476 519632686 323064902 443798844 644123561 545920737 861451419 729036595 605752159 744759045 435533096 938497823 330620680 840206643 589051718 802682020 726109192 633725854 598246184 490588542 820166863 786728013 619731561 10756813 188965822 333589406 669145231 665465315 634844534 438263662 940969743 272833184 206038070 621135051 693355619 226114676 399229407 6479320 378350959 675155199 79683081 509255283 348127553 394794359 668622679 230016440 392568775 261660844 404771951 866281209 721439425 838864907 372764520 999823170 307683861 862881326 619235714 144381804 829160485 819517228 526690179 270039726 813189878 131828792 604184864 418917217 259964945 760322632 965043147 766347754 727360014 369932575 478974416 243029140 922010567 809669680 951428530 156336877 695848381 277364279 225819228 481543829 19606659 45488221 465020403 682683557 675837746 671728955 497675512 461406105 996577645 722911216 443309116 347828270 509997985 36178007 257671968 614477074 443793624 379999240 678713495 174877634 724746374 50013327 469967946 188244601 655803585 439020407 602837130 354240287 497645497 417642246 923745733 665849756 137903886 601382803 296198729 534179494 884872545 46788548 526492522 516302374 264292172 922211390 409791498 302784088 797996098 831603791 172201496 214155046 816504972 85852900 192435239 813215526 202548821 64482487 707271339 187961222 954390866 811448538 91756848 800031820 357118145 557014158 52566451 522970979 233610588 926541757 329549413 727386084 919837791 74803953 794498078 732473959 274024103 467640996 830106647 706338035 393683556 122732298 816928906 113017445 253496609 180240220 574466665 796040694 887191314 831790879 615436637 665969628 608112899 572390729 251459706 37703762 260003395 261144523 105660822 497462816 282333277 261596209 110878717 863536170 735966798 217588205 315657001 829535207 362278530 541596938 23914401 35644954 361373597 817380847 164070413 261204446 642166906 903245244 234413115 747184043 920534372 860906061 56422820 864241691 264548109 53016770 112343249 580785193 174463937 447819302 498026163 637070895 58302454 699131190 599602124 748803637 308761398 728892429 660145491 566520333 222941369 237090034 848890324 963409341 218093230 280464974 235261549 466328128 254158929 189380035 65548431 50471128 643211160 263763010 854137751 194402199 658141763 898657181 150454655 332446157 96538255 285728321 369735534 873157509 245523940 70770615 567182972 937298962 617924612 492444080 80548906 944157583 774270193 885962862 74785710 30439071 356728004 437585406 424725810 381375381 810895569 28535809 138087914 31199456 810971530 719749856 663170820 416798590 170655394 237729984 55824085 475792562 810428186 691183274 350444120 678211323 148515758 667100740 855663747 295414662 63176209 195941157 287029107 530463959 818201611 216140042 839655243 681515681 199547426 73315526 435802917 689765617 663895298 257244549 551310939 179405863 704713305 28361551 727285803 262812870 138867074 41903562 602242031 415554110 196927297 595271132 668551479 411971804 432995768 104710135 443186280 889241369 409466260 262365920 49335500 736542354 518882511 617773298 624772591 770315842 409468740 281543492 588259393 41128678 592425251 770628766 468072324 355196009 371484162 589399601 155721988 57912557 275429304 154180758 74530397 523375451 142193551 274448850 730675573 543381957 483867657 277550210 124411452 990055208 585245891 986195286 77161201 346922058 216008245 636551537 893020581 869748513 980129031 174744121 941965556 905938398 43167560 641227476 364881624 579868160 699943002 865549776 984736159 408630235 973334041 701156661 928110953 973417834 359811434 41307558 805470587 617305188 290458235 948392596 964989897 964262370 43071772 888281983 796533136 688954879 915830931 2207153 441165024 462717720 609167728 909001975 362846740 194967131 195420268 160751709 100409666 409550256 708462347 435539272 477042416 7502555 634262875 404635738 94637508 23178196 647802946 246224036 823394022 263350287 534506026 835239575 669406229 251745024 872589799 310483236 896804321 161237340 292808124 459395865 127938940 563741118 454611141 550805656 391274660 576378922 542944141 467727738 404097462 135624104 120564933 6998307 829709550 778191479 852926277 597501418 640952131 958860530 858036793 229962911 240262568 842715673 808278144 727726489 437760145 520396030 555544909 372209939 601473954 900935724 945979498 162398118 149667063 791771072 681549507 653158967 955079345 602398095 891592981 42555283 842973145 149474703 314194049 445004407 370247528 127964282 607854571 412612687 246050177 215292536 377014535 389893530 115894660 146505669 908856339 596276352 625075698 226413756 649311651 805901985 498887785 592730604 769945357 146526005 260940841 229473046 740074704 571246917 479234530 771677699 120447435 508779324 85307453 9433524 335445512 730770170 386881124 518795633 715875855 290378967 203588523 805712258 230321930 464058732 962361726 9316432 89167312 869752341 461082381 223177625 28278984 762087797 649192723 692500031 918140610 976992597 527447250 57039723 779092963 264830941 528340161 738013908 975052612 661298553 358913316 508704283 319397437 125129133 286670614 207274340 324028861 777188953 827200811 578960227 35809288 368144633 925707666 165731379 499094372 997073560 760403261 214636367 840635508 985720904 797909001 426537017 255249825 227719730 440746450 119413913 887064580 796045013 527350397 749318242 915296730 294476530 229399109 828994613 787397088 18081240 521364851 739085865 244989278 116093660 750203901 408184291 627074080 643445662 526140285 518004272 62450459 649772333 27259386 310769062 65761099 670277161 671334926 728301781 73395146 671802794 651380445 881768499 784986308 669286627 660122770 815415544 683969985 771931288 776595105 440096039 282970033 165491133 333961513 368507352 619869968 665224249 63642503 604670694 272087638 139050365 634759061 968040155 931005690 568696926 700723169 28307657 755487598 386222923 566468695 520451127 452817965 212842844 633550654 841874819 703847271 125768854 992023439 121065910 141078536 252120527 11856085 198204784 862862383 614621837 811456250 219633118 129480146 40635647 176955878 815064810 377094849 329145641 45584643 104365345 76523773 371838746 386555127 617256178 268056849 82503888 246215934 264686754 172345802 904588296 183837079 882691355 938635211 410706410 328028271 53718307 583669359 773280986 925015358 843762457 64472310 18394244 867977402 300496095 215100872 721378920 147289276 153412258 212804775 684065687 3197747 796166814 79147164 738949598 566626661 278294304 994071765 96416807 936952841 422891319 23348289 40761914 276801112 963849303 737525856 50751779 174905826 48861242 871661451 318546697 8002301 139854945 664877856 930763329 38848285 516569157 69849460 2742980 142017112 859483196 631863478 351154556 860864889 326400556 753501577 25943302 100777263 793449778 286607016 666838942 345430880 852134594 36398545 315661747 684501665 855812983 365134706 308835975 187217030 434974264 202363162 408301852 340428977 211748493 52260375 324710733 280241758 775172143 374493471 330688701 237801012 759034175 552254476 22162276 827515092 913972183 680283505 33288719 666368140 836779529 822157073 396418882 310836342 856300465 556362651 454360760 6842303 264406853 851314661 75363257 757088424 103960271 78238645 610020489 408480 455799239 943688912 292875674 875934245 444345471 633017495 533722515 342871914 600274413 946054283 351723109 48516045 447072560 714712049 303348703 147688663 709286639 580070496 550751628 938314232 527906595 104816149 636331915 231339968 36696526 23516715 112682978 710220128 291416401 186807874 926695028 314848375 684908819 48869947 498371393 332618928 826525817 36607554 599870720 83727629 647495089 536960039 947355549 733708396 527985099 361829296 674482665 466261648 905760226 470576515 366594727 533848572 310486913 433218773 837110061 932902660 215273702 354947999 422988613 260004763 811280449 279131088 446759875 13271573 295038094 373873629 798313497 432821708 363887142 706164106 797895320 630327452 490031661 11163641 452037511 63107609 652788744 596223731 726297930 142658213 180387075 618474387 986986155 212165161 510218733 455763990 489839247 261740064 18735127 942716693 736271401 735716102 206912974 690190385 192990350 368789365 737626282 432880119 545424281 470566137 315216555 529899558 686205141 108216744 467004169 52818808 54105983 893557790 681016712 269585567 755415870 720302707 972353652 522979738 266580976 2072368 809397829 629115801 930091217 559228124 638800704 719393549 813584218 14846026 623364119 417934852 418137991 79054223 475271318 994997183 305833282 116882674 795798105 764980280 866890490 468980917 467447297 235346888 136742405 280432019 283045512 241879910 202391227 421110536 403958003 298915180 717274477 811509147 979076715 504507445 214913194 254521088 26473333 347254454 596554647 290869963 357296643 605342349 143659977 759726006 67022806 901764674 416988388 709416309 392985979 514953456 771564924 766808614 671450050 281086649 21556800 214152984 655863042 211408537 930358529 216017653 137406464 179910390 679132352 285026465 942348612 705813568 85579098 878158540 754790984 863643875 167679134 632750270 835837720 682597546 202447033 489359451 195438742 916720112 121271569 665993463 801038025 75462250 718209142 562514585 102316693 380037341 171574375 538388629 465881872 63246778 342257641 473990972 313386290 515582504 112431018 722116799 898680420 624207313 758575345 828976712 594706420 30751246 486329517 199208235 197581777 635947914 60283005 164542717 757553206 926646912 307096660 226380142 127924753 772977827 163650651 340129775 865991533 934326871 94154879 953159207 277105952 585116621 149776307 205430611 726154445 482229154 413249842 594353903 323505711 877077739 62441838 840259868 532939399 867497211 335664899 444762653 469166658 348408863 728042596 634360252 867769 335492845 925202300 763256605 825537225 139710290 996794155 364692769 569660573 53396179 313313894 634450501 161239457 858339254 425629642 655984753 292094707 589832955 386235429 614739220 240998596 826516363 301623648 894552570 805462031 620466131 971709275 576766982 549885911 564742298 927166219 878303917 193101810 255856339 262540939 77490260 425693272 416558798 582719716 42145820 441871515 979362906 515788484 114561286 727267502 921792666 944573627 265503486 452421167 811135012 268468260 880637069 94911833 71977159 810708972 514082769 250673712 859145683 706166379 348485807 332202176 566615709 63334237 993498913 631749873 697013231 177464001 509735453 345165664 765540655 378800432 978596289 442022445 266804177 26111753 635590567 510147142 988670571 235047985 658084430 982089289 546380331 814547309 716293315 550606081 637273822 266535569 428857796 74852448 403379675 291656652 132180500 885718287 212252517 723826876 122607368 875682612 904833755 243386312 545674723 76198245 536158404 675022497 719606775 566624195 335873002 523621147 415626792 248957720 637106158 650778280 62517449 608695242 640723820 980435012 504934956 525115251 867329174 581459650 20755043 290710168 452704157 172859011 739585447 928634692 773355762 406553627 436470292 388254389 162010706 154558297 581110031 916606445 724768632 490407077 689887137 845894942 981547105 25981881 926123510 720734919 65229298 165323722 112712430 709249327 198995364 859194044 485952457 403092419 164279685 811613053 297304369 161239237 656458457 181383929 188546122 712783776 946212031 334385287 670247467 920142402 131501084 794715319 452100696 625702996 370633324 164105653 551743870 485633322 926927419 738629628 701460186 367213877 959125674 787231015 802480730 419327812 923499511 852174156 287972934 410454119 514189951 431309731 458210564 140657499 333586432 802806728 869819762 68863447 817650192 182258296 998034791 842199205 353057678 579401463 443431588 215776282 713374611 54222928 420173151 370376461 915171665 221085566 909256425 196650686 338963046 967528948 289623890 506254933 324321543 16668927 220987360 199535568 69913261 366745245 776143498 626948536 81329231 774369508 406769394 222315719 740661497 888088269 247796601 800550244 19258161 516361322 14905442 687459948 482724052 420769389 86342908 980872643 838805693 239204537 240049143 351747973 873267980 906193861 933920239 52978174 784813184 44415389 798361781 471993066 768413531 704482937 11656529 14982275 9709246 118242012 528722989 863661234 292397820 291477952 453893990 3770072 970688325 390799437 401215430 442926140 129000436 798622811 994088058 456066450 80287888 124292782 893637644 142185608 515433885 954511561 936714432 873694916 364432799 179678847 642565519 76219110 534610632 776168041 21590597 738751514 964728508 663200474 670602682 213337696 245446583 33434403 941375592 566357986 237563443 746418649 840521714 883370361 919021213 879461915 468337200 82028978 312398654 526931630 840435465 514340509 965596184 688504489 177593443 261417961 172515629 655182656 294849924 460944298 647989551 8607643 961033063 334677413 966485415 751444612 803502185 978856238 455077543 498761151 533192747 57900595 928025481 451903728 931433924 918644019 956451779 292203564 481641356 865017162 405732250 817364664 733571401 529904383 592959658 355573127 533468599 902032464 651905104 303404536 418308493 645404076 683622753 612547916 770853336 921924594 753927190 24039379 223661735 174822301 601360272 196572009 945493473 587396490 15022379 138729180 70307057 310964106 256174155 496308355 988367268 684504645 275140356 748627639 815162971 806124927 879332255 415213000 548710348 874238624 844768271 111893531 505174702 531861025 206761641 196242138 628334587 289919542 908059384 445435160 43150093 594180076 472519602 645765706 163627900 833389412 657463254 794220446 476310444 2248375 938343372 568198436 127241389 707264696 130231949 791993700 538691296 445887664 554056249 276863858 435909374 576344502 705512513 543022910 669902983 215042963 924891821 148365602 456897687 388825763 489098335 865024185 652727726 387980643 602180504 117964577 669072899 910264485 276609618 309564026 455597678 85420892 354222003 579214478 388438955 334743256 870415540 538031170 952615932 956680828 92099866 274505512 957018740 289977373 736166674 374497912 922810680 463538332 903795589 60730498 952851427 177623896 701931246 885906641 63012255 716497808 66934711 645325741 212132284 445096284 29840667 561721902 838388673 322855595 411862408 871788826 985039357 632866909 314185027 498008569 869919666 35438966 680490945 946390116 481274653 166777416 983624611 675226526 758840595 847763722 201752615 750867990 881115409 888120812 72389252 273483862 476417463 194629971 281694468 893322917 690472070 122224790 892155076 448208596 304048239 584053498 533853143 991997110 59746584 636410447 347729040 557699367 721707531 173028122 73281472 617765921 734115051 316954657 59512183 719728276 862660095 972246877 693492306 736841493 179012292 652812237 951751888 318638791 722719824 232727327 887944523 281909009 746402545 897941149 656762819 317517293 300091436 37946725 844895392 426039382 103004110 30464520 817212724 377024460 427267752 931176856 957130645 411541341 7018566 615171565 257200545 144553070 968315615 500985729 34959426 413644546 379877203 785952801 900027045 452862973 736320772 947976321 956595027 144940696 772268619 573365478 189822177 849757965 910494269 60339038 299618116 614612047 456428161 987617294 142772586 722328219 450511019 640914541 554701892 28156871 968636285 480231313 951157535 179754476 122120606 422506462 451984749 8954443 233340154 369572538 825471948 627116687 370228832 165662499 153736455 505588061 71055432 920541552 794736971 884942706 166288889 704993211 794972463 485033736 529498216 706089963 775730503 341841597 106418184 547343350 885307696 968375511 387546670 579456243 10004012 435119527 692522869 39840830 52415971 398358215 721355633 679323540 916983845 221397183 991103822 26822236 41522791 633872005 864906048 550621965 185379392 19590099 573523900 711632575 607223827 772480861 427528171 141884471 3422313 240534677 611255813 333699012 178007461 117627064 859658198 952227104 108825143 647790735 985406468 820113127 194339478 294916362 523582558 832652273 233523876 988023265 44299006 721463770 121236821 332868313 722555624 308392160 462340029 914635776 286639879 720405493 706509220 489954541 771574491 418183541 728605860 561561743 257525320 19546711 865956351 306945133 14622250 888093418 505084392 738087749 611137190 95138607 479089248 301611060 460990259 318493837 223347746 40083654 290490135 483990538 293641882 673049141 317434208 750766368 706883874 591782851 473876547 507971830 924776072 519237494 806048674 156828706 269640927 991960531 407480601 53149561 430165564 765276153 756386019 143485031 905155480 260583871 858295379 95357568 683165600 464660089 477555786 617812284 914314841 103098086 653517168 687935813 41520019 96073534 247763310 57971024 195003441 446199109 634560733 11670210 563722076 717398648 916130325 303349298 653657267 202732416 526412794 355106287 574913356 63613266 815912957 671680010 456255263 330180486 930531033 584139918 746760445 182698441 95228895 838509207 658303768 261449198 620490870 629002646 948905316 584587620 256564945 842573338 63968029 77072256 722885268 490781170 756751395 890452280 353160232 697906678 512837273 531072777 632404308 446319710 112276879 152320289 380575126 792640926 706689704 699165497 188277322 573102581 885347630 560772300 393304491 638130405 185016009 940096282 814279357 805621629 57427810 869637686 312970095 294450201 35976818 495819681 260111787 409302649 956770796 350948991 56920707 992187562 836927349 587126162 2774220 926442028 434560435 600209067 514364347 346726655 716976176 617977124 367394360 941218602 88966456 543524773 334569617 823304333 962711404 885829034 202826652 780377997 921820460 156441001 217644062 753465479 151194515 56782577 898333997 778282396 220041808 281695590 141537173 19028631 869816218 291271626 345140417 802007700 446883816 271688635 548886265 413113018 999915294 777778719 167192075 256670420 209057026 152617597 264093399 896049479 763175370 184402198 348873444 804217360 118678089 421378192 451899538 909822256 917917935 664041216 982099293 530078372 939204995 838995589 82294601 479720688 717303362 277313254 490069337 495308909 312014431 957074189 309420406 883940308 584881871 589904806 602126736 740213119 873088503 983906825 980205024 460696268 418081772 329694140 518483151 98649905 415875533 755842110 697960858 365202339 350899760 562102482 623673027 470886650 481587291 234086948 41077611 560415646 361821513 207244990 124990223 334133770 958857919 915456137 954833025 855738362 327482968 524740912 859070268 251192489 559561874 763805214 998394097 734227473 867740540 289088364 556712681 849893315 125620805 910691441 456682410 277970471 916427066 374158876 649283684 989728385 295866534 619081621 474110070 557672994 833318074 641660133 511240618 155064605 233720857 10568340 767522287 960917337 420431341 914859104 582739142 440210332 568497864 523573182 105121820 443814537 520209769 735565919 310408528 242976636 585374370 188742332 21720347 171933984 466879692 30604050 393453981 891980514 282450123 366717610 732012126 753394736 782462090 140912985 979210884 126192086 982463467 821861385 900066703 425211670 772323972 256666978 800163667 310802188 263187237 759471659 218267864 456341644 37734364 353571596 970579685 355849484 573948251 913257612 736649044 989207601 211894323 193493870 746626673 847676671 399562033 817621012 630351718 116855222 491498111 299123411 941302870 162791716 339891506 321287370 563947855 593961491 556625476 954240347 64106594 940265312 93194234 212835026 793539925 259909813 66982156 9707775 839170191 17974661 566612330 464465801 40992705 84614723 611146470 411287182 571467323 29834988 442379762 430331621 46321160 428908590 857789240 364366489 863030754 498231397 678110085 292006071 497546339 153959048 690019282 970303409 312561880 910077292 653954882 403949038 575581455 597318501 371544928 10075419 93355595 377704229 240514380 858210729 340977638 269126571 834399313 421656819 57410564 610695784 4002728 31883976 364747440 825211196 381071047 202582119 46150127 636633177 161350063 170764312 1708045 728107636 643722138 99748494 126574225 607038835 810963460 220626990 917792528 393393065 844631339 811198162 821110630 7658918 362933801 742150703 224945902 225082520 984237617 856017584 85469995 620257710 81115612 529579142 539253259 896359712 211547116 835812635 875795223 3728791 552213695 620762835 940454277 840906411 616605378 877826500 304399319 912943871 328790903 691468762 395500126 578546061 498727899 466052275 840645715 135090550 982453138 298596376 645329490 831849718 101561835 350250326 28321957 37938566 36914655 334798023 527112106 362176226 806890933 783312591 472208744 658267547 294191867 155624812 877335423 522385220 453590688 256193885 180178726 240276630 850148852 228076798 440167746 892723252 566209904 26651573 869713468 824844187 97398161 221550280 834517191 765100272 5680157 881581149 581166632 815359173 377604263 731440584 375411213 706352719 211900545 296515209 166051584 964372243 191525538 156364607 949870106 471262991 62392506 223057494 538375979 494886436 459176263 872129662 995339664 277177717 815059740 634880318 632732841 260177819 507823637 485708250 905163603 164619996 767715487 195652822 711334947 243707510 627546491 781820595 350520068 102838430 478403986 329045016 222482118 930766256 101033855 381163333 56133886 193874245 51273610 587508467 843765690 464569278 511593851 293143511 906902411 959193476 902216587 616079528 655850451 236717954 175635917 291573051 937686051 860286578 895901210 327393798 741637644 465346668 52551683 798784511 583257589 299701822 323624344 133604468 551160803 707087270 70585996 780113269 44818229 999290139 834434434 643792874 385287025 754536386 719953061 86130044 171040263 37916564 289482072 117844488 75596231 433961720 301174901 909681126 55928056 898006201 224501990 237870823 487602358 311228670 48582845 586188668 217495893 141753801 917267797 796005882 708216582 255900993 7029785 896782813 203616073 738035381 998962056 192511210 243619985 591469087 270974182 158624138 682586997 116345895 474519874 257349103 141345856 408981068 922453844 726911657 901121647 127540074 610464502 674511041 876501465 522179862 656348758 73520023 328964674 359194005 499548374 222538401 519626193 293138455 254782030 123865863 218159575 352738788 71754802 978342484 336486567 147356685 466412427 961728770 872398740 879895359 997430950 536965971 814424387 789603529 966980903 558483584 92610052 832021203 8251636 105917741 28024174 879963253 158571668 563999945 116176170 96311881 535759839 113220130 847571416 904188000 479776201 539212441 677132422 108452465 173637592 980954739 163274018 167252059 916239704 553806226 295813886 368734340 791615395 943998152 454689649 602701960 114914109 185572088 903042988 53216302 457997877 893834336 262766483 443843727 709308689 270094170 575984263 493143676 482638848 767039997 312357151 722423581 903686408 680180536 750842479 710237595 667111263 868330569 178746929 652464498 885991898 936370011 412171966 841766832 238248033 535077094 757167396 151054842 507289547 487102881 764296715 592584151 230908646 449840087 859282986 276106070 785021496 909083882 593894290 770401634 446947580 279193730 920117597 557094208 744811484 598869631 814252434 382229305 819721578 889110162 626298443 965757672 862260055 46986885 446013192 171102440 896258643 804540748 276115495 306858563 695323725 875494760 238003742 506249556 302589993 445965650 836756251 904869772 399753486 586070325 334937965 224997608 577600423 53381770 971168985 971110151 348115582 996138337 181509708 271207381 890842144 525401038 366861111 294005265 893283584 746109012 900774581 955236657 758829373 306695240 996017061 332740608 310729766 857738934 205139714 544245950 716522917 851193158 385070198 26823334 399236373 783387092 213440748 243194237 496537547 308908628 389123436 488975938 695879195 396458905 54131174 606003849 75864282 385049421 593239934 963971421 938007073 444715428 359465541 338509576 666186735 672979407 220554947 441506525 676237922 366018298 612602932 131821345 947980844 975021110 369526552 531029189 474964942 429701492 537295453 347593187 366805749 729694572 947780919 94763573 29897484 482978592 774789464 958752157 882706649 645727807 310232229 880626968 164274574 80060381 722290088 555923799 189596460 547292989 798357524 674285417 379847310 857380864 405212849 646329267 154321995 998332761 295886373 54135204 367340197 273681361 412860774 947595340 945390034 310018937 565411352 784021771 586852172 377819798 78289663 240498079 932154243 428284664 995458828 892275064 857772446 794733289 958215865 17574816 846081002 722798849 631226478 417586230 231161607 834558294 665957057 76026451 695224096 656330162 568738212 934418363 579989340 120971461 528206436 797117327 967192523 649565044 10757655 688622372 97789379 126394683 132125726 612938850 569610990 904007255 494301423 151838071 364962271 220643194 96829919 67835725 931445807 206374930 834497223 831419515 7808283 459136965 627843873 795101689 996871030 324456934 991595232 969644432 29669290 127014032 785693792 182720214 141858181 175965270 225309009 674730109 645361087 534866921 404046362 493456815 645038686 310634283 803403070 800017090 208746097 903169674 417780989 51898056 749396203 272228578 636013024 843567066 850572881 392112148 300892540 309667146 366231692 300088293 721257696 783426385 958022047 728845838 48052883 892783936 606561374 693752541 500641293 454231973 171096425 8069052 585591102 546256910 570524330 606306250 653710466 933172450 521315834 682727752 594039933 6632147 319383857 896419251 23975464 467426558 63803610 306973890 935798491 92508083 71024848 742160666 353097659 78679245 632984613 389841473 836596337 38176845 758266920 992887129 634346717 294048708 496631618 599620513 212010434 366479516 562702676 798003003 159968371 738174286 359541962 218072833 782671032 703204 193497454 94613577 932157969 641033313 221211577 227768174 416437051 444608696 204763502 156151249 623409482 850157742 395219636 344681171 445724350 106835320 449367171 714434432 361762315 393688917 997392785 210297335 645871931 948986865 67090522 49452710 147810412 447213379 393948060 216141923 525908768 29205553 370458590 59884703 921526770 917480596 585488008 171264383 205118871 661059922 813146348 28027393 47849690 70535420 74828243 217647895 503915987 469215735 869256168 971966615 63295626 286640136 307247688 772317778 351161517 474894494 69684995 571785827 830774028 593150006 143180805 871459737 258436300 306271585 908540172 628059199 986166681 669065373 158257508 249590186 409930693 442393782 770130408 657399220 309714114 842823522 423893789 829233238 933691647 361533160 463078214 186431761 81518347 46253297 208243815 599079051 417167394 78941708 715283870 152080570 625805080 789181921 775476058 555811297 349987277 91922515 698820182 590142705 215475166 210191762 225057285 80852196 203437423 396209410 308694141 544754748 514587262 478130425 752384310 992129598 975791058 298112052 753298838 704406009 34646420 495481743 703394754 89818896 62790247 233223918 507155082 861361554 167178257 78531423 160544694 919911737 35933850 97476693 962855273 943145873 360653832 919854436 986248762 90902937 130106724 285711956 387592217 464655419 598152639 815680713 141705918 528604807 290754995 260778412 785477220 103716962 746035773 84458658 12252776 90345023 209473468 439548633 552147661 2783268 323977572 298575668 106215986 400810732 810822108 8846550 915109738 441611180 317941947 225537981 377962249 397554084 932861348 942440821 621293664 300657934 520746631 699871240 160634621 283162335 370733994 605068442 296454604 739917525 259084346 787352836 776101757 519012994 468836786 492194676 302670266 69302932 976969809 337827074 645308231 212198022 761321912 717999256 396459750 280781253 94149668 886202233 780575068 800946841 642395835 159058708 954419036 623926100 193394653 840867146 673365773 481530546 859002706 410820721 963226366 605130631 947893543 44560172 604374819 605696582 180556675 477297234 377341778 483680632 84583854 747127334 531852349 364077266 103496236 297615624 445626297 891373451 278837930 798551449 378219874 495552801 884796448 362978094 516455439 752808584 727463753 979484135 332418896 612837983 579928139 972395504 582821764 7119402 567403492 280146658 651968807 91866070 491308379 80168364 164496742 569918388 529836659 157662527 201234912 647678510 597185958 723182411 730958732 208504026 45623713 914247724 242010568 684361225 376220155 868347675 42642582 400693494 37969287 630319518 509298756 818203608 360469188 704905057 820838152 96578451 717563975 550594340 614330196 65096977 34553625 731713402 951818736 682497103 168736339 730198241 960242660 203033431 766801507 782540834 654883312 250561701 152648856 377980810 212123908 365230129 602330171 101296552 239550610 573133418 483147526 572626610 296186429 311685948 465938249 892542388 579011664 732394683 321762187 329554779 793658416 523105329 835978221 476194243 594982555 87653942 531404510 906969799 901390790 392516055 800401444 446690020 845814754 226839788 956267834 532409477 476486262 382452148 917796118 905842352 550153735 462139102 898453493 979550356 44369098 158038699 978035934 367384705 695212077 583842150 642840199 266082647 872462374 336415670 73890457 964235360 173740817 574953519 42767412 265587190 157619172 66104909 356000879 680368360 353974080 635462104 516316750 761689822 866883629 259840627 944661236 304788878 566565400 710234420 586328280 209587290 480716344 214692774 835683067 719048213 129557553 561243979 671334598 304610206 84741315 989273707 16244479 313165471 766716419 456358127 903120054 701827144 460515934 778644653 504757747 817100359 257096408 200193118 792766469 679509595 166003426 539690032 302091652 545757213 500891293 233262002 884653926 946943154 385966456 28814993 443266074 408611182 332611227 296926036 76083435 35673705 153032519 764817111 224578861 526656188 233281207 519721990 205949316 896844363 215578345 393774756 873767639 289095659 26588269 92808774 147811738 181234784 491657730 516235615 476835171 106873204 83282480 116269188 91986343 710493333 746607221 311845871 628806378 831174235 539307600 877288668 375567414 709495671 501854683 881243735 115365679 155767793 822586117 690111612 798581136 100574446 524475238 357742282 897386292 740138180 988225456 893409563 64795656 419775919 566169101 609965060 459575230 478620462 821711703 792438141 392436767 855690484 492415330 941244560 732999173 406720705 7733170 964326475 530099206 523767099 374741483 283377693 748761038 830101196 615547726 866146908 450203019 199878656 435209727 180931555 15808916 551624186 13228952 807667352 283030459 862077561 761162885 171879427 772689638 938599918 337385970 668644226 357008076 204087920 144527792 431319114 793880750 530533081 191227638 598199286 563329464 25351254 941082546 373032547 750907405 887835504 757327157 117983988 68806582 143948409 529226226 993714388 961274228 386451789 980713481 469631044 284098395 398625700 3827411 471368715 900634873 11092111 748528820 796724073 992765881 337149222 978607756 647165023 938259396 614596008 211801407 508653377 395973617 133783366 44776837 652870798 467269369 550740957 909211100 432001771 756948360 420506581 543503984 143012298 19956866 772860813 636534527 107984291 988380949 965679240 631679577 994241949 566543330 898183896 893956137 137529604 878431724 454049373 445652455 615746812 85133786 770168124 685923133 123370550 835383864 402517038 37378010 870010761 628583741 907795041 697287673 184998256 239585590 672767973 377472893 396325589 278247938 34847682 412777243 509496433 772069524 408969322 851940303 13756458 975137652 45592864 323447888 160569249 638264881 554746780 145725753 731082066 315764750 818518674 73599118 692954444 605651277 794752894 554758611 169278856 875970830 755636095 894388800 776736329 693475548 262975608 681664162 678543076 908547095 528629187 684942811 700043390 33953763 338919643 34425059 620722897 263804372 910042232 258503369 866680677 131297003 373040799 300272248 303843162 918766986 224614945 675618523 173056164 203963165 508921597 340196157 990666582 643614108 183233000 222838695 149694409 673343229 806526671 66358426 846049280 891761778 6069171 205440491 562728494 943484041 340410510 142324022 884952055 859390273 467191142 853249120 92153048 174811444 539655695 490790582 420152206 837922077 466967081 611868144 418316968 497914135 591360082 780268991 779033384 521397636 859536110 521171609 98995965 621309376 263902894 944427586 969328227 363997651 483046024 710174056 418834425 408164925 238246428 629670835 949779109 682857472 553224307 110406385 435150104 913013614 705050726 304041385 92544797 996157786 391943750 985827970 891542848 496207858 931938428 270227644 123220251 204725359 674675579 330423442 774082947 477605008 765565402 270429190 414549324 210810663 544891718 684981331 750806804 841885578 183717119 507758339 590463500 386007929 983925320 223642351 425648727 703325590 436782174 15327700 406847051 791602479 641071408 517005317 342493061 506665164 218033630 45015240 313857392 521431913 584745569 115428154 746038956 585050198 854447400 338189644 215270813 441835667 268689257 487066811 473521781 38693129 207531246 90072215 396691904 788811036 828424590 248012798 756072592 613814807 212576120 557040087 740790676 812415362 206789073 134674786 9681174 788077799 489280272 218346862 804080618 486443945 962517507 244188093 589349612 131061628 2071917 645649293 89499427 144223287 966610217 237242848 875825636 787695756 495823960 898795042 782019207 301157558 543589649 544032313 201337965 964629123 585980876 959159934 744277225 808371136 332725078 389312634 341066500 585493921 929947019 418426674 294581917 555268694 947562553 159656376 607725431 67123097 418269279 938866710 922638458 234621069 548437525 746983346 972809287 462769553 300644818 576157172 397975145 921304528 978553046 942734055 383753553 953900233 409547231 990644597 604313115 821940953 548701694 680799335 672008565 140059256 207596144 283779463 280336519 270307565 946101156 257341903 338173387 121736374 588204278 616359363 585313565 434780811 351467073 718009088 319241813 319495806 559472270 574024869 154531796 443485916 301303959 193292876 252164180 811480413 335845004 767873655 117360093 335074545 634274280 221616147 644078652 766509505 304414834 487370592 299389086 768331112 668632504 787401082 161375316 309508946 962874125 802673950 312186623 437693549 45227844 906444779 110776420 32789423 637865066 168639697 416207044 442894203 356588938 101826444 415247943 333274971 188479049 62140102 505323715 88612189 538770482 748146204 582827287 143472504 926348164 980172898 524943743 662792828 118946035 857119404 49035363 292430219 5429706 241311197 325243183 705478957 974511231 105304899 667037579 974344531 215354026 574817877 905671880 403728393 283949006 361603987 795761221 840307340 847077586 3438475 386609134 187259750 626648154 738428511 811364721 587388290 68691408 90873051 754873226 260845528 315376816 479335677 184892011 667266049 108049789 367176555 726730694 248203310 933876634 15163510 125924080 426717700 980376648 782124485 561247883 231343322 365851501 530287484 894945036 777238758 598781532 536664737 189659107 286440414 623561314 886131999 994881665 922585266 886318068 807433935 683687778 832614049 847269873 609588728 968611711 626521797 897203403 267300330 205595800 365962609 523884407 706558358 486261707 457437179 745757075 972568040 201901377 103590216 567416941 133092660 133674638 728554424 314604602 28893722 735863471 954026131 381598887 111732199 331956010 948084697 507278698 662800741 655327887 6234670 873421625 510800315 311230470 51652817 572026628 20203591 106037181 800000322 29154685 492387645 423045492 977149439 522028996 641529947 312606093 738344158 468310610 593693688 678567469 801548653 463050633 869040334 803186638 712879207 841447130 622019427 848045704 576158990 547329788 521459785 612576567 114756729 31479538 440616069 607621988 96640159 907006171 376904622 118011287 469566959 480876359 134784158 81275588 912689319 97613237 590689891 886115612 890207403 827526966 230094575 935425431 917364731 732717354 795030352 426092450 296439145 5141935 802672064 100963326 177843403 228580443 130442948 437208767 905268638 169917004 116419421 616716964 15525270 662745392 727019871 320001426 453495017 675460665 157750996 649646867 771482640 826329696 610394366 283603950 482171793 165163870 448778712 488908249 30068078 473264289 618502484 418091698 173149764 518431734 116301170 75896743 900538381 660251704 999748707 802628290 517017653 222141397 920780019 215647567 536661938 505299816 542969764 151061001 872893383 294287055 271413714 56078236 544446891 669586904 271997073 86759970 383277492 955445259 580562649 408547256 910167505 361248107 911324217 194187481 265811896 611644902 948621930 869699861 63804565 362645883 529394894 697633342 627886748 204876072 130719699 395436350 972951861 96070550 194558670 270932211 526823506 252440449 121274752 782885921 179768404 808052988 903258654 209868538 826309520 622859097 199432811 798732105 724877229 454628912 572567712 887631688 15809222 70568421 29269348 496726458 923887701 312040816 475511847 855417810 864217841 719866861 861763221 924208337 721415308 775536327 139116579 908655652 683418473 341381021 814630061 193773717 990511677 833265068 900851559 315175332 199449564 417744212 840691735 450109677 931387664 751817586 477417647 310969682 598447273 496201716 416696033 802632927 289277791 128408172 77212598 511994127 437190043 783938709 338517058 60923990 885485846 88894596 891484876 719832087 499644593 673781945 970845516 957498386 657023105 541495394 439214084 914353726 451232754 253533117 294069154 357637086 902586662 126572245 34493927 755283172 318549337 547645744 455860444 374794032 424432313 116898792 293928004 260275821 349725389 557969849 910518178 177282636 145151402 452669748 485371383 904695335 144973533 273027685 972323448 839290362 612785194 603357360 127277171 229860112 867389237 541674402 545302465 801923211 661528400 284604497 878162655 505894565 781866750 313727841 370854601 82801417 715315746 286902123 582530299 640206863 303030037 610118080 459622130 205934584 557608231 526278038 328097947 537519377 627716997 815060943 60609651 576886308 773346387 898686587 974122355 384780933 965494404 62484628 525340902 390460032 735718150 938349430 590643498 69365498 202865176 434395821 622399484 653358074 170600170 701129689 618217879 750756025 359553244 111879226 595864249 359053095 252057081 510418872 386203131 637664104 127870842 733425044 470113040 581020382 647195675 479533169 862812720 960390124 743530844 270729766 571587810 875893636 773846112 291518408 973488856 491549257 918849591 482619531 562166739 412887835 905389443 800065729 798020777 454779103 112366931 238603423 689184755 251177241 37178798 943544937 276216703 291895289 688362578 287605268 955410861 362850299 745217849 253987008 898887855 953522576 385849120 775581285 661956063 112234856 975906339 27795570 410465273 438802599 25158371 805375204 860234794 819352388 180193152 630226497 134058650 185052806 755488202 995572511 681760163 940403961 488807704 127537991 895999313 708894111 951420344 584028631 256765452 648512009 264361349 977026000 41950868 270846553 361152549 235318992 917160632 907802282 340969208 98186779 498679555 168155059 582122655 222712904 737723556 333033099 653575651 958561105 264340931 853221176 150017335 891267311 566931380 814745079 762464591 44422507 256316590 857334043 361418985 555115093 244953688 459105079 136528750 502295360 818941840 485580344 608807618 172332535 175254542 50982942 175830723 186126664 693441138 265742705 492014257 976640366 772217386 35079356 345926021 50304869 580947667 763924812 421896292 255738893 570730339 800396404 910779026 385543223 406672272 280715369 10416632 138716675 489366873 769235106 991968787 800158419 866931515 611302299 513058244 380582796 273805034 747632296 110411687 354955022 992977201 226096166 12233933 109019370 875405703 502892203 537960227 276431983 724144066 989994881 872997554 719643810 620218800 678303130 969650558 872276211 451581941 5468809 489994884 910371614 572305327 793402296 302142452 737510432 507943453 883218680 579593226 744971222 849196790 13898999 923802699 437438401 396359320 346390971 472276489 422786683 241636461 334713288 460391600 518080952 286608777 476611343 11656596 448367911 747081281 266707183 313682825 700986358 765918013 124142545 47906199 549835386 206622239 956025038 35844382 500834857 357964476 115358205 640790433 564528386 55172830 247520244 997379857 232086215 128262338 827082587 723860972 896403109 125605510 273429854 678455938 212624907 811346975 46956734 243163697 867037607 477202158 734626468 556301408 888618064 174724601 160175112 659916385 890563046 335152924 78242248 190291962 563046424 738506367 125367869 419791787 509607464 945127402 573593244 477175920 874086107 647988294 204004207 621482671 354808319 678422596 829825502 670848551 980759718 540043277 31233365 261387769 31407612 60042473 717488046 358021825 526392510 307691729 861480384 110584357 388133193 523030846 560540061 781195582 633852267 102140392 389665432 417652288 267002831 186425815 634632018 836966403 543077544 166371991 303605336 514791360 582394847 723951886 405565241 261685542 963965409 582249210 415131668 882777983 50687512 53635066 801667846 950159023 830808046 210189554 166982037 803761237 978680360 596531986 658622468 307001772 583584929 861670136 181795642 535245965 18152677 764703425 3435282 943935979 7822153 576044629 409501492 558925725 296972601 648937548 697759574 959160386 498454712 617998574 529066945 394900405 793457034 661709871 676463440 761591135 893868141 243651794 820792702 90691450 956064223 619029466 999696870 266801661 642494593 2025448 921914179 82283046 445595535 225899805 469490061 126552246 652733844 558248985 436140884 577972655 302298049 286945747 318095139 940364285 452023878 170783365 970571488 686584781 897540245 18066560 961100273 369605749 503759846 256026968 934002843 982289724 927549272 185646396 314263010 982301112 791081346 31296379 307179259 69158061 936194325 920356198 824210236 684974678 912139656 704490671 750356572 538454614 689401041 27781592 788219294 519545821 318777263 565958607 999775352 472733138 768838717 898899944 628318844 184222762 826603428 494866960 615552067 339154581 694538997 381165217 402515756 177986707 968441833 595567517 204825183 649606683 110926593 178508901 570838999 401770795 522253291 634832385 623812177 385611918 842425515 983398133 628570853 796951287 586630643 608583944 394974161 974367252 620501327 429821476 237346000 189706039 445463407 877520013 521960957 449771626 283030435 150219571 260234149 735718516 403809730 324273868 97499639 977474881 312029796 161779338 677900034 416251795 694906104 475140795 926018997 894406460 504409687 186031082 377596997 8753775 976514212 393742263 781376347 489565684 276590515 212010984 864936203 941326679 4538379 727565804 274286652 30727405 281235674 502858254 412164983 142096617 595863389 149462970 329875629 316509002 299296081 232597788 366786346 218678205 888698377 93778162 726770853 601897056 326386436 724297812 326855137 52300039 457327652 410238679 991457626 835108711 394143767 109766880 518611355 42241352 187839948 423256291 891553969 431451822 320591005 118571207 356801437 633640485 370004149 837960299 913891534 172748274 450430316 71812228 460470280 732565572 974882530 895150198 533146386 392340639 789693655 106737190 86747810 994887360 700807377 978149774 397015548 680820910 215926075 299865236 515807722 842416012 715132242 730787486 511209582 6585145 922809032 258590745 286115108 189575657 206228993 911700599 299150278 519278890 860380694 862011145 808781889 871798957 196989878 882596 364563829 494161320 108040822 158039144 948922756 661849976 73828108 931784157 946672647 617728582 53026649 359186152 462124949 730692212 87017957 203129953 255462985 5523119 202656259 691700315 346285833 290523470 527463793 919083141 104786308 107179109 9166018 967219010 359362702 743702451 167192899 632643461 105113416 860005511 919327172 240172317 700759448 924117597 925139148 243628220 61364166 800914421 469739089 51763533 647962653 723299764 472631318 854614891 620118277 245921851 542456368 985673082 161093913 353735544 509982272 631696986 646762729 356870635 922059414 410795950 24318895 560989867 566958512 246795947 856160572 356109854 821623252 587082046 656032975 192063554 919370103 155054803 16568625 453287729 12559181 873014080 98414142 899934407 308887334 524787924 840263926 969846626 409617976 575333129 940718007 530572088 504815124 470775485 158533157 865528138 669343108 64708672 347576102 523004476 227498776 240050364 181032961 271391650 274924073 310784291 611667293 433780837 620184952 53301436 135562469 293439726 799043474 18997480 411158854 486654126 529342617 608548425 880773444 424631831 943413085 904055342 514755343 430950573 319515586 994571247 283521451 430534409 423161275 942243310 509844550 126342730 526416728 852584296 813357015 841948181 899790701 163384933 670701315 79061898 918927589 35812787 673128162 143604262 22685931 787378783 522437774 676118598 125250714 436189072 655173995 835519369 822743935 71086357 79612171 486085759 907127665 113977538 390037456 85852550 681742662 7814788 884532071 840941337 667492875 865785409 123171585 657813618 46124091 277785873 634764150 11257823 525421236 432881916 461237635 392016005 716377668 259608622 482923849 252215687 429599348 859741377 937610539 542778813 771019615 818820448 834950914 861707435 632307684 730468996 830369588 944303331 880407622 897140259 616575879 372655236 566599554 63886854 514389964 388311927 993828933 527134675 694728917 399590309 575907846 898032344 914393156 476353154 319276914 387352934 309421890 967978542 79553787 354094567 366105267 657934242 56253543 358732877 475372368 629887001 810768677 473800208 97544322 342067897 64601692 103380112 237993295 181540179 971472452 660262920 61585662 339406053 289432260 248567120 697561347 846439875 630007475 550812811 919181798 339416326 328272618 424220807 957589730 159218946 499569046 89255312 229613157 537483256 109451238 213173128 271492869 513398214 971557312 942152438 665638342 226259073 816531177 389827565 658873522 744043034 678970057 93499937 329000190 725737436 50930007 598487634 633288462 250015624 505876002 857599579 127245809 312717970 612554588 872195675 489536004 603347965 996490201 291843289 122753791 56297122 107539629 288169665 263917036 794503701 718525613 951954346 548195778 892087689 1797689 120486927 10978338 53735786 333868781 130559591 442193353 418111196 508389737 872080371 581021174 24249483 822676624 946421808 339300778 873705975 612485079 924863136 654565016 84742595 448731667 853504613 948122314 270287664 430099828 2253544 654302824 995091967 884468674 32850395 840707737 140599938 879299005 524608680 9497721 701984612 952952853 995670212 168202592 514345891 722863836 384871624 571230552 613715749 737034541 241987727 387939348 59336120 476068779 654344417 568552342 148326469 689336777 275845120 661701530 191627328 88613503 931852339 444780382 471187127 642100501 711960666 65063643 852338372 969286621 312857754 721367945 859773993 211881318 737378413 187065405 539509446 66951748 259394076 7336261 524019742 576289183 189984393 655541184 854139830 591491575 865067413 446528716 174722009 753168697 202178754 24366196 204779079 6703504 557183930 109372890 902477015 765533560 709042833 804770687 545455887 274018625 7513061 639128459 804605998 639541391 280849190 678710993 195019494 678135110 66817767 380386750 353794588 864517668 397834953 687139506 118438947 253320487 112180281 666727036 552568908 679791240 666924745 7143004 334904634 700749388 602768541 44250356 803223622 884881552 528360609 778960690 654010524 652885167 608607357 537906970 913587394 512080909 634804653 222780414 773088569 383763320 507737399 170053310 286353555 147363808 833147046 682486276 228574842 723936272 686020351 896151744 979929778 263877257 651163476 46071314 955026101 17067567 394087704 913572415 794820033 328053604 832286727 470057415 772176035 121080646 694198644 103188616 663574767 650257741 600886600 297191296 439147409 91339642 471203897 873969025 974412838 164713364 475134601 902831247 549362982 644974230 657406819 989005939 564391358 546261425 286873464 830342996 640214530 783101385 189422711 368810435 383914822 415628043 193356747 610081661 870711920 571370100 735043132 993043732 340142016 612790611 106417162 220871568 627287325 3057917 366798729 252412482 744567691 943743152 847203244 923562897 26300723 617164076 683855657 973506916 945207250 619174987 168517420 834830831 133373227 719692292 318315281 970260513 114596304 374217512 238609592 18235752 418909107 825941171 197673994 250380123 14476338 585435245 743517589 510742943 132734740 11368030 391304919 548395406 17226404 703562542 281116830 314035540 45380634 509721203 449045008 118661276 810877742 950249313 393539237 455157289 328937170 760283558 276316394 412584276 819984414 29266845 417353764 427544656 457402907 177875612 978910440 596683136 35115076 777110318 425481362 426865116 306831158 19584120 688072311 742890965 152492246 903523509 164907902 692624016 723136944 268221867 812577864 385348733 744280050 313773249 190893779 512160642 370683831 519483310 531282983 876726789 254121708 984936726 463273113 127425054 551653009 18918718 174675409 807159598 159396597 504661165 475575672 487050777 699635540 275746684 496739353 535626428 803862711 640515107 532684032 693923393 577139745 929746958 809476725 348115215 342080502 678876944 718208553 809805469 593980525 807768385 335589369 633008952 973463779 78296584 685298975 31364958 19059474 806427875 201311226 17629678 576488133 675305103 855843994 939469304 711243523 739557941 566034474 749905143 23391267 920063168 934653094 759756728 758632899 848518168 410754762 381254662 665766650 905654143 886249969 133365166 501889134 209819930 113291010 205230537 687755265 851371298 689012520 14412398 206779992 36431978 297289933 595718307 644188215 41519082 900861967 123978037 826559139 235088070 253686251 45941526 16872312 912013030 356354856 634245289 210756948 429684702 147281829 243770829 553605392 189715331 52559396 345717229 507112851 622238040 678384219 478779861 913006492 47566787 584786815 291819766 809378143 21144114 791822199 636943963 298224735 737851840 178285679 738354597 119003962 994280576 438220966 387191012 299764070 229235304 24229277 458323167 109851822 430479359 482857249 587417849 873324548 798263853 836477572 418551879 327530340 330770784 148713548 293013794 548804371 803881982 652926999 301502003 752253250 545058110 684640293 125828817 879100560 597701731 810697525 677986757 886822472 939113736 837406634 247662795 665026054 933435962 875896435 371624268 820103053 809235674 679430128 586087047 218868071 12376304 181706310 652008031 292058995 487833214 932787107 883222065 983243865 38873118 221508952 292510474 223501064 276432481 812294892 473084455 606796543 506189338 312455491 921531114 621741302 809344000 831177690 308607720 879033726 163758974 117373565 690839693 712464040 72992169 660599968 586847369 612170473 284819002 285825464 341145445 345475567 217569423 387340501 569215404 684906860 671724160 715291763 367020984 759028567 471249580 411096595 336191503 65620065 326121621 485214068 939536186 855940806 906937055 553234704 134078953 602516219 223138517 567606927 459812662 419377619 29200939 423945611 453655264 901069929 598509216 82525826 19098157 824756353 841018373 208608365 528061862 544996241 589560931 560546383 522268516 316099585 543008758 762109963 92229613 594529690 799487797 285756051 949184362 797706691 570967555 672917466 591594766 992948953 519166281 992627397 841893003 190596706 495682149 952787555 563318641 444166878 214363026 51573877 909019863 251857353 12991817 36253904 755607419 673381101 482564488 349350891 854178502 663038482 128586941 711762873 455890011 477016139 951828057 300318290 948425069 746203245 775551453 831563050 212069711 791046503 614922300 724654222 209204342 277809105 296082556 732516520 49308680 665096632 557399220 892035158 470574644 194892191 783840390 940139697 198038660 47706421 268782995 934372963 770590653 418698608 46132715 998284716 867948743 676908753 399163181 388290310 602687905 902610320 778211968 90989024 843044208 529621649 782862291 516530273 304380658 163075981 952165987 338431351 108697806 528429174 4051623 231821197 58838181 897961956 255730628 632785058 137730283 223531235 393333110 62053609 19186284 408508581 85921682 920581519 990123673 754822933 137773840 397872385 633594694 64388759 370287839 703285027 735025886 78943462 644124157 157672654 352796325 412929253 948849379 358718775 492520637 634502137 276903378 7148064 44599961 64699222 344089541 552329057 906065887 5356868 342904140 135111206 448318317 699017829 830509279 633523520 960753063 465316495 213579849 93431413 378684709 66303145 645838421 664928116 315025088 241545261 85154549 193429485 99167734 58961437 742794118 414075568 666483352 183380888 850891014 412952013 750641101 288720167 309016749 992351635 196351325 258710062 390071582 394337983 341822359 240777874 761204375 50856999 529522459 841198160 182744703 534931141 853711963 440576549 147031630 750830707 710592883 507867872 989875241 356665071 542671710 867069242 17407756 178474594 714883653 573637771 684077244 595506303 839181672 399509351 37079552 189306308 327763401 164680385 660949048 998996267 961491163 729403364 602752760 765630195 787278123 734246938 411746380 447685701 482335086 776206119 470484785 458304959 909622653 601027640 181418535 47533873 774534130 29133310 286342290 211070565 343198802 324369755 904992121 246610013 820459449 434631972 136475231 688400772 730683882 275203010 223496504 124533461 959790584 424131760 400609397 884896304 794176809 586389141 497571588 740093179 288903697 903232096 373993863 750148436 291280550 832790523 52732473 861561551 180448042 904732439 307270824 770063298 382214382 214749327 615099365 578232701 190718765 822808207 355115732 552618625 64967060 346130895 82159762 695200593 587722707 53629452 558144568 716552310 577801741 985203043 562587493 3279324 475063766 448340196 887600278 572268304 118806211 257645138 474571218 516228068 319015024 208783623 517890735 644978192 484497296 3813385 279395878 632661443 889495663 806099752 349199488 456568292 160565533 865287631 544028117 92255416 741423199 252159103 68100307 480732336 919384117 593493442 747244944 202028204 635461149 871951893 599526020 566985988 566993923 926029367 697454736 531524704 112620136 109330256 777294305 363890097 18147495 3791259 832330470 564703931 14749274 694171222 212496047 787145131 391736959 199817770 60079436 726786303 284357727 962070177 279467224 761514522 988368866 244171616 623052237 767839203 130629278 827540231 185750442 207082542 914279430 828792390 702743974 95453946 122539162 42272535 998671092 555607041 586942710 986009001 718503470 710356686 424419696 344418175 134203263 952798512 960200125 356211557 872892257 33243175 406742091 937977801 610870022 788283294 718984450 814581102 193823584 175438047 448012267 803106309 501304347 593992218 46720496 193657156 824564147 575497586 901066307 980093745 633013803 10208748 29159365 413640398 661787727 561363407 41676188 398269557 212746857 151205523 528119218 203706128 548158208 201533904 410202125 613606148 625454565 52199975 882033367 686459242 573794238 32019505 926382064 544093471 532496103 425639381 578039927 956650071 212422292 398165675 835413743 230344545 768483259 284976272 404605313 569780802 302511743 402852613 24907067 584231372 642449406 845975487 938688663 582689749 504165070 107919709 952299267 445386293 226662860 117018610 56886882 453207775 861129643 251848850 844496957 911667908 962257503 114764415 534376842 117706375 169251272 222293665 740151928 946836152 315837926 928352269 46127216 94543498 591340180 630252542 661140845 740812832 259230752 907464231 98894869 678030936 318550908 230803174 357069756 760535913 215096507 255100089 981467396 493069559 258790350 252787793 957184747 62426118 87175904 949986547 395903027 635188593 995336784 750878928 392344700 136472312 748500436 440446018 627822486 205854292 971412695 425616459 660483845 23407671 482570120 464214303 587207019 369510615 391530385 274645593 951623968 309647989 577696910 622393568 159905371 861084949 103141994 685393132 14743198 728817422 188244404 290945959 372481900 958145505 648276925 782307210 402144105 118880529 623304166 936745284 763821150 484627075 598820683 456126694 810705729 960942701 769309456 788046518 450849298 261940657 289787667 475076741 777148895 551817183 876040265 98063889 477552977 106486904 414486486 652128743 694510625 558392393 22525261 441073618 741080451 774053365 178875546 190706334 661872647 296469868 713685087 998831794 911790719 731336103 512404524 428930405 694325851 202130977 655211822 726687745 837577 882799079 244209103 869214479 280881998 179023237 515623468 595464263 145434876 736123785 227160414 270413923 867866839 97218456 769382995 326445695 428410960 259044566 733941033 430089855 334775783 273014094 957458040 120300122 929564247 801029290 375967044 827070617 759981442 322059670 207163965 806765944 598464486 752043005 571535783 443037899 245891834 271096204 130906313 92324376 717883120 556196156 149006227 887120607 478762762 529298061 661549572 704228456 670335525 634460481 773582259 405211253 850712570 453856503 489240650 924679131 994920498 504370645 196466376 613386262 740368893 374799133 268617081 945056916 677470960 647002076 464427807 268137879 326518339 116485944 218592260 28096896 527082772 598582043 790340412 376059332 981632061 674991823 280620031 772503785 714760070 857196782 766562104 731607950 535506646 345721348 693166156 701279084 774232264 872582730 924294706 535120531 177639135 779138483 163246622 944778801 217800302 171725631 614457711 452941943 259145808 778203635 303870422 112999289 696120172 661344170 500348394 4272065 114391276 218266241 993659500 882099284 60195215 218088336 926563631 413448875 149606548 998737710 289932835 579339254 138816280 457983473 469980062 212708046 358957240 853126787 694290815 241070921 344811586 250962410 650687085 786561668 590253097 480830064 94149418 953850014 570900065 810058264 285465290 408196799 974143704 429417349 822263263 937734488 117573484 865039064 45283468 766855044 124420297 761352698 793665387 489418192 678499246 884996129 155527684 256085030 247825076 935830251 203374035 280882153 824268037 858094461 612922098 506468744 726307226 319454911 743427154 204991402 157472485 922031786 450089943 402935268 817203494 851229892 307809603 166612065 141064609 877730949 287102152 490203583 284943703 164510140 255380042 923033236 430148677 112723555 633761105 835623973 265530465 847486549 408986453 303854945 704396869 797883596 450496125 370663336 73971940 52543450 423765904 315651938 419197888 968812011 366507014 235395888 394543548 542792781 560430857 148016522 128657739 367045896 750036752 741674871 669739942 680341597 14926596 98239395 161654588 238490808 814469312 985601372 517224358 454974517 110865634 959718143 498355912 547922483 885323293 265508009 745012824 825862471 79248253 202752269 519352338 479795131 407441572 697988483 33463475 602702632 28612969 913500163 313403389 708466523 739749791 562939579 894560138 108321549 90021486 645195817 999891286 861072714 666457630 180755583 204358967 212631152 631925181 579911750 84273930 936917671 398866634 123667505 567526896 194008791 745552380 371014401 20828081 332025755 100562079 310011313 245717248 429944736 758937378 342215773 224141262 156407653 21652198 959790909 479531462 391706806 571707369 582860868 728499472 901372163 3180343 431689720 875089548 122789384 585258926 315772390 152163353 267827906 596224506 880496242 280560702 649912636 746860050 343122535 598879292 621485623 464606313 210499978 335993831 837998802 140097922 730524081 367350178 556398825 440704286 189166716 753430116 47587696 28176895 69735526 849054302 904496568 308641804 148922887 808723233 311848131 837142583 918619922 290968121 692518390 377913604 70692845 541154564 208066872 19252785 899754354 865103903 689487104 894866877 917135893 67852644 493465968 225990661 986807713 603558741 773094431 818922707 46056715 560314418 661488539 186416526 104872259 273781157 417823464 364103483 571339992 403866472 276515218 862877970 602792836 11961940 966575559 545074221 369736897 458337593 210285879 355282954 776540095 904975221 976735671 764269162 295198573 268605663 479981141 677219771 405686717 236500425 186402208 755798204 423335456 476079362 890762159 739706515 919197871 852315453 836400719 810962889 812173099 730268004 31017346 184723812 628765141 694992497 405859558 940517345 931257297 341469094 263276257 523412701 669184989 383483145 129479427 795605283 450180904 502997587 105403781 674778086 764081472 863504063 596014508 273248920 770398956 854001063 890033031 915544309 846568008 470145437 537074365 29154001 339711154 417466349 777961571 508337615 402667965 722310081 395655932 115610298 29793993 200991991 347008179 706887721 428040493 7125749 202250717 679923870 664131476 910365072 375892325 329486438 982214193 989444405 677016071 725609771 813385055 864338494 744851451 754844617 31457889 763501812 291604341 123371113 644951126 383023124 604999156 978791492 298975387 885239121 447048112 477164089 783687278 435399137 401922571 164857047 427935187 144957995 970085085 256364473 468709716 217326189 179723456 137757587 410262655 179809972 487641401 750481327 796245942 248225475 638047393 652289519 740929625 218646623 404438436 928296536 538727558 899050114 289611978 410742664 540040859 387174360 787705839 533825924 794374243 298878885 660568637 490310022 869423961 943547790 316350808 152435639 266539283 57599248 778096304 55419669 51681687 541465278 834313110 652560220 356225156 477855970 649346700 667575412 355788358 119355691 144904025 226587632 611273549 593715414 916776242 51037072 484222119 936384768 529254941 101309409 811167177 869614203 896255616 837489440 476570290 56969889 384140668 422252580 681856745 579015187 799079473 279232731 537312214 435861516 371321084 411151781 82252435 443798546 227566703 138324159 973683267 823237453 687070772 466008515 59336208 82978645 745519685 151652798 99403059 911192442 55692090 544693953 369733742 873554364 842823166 725804556 115300536 504525886 950443324 130209182 299878155 86512563 576971812 988878486 750698173 362432012 813160018 951597192 133468316 310539654 153845136 932744383 950187756 759299247 614158441 904340744 474219072 568246864 861091850 786547228 105110601 267723550 761485923 971088465 231675306 492921498 728017985 770581659 31811020 406943826 155913381 610488048 762550011 502969153 169022525 606788572 148847880 251546370 604414925 958565525 854650335 588517304 214522023 729075367 891044576 990538843 231388502 955295262 617157997 156872458 164162691 639201551 81328938 910349418 122315511 298375084 81841570 770919203 616297156 198859321 512591104 784730316 946604535 469595469 26447600 111558830 171593126 758038891 71991203 101059535 589368166 482346705 842731646 545457869 428787592 569631262 281473315 653893241 741474842 604214384 309154733 286209594 313587260 548227827 453488126 302304304 950491706 684392928 42277779 107863803 170976450 906470794 674821689 509242490 514269284 993636448 404118598 631834209 40158489 543180306 507956891 286018633 208197934 762985463 221003157 322717009 395852359 194515034 327158464 370683140 153190000 157362042 819927209 890049953 898047918 41186214 365422387 486634776 242497143 467597125 558206727 84744496 690812068 73631480 193265293 92210740 582881897 375859140 908751230 98460836 994705958 845771696 874853828 27219309 695514903 288776719 760351705 747967096 990610880 181962438 636548499 821298253 627413872 767486028 28811218 65013313 695072301 96527949 134241346 302931767 897082297 159487638 756875536 749493335 867874097 789511863 857642572 676602904 303991581 541856272 335831487 41389687 97516748 943524699 234448289 809340467 571063695 289223245 188705025 78515051 204002363 306474515 590472591 23246894 343591461 560515002 827432866 903102617 417931968 268774572 676911169 956550788 1400827 854667259 759134325 282433220 420409447 173917523 768262990 542111020 839452495 68300488 503208328 511119941 418114225 874935786 4834509 896286493 783436794 570895050 421089577 484426615 952812737 655847771 179478884 955914741 53050247 558445085 778468313 738004419 502901173 586269902 846868996 96874163 893654004 555757736 376536007 171753520 720253910 934693492 576941630 850797975 711088643 791375233 490419238 625195705 320717307 905927717 987058333 846710648 700951732 808398402 594206667 960560930 553869682 214503019 957146179 949012964 407185424 997556735 114847045 959244882 847906832 537563785 473364098 765278887 776324011 160045352 349460343 618731081 399688976 312333085 820315715 50522825 1546783 884585821 896378632 776337585 856276628 300611034 201027715 353001375 326608961 506560561 69120693 866200267 278082617 29378896 407414250 725716251 418924585 127958058 360623674 269321186 738116677 153822427 337348854 767877916 193558703 288921223 797557720 699786439 714057137 602052307 968807974 188234187 237436720 435042712 415751382 464474840 681292613 56693782 27255775 426549245 856884861 170439834 775156407 210371352 15961888 400265026 993355050 349031335 859348749 878350401 151820428 993715368 242261542 441633927 973119416 275412386 986395565 633853025 809664116 563125825 51278455 627577276 590762383 252946948 342846747 802289863 102122826 118900095 860096576 842608673 908695697 385702087 630678072 930276494 114554163 448635204 765104703 850196226 419452244 971261735 397459098 400568500 489650431 516147701 950702176 292737704 575809011 616037617 704378539 309849259 646911289 199311167 67062910 738731234 170109044 419573763 405559626 749345634 945486171 196307393 528431536 903623920 51453890 210292068 61683195 530917389 459677701 73219390 964366558 615413667 397709836 624389668 62947142 49482460 680359864 807842835 606714520 498873244 711143468 201916054 978526258 649564125 126785873 679074453 37895166 29775003 971118078 504212060 176533658 339310617 650364850 965554173 411770236 897910125 987686889 283858484 264918753 495417388 584212634 314335822 805478793 847154889 549859788 987853781 539904434 64047197 373680210 212905279 958973030 569937913 749978103 904710549 739865694 519416074 396536158 172344695 666864451 679971681 417617148 616341588 674334210 159145056 756627774 680349992 740092893 172063381 929678323 950655565 631717669 529735533 760471483 807077818 145167591 82053084 433155859 578134370 59684996 560995126 554757664 85066107 889812252 525102145 374108298 356467823 384760165 151245479 13113148 615875458 742541650 402869935 251509651 776528324 161693588 699843061 990074489 308486246 803865515 437919929 841602122 389213194 863140408 599035057 979487339 474063234 398546111 275970765 634960545 119008743 861380274 205461279 820862040 522267509 743551377 887158728 710107264 297812722 403290234 478767080 20320732 987687258 848690576 225393884 189341766 61719144 279810169 926209045 817658967 230399816 775022596 862757058 83898324 470553244 762754059 177252197 857560375 876311338 796292648 574436412 323430400 310264910 534465046 17676187 956286958 821501090 281857370 307546396 896927142 143862175 381458030 372339358 63474323 838379197 754567359 613054995 627373833 119152849 276666667 738451805 758779859 866273643 275851107 968132900 598694467 840430329 262876543 769170770 224747289 977531646 77481432 54171254 850735795 651676821 206255586 750254472 691703522 482707325 32145293 505944458 734228939 966387321 718880945 996717054 114987749 305098110 126171050 238036751 417021431 564045240 615394981 299586001 268593708 344753348 416880150 30722883 306991671 594760891 486738619 518342491 997569454 844348909 791631721 730049990 525908064 563226483 601799997 784828482 330247546 531720816 164856261 612201640 532365899 106699322 966082138 484228943 730954055 46622251 203466617 965234091 802423287 663849965 725206313 723308786 618680106 313969032 126297780 80494208 899123391 756220531 719150636 785499980 756435690 964073765 268357263 440800387 860807083 3407135 122926330 884127972 992010763 379113855 727937735 373757339 456844685 303110888 297779894 209372620 540259881 668439635 917221999 169698847 350911101 688335531 897705431 618159226 864065722 82340932 265476316 327486331 106213795 616222979 174699602 178755951 768925391 103144871 671670075 428649177 661977518 609381291 538990753 864446547 240021120 866869173 914412345 377119973 61875471 490313917 29882673 185736627 50746405 304785804 795269808 915903518 677160717 570250883 374123288 392206287 694882792 914313451 656920644 397512635 465298361 830918965 542446989 269986193 425514694 843922151 746240832 369522743 350672733 449738934 964360096 108522551 920284376 411134694 15444101 815113577 755440189 40311344 492672004 316504062 535543229 39850524 146458808 751232165 418115834 991186536 13569957 767354667 758787932 616161979 225719322 908736108 552833680 852911795 626377861 650041437 80174164 549947674 536876721 243107657 928663898 905245779 667341328 654810191 871930382 715567424 243990986 826347663 121383402 159915719 337967419 578068040 52292462 711677027 77593263 73916722 655189981 489884522 749180831 912154315 961539928 778617977 722310420 694985424 719256051 20259943 396794145 914126014 652335159 742035970 498997476 808797591 592107918 550434887 177931105 847654187 532373144 833140969 5072052 774295337 298464444 303052738 271776054 720505938 155351072 784296544 804072001 374027991 307314046 861840290 350516261 942204695 483513894 758582265 139941888 339027586 574018786 847232233 34444590 107941540 712346979 293556283 395507532 507996447 323573941 740019980 377613625 695330686 131767811 850298044 970275365 738711264 305297128 966359240 664861648 901911258 431484083 228162901 194692000 413924321 660712616 300073531 937068116 346748970 299651377 390030226 183463224 669549298 755005124 393945652 510001172 129159125 468658146 777628375 551128089 85422180 122721885 880921822 578211471 488537666 669389544 876978514 915730621 419264268 468888140 951219134 47346277 301245879 887628627 152223055 133770833 340700648 545636014 344817532 448815406 509092680 912422754 283224842 502709266 657909578 242215370 762958765 253138518 252586405 317392622 218159526 274601042 155806529 708587350 626036455 319776460 556547921 967220925 581122341 15473433 725634828 478173116 641246113 286378398 742585447 675534150 53719343 139314979 926953430 333695275 447996725 352963085 994189007 124894795 660027272 598327079 744286825 730780710 523990920 322337458 741044932 550714069 805837251 652397000 518461003 723568091 207587954 974578486 331511188 888475048 215918431 82163395 738775464 277542642 441118354 747304804 441756019 386072567 385574417 326758500 532491489 682762784 900484425 564924374 189296805 102877166 335411709 861710283 218057216 124291655 678016895 228549652 972029667 437352266 527220488 525964644 610209481 290168216 581653959 225893659 531301279 166712770 44393136 714417281 269311639 478744357 469853975 947047917 729201305 152095461 205829303 773505746 685598774 415208111 462866437 959821977 695197987 38397071 198666725 898864490 910330006 953345725 951066361 67714720 654117879 573637766 574780360 352434757 836176222 605361326 750722100 783188850 129467484 604806648 482504232 185824948 28221412 894952754 406325900 495096505 519338125 139391429 574929474 577541654 76450123 190668365 410245055 97690447 411806279 353863655 503961966 465187171 641150940 352370696 431049914 96991211 662940658 511379594 232124994 405138970 174915742 524311111 209874810 82692247 675075925 891852455 86679003 932583676 396490804 155431132 753395133 841062164 309820646 812963879 410224681 95163969 859831649 309025087 21391336 388285946 799867198 427391715 588969231 92734748 437468115 273320268 999311563 204202073 153394831 625411 867712056 319749799 843428361 769866905 810954775 62260612 118199859 877542575 113918430 689975438 553966112 562874386 988297032 551369678 646070635 406473511 596593368 737913659 196520400 71617664 684758019 532789158 741857399 311987129 535380987 126492927 792057990 884761282 635657817 172799136 840101240 114451915 63240945 288968617 822155156 134734336 757335148 879427340 607667206 47724649 150533575 936715285 811316363 147754865 911608379 11492767 8881791 34823168 336762928 74319502 981024570 309328741 544817667 121448959 613925300 776347332 275368770 758523142 455777826 947143886 549411003 904526481 6916032 503079358 836166273 612178706 59194213 591366303 755497849 860999502 670129470 336127875 129503011 154357270 625557313 177104849 767826315 487775455 243013223 513749608 152797562 451453711 44454694 348330585 912278846 566060967 784628037 99339778 519934130 922522067 930656906 307674082 591899208 838057969 545733899 360663598 623876591 281077266 819939418 697707815 622640376 928591021 576581403 71882062 2572942 627812070 449288959 555374511 962107232 137856815 883700128 719365470 719809570 307915536 236924741 374034446 869816634 742455097 643538976 313892355 800825900 235018129 466204467 896379091 748256192 423586467 649124696 351430204 42611825 799936600 274073866 52134169 787857764 713984279 936766980 809875368 960144561 272648209 508277878 20971555 167876479 154922826 320920364 817474388 659656448 99100085 861312416 22850618 412956462 840081496 99637894 633946126 180604986 101350551 730797910 627556505 732208170 752952161 292743750 881639689 208696489 513519470 579469325 237491289 480318273 207691453 237151358 172741590 917033341 939230385 871024522 496903951 278990061 336625900 506012788 740790495 530967389 543567422 47222739 217967118 322840114 872017408 197307544 99453543 865793734 637581999 125723741 338303790 540875223 674303784 187358233 114121733 822129701 780914150 73399851 9111658 156744491 473866427 48926259 373540874 393294754 860566058 516622076 357425411 483513053 654054311 618876687 135428106 561003007 160179781 878463357 917445716 829930757 347012263 705860567 462101543 981901567 404447370 492091431 384057788 99974445 845066537 671041928 195865821 748450294 574147029 610427873 984961739 202254968 711289026 159490852 443125160 208588453 842427129 795098428 716991573 80545269 19172232 727975030 3426650 165498260 931753752 32962337 754736564 467947128 509676313 12620286 237919984 70189116 82423582 64747164 957253673 511051571 911931621 89847171 861573864 948709871 11554262 467906445 880468851 671537495 266966959 721034145 616829289 256885635 982984255 809109310 939240204 58713874 971064328 509946300 678291807 874261047 525317825 228800150 38139265 110378255 540530774 205294366 298356736 937628797 324119213 462615702 410641015 797461056 742838990 375351321 928220300 848386713 679397428 321949150 518091654 136361737 33351266 392022170 24486382 310063633 308096650 550577607 120429875 373001112 970580197 506858531 462109418 159691177 147697659 599503984 955419404 994824623 108402484 876605764 154139445 294610814 747640598 8073725 154081494 127320242 51725929 206480886 222570433 250826927 391282720 75354419 616921290 29388988 590273241 208497606 602744992 310654714 223043918 63450372 91609133 814893954 613903539 569077503 468256273 373258479 496215300 961443411 657157616 357692823 830100236 609893085 181163232 962933220 554178096 791529145 740236413 314388116 326589026 885682894 13976822 693210238 635174262 277168154 362531374 939268833 843132043 492218155 3701249 76032488 638117005 51042111 310676533 184889151 200397787 347213197 300811101 138036227 241185546 431523955 49054478 209798477 122764498 71797791 590721810 440029704 252499481 809757056 256282030 326945389 354272290 667621095 335594364 743515928 22685534 226125342 411217874 303590366 919952576 549174667 622687830 873042972 982484111 646946379 472986867 702557525 958204686 519781944 896540005 363326582 988744386 386662802 397404740 192748023 752947575 644540694 449137886 33581370 64172831 180627045 875127374 767871381 561638097 933261765 554509673 678371447 868853242 887557184 43693065 873520652 707046031 295815350 256638728 326458374 189947800 387337569 269562504 804935569 809334514 217109875 603241894 131130092 558182424 10060170 90880159 585645566 94596496 482596345 899263076 330372117 927255720 618303804 181842918 71941621 895319509 557106944 20936144 602752175 645891946 201227214 203768114 98393334 765256149 433878178 941828303 292018275 481924756 615328996 954362239 689564554 524752330 605441157 572712107 553264974 648320131 811812214 983277091 747618589 343535723 733752189 241544430 747416899 478527668 105828619 236334826 327047084 445011108 361667457 936245555 824153489 295692394 971357970 888357765 297077251 894464823 794483830 107225339 377423257 376429473 965696697 310125862 565740222 469067958 351526500 371300273 193727784 740439631 388312141 351278108 841711040 199341794 463917146 635463104 55967955 994397111 873392258 276644833 371984087 372462118 24985986 711824094 993742998 966026737 978890496 836281557 40513381 104872429 151927734 871793810 17096867 132623652 552728151 386538218 952645200 432401724 259907067 663227252 995116882 445076322 148156255 510534949 156061115 681051471 807432366 90408730 581043561 108796992 937142479 232621879 214993098 458852772 145362806 937181380 201477207 528485756 913492506 89201805 492191796 73303324 609074047 408325803 62238891 396320887 550852485 302875677 704042545 311236711 265017960 463825305 693278393 436976803 111836025 837430696 58326525 948858739 420421852 82530294 38258307 709288194 459882118 789529232 485183950 13674299 375763004 332831882 265193737 537608976 420063991 100421152 600234836 753881335 979678652 316070773 145956561 219372242 510782943 961357135 736753560 444778922 588186466 449041716 960677021 998221898 210297966 648260460 59808728 204922261 958729716 592702168 420219606 412363374 861829988 830390842 936693453 781586662 809259091 758892658 415976536 471237372 14216605 970328529 766197240 828852989 472559777 440554419 21061937 997182599 728663302 837668714 70481932 656810012 682374461 543546378 22207142 161481504 988528750 61528895 911060080 562382742 683666097 813731501 589107881 736977817 559748308 357884033 583385020 532476830 528404357 995581730 605261092 984200108 755915173 396116879 793545503 118590893 732628162 512716650 509132009 42882158 27723884 115880595 947368118 709383089 780328556 538546871 240490573 201437961 969072940 507846920 864266267 507016800 852313252 562340711 425870858 888942326 751394728 633213449 18880965 547546264 807823364 32691772 775763431 476928193 710208978 715423535 390624766 717483839 236335292 523711570 608649123 760072941 812878771 143311862 834958441 956076445 373930785 796615769 621162705 728138958 689116433 880485788 161910177 978557255 900765369 904863086 492136994 614965807 281621571 626440476 789234653 476952529 651019426 225295418 3076274 663037242 294616001 104700758 857153439 989332327 212060866 566713487 94494730 424663981 720353253 724612792 514703392 77868121 650157033 576010972 304040402 924659803 940750346 237618031 100846409 503799555 114539631 917248709 43454733 800662021 85677925 22393505 303841617 898295528 148786285 581274163 131731607 702703496 737934914 421845335 6668395 6453329 604659066 374143169 124195242 689798902 837385980 365809021 981738978 180391221 703232162 748969505 984297759 713458224 492967176 522063300 967768172 986416315 849753874 318210173 721164905 685744713 208806979 345179530 948454314 28060388 31226670 417146077 949911358 472306653 712835017 202747014 456818300 112941036 708753362 283485499 754307206 704612784 512309374 136807585 199070151 751348278 748206203 554084086 340062786 183750228 26983004 366944771 365082166 657216416 977483675 445042917 522969593 647027560 483439412 573507835 381930898 253525468 837387514 592279879 762340109 55975035 818040545 817163611 563585438 553663434 639013655 165288945 671012082 32020499 793795849 735826086 780132705 744759385 294526914 981760031 564264202 382652515 646112811 598835210 310506275 207091076 8838625 845407638 651078878 222038184 492836784 121014389 52471064 585545757 216627323 442658411 54050556 102969931 69009522 502507688 124783130 179343655 307261355 78358676 39009864 744768717 681257742 354103965 870690222 292016130 768342826 824734472 485610131 965114799 544408684 23295485 447780003 816003250 963292684 627979976 856766267 278307166 87728914 676179379 131501613 506793497 392509100 659076862 711415125 551291445 266824863 390539389 401315540 27773353 707316987 692560522 15057752 148493310 13886301 198979834 873149765 890057938 487531655 25097570 273961281 825290485 337895260 425952186 720563828 105086910 87138047 125423817 308501699 994591646 915249114 184974008 464659731 843908259 116716766 139599771 91162908 896833580 523238159 876063628 55435429 433431642 74056085 360983955 446643858 65108888 843601725 203359003 457569165 776422990 386193420 187501656 319354587 993563281 34007441 460731692 864712805 55421140 416907716 638045780 314590498 510258553 436579637 811280790 889412575 513816061 806048800 772236884 469224009 297835717 566488885 586051253 597459299 449425379 96700371 35939087 757056314 570993505 413537814 28127760 326305998 41291966 918667442 949326292 670605575 281919428 658152361 909329452 875939431 538679503 447485782 713136657 220893014 669901776 152002387 786209944 758742162 507299747 434498504 593540371 192386250 645730460 575511761 872307891 588781015 184998922 202158503 618355040 372135024 105615092 528788932 321160778 812242197 372426197 982773879 316446506 793732932 744353174 640041244 191280748 103922724 394049160 767153034 501084041 898954212 463274629 78352588 688149439 835457797 809229016 779991622 434059676 67124681 31312963 530046940 206576037 996741974 633490995 228194769 309755620 939754893 436295141 223605594 639912465 754862858 191832757 850282069 391584924 584723810 362075319 233892875 750978801 873835340 918174456 438479948 594011971 227769103 81704809 628709632 803295166 168412548 344313290 132974276 19778026 712861270 474609195 661995243 8031144 103781344 490879705 395189941 616139694 532752597 482736827 833457560 355700411 258796280 131511286 962677322 690800656 245720938 725387444 454027070 616135593 764574977 618001735 123577667 794199863 267033330 829660226 10677754 793695378 940161903 627042574 842151661 717495184 193116859 305464557 313446687 293810769 554029799 958581762 812488743 244071353 100475673 418996606 383567757 209659964 279107877 533007688 632347059 390373562 995808707 169071727 756404783 364843510 567338011 539215672 602794802 560992173 959415632 73476734 972265885 471078101 710386361 32233127 772897682 182558707 617162832 586256576 445474009 560421456 724523203 594896039 553647541 489513819 294207450 799345370 885171412 946071481 879740126 145885903 920364686 513030073 356340076 534296051 774376879 755201232 555298491 926766667 322727654 414620118 198086597 353555369 639652431 905982835 656316608 125014996 686235749 330471977 279525346 22628278 686039765 547320610 890806948 229526609 898112414 621042413 39535432 418305798 137294903 287071738 931636840 569889410 662472943 201668116 600191866 291937552 339209184 692342329 66046275 127579855 132787988 832069328 835106565 89095319 352730606 599135945 926496758 608457046 477101678 290299736 440868478 53032658 228777778 267996915 445255009 803280605 499049375 960582788 446220065 672196310 898547972 946838514 438179667 652176354 785285412 618779621 911031687 556434577 89903841 588087859 196809402 395641750 157991212 588716398 336916284 245073154 401341549 511550724 142547212 641047713 899835419 927321516 752108167 559810933 703452261 254004675 27945066 882052646 76583626 744017172 976677632 855224348 642959945 775300394 355447035 850677364 535655113 340813691 165386712 412429503 468335718 256880567 666730415 154694240 727870208 377788249 53621339 799192025 484871925 910844528 82599983 638005278 98519506 43014053 789736399 160713411 411545730 679798743 494297856 205753620 159755660 559078300 945411305 225456298 270069416 454707778 9806571 553273305 624074030 216007156 793600300 101827037 323813057 922260760 538926819 953905435 748979238 573782988 272884113 858164948 294657708 27952838 983654618 642527788 248951278 131548787 786319377 289168164 150605645 564975241 928230404 551000331 442688395 147897345 571600244 89540761 856824016 368055369 258099005 184281699 291606579 164974059 499972613 418973462 106623461 628125376 156682259 809261015 712908506 736224709 546136647 796115802 376667140 787826418 147898170 760351918 169003969 343139973 482712316 869975710 19139991 476113386 950767218 519764902 913630758 10508666 305171229 495577717 982710635 842088787 799206944 45866729 645672110 690015335 952164594 43753313 445224968 80090257 636424233 181950807 488814707 387702760 798940312 267270032 960847183 693010600 266146235 288770921 769328060 444552839 631032982 497550335 729751777 7406106 893937029 589763632 690985784 354410017 579844263 501108791 127773153 256614997 620979291 372673986 260306026 355131620 714603779 54079387 759589734 326899236 797468674 188497737 107361305 337540369 39006384 212263306 343232433 943931255 458943039 366893813 494245015 463281326 4717827 782688919 583407825 647318450 748827688 759117080 659449073 482800576 30268098 748348393 173934373 442610939 943415408 314861951 619568032 137594189 320190522 229366654 529269261 118270174 400726834 495058220 765246608 312571940 320823364 982982731 818969275 518879785 316548460 811369178 141139871 75586753 584317028 677691371 801002228 690721368 746826398 766540693 602600949 925292428 734925500 71448497 768588442 189842553 939599405 378245442 273490843 419227022 366125323 954273482 528204664 234910026 33162232 7137641 300665498 32344602 526007332 449127724 651744290 530920256 128166567 481378246 294788642 165505145 884276295 114599157 587846277 725043608 177412943 209195856 561878487 576473892 790651841 399394387 483915417 863903284 319094006 804371611 938825084 247368280 515002906 546730133 296243024 927871522 286144556 612093715 854107033 306389239 325946966 847272215 186085113 333131492 966195660 507837992 798254543 839872510 203346273 34581568 511508886 633163651 19458052 115676925 526385892 734674778 188178049 602004681 492045248 810839592 165002606 841386150 14906178 38133382 946838198 423870653 648826122 212848658 314089852 924412530 868991613 788632033 30385786 391474891 569066360 880579 450651042 922477814 631244368 195222482 859533205 423502530 14375331 453816492 264599119 141518936 516178773 624701105 97712317 136763608 726022871 446639388 118691469 584138678 86769932 175971034 33622008 4483384 361528236 571092076 218856056 556099162 150397044 860675035 186954258 992002999 428682026 707728754 808488451 938363124 149305272 334345051 880205423 239573747 962902315 814194392 420796256 425982478 938414891 821442454 462630779 324401799 398934457 856707278 25088717 516768225 665630364 754371705 199958978 664800733 125589874 500286795 254435947 554801402 619216145 28611129 287563096 855408831 415536238 281655334 889290432 808611289 750637956 909043776 742429753 542837444 8006806 933405267 451177609 655597346 999097107 487176886 940499072 896837889 259107406 469811845 268068774 449407266 332447326 546885476 257148462 554205968 885271940 62014498 665186282 571123710 514281277 214746043 73692331 878916283 295535982 232052200 493196999 750858765 150198415 741676757 731767275 707960832 767157960 356168001 170770172 393225411 419363936 160944490 782029012 950174558 351859816 938593027 507690665 855536921 254743835 241098667 53771620 625632811 456064157 209543459 697521697 393522235 953067885 403936764 780045333 837044109 712940112 116433486 250750715 250966516 370750559 716356752 330392835 743731593 357586497 986558498 473810139 286164726 938107565 782356218 604874758 705046149 663367288 648904738 304287997 893147768 236789586 262628689 554122220 28977358 448544801 685700450 38550264 580449464 938503237 509292329 904168686 104025979 377152266 177054291 670623309 119527400 457428236 250425412 954586040 779974624 268724076 360271648 191262962 138189655 512352737 381195155 103272871 720851996 454441612 232894912 909088758 289352472 618508034 730950000 443655949 55354211 989496393 52494811 552766276 144292839 699050816 726561944 175153765 183769612 566771410 108751551 182058433 318068049 93908076 108430099 718911415 486030020 318818799 507798582 434623887 92229639 746388284 199612348 764721492 979672880 912853870 320193842 456532461 862189719 175275339 541803810 957241888 101855892 902477401 14465337 333242904 759787689 562180693 234784118 73639597 561090898 389660809 24355600 566496720 834593158 56182443 758703472 460529072 531478416 345430230 457550483 466973091 67008828 636181774 222088548 425016337 585471814 639060277 382888679 28901782 122926115 580150915 885433410 672580228 629902535 76525159 579556062 679320420 24775236 359101684 35999749 771380893 907551771 967173685 525453052 618838421 695489026 967640662 271815111 602949804 119805820 601264327 849047479 162995340 603599404 742040749 453787497 565343410 784311529 36483707 846531055 747019207 697578456 594571443 739419216 686841227 514415630 858903605 812622354 809535685 561633307 182212614 889578734 244963904 799407779 675907057 539975749 86084665 891300277 681673182 102668112 882081219 749497206 851891829 674512312 478248958 611106902 469849336 485219986 478240115 687621090 276794462 711170649 175194897 541138210 157703837 20839467 511148052 364679486 492264724 673743597 833626419 951885658 547015828 947112186 557353040 889497720 748743782 140626098 531751248 679633084 784675783 286899575 950972160 473132059 200856634 353870530 395458723 899759477 432253661 837176182 95426720 227095346 315533857 126241889 122306467 49609345 733553655 870413216 686907680 198799494 684711590 745335129 493252133 912968851 40563865 531025228 853491944 493269920 901288706 732666851 234075421 410526755 722097417 991878754 446241244 981877807 504642387 545782348 45877414 292725980 576019468 384781830 3985767 170506589 833427696 754806611 895269189 590356246 897280279 918315562 725769052 944074258 388907689 581885331 182746671 688496009 862503871 156049826 385335744 192960265 487277187 322026046 330201982 80386057 90282079 678575805 132478795 730779254 6754615 968099877 266311522 467555619 245642002 915864409 367433580 361215488 620742590 297078316 628952387 263514331 383698737 367492994 307662055 236366083 341782259 703533243 450162164 532442259 364928056 885493727 361698612 593313174 674594606 16485028 357239599 985143628 24164275 3600982 362887218 697041539 967678333 5491987 465593008 678563449 47650324 237372159 399150423 469141310 84696689 310381252 366874809 8645777 203364438 761803116 521455253 193475073 438276547 262733734 567905020 458237236 24426449 526809675 633466374 969797284 856577872 483004967 258971171 541560277 341999537 229309904 317673501 798062612 800999648 941676298 238883122 239206479 138689425 976487101 606776914 545637531 687389450 794721427 942231132 491629086 581169600 893313142 769508363 599220722 792351670 973731503 242150738 750099702 715355458 152829892 379038653 435671252 399404522 515339831 211091919 801482293 713916876 752645808 70694628 696139341 791902664 51274713 63397857 459594588 294444334 612631126 456613513 385379572 615778618 706517835 37578690 344841948 808784567 105077398 105718769 117590092 205960729 754824503 9830503 478942635 26426577 632392315 658355867 157548329 798500796 170489238 123930846 773458401 850943500 30690786 68028643 198403120 826112784 915984660 270856452 625395412 625802 714616569 274928034 662841131 263717822 983418656 57056992 230837915 100877020 172272926 685421285 709377729 85253275 840403263 52665226 447320871 577042919 117576754 344629254 487875452 300815240 658449078 107507791 54387607 398410243 415450412 29731488 840438664 446340909 937610795 82961340 839954398 570872861 396242299 534416442 518906981 843137869 688411859 785824000 566887139 8078931 75629402 678537033 884182781 736757453 8092186 996654072 264848463 57303205 548262114 570904303 673275901 556330729 512168500 791452855 488300954 885770780 967117785 584726037 461488574 12465799 11274406 376007389 570571474 568863759 608469904 893985474 623304519 456473695 834650998 751373554 419373745 273461080 607841199 686900890 977179456 769679024 999779061 338241424 524950371 110078004 842111065 295376617 662843036 522809995 303119446 725026429 610579457 617039351 517851910 773223872 25327990 106899684 418691687 492457794 392542156 990089441 210881952 408946171 322161494 821540940 720665554 29294809 199572905 259681125 17989047 593971385 453497618 404940968 989087581 817862855 931314466 870165098 920609460 604447657 698259413 179452572 297906334 407464233 730218669 312026624 532542982 860337964 781589115 560821926 492627669 554363497 704179606 410065350 627883092 450655366 991446044 511614660 918352050 873331836 173297051 134652704 605220331 959765135 142303012 927640795 414508486 909727167 307027399 962750512 213112615 624827560 520050211 416153841 333823686 351284495 391792275 519233327 887260618 247766888 350134368 12278462 589161813 689276860 514721663 244118128 428767841 161337139 222437413 396250072 746577103 304732697 938051158 676775267 502848111 775915965 401151937 187269838 493618165 809170973 430096087 753083788 572058782 548526654 347904083 464015944 587694748 347279003 331429216 761133207 814987024 711305404 743830893 328631760 118274823 824923423 669601989 470348636 466971300 697311782 959424329 305473667 526552329 307807219 420875210 77734557 248721910 283184857 764401062 828300035 37856048 986948850 873543928 54895478 998348895 965603406 437336559 782321658 491615234 852084072 636587553 256475124 807766288 238905524 498209456 306121053 297624749 102379775 684344618 535834516 358962907 43515297 730823958 309555739 167306268 802290839 183880747 776143560 827031785 308724435 354946708 760841644 760556724 608924267 252673092 869452131 327377469 944282323 763985851 836190858 337555945 425740067 900362947 909104753 977517144 647954662 649953546 371829207 766271181 171409994 905750002 298479557 217073323 171154312 508401283 879540258 825319874 296879336 433772722 851837970 901418400 597147346 341113015 839770730 224092798 138631792 976731122 209507459 241094018 951676797 936197618 164033724 998730370 629312499 573590532 985536743 537046994 506247375 970265794 602570302 794696625 908018630 707423120 272872000 468057113 374436266 873895858 8750215 275631613 980753463 965398384 567392977 634945875 94221718 482791808 666132563 80996340 755771295 631195168 120227748 173722757 26831335 953035252 411195095 433456864 585253220 126992853 340594781 759908590 338497245 930224036 543283049 838875731 499641495 66245421 685356691 489175141 150594085 978630079 802244228 495911831 154639394 743687220 889845415 470751168 604889371 949360135 429800514 470920280 256667449 726472074 4302863 272402027 889758595 935875325 164197592 515242535 908411682 72546262 542215885 84177108 916670338 453347144 931436459 896700252 544196244 602593423 481117445 765957379 287295854 773381276 626296337 462949163 815265240 458143870 667781389 359749654 425405714 12372701 509496822 847225595 174719150 810672093 859776278 157102471 720750209 135521801 534245183 153889361 101750885 230778422 121433400 311740005 227733404 347459665 765254913 61478490 634102792 388589011 915231650 78654521 435223957 405218455 631251715 431339580 375979517 200088773 273141625 698278977 996862061 640654034 283874678 956666326 233138519 983067743 620654388 490855039 303523224 346260217 504684634 530673327 821512619 63907741 115523659 121351508 962618793 434887344 971380190 534681239 845822587 559236858 729019682 813731803 221489897 768148576 857264411 451056905 803450128 94915410 729379360 199403024 712023241 220206419 674704655 310506794 209455267 856474415 709247201 287207996 526024782 938427335 885005284 787438921 252958816 221153455 843781797 554565076 454916193 465747790 277194982 429700392 984964923 530824844 145635217 928020132 956643626 706002889 725119216 442364287 738469397 703622861 213445817 265146458 968044861 491199473 586062654 483571830 87400158 580247097 28728573 479724603 434665253 116585145 477649425 842610363 460258117 400347046 462829930 403913068 997054232 314190345 946880681 111208876 897687521 617241083 30529731 245368362 120242245 153675109 51926565 566097776 704894939 239572374 437811214 832755281 967251173 100531187 917287164 698339381 208654374 593501677 156787763 471898796 54033979 657608135 744099344 384174063 140194332 142931352 912572855 592168941 790102147 322825407 166094123 667673344 790154953 864100493 921242055 357926427 126420820 442947279 379941109 372677607 389951365 694965735 405128069 618543451 7918803 333343970 608978677 890205676 541702695 317295965 603385279 203938561 341282742 762771662 698999019 869852800 442893299 605334818 791383276 626250641 617205930 433364804 307169709 605812352 703227141 61387042 953839097 950570986 735424619 913231537 158341859 930995183 269129851 198320736 567153626 228304798 713971011 591612007 751747411 637043939 51324556 638085816 806600916 922006132 97387338 418220446 754065305 686313837 924667073 951613213 461536347 142602184 872632401 88138857 458615235 605016000 828148790 856237457 25333112 619980966 116537870 519645327 92959833 789397056 673144798 141711368 356612368 641716470 473549329 670340810 315411274 540484587 572387119 713332365 476051872 553946716 638427733 744932449 921192626 414298792 794026947 591494876 884246141 64282534 18251187 138451688 228103737 426274615 177284072 182853836 909924120 169554229 274844375 886893253 433217536 17909771 739061093 381859501 997538235 447799404 818571908 18398408 769285121 258850722 653915770 585396149 291221966 928538809 874861562 20621208 149993614 456168678 376986599 512448445 379728913 615813534 428760614 367411651 980028891 605466481 581707599 889964253 828589678 300161763 268609989 458811625 732574620 212932871 463446504 186808873 430289023 784386330 887659385 883112608 481566512 132744694 949138985 192402061 516623722 486881649 170847315 477211743 619616978 638668106 199206994 235813745 134024107 90515677 490963938 437416239 110006578 668090608 861897802 442218878 799864806 55091069 440212563 36538894 801152631 236237759 776223713 671975473 447139448 950134200 544463070 245127297 343050235 740562907 395765133 461738404 706595641 370594496 723016804 973265361 354803368 783734633 883893899 183621739 706139221 820367446 561953158 585162670 699699409 735952341 821011784 596590554 195320420 657818479 451268559 576245358 886897753 737385271 90525325 668545993 908787523 582655556 500187920 980135032 45035346 255459618 768982341 950425714 871037317 835011871 583156506 156823517 551045894 803738730 564099809 347247288 769204644 306668620 730585019 126328757 800336371 849225131 556746866 497374592 19534432 739489312 592013423 328640684 605011189 69819986 256080692 401465134 922167544 251565823 874756438 284557730 633338872 610372140 960644135 613231600 845425805 520739092 907535613 740522698 880574290 906768488 313624596 986611351 814573059 876233026 669638860 791342153 469426567 125558414 467447297 738118926 64877184 450458067 331701300 193250241 461147989 5662595 431222518 413085626 246868588 711758971 663984611 815250571 782150196 562394204 596026977 781282562 968303795 414139020 444186839 974546924 376900753 879376851 717053089 75933556 241178443 812549936 518179624 529610960 360671459 498440220 295990273 693133073 173019481 788434349 822171380 690810123 990088896 378228376 891913618 366919723 133163405 431980714 765503087 3622116 521333742 582389331 95208870 363399206 266986416 907240206 309334245 631693886 329271968 201205990 816051348 350681187 729092366 925217643 869158049 199246281 92726716 118871693 592637468 941459768 938285656 729301414 429174897 748157950 975435961 639325903 199810913 504548201 950005958 709397039 467371181 963008165 43386163 392415096 839836010 442141487 658991341 846761617 499645275 125653608 903472031 612987847 372281996 395855973 220158615 375687273 604623577 852800141 907427223 34110892 225596039 8139874 848770375 250919645 242399447 2638442 362300239 480021619 484543077 923847705 775600511 438344962 454092538 131782148 959261477 864725393 995173953 550610729 984015374 53589397 971886201 628976677 479920600 494113489 957719414 460037160 882926991 775288307 825951024 936484260 878826100 478338090 648154989 575578998 15790556 113584441 871330381 298161609 443035674 771734840 529989659 751021746 442714302 524820848 452102584 925591604 692697698 396702643 303939141 398130509 10529518 951153986 822417449 751411000 326200744 514770196 433843616 283248122 643775398 442060129 967215954 553120690 933310416 778295403 439999104 495782053 516440750 345629903 895509333 38060778 293624305 406212336 331627645 586946060 447095057 373580981 574390837 76866222 155005569 513507748 105306953 625541694 451898669 927922463 636683341 319605217 173719089 645317580 639512916 308041049 451199753 757793063 566073996 740216545 833202448 141199789 573820618 439237424 673430554 686095504 809644465 587964622 681124384 305353808 926078959 19099433 419639595 465719818 267879819 368784448 985427829 717934612 332934428 827195019 457663285 579907106 861289473 269121721 508992315 321500107 46051965 620759291 470950568 12770925 213939618 694208890 335367899 784618826 614245706 505090693 280753504 232721272 704811085 147287785 854336968 826275882 135226138 729770901 449517461 676730077 911532884 175021495 595536786 177436707 609903820 99259719 696735001 584162169 406762938 383643255 480095227 261019872 821158326 586247199 10083475 991765989 418525013 364295079 580791510 891966844 947736212 556863303 925275583 734209294 984215813 254374191 553849086 356986082 853473974 136950382 234475636 854277275 525114454 229830478 533133670 332636419 159975012 34479402 32990877 926555606 486325663 134345788 222789670 135478415 440069263 577000334 291286098 654322716 691228688 264757918 899435015 971277223 327485284 186131105 690531309 780814176 672722203 846141384 480833234 717635819 851877018 66125154 429234763 576886084 897456628 83302024 958053562 23194602 459468534 94140880 907230203 719136690 456035113 717049088 474699519 138955322 925007459 48146420 719029716 885931480 199125348 842868282 852810547 951974578 834248179 881906197 443952198 313593634 353868418 860051784 233432638 391818690 2930698 700696768 127682209 425052614 253038494 823845318 645041699 558651849 325635603 263870303 280523911 280550049 423833337 843174249 236299081 902439536 922718872 584699062 61924982 22248959 78280444 56483732 867658092 772842143 620571411 752359763 415604143 810851171 43104007 733789660 682207285 944749402 433650478 922331824 128919319 477650578 97077910 171204191 21238184 552767671 526472121 944120159 231801157 718063991 771652123 432390589 133230029 638775558 276256810 835181596 331515470 205146737 290287126 408589223 768153941 140152987 317561785 604848449 523553362 983504609 74423230 404926844 62473848 385510484 968294638 310902731 879101515 181496521 111669175 156544338 191301610 323074623 141916322 866825290 93552298 664796491 602695766 634658829 475769721 531961764 922382603 233069415 890093906 796931264 259251155 704995865 88718378 302684271 388147084 985736176 513055420 431717698 203425956 448405094 603087663 712616458 182907053 455044097 633887705 167038536 240409723 494024406 451563269 239773981 809501827 935685793 699844534 597471735 504605511 414081586 487551782 406596689 295379683 206455731 713438649 988032200 166485602 977202465 752093597 430854052 224043316 341917606 229504840 64152318 750540239 247761726 771904570 778300932 801267444 353145976 940652223 208710266 327300814 5546449 56094910 462096835 924447017 228527059 790719457 882404073 204582056 525205075 672052277 725889750 660058171 536629225 675809960 93390038 926074266 610403753 445114359 289401024 924161154 808043856 438904378 812743243 996002997 825715093 359515860 508654778 225343534 908926857 968775633 453187747 58941506 321761146 255868581 83455441 141894309 770023535 286841933 279552732 574844176 510933750 317804788 889044914 279991406 982837080 863963785 175616535 555714247 240982079 247909857 625191940 515389833 842445186 786010858 655701054 128301766 824777903 965965732 589728246 280875270 187163965 608779175 633680046 663435301 908178262 445449179 974505368 563070016 968968504 887663235 352479683 702680998 621796005 88080502 578230071 53335547 395903988 272731671 871006414 742739704 224879976 961083176 619282409 432317744 112617010 47811416 464007682 635573130 110214528 853194449 907726078 128024418 962684921 564731298 926893033 363630802 394812766 795014898 611446295 621154084 201188491 663299019 103287799 841547521 303334607 787103110 113908564 686249587 889803964 680543423 461720079 541371483 977604414 314992352 615802077 849848010 957805734 455528585 676831931 408027979 565364140 552491507 617076036 270473322 892764835 480347900 692107629 594151329 338502121 116781666 7556584 232076047 840026269 443524105 194052814 534593249 315785218 958027790 608253074 832594342 331366482 365407711 969243310 715798414 114047951 727168418 558007205 50891288 691107327 912683640 221114734 20044618 527530092 770246861 985229334 307394195 492367254 928412267 124056379 666179325 945868535 619516314 694929033 354043251 817462547 199447780 174235762 181449576 948143149 587944717 552763616 451801951 602083458 719248015 779312414 403576769 963832537 722494814 704419783 468316493 718735013 69153539 643695498 484892073 262264652 296720916 232570486 632113295 52725847 387271794 198130430 788041098 162497447 148522310 758053738 816058799 233697386 476718505 439397061 933484774 345177525 794233229 596928227 736303150 301082265 329792799 348253355 705405731 240490874 227561345 871885859 374187922 321782977 361034040 774251221 92645665 683170973 32529447 436651255 623897397 796098260 658810509 722831016 20594614 511166254 882176630 636073102 886001554 190594822 452464289 25347950 863078123 626607074 745820174 601230532 752489323 388075919 809380660 899188390 908035629 481922773 752781848 71294844 277555433 885385655 667444037 277482191 907486020 934280370 583958910 943711238 650030922 340139828 358975552 839017205 796822141 282140579 75902572 77662632 252530512 276918757 374367542 499415214 533440984 426110737 985636965 246199463 77328058 814689109 799386810 539642192 692063223 126004432 510201148 615046605 373330757 29176153 431466438 701954872 618009356 228304396 532463871 535889510 835422103 347003794 503164659 827969532 221772478 662915744 83903105 493483773 155403836 902073829 697069724 398455286 384173108 585874898 607659634 817510777 959662714 66902921 537206347 755983814 89016033 861907766 21641172 106781205 721880749 771232940 423768111 132753807 599605346 261208664 190545031 235951822 496723296 539361974 968312269 611273027 657895072 444150814 53412044 722317065 478533293 248544882 304410317 580157556 535336315 544621092 530671247 791694995 246004499 171986755 5720126 762979260 947279458 604452074 487954065 794317738 155626463 424997280 329036631 111419234 702430850 378988954 311337641 731361679 211276470 54335324 462543522 355510526 382636254 909314967 675187568 78951137 919482102 965302585 387443400 298501916 90333123 46369939 57566131 714072172 913350359 811493042 178410319 12019996 442409547 617235137 806022113 296165835 930942332 458728025 402607462 432681734 842109377 206859559 517442093 257816185 668273876 354671388 183334793 153584245 800112415 245917437 174908828 807954129 637591594 824263579 253702267 437974104 124600209 221456203 567467902 620713425 135387135 49289724 224345712 199677225 664349010 168680590 621450554 69214742 627454234 143027660 263017851 132937688 847680910 478146245 45002965 548052847 781871287 851786751 27828293 672960709 991979131 304477832 409408557 926602399 66491418 346725821 884520267 607005361 14445625 623518680 859928127 598685800 259763864 871610743 934998521 595120073 610766653 858436323 442465731 136191148 861314004 343449469 219362289 515592322 830842494 554061499 651093251 435249546 778725312 546846817 979181499 259023456 986048633 821591001 110301476 248401650 91477561 423372958 840823332 35245319 201153218 964180848 745228768 234475537 399533130 8665745 100544167 234092834 177609076 875492725 403716317 48867012 724897182 493333534 913311546 624440646 946305112 480270202 643636780 795963735 873996409 900475292 236106291 622481883 724568462 770225872 546897363 824697782 537358578 997240634 920026918 709125271 727676914 326610498 172908421 858378600 794572382 267650108 265563509 476364788 581537907 984630188 578519175 3742141 816188255 107876648 638719236 814838950 472684066 351894359 96321401 702925507 26596973 412057342 510013395 722434441 880547643 399395585 584188011 840077712 78338852 297887653 778307397 506096813 332287547 455262210 498148315 943310609 15950912 885947234 655416298 5429630 91823967 865572918 804238600 352553599 184989780 924616036 658816196 825936701 907440963 897765217 956413211 777781921 135434971 698371255 485513933 32978837 165112641 170663796 67112757 630977432 166561124 562455784 880173877 856942421 772637697 111064948 966208364 312161970 45891480 581744518 282668633 695397433 5680566 635148783 921960443 754137090 876982654 957703457 293090754 919433649 436329444 798781523 240354591 408433062 907825731 344567597 200724655 415437652 536120494 942787820 360641365 744889157 44858168 774402218 940514266 548434085 595625755 678311860 645795463 450825562 775068383 170561337 417977252 84383305 426416859 996006632 429408281 119506416 778312110 713238055 931994166 133976283 758220098 990084980 582274679 37990479 131956883 928435870 831399909 953408825 876579145 996037737 397201853 386142903 683832689 257674504 598075365 274195067 474480992 719077172 616384505 325925448 229109087 377979328 999831184 259066380 780822447 47575730 75279882 875044711 274289555 26038778 5334758 663641944 773573525 613642775 165129972 720104100 76664217 61958761 275457964 312780995 13607440 720162291 203697712 515739812 434169056 903780525 320871271 927998890 146364951 459850578 414413727 855429732 980706583 230158613 739501918 232693988 702249681 108004325 38160408 270029198 326592876 29862288 277714081 214151642 344846938 114549045 579563173 272960029 154146571 26611141 750128970 86517127 115568349 409778879 291750417 10404658 331439841 303796477 517172640 468413872 65535129 588294635 434038048 442195088 207086891 870435003 346393089 540848745 176879617 474430966 443320558 471944560 130443850 422257554 30936388 895933859 714987324 372581337 133489480 755163925 194151879 905559642 689991298 729074804 695755388 857305432 648476220 604933234 267362190 337245220 28563692 775211847 969612979 815502327 297013053 121488027 811330981 875470423 712229230 353805337 375961981 102711371 769865394 531452992 249897191 888247661 213701748 772808029 498288072 451468261 566555038 482953371 383422523 434561369 766556897 492063518 584813025 642611782 466162937 980733341 107591112 78143642 15786753 463024745 137883017 12806371 332382032 189774437 934647211 446455742 457999469 819409874 614090271 502439391 716962637 616980289 488733380 802242110 674286332 584755222 181629702 810026042 729846980 440808813 883943110 254132817 876527294 824231834 711289022 756651673 308673363 545770616 223280141 482419464 373653151 398807563 688582327 250615198 407303637 930876296 335513913 457204946 805119053 810855840 578035079 157421685 452530150 534244417 423055004 280409401 41627216 153798386 906042367 857058712 624507812 513369858 948704700 24350412 68723675 64118916 520923838 521542593 367999301 373632140 664188271 430762546 257007691 908935880 932747767 34381972 313883683 490453840 264579664 644404608 874590811 2207904 921713259 431846099 564222058 285907004 219597364 966218815 708097360 509048750 416865577 135295070 829255091 590443532 661387291 425870387 808840780 957768060 235754377 98141263 49914337 126320925 150552763 223086995 94931266 421692291 654422435 722291444 940856059 505897019 409169888 262026715 638959460 382591294 760303524 721017948 459916504 849534854 692306514 419120111 499603604 742167035 642509703 880530546 102692267 377857792 146998359 687743102 373858435 996017816 616831753 409816897 941544694 152044895 817255189 431402327 151747002 109644501 457445080 614288071 476971300 940310351 813823468 147916106 202733709 648930944 971520677 601249910 105803460 588030244 714455736 363180326 173072138 811555292 331405288 219885047 143574310 550711152 445927856 189610392 7210085 593835514 66168309 755272002 505599181 899648628 183776253 737470205 196136175 506589989 124841433 570390115 634743666 22387011 916367115 505495438 970111374 901880956 180512685 994271520 965242252 345453083 771518046 498324295 126668867 913513261 179225510 120073794 32549070 615396548 217290911 965131641 231365367 668388180 266721570 422054920 195011027 453068417 754204589 26012640 120940992 751442963 866284394 315314379 295363886 320402870 291252699 550818683 951084567 158670312 162141565 846314563 11348261 756352944 530870396 111596660 932517412 7473294 504078875 570012938 622137599 837822421 325547207 900556078 664737126 156832774 156688253 907965023 215471247 60601395 984376486 24749652 90410608 557813601 685186277 510397015 564495297 831115805 413934545 745789344 285415100 21663087 147466011 649808457 556730698 160541118 780581442 596592599 118115586 472314157 625878213 164539733 901748265 762641181 797986704 911915962 537015308 272980793 990624922 269379229 441749679 87561604 121874985 393863676 234779500 934636325 951701460 700014585 65695244 714636409 260435245 835754104 813479470 813894707 686964420 255087003 666365815 560403907 183471453 776134185 49540044 879336439 487130322 804467333 247662932 323640105 733658874 684066650 478605888 709086713 923212477 425798093 758467627 585790675 668551278 813337008 650764475 131743371 725442628 479923950 400532684 4568211 382026727 795242278 683964109 339970045 279286027 539777285 446633818 412754368 408390359 319775456 910146769 384631171 50948984 91811002 778466484 487007743 263133664 206012920 994595279 876914104 880568242 521978186 221090978 154563735 754452848 186445369 208981559 990867620 794401912 437517725 256572780 169991327 560794536 801022155 319766175 914471403 254597556 629222130 569989596 579118661 783517243 29882088 727765359 389858155 162489429 552159509 868405217 380521385 623226802 483806205 444270396 739509619 653988493 844128446 107637463 665788200 191437121 294640477 185221140 983167283 772768780 568639365 120086889 739000498 927305558 192634513 203433409 19252235 669782825 688348603 149790536 863564606 535364522 849816058 713838419 879834869 868635548 472218515 552920808 475345666 454601051 953924924 150265393 74562572 95503505 311881480 940011551 516960876 105569301 39435306 181939382 152497267 583727090 585560949 767699482 249079020 907675643 865022914 409928279 678508557 581070585 345004203 999010665 228020539 578489623 164157336 928876576 312910001 395262066 349503218 687874073 885891369 525675914 697641352 963048278 549418085 489335025 484127846 318210919 193612027 123014890 614542040 854404109 660326142 978651446 768178431 736724130 685602665 326899678 856632022 897529220 128104503 707490342 784814162 264166705 270934588 928766834 44668667 122320352 325050691 252409647 622131162 145494341 603439693 762199638 129997738 36448775 529047415 417755233 519616993 268971541 41950467 842683408 242170720 376404902 805924230 145217117 798184921 924621071 206564415 714079106 306010896 368542233 697295666 109409433 252532444 577191894 393398145 891647958 864206201 56088120 960660249 676123109 946759586 285573688 735290902 75700533 579082451 948228573 875948076 978126706 974106951 237382544 843005137 156781723 298027254 165930954 193757712 284463468 513696144 916025993 597340946 667308263 932228101 607345340 403898355 604431803 253781371 811000017 911876224 688893738 344780173 824673213 502663935 478383952 985201149 660053018 61583594 911027123 573352538 565778104 2504938 766408224 947472826 916953955 816870378 389740679 534414795 506851976 594192697 877844558 831021809 97275042 465152474 115006067 361183921 205730853 697273896 306568627 328813341 540816073 719960746 571990337 232320592 540954132 385725251 578048510 297279821 936863471 374923625 180605752 353613427 328244222 773419157 800882482 838327416 97143821 162573007 580151047 393635212 452128442 304862058 165638734 378574249 855029246 188849491 460596791 718500973 587099084 699793848 473205957 978065484 603764716 544493590 146515457 686690187 522136639 429444594 810460640 637991633 527058214 183469145 765391129 628142175 500313382 396458396 955072806 385750753 326595280 561753587 12986422 864338716 877261440 416640950 608620987 135463012 57755683 17322961 985575335 960432378 888518946 587019299 606454394 346080464 906540465 909095978 724819412 935026207 159549843 62137911 341164067 900303259 444963972 585898998 34105519 480595231 59865680 866376214 840337486 928247875 632814411 802858841 584073176 451415090 964239144 924330150 105168688 845664390 922055108 975278797 584185935 581172713 128513519 646633673 787681220 102172950 898930570 55854578 6731258 931939449 65701138 557553807 832393229 571323820 413054878 446234243 535006816 415764269 131605124 195411805 581083062 314778779 226396682 584298657 333393088 180513425 785024821 519401687 139171158 399308630 863639460 481037170 400306373 479613927 666919259 552984337 2830838 173557736 694107278 906901258 187029973 334997666 324199445 204546608 531024015 142622937 662159975 93689502 670653915 498323977 965182998 512155205 118537244 953658837 874562197 968950519 910388127 624610282 877717057 881358859 396464152 580631884 117485040 557683846 202509489 851729228 785640943 804140638 133339159 464398274 290118381 203951586 899110629 306323522 864101699 918835085 148097077 796638964 48749824 718867086 257309432 312315187 879495780 40956792 472368314 149300089 137485397 441151379 994546474 948227862 380083498 407482767 982346934 254636831 234232161 95248599 518215978 715903847 934177374 39792028 226345392 104260996 192762148 349649851 478899744 153099113 74246640 765440860 869886213 170822278 596435787 822977811 278541125 574709947 884327313 280205668 635669076 47913010 157078763 899970938 747087057 974270201 179107970 347164641 477381140 139762742 843046535 644148411 79543873 165401366 864466874 406194842 55692990 516196055 571589015 227082206 455030798 612809957 411443872 203016576 517506044 947065097 765165775 918159801 801256483 115613123 474799269 646611106 55827456 722867725 264162400 381112846 462237437 139806711 898975244 116217965 642690265 179254231 559867879 835952812 126915303 666704996 80768476 168997379 115589651 726520148 2644357 755900961 773661865 104160615 666032842 649250848 239944392 75378609 428520872 489783996 388648102 711537560 195772301 418252024 593454217 726617329 10342880 723163674 909747296 673440674 616292578 9901858 324057114 976640920 478773060 601875789 143463452 672757444 799093481 461551318 685485064 46278120 401249615 594199300 282141900 189949059 157084040 459526450 37295351 92006031 846363758 71528010 8959455 959975005 809586864 755799064 721540643 472490760 586026212 966448671 966509501 382772048 56268485 628766160 5598960 952670100 773450211 759444049 395154674 131900065 215051700 877738748 828532663 395263863 782036029 322477295 483318841 237860084 653333987 757945991 591051351 516570636 189611489 530846688 656556001 125325498 561549474 862947874 497453718 238280216 910190017 780943302 85615094 456721819 857286069 683748331 857436587 280528428 211746223 404836719 269149946 362229352 952124193 314674952 254562989 581569306 777508124 693295729 146398205 699877237 289416455 473199653 932431780 886410025 108372715 377038195 546665924 201881639 904445024 301558600 821933802 317754632 353293335 642224394 568867833 893364115 137298614 689567955 187706287 970966210 237287970 574263391 467838696 251324806 632282676 894102793 882446752 817396037 432846241 775825786 449401483 426268577 633708530 233345616 869573786 193792128 894707885 348712488 850019959 106134219 573072632 574464885 865080433 580689754 942807339 327331549 36137866 362476650 629142543 242433132 629210227 244511890 122369162 859875489 978003052 963776678 184233419 710126511 799223746 332645355 886353745 340575668 35354624 503661309 374534184 828457333 505880061 338248468 457562255 425831942 80833277 801410457 662681407 727918788 329319599 88876333 641168115 598693547 194892559 187104642 602487400 125427271 196222777 363937719 604160922 847415702 640085311 518934708 677619557 306003211 706591920 802963358 769662637 571432728 554990632 508552347 716439010 76253618 407806822 483363838 707825501 772292582 319270915 625688160 711879370 326169239 961049626 898888868 563431658 329393155 503258491 934184324 881144771 281044607 23785440 389191391 364438188 249321455 880869026 851636309 11822764 299929176 642183850 358327766 978182404 231977542 39540136 854768024 157471419 782373689 314915613 699794737 319788962 624691447 273882862 368965644 636811491 390886124 651974434 832374916 679263202 377668729 914195345 887253851 963572508 682162014 553595078 128667582 305384007 74178641 869876700 538470154 338131275 685955821 301258515 104172360 264835873 798093573 75361637 436723045 868599288 87815799 18208044 481991381 329733357 334314596 332119385 277852608 231288023 329479352 754064123 779957042 530523879 887304348 561040884 390912124 163332925 264220043 835810488 990710737 959515757 83313636 732117024 305217478 654942830 269130096 584060467 79330698 590527890 987967830 480560011 234439028 470262461 565003910 10571734 484762820 443655026 996876626 305356308 929903433 377496432 51980656 904025730 256454224 233681076 381797154 20379488 7675882 397785429 381437526 57056351 565471283 865082285 242164778 276671278 29439465 488059493 112703712 145624524 971593960 661001896 245775988 719741053 291961402 983546079 17420027 551173753 24325815 120475732 870036651 557192413 913708939 505629802 409023101 913925990 715458205 326236332 420930372 307621307 49219146 469284553 348564550 994643919 256067397 322785765 190587074 777256516 894491223 757350473 397012102 726385584 318109299 726770863 975103892 38524514 833499936 605917357 285715418 902443833 676903457 385214644 809084415 454362090 563278017 547192304 179746620 765994383 657161293 489066637 866045995 837776305 283255727 530316748 396334433 969476434 90817452 674095160 674319050 814180451 385961183 764335313 373900161 683401889 118387357 396032443 274000254 789994569 147023348 900835085 288221575 772882617 463536134 472496246 842022941 830858504 888286964 497678383 938753611 653435997 371851104 444833609 770163758 344580912 701306080 193080464 464998842 535287073 959177332 32108370 205698522 594785418 271869562 122585743 145209657 34519362 674505412 958612584 900538198 70213586 859495645 331883633 812417715 99517179 665163247 820837359 133278641 67821267 408748824 429313555 515882116 276887190 778099550 820321439 754336875 63724157 44457628 687874084 553642 464140951 220393073 605841239 667040233 725055441 105268524 657243137 381669901 30333426 296541276 471487013 717278303 542966390 177264550 137823300 144009593 897501340 836204831 792989497 613067736 947390207 715469962 474445069 147942996 377067148 356811808 391016046 192835970 198524778 645759862 315492469 355410233 528623417 366559800 781266587 729197631 484994947 273279276 80259622 282167516 304144272 92714369 281701525 607854671 847131427 990653445 66901839 210903441 645283975 170154902 329374049 873703941 734262360 351686942 671621795 881197513 784543317 52108813 391355143 498673060 819807578 169892514 869212305 243714193 137382779 800108977 774543883 559010730 325197620 514784330 574336519 533607967 739744194 370039608 569168099 763414155 472782990 765616674 954102642 161713680 48787986 223585204 86320874 83466949 124926190 428905118 689448748 387978127 372534011 178067421 772271536 405376422 398564216 648625317 836275910 699874887 245213463 722063537 716201944 760480957 964579710 583723042 685448772 12363069 596731667 753131038 97783863 809790075 720114207 778807010 637301543 563018081 37640676 173932631 567937166 106818824 106928222 809804379 228468747 621167944 116595432 85786093 973698684 75352060 686663339 975007955 830193723 123150910 877086840 36671489 826364175 805525844 586259275 248233674 950736832 515711696 238088277 377959885 754593580 353335987 873242336 584217411 503682083 94178603 621171172 931011658 712711062 219293133 219447253 671132904 206445889 96533087 801042238 597803386 867228745 848725702 973919943 553097073 898259054 282887491 445046482 486798343 876353696 241942922 801712566 824624884 32137490 561571462 767449462 802442960 735283108 563869022 482697586 901871935 174879691 922112559 419964233 183759774 677012203 572928899 867570682 976759042 322794860 318375055 316917556 745895944 238292189 640657607 400369593 706546676 260088542 775098562 165718290 547630583 92561558 294342067 770009302 254781850 519941822 650019206 888360204 644690470 693388262 733404164 55642134 132887085 925037127 922170692 166318458 407912982 48819090 437028111 874596239 602101897 980152742 896491738 863311374 474752481 656200251 340064604 332094622 281192400 147617442 462914725 711535011 6489039 620737905 570528667 309832864 742577230 113963559 510349422 850986503 169290799 381624359 369789281 190801336 207020008 781865932 729499135 428859484 149522187 511470587 488139519 184701596 45296434 680810544 376783163 311091323 347798888 743210052 228487585 652141033 182304797 243556754 942513246 124532668 596382529 688082925 429133843 239656190 190850928 958946566 133322299 993527568 385660005 711148571 764191514 700821918 206836671 265086571 787626296 455002282 985647259 978846470 852669780 647739253 349952708 459977213 395400009 45179139 918855095 98791572 837340398 890792942 563647812 47635769 30814138 530624530 289560867 29307767 962664469 843496220 192898835 272528323 318054033 548792 425188978 250259342 481465556 694804311 506649811 970075490 847244294 159255093 807510815 724216302 967028220 10128627 581176172 114782370 331940025 809088420 327143886 741363794 315942562 742912103 111960675 765713223 190680189 14487075 582458304 447760955 725380888 712213643 56416928 297198425 199136295 784889125 110881177 513765427 855534863 846403517 900275307 957262385 941091640 205889677 353454613 559116392 819757741 819678928 995607121 302528947 741442770 444925278 288290270 813473988 258858963 437136630 221044268 903330572 223887141 189137851 655955024 140532242 721563587 901122671 700988215 328921099 740009575 547363585 209461504 250813090 5561738 738669436 857050961 600188215 297974449 208316432 331921805 225160284 576871248 327580116 278155985 782887116 230130836 498317633 37017362 769866279 383509849 507643437 150533162 314887684 478984335 594940212 679163999 22204424 120624151 636737285 279796124 945835872 44019686 9208971 323807325 284250628 273584621 227836433 901673964 63316950 55063459 400687349 5096044 719045820 451159689 547198971 568598297 162515537 222190205 326915470 764887555 774633037 418679590 795272229 270833879 336312767 650725984 586667981 644512058 546844753 202988175 660856926 925525368 664128130 537547548 8208193 762659348 709572012 865462036 966950522 602135726 832818197 336935137 373305126 109398902 52818737 468624582 118029598 414421595 371554179 974697432 309962476 170479525 484796739 520200058 857873975 959775347 678805911 726403694 571478331 428171078 644016068 347172843 31635973 72095766 646412085 525269713 391709024 943047015 992735844 414160784 490333246 887871458 612012659 365003634 871035712 587639186 863519535 276918280 34636709 522624567 267630002 737560858 789911454 655238684 207442023 515494737 992917573 777453681 429402246 639675931 301691338 482933775 315404615 672212422 685717303 143808485 861880748 258244464 556046093 850536908 320316854 837150521 65453070 899099650 617120898 660290748 257277920 480661642 578479821 126687653 82470121 901244248 642572526 727443 840460504 286248472 858489706 654545306 88147613 792891974 228282738 711078117 802507426 233969046 521239937 711483296 229640769 994877502 735333268 883813485 919643783 983304400 769922962 41153808 593498359 238362278 492674241 911164137 235006341 436024109 757890314 885554246 410336616 264264066 989928736 682215519 237547988 69754482 218007524 22974726 456777408 930889916 671272051 85013170 355726392 902032838 882741132 874554102 660521726 853135743 395263485 584464782 939695622 24348257 177635609 591096014 149102598 629770943 456412911 47116114 313259461 410314371 980582113 18349041 81400923 699875629 45546929 669124218 279599683 692919661 866708150 701186789 473859699 991882063 55577788 415291023 908901191 542785187 351927376 585179188 306144654 289799329 862164209 911195819 178756608 51431442 276118162 711636004 4597335 532136678 882769755 774523317 630964102 983053764 528883746 981415091 922184015 716123216 397363393 904905041 849980368 306149938 735587865 373042742 736545316 814152236 347969881 442635596 398268917 968661670 278865889 360651915 599297762 167200043 542596514 257323645 19705196 587385574 467743229 39682220 179077615 768566605 92729212 645359795 786507359 184062231 985089391 9835313 650855307 751593334 939194927 94590221 239815305 339030455 236912166 402240567 910256041 562991492 290217950 414219903 743484833 182132810 293705214 941798746 701051557 958689201 803898804 453528902 137619042 743275379 154830893 952242498 691532972 950632697 667010791 309169253 630168478 71255496 462713664 347359062 41132425 499409931 816842076 744254675 599081392 105826789 174856168 944044127 959525727 725835120 452881329 900189524 283736374 239521697 148923464 10924068 895557626 29933850 987494483 729158059 468125892 164406552 706991142 894057455 218052177 973318781 530698639 198260938 182118204 538435678 888200211 805323759 220014954 563879812 887102092 131678499 461671059 837961333 764912260 566230147 793917825 230663586 958079807 855399998 200672425 766134790 788732770 784982149 800013731 928361241 718514333 993877086 904177617 363320620 184875551 19399753 922699248 485485260 767256165 110421391 796873498 763909728 487578227 351608518 721015297 110341145 274936688 189806944 190332175 994516355 31751507 35237748 765705248 899862134 838062205 86940981 349131251 516787809 693086709 968795859 394719540 628773778 791437950 604719531 713815099 917897859 13934802 767785684 924525784 922249989 217811089 673812673 375920911 704237954 184864325 503239826 454440141 921586579 332809939 793127423 341309709 198072037 691427909 969173199 442294883 489918589 626965911 523603898 264032682 865127338 585940612 871254573 457080999 385034086 924587634 936844843 35503269 590607407 708969967 268466636 152420769 320497068 401088608 774453027 424874189 791649867 768968250 678994300 971443417 364806621 899051950 828005848 889954572 157506775 332928269 30523318 399242171 137943828 618661444 977809782 790704982 451817850 217350953 510620450 259888341 472855491 638499840 714344839 667585005 683482605 301020204 47768891 834829918 461633545 718659237 321906524 104767034 128013795 61214081 357859882 424167493 170907269 538808379 424816547 189914544 411169109 134152230 5101020 100534338 918855323 27011031 381234951 437545834 849128594 335982771 435940766 147831177 298605956 709839004 642396131 752479190 748938254 403737416 576484493 157606885 163993974 474614950 164116961 677024190 432847151 607342720 66621930 98071102 478080047 892258792 107016732 118567932 856209288 820240641 694258847 942910924 842175396 140277281 180802268 522037465 155042379 492003785 407415347 792405244 801538839 232994812 645472266 432466945 180067420 818200945 903853817 150253717 820801918 544874912 209897111 547029510 379335080 84445841 619737450 608869148 733910784 296057105 82020194 877205380 501138129 574187390 113344176 632844595 160260850 821367928 36439187 381503584 847855575 275868031 450749358 458126521 484398510 585606670 76750904 285609965 709906369 982087593 340181933 186999344 878004017 350616204 705595672 244137388 819139939 664137829 271994277 105168440 144670496 819802693 940695657 367683291 356699243 748805978 885639195 629509316 402458643 682739310 1789897 983884476 379952803 471597446 365859747 439374759 270863142 80099320 951398735 623096369 475315274 822452494 11527261 257814895 321322927 557948463 251284804 958086823 187297186 758501489 585879069 516077789 593316800 787811772 298377868 454173100 708509200 566534143 735785332 407084642 653949716 11282833 529255416 85914123 191369129 22349276 956882346 255362531 981034080 487186421 203897508 271169832 445424408 875409485 681168882 470211867 834417599 789777396 158002225 472907073 404297826 297095594 858491855 398463306 926071011 779847952 535236485 194348693 382239639 741390437 657003660 586359591 395250405 895461457 945561833 437329751 558640752 316091076 349472180 118615174 795925980 54519255 347940846 969892715 614359018 568089364 357757253 781712123 614461995 199161974 350997579 803493455 565121835 704053868 989905687 709681165 103920902 427758499 163900340 908939408 560131878 513798720 20923170 24430059 103066021 777771587 50269164 681579292 527003902 311180447 427093164 122636950 139936689 717531357 799248037 803574495 447724952 40411669 475314326 768908937 136548679 809720565 723793259 726139459 555752443 211284577 4178180 363022060 697958382 580544697 856100585 355399943 117670168 628649875 505676272 407468910 489927786 23406231 506385779 373038284 381602055 186397557 210194345 432603596 677406869 849943428 519604473 710711126 531395097 124539020 439549475 323183596 737919153 951451833 546441589 37088427 688148461 775142643 415894361 40268940 788764910 869362651 404273512 570081745 409544694 643060080 400987592 671232743 871798784 131082887 736338422 994318537 839111851 732797064 425663942 53016652 639703283 868383775 346468804 85383472 376931107 262241825 728073057 327259836 976278243 294295836 70446099 378699381 789112117 233807658 758997868 223684709 936902069 122011017 32011157 366291840 161471263 538690546 732207036 477039144 628562363 337459589 823917599 969057031 208839957 811189369 985261222 896914768 233952992 956241607 483698343 1877911 541340712 226882293 980215831 44700380 335191994 605512380 800239560 149324169 241593636 142224529 307722697 588002293 8886531 542916059 796555242 640094207 935356065 148122002 13633535 25725038 490928551 612192675 161424103 667523399 452029814 882309576 6405521 5064924 207599727 737559885 167702064 981506218 366395589 355559283 964269748 179211970 456323555 47783631 182427850 239079448 215271275 12009263 347346935 439073773 392555646 631709159 846121097 858269246 988084734 197769649 257295870 103774218 24971635 452954236 570512805 3548339 491299712 308432885 772143766 346744817 56310355 275128022 11573236 173443211 482058250 196348026 730693524 846383441 439504203 985998388 776729926 541545392 419149470 47993053 456730616 100336521 47038353 993134050 53368236 673959099 603082763 821179896 310297793 356832011 126654063 257267913 508619793 827762721 889643847 94208584 835568268 613711550 919206506 861387542 78630025 182351975 568353766 224432720 351606537 579879683 419951978 842312626 623365002 263942709 325237359 579821952 426941511 569072343 220242614 710988476 517649440 14413149 477089683 351034287 598450185 65015324 69891165 117376157 769692700 543239001 143554968 569801587 328160605 676008990 719830163 351036545 611811188 237033889 522280404 926327566 111988887 403956979 735760762 237250393 499995609 522910366 716841636 258966289 586945146 890755592 663142602 642184025 750864240 26151639 167747833 892795452 66930652 128169091 982139388 845559755 546026623 402997611 2464375 751962210 507150633 716264694 218736398 963966669 209973892 945294196 622161193 791716391 58571063 74951810 196419019 706170687 189670395 888360787 453553671 936317390 537957167 957819963 921916937 546924131 840243121 95132324 667174596 895247395 307902563 707933618 453913699 20880765 701759852 183226467 857749292 785990080 373198505 208372037 963248795 747593655 822626199 9348824 530548773 906702674 481726090 552689790 106204265 234261474 476339699 466715982 808979197 871699698 344776702 208456792 427202053 363155370 172351928 696117726 872264253 512515128 579876487 974998317 418999046 881700744 826282052 784721509 445035509 95497797 615533541 478211188 874661978 552656443 348941939 583890838 4634058 943883845 78638887 537022382 380672865 385979418 840890148 5016988 386125431 844137123 603740408 259009289 738557557 615840518 851832790 240457431 602631891 820442713 66646465 573982281 366975953 475823322 220717072 684046875 878932112 110277133 794752631 94464397 451568803 936058719 293893552 433198097 767946010 758103421 714795878 666063230 131283156 888983258 784667521 386006508 877035477 76439207 718583125 861366378 758891355 140190328 50872450 752941075 751487529 802321735 663390566 388338877 726128735 752475904 937539115 719484003 58114840 99141958 329498565 622010975 273513079 629132211 354784763 221973034 600287459 843664765 578812039 944151493 423996802 960172215 120203468 363329538 513774586 747615573 731588575 787491685 997721944 718026668 679944002 994272564 534483751 29387915 231378048 86105551 694079793 287216333 853967940 571658908 151439357 250425329 75622876 952838192 241357332 823402925 510250774 193609272 873420695 90156565 740191007 977945114 727475479 857174445 274317263 433053832 61635091 718596744 973835330 72534355 342451189 638499633 47320837 449212009 963993257 906194341 260226077 267480261 948866272 448139724 805583769 679024657 429177288 392558997 846263908 903474245 994306819 606493146 108957790 694304592 181822407 676278213 11277323 777481507 789355086 808380790 531418708 533825256 314568981 29738343 938982412 830298825 518941539 827275791 453482647 301722164 454253192 536679165 779338258 634594001 426864809 79039176 355334645 883202081 407049088 124976261 175181942 656281808 144132341 550506093 927439346 673286114 834558098 522811395 939540697 877649615 997117249 462757254 254525473 286029394 762823169 648361213 494110825 474499049 141004506 126313609 92143670 771237000 399715693 787356976 940037020 77953755 721697205 130119156 72586320 868978726 922088347 855647540 515891074 646081158 142541924 476735178 137958785 906717476 84052859 665675132 691711139 499021328 98258177 660125226 194838617 839606822 292011321 587772310 653885042 213607631 870146103 18050444 986112329 27595675 425044933 196878846 379765621 866484691 602041594 259526813 611833167 105347209 256365548 638254228 685773282 316383660 518216110 844029554 127069555 590384806 714303117 490944171 748358594 507792111 59538185 95409633 91086246 693426797 436577670 293457553 314679756 918796325 674542246 80894985 840211714 684002058 749458218 846731070 227454596 123266170 782878887 368666352 135047890 314879958 645759720 600210917 890618913 619822186 442909024 689076890 144164220 319200339 155561374 995836969 844685242 373404462 56746012 481060442 547958675 956374748 868218786 342194578 622491878 393393706 20606189 729080832 452910164 914756290 85859520 534102233 20126561 224323430 644826312 489754358 362744270 720562577 990939450 887363781 363651198 531129171 799495421 906986337 760717931 696401520 108409273 227431486 977268351 561989866 967380722 678707192 560876014 810586137 496326786 693977260 541268954 830875894 578802837 982976743 962866396 335979890 652036471 567985026 375572658 200203950 365752571 490824842 424653804 604648019 322957686 391494294 584580674 465717505 96025208 670182187 892913169 112534473 738876968 142331062 233327795 700052109 380663693 267047108 493649383 773005672 641926237 29318540 469829031 443064472 895450729 356859193 903936173 819643724 75400955 314805829 852823291 615468995 732702600 835806150 575495831 528833799 818664947 897208923 131026378 70802323 883805985 913230635 875577138 511869704 100751115 464691741 762151339 836251653 672048429 312536740 261266132 840210827 357900010 841269392 356572228 265475039 127731318 26100072 581662129 444310549 407444011 454883425 10015641 680457028 154954112 876498155 411132755 989435220 113729544 600280186 743748295 616196893 789482135 630356573 819946905 606380186 391363858 353610555 53204841 547240482 517819463 722574739 43199993 857860647 514332034 904550385 712638536 804784152 931340602 433987146 991063669 184446178 213972260 819714095 295009272 545752515 655150399 522836880 694413618 174749386 22569589 387472550 866962371 888315783 840124239 80839866 968948390 526289234 497768158 236591985 234229843 629790677 873258503 988101948 830705427 877774003 195322238 284998662 490469874 280331365 772224862 428615389 3855154 990046557 514460782 379269709 683978747 989620039 155417082 442567281 646147851 772736882 464874578 835670092 415508653 701655195 612640507 780312962 518233878 850127102 240925022 364739362 712964603 830267948 209356214 716613791 387884196 260178317 416825725 663080325 844582973 348748394 81226358 241264592 469073684 351856843 112455188 842248228 153639202 804381083 283005759 561240725 219160491 939209065 650604427 740505036 605293731 575356057 194545759 51273152 630139118 417558695 977976228 741168197 666363078 859029611 477324844 706927811 568243385 300685783 978915581 676889630 204445122 722135064 138948496 802553989 875774714 699173333 8844151 763207507 235814514 133871105 272285930 912887067 731602841 800843071 210031439 124874961 133677005 687023852 76036044 239257293 728377244 379635424 688280821 121451692 389701013 634612492 30156383 823188135 245759243 220318616 639262552 825887990 174261433 317660572 314809505 67614609 773697167 575451924 924173164 464665103 474738580 963533347 308814402 441722596 12991591 77834298 32036673 532781102 781295494 327691063 180418565 833829183 312245547 403308310 421074518 797898770 491640454 119581124 471766508 104757189 950488606 817363274 757824449 365085085 406054064 709178830 924706146 155697731 821285576 32411204 607961641 438500215 782430566 205516296 95483693 204696877 189181038 817740102 37617552 158819932 297506280 910709894 965785416 987034787 595244398 494121421 196511410 518511365 975342536 807862590 699563626 928508014 299563251 537642286 430966155 393511602 859425045 598050597 771892603 869132140 541824067 602464085 242956796 981908687 893300886 843049025 141304937 521436568 386644169 816941265 827412900 773902926 181899370 291644219 389073757 575871965 604399250 908476636 400356151 499220566 627183230 953070152 335673268 933947626 68552619 91659652 273750208 473909748 422231140 268894317 677307806 727231770 972780551 927528845 42958941 633482058 426361396 553261604 333766071 930352322 594226980 851982466 776817611 326152394 672740400 413577689 196046393 633989505 330932436 746944085 944815054 320330832 135468969 442460763 820252115 168315521 533936502 737645184 316423791 292852553 959544661 829206071 760163362 411698302 824978431 771541181 619836760 142874550 408825099 669320369 13402290 838257992 243734041 986264652 235438079 983263259 149612467 489372769 973443707 31896454 842554493 984451224 497484494 977874858 208273247 587519686 680986469 470272755 453714256 505005543 822496863 71926756 877110241 118523397 413462425 869850078 767400858 731358720 279965677 129756366 813880424 585989433 515157148 998491350 763142525 574624519 933723842 172304739 497361070 507657135 131891964 233865348 113990695 112294521 846607661 712562961 2007961 770782538 605279518 974693098 396935239 658413118 332787349 96007409 989209064 516410201 324120298 926514409 49388236 746041498 81727816 350685202 650860311 666801300 829922588 806806511 25380909 425715982 731166437 909349050 592019336 20458875 47622893 975621958 957355934 163066350 393492820 284359904 211281133 735227466 813175832 794929686 747410815 903466254 632729454 122744972 548825831 777688887 25433625 397312815 359822193 438512589 619415365 587921328 439168042 838638768 747657445 449303688 22801816 143635298 203503244 990172363 592796788 866212336 399819602 413632419 308644726 977663141 874935052 36082145 291816282 852650579 576313748 854812595 167896118 887762325 906973919 530287505 727635792 940902553 757017401 938477383 746945843 626612340 258672714 602401735 25022796 194754539 960925830 20961375 976697744 175614888 281149094 865594298 689264858 122438369 948159645 778832710 76896162 68147000 111975965 850178206 526209792 706689404 21135672 496764129 907060662 425159721 440071047 233368417 649183021 380311210 834876722 225999271 116992679 677269129 417779848 215186665 874537488 803809534 884883539 335059167 2469657 638603725 586537056 699459299 717038851 683804573 758914636 433864184 77691722 361709425 102161923 265574332 781394415 537054864 934652302 923363607 298911466 218088481 911894705 99807762 350009851 562474412 510802613 509683635 777837608 137206913 809894438 92735741 909093232 191300818 39918412 413377567 291902855 660748881 914738168 692862443 757090945 93587486 900423079 304176892 783607923 822453482 184951749 608796100 463419123 631864946 222991773 521242723 639655508 828702549 260046815 657875498 933315018 513405099 653482941 624768601 688456437 819281285 253107271 949794580 839759938 600604383 520588471 85672439 88585121 861916118 21059233 528631892 329336400 590160466 581278750 592270291 465045289 723450513 651501110 981427133 939664865 783107503 332872803 945430551 190878235 31562899 182172618 369282671 648391506 853047221 627486465 917021902 402773375 32611670 133575944 275861002 423922504 271232726 473070372 205606082 136024830 1822351 404507988 710675689 502672901 138464864 458616959 297291522 632309830 427136056 455829829 175529186 378390114 100415513 578735967 482343460 788743872 801249635 578960114 730610801 63403032 702051057 253973070 871139556 141944606 198365220 205152116 607466524 991707972 48835166 175047304 820580296 526980185 160270031 901201079 479317552 270268883 977126476 167073391 228582444 929615738 80728189 63401355 695623313 632736064 305110680 659995649 383425626 591507877 248160283 735698076 186036837 767635063 802462873 309164287 77291267 729226652 376076598 253872629 265023397 91413908 589125166 54654071 241276574 692259978 88545498 405435606 912249767 754874529 498653177 748406759 127219342 884236953 662621501 720263862 592505716 492105895 952601939 419462486 988722669 780533459 734649445 951971677 719763445 61587203 119483070 287649275 475889258 636928720 559128888 436483645 417031764 236131177 840974679 86001135 552430328 642905187 39752297 82989756 958587677 527677217 23036262 573152358 83219120 370711404 818363560 911942776 522226702 444586627 755071023 424847231 167027298 16914778 393639108 208292665 385971128 417246801 82005334 732041768 38384479 666995927 97008888 245819200 937522988 783452080 682246997 280914587 579459478 417435721 521148425 13878388 704560330 124910603 676555523 702932148 798011905 875260596 487140491 725215541 588939870 357247094 575054158 279693720 755924231 465412816 326861547 153549773 270646475 613925695 309054577 17379101 624219506 494639404 594371316 757605637 87017736 32070837 412599916 778856945 177264585 846680132 145158549 935421632 583165669 134926866 381229429 337473839 771007804 607718065 568153662 420193194 512051168 122305784 565620390 249695115 463956502 73422603 445160785 512980385 26669330 792145323 900489046 601866258 182230070 231064361 995471697 244381975 448356055 247598812 333968154 825328059 747738073 396227017 438580008 542906757 713155941 836667378 493353890 374706942 941948827 162717333 811249509 319699733 123407870 643020274 290428377 396559088 87534991 534040013 125747486 53351999 461739994 180625196 781885203 61605368 734906573 496634136 631402559 972129473 636296756 244428129 386335793 553049359 20869004 371643644 963033921 355161835 205080546 383291130 866582262 446214034 570429866 724148373 3277553 404746378 144338473 243573157 362834497 990207515 103561123 196947458 994383285 839198815 884387226 31755828 45821530 487202591 80304437 486842954 47991372 385862376 837676927 504177180 944250000 462490912 159768560 779926496 631550218 134243395 872830960 835865934 324781260 481703507 782614359 7182123 555634489 125373617 696186701 366708590 293703806 190204581 196149905 811190684 359582840 612339632 248653516 289083695 871831869 114706433 199057763 394520206 671126012 292509632 664141385 628063956 877877110 213438823 33587702 85263191 429069844 777092681 878833209 402024874 175854151 856261992 913501889 421736443 877858570 767920550 77037237 118156325 241523488 913971604 22858033 614369022 657122105 261222445 895503314 617853118 90603789 840681901 280686913 219236014 62591740 985348015 252270986 469930902 126455095 79192774 991574660 965138699 784517523 277416423 286269260 776006515 356354918 404813202 852692671 932171753 838144457 853495557 16988643 240123634 470381189 991263066 321994238 53684564 755134374 182412235 297401662 628564751 538376083 231551090 407199517 198549618 757933875 82508082 19234689 210710451 879113923 778025353 269692146 711114737 489923360 838258118 498989825 490114537 963238542 220573841 208866091 257985109 463866769 186565465 72921113 504944932 252861660 830683295 975960289 251768262 227032939 378164055 735358504 723007886 928445393 113257036 188583868 463271307 256675591 502057367 136609201 824592600 587930373 709996081 937138911 378119048 903713496 19985026 238901204 986554425 860027753 620622499 213106530 869324561 111620495 56346875 944380921 422856722 329059184 974689504 572162256 249174269 276762139 802642493 195953628 937734190 922625760 460376491 445536205 47113598 504559863 956354266 78848390 458879144 85291496 802202582 941065128 261398551 738168891 372855521 573283388 845093760 110500414 591227988 953075575 475484553 881406892 185162259 358026028 475876883 136532609 921158836 946839549 535323277 194077622 689803993 678632942 223797837 64957720 584763807 645158303 705402728 939631007 798003104 729169813 194745621 166276096 179405841 31148969 279477858 649382983 128635928 149230450 905897797 870095987 480275583 728052438 995587411 93438674 149447776 366615665 208274705 605423475 746617515 959811075 547443849 324775534 975546967 66027478 282725480 565578943 612283207 945742282 6604895 136386762 523861808 842506461 799298333 547415285 805808724 479193361 435597598 902774034 16550165 273979797 83706750 606899435 574168985 396338590 382057951 417543341 694656780 566080834 738568825 201102805 842471358 430290493 348070003 804434262 314005013 400904705 375240757 419155781 802203050 538716330 772205905 19748881 747726264 365742165 131663627 823183147 71178904 933865632 72178794 340985685 9549024 138136901 950037216 487917407 908296547 169119135 90194627 487224617 118993056 349689433 237657896 620666972 250053723 392390864 647113270 240971141 125281378 139310841 787864845 828325756 857435620 781060958 712012735 740147189 343523288 998824450 69186520 811714684 728057283 923121066 924180335 846510930 291937481 605954570 647759423 75210672 574959143 396897099 966026230 686690939 236763768 21351238 675297610 622105298 869770298 733221243 647256253 806783236 753520806 145042883 938368799 110172354 654487463 530617517 414213678 549194746 310442396 225072593 617291878 288426541 60239194 606913525 509918649 980980269 901361753 125112074 922668277 45881235 642415227 680109510 750324165 727485128 31865568 177783754 320985411 903172154 76311452 959789323 369069888 435031882 212579376 319009439 52048730 232017761 157325167 326884164 282942617 443201572 582034913 757188405 750687035 749022182 630024464 123162012 652694469 866621866 475825026 791346938 142299944 629704291 547274178 222919673 468550744 851966406 909038123 551361828 128132736 29628453 253981616 513719874 999393473 743787784 453465726 187723995 672638344 579942724 110612529 856997183 919952905 959455736 851701295 272673072 963371079 200924733 859661575 91012774 987601993 281361402 631148230 182803976 792034277 571307124 927569054 818660878 128746200 9964331 774988313 118802738 845021682 885194876 451930276 237103881 161609299 282932600 356578897 818332071 444388555 450941362 259716727 168398333 132914253 854183022 590931847 781467443 383735365 852134159 617342497 97193488 385275729 897736171 555907338 598175676 751088148 13345390 750322441 917574936 954579082 204506951 855175607 174433273 274220742 749586567 446834261 836106876 398137574 998947090 945210328 165742775 875829258 392636056 838340545 575736593 19929493 968840901 152545813 557168097 759259388 72178895 409767101 750452381 819651921 222948650 113755691 41190820 484030860 176200421 419720663 262470742 845354949 414239534 369696775 988933465 257065269 420720416 50215065 416938627 145580525 95561825 237840992 937765264 773142977 654901756 256595289 174429230 158770599 458096153 241617176 259523018 356475588 533021800 646089520 725245061 29406737 220021023 513085851 580760167 559849020 981491370 12331886 290163071 400692217 216560367 972145474 752788099 632404831 95903126 197045566 386341627 686472286 450753167 589240208 550831941 730810144 266420496 881348146 650663796 505106406 141930017 66034929 460480985 815925389 310609600 127817847 592345480 299928649 900549513 944784287 855654342 150643724 24717046 439715082 586191497 430518326 6242192 174366966 365338293 896976167 684540345 512278641 204485065 988490912 415494798 636927646 933467986 953296950 464230267 862973264 814244589 812502088 310399891 183965721 607041897 304238192 512449703 497467164 402117789 463552747 232265051 291225586 606392606 296063751 172564906 204575906 282675974 431916153 477796976 117125303 13537988 444713626 655118950 287690223 189610776 272660660 606196472 404884861 36555297 179611901 55338251 240161704 591694591 129502284 902121145 970444672 405472045 604911942 184480544 537913576 653323125 260076826 134762725 949950034 121064891 93060970 186405077 520744300 821812669 263365646 470333205 985548271 49905465 369188230 614127931 256940521 75645394 736348726 571216589 422275252 621682900 324866856 487741896 736777862 672876185 526053391 958316724 698920328 220750493 199877963 892612454 927936620 658237111 49512560 239625785 775077554 160828505 546470343 634835197 353247352 667435300 270880748 596435113 217358644 75531789 486521010 336688381 135648024 519354716 798764032 659772541 321879100 999680865 520502573 666163286 92048039 841439342 716754113 239830849 231671805 664936642 596616060 95362287 537263196 7117560 90184626 953066781 147027422 693207050 938726190 109973463 351034360 495926189 661290263 422088415 682689138 972109952 336206051 640216222 264040029 43146965 490163862 367248033 343989455 49116081 858539675 7116206 488090463 204063395 26853881 583490330 569593640 477736613 647865803 338603047 320588212 501828588 722002664 325084676 558453965 373511507 168188974 689330007 524940563 304331670 558757216 156774148 403310991 220438253 782019905 29751739 541096460 309464236 949768247 427508195 627984733 791280681 241798421 284271018 551236107 134085169 375743435 992750930 447639330 721305305 78962222 605792618 158652035 42640397 839597533 805326802 743209063 334715588 722644635 551339633 473312630 471634907 320373200 522227699 31092994 845219707 964979299 300436407 378217006 401774193 579480631 54859811 54414400 274021583 875229936 537328457 802775099 868104922 985929001 429859051 342412577 930146101 905653634 484521637 203963807 102317714 88941297 315115271 625523314 516235577 937337908 937439188 960706048 206970637 146530230 244760009 50801910 283743781 966664778 377521719 925731497 201159028 827849618 731261250 83942251 246122381 214540095 273633111 85681782 309436820 579154470 284108075 975351460 216482715 605176495 41438164 578568044 95814035 514515484 131239664 679112151 909742535 232641351 384765540 957261647 947302575 869396530 992212193 607696199 80873940 792964993 984307505 781188683 260846346 103661929 881083227 368631367 880921740 112332790 439959514 62070508 187251057 711038826 95206578 248359458 699074926 2409550 450466711 749797036 71101741 920331819 246405733 639871428 254475865 971540773 682653100 134908773 113160471 622229154 813944352 453904688 109805516 281359957 502578465 890069204 263492913 11361713 681716963 913550822 175960563 675258181 537475004 292468043 577255003 531317416 992735087 242144965 423995986 865199772 953766734 517503368 288708700 565785778 75725833 21567924 429221001 434110459 604061886 891376881 530389691 764900446 553043371 438638934 618934201 217902657 301259616 756874476 668042755 161229131 488959324 751885537 152714204 107860334 510091646 367393704 142854581 735405820 602541055 120864600 300497564 450427366 401243614 727873453 765262860 209807055 348686882 320284891 15275184 621203596 807051065 889993687 653313292 38770908 443456836 149423610 940358676 694307928 657468976 888426011 118036002 987587232 397911706 130345901 903274192 757635200 576532899 458200234 268637955 579051111 764808397 24336533 101029727 879491110 847221094 511444603 331301214 647487178 682332740 78667535 164665417 324543763 858830603 970952141 967072404 623104615 501691791 883479998 218152526 70106155 726961646 819647379 936674511 742962322 678015266 676004576 457749705 960808445 818803587 926324863 351653507 406331627 362742839 322157901 887062198 419279372 729492942 562540339 702127677 427378315 188779929 667498594 479238848 141432431 109433992 356028143 272573910 591244500 481885064 59224069 985221593 764443818 887694393 398078901 815620930 638806048 866207469 55036626 545109858 124384418 11373244 74304920 726006635 638915477 628073592 153030359 192663462 619047050 78065589 834204540 500003380 271242804 674803015 493764484 950061178 107168395 322907055 526427460 412514724 856827344 528098029 940587067 166086910 849147109 255868024 339553605 524555337 994741409 64491403 548368680 990407916 578884382 439379454 310858789 495811226 517163250 626548637 60050877 271123043 699676720 997380247 134423551 961082071 670668123 170007725 506386238 222346453 894087951 188646244 909463907 451950532 426560932 340729675 849083035 858225864 718281388 428025246 465575038 577910866 5573005 571779222 685247372 52398831 548607127 134689441 624862046 120464857 257872540 903785873 501924403 28350949 252359621 958178408 330953392 326257790 618957802 896447578 393380753 961054422 17153924 942299101 607045631 356712586 526867101 927773008 378164655 54153289 381593811 318082325 324693026 318743753 633303032 637490636 719083501 671926111 551606190 128540013 652212669 173080605 865466535 86959767 41753874 528978519 439229070 393624140 909800950 938581259 453234856 570451197 313269671 182917951 946368308 93950150 617628952 854034847 933668235 306890087 59985640 937094216 320716727 963712937 781296631 16047846 217320050 948396277 801451297 96517821 667807408 20153749 49806209 42234567 409889322 503069120 254862667 248164203 226493111 138045991 600564390 521056393 835588511 639107865 683642008 340361068 576565300 836626515 112709308 632510822 366929373 738861548 653718112 579167786 125786135 308523560 782731295 241366992 641639199 684358807 730957854 798022716 374027173 478106245 836932073 53531077 68945813 636991677 486800057 16545386 702834584 189305314 231388516 546681042 190185890 637006684 320815626 322050159 954886350 180120560 91244571 894625415 927605300 403823162 659851629 596458928 784179658 16356134 146454173 471576714 872228456 178795603 72078540 464730355 992808079 504455528 204457124 893210718 935581489 744805280 647730805 542372898 626496888 111044740 182499399 425160628 490168509 587144554 582324504 881382344 327508977 635193071 845049286 520910360 948207996 436055089 964746229 807611840 63703718 830814512 741956516 302490304 163094505 818500545 400871640 435305118 235841714 698503842 327587221 463221862 180362398 729802348 853017464 461043823 295430681 476642842 777587026 269231703 455380686 102798046 797860943 968735856 797245506 271534230 567101253 911029924 473119398 774269541 432989116 895194372 755227424 305309078 928546890 553927755 528088425 25618865 579108616 231032326 927869413 727020166 296079171 36079853 684621073 962855607 898389888 479490414 210635033 971747608 942191707 866085868 920022085 929221151 857760195 446556630 640347766 634380686 604928417 948265860 501923148 865422097 750262638 469998753 757187853 962315413 65634858 322374541 922315996 219002414 656654710 187897902 400938340 467292151 205302729 588349845 866144842 105194439 802185201 670916485 809112296 206230115 588408321 690783951 888302127 964942916 756933207 505214266 476276676 841020037 854131664 599689821 484647807 135466463 530623036 941578029 473890125 332887166 726835853 617836739 513046768 633064310 362141554 367906369 995354017 792000960 629575038 955393343 26314934 26210602 688989058 43051413 56613019 415492429 412382114 86915268 610255639 572974471 6456983 825356290 565823012 802192493 861639433 917024526 301738890 52207458 458556809 600132312 579449372 921842670 501498233 46870557 573861431 272850389 911036784 741351525 686645945 704175814 892493854 541349118 510399240 954341847 598680640 4826529 137618803 348584629 961080309 677953063 756466693 130873402 869785771 97727639 946809486 865056481 666658663 878966121 83190841 793518346 163708357 837722625 770665478 568742267 651106080 806495204 236803155 248387834 538333849 162201902 301214160 786636127 473926662 406485152 488210536 148333647 617969143 966635109 182582934 880105721 766110372 887519431 143859230 531837970 294274289 829958668 730710790 962655678 659100702 68361688 877249881 383525334 766615219 830388581 120908672 142848853 339572901 834886188 314590911 401868048 992403705 971693947 580525651 515369303 254638649 820934117 118442276 973508643 586872456 533288976 800684595 508218302 604400973 449939346 969114424 37850949 800570517 256722591 291621393 450337744 783998223 818961187 452636369 512622728 744469861 330508400 607907271 629570804 642359327 855794472 810551564 405057492 805819527 86675169 427864000 866899504 215290841 383223387 585333192 968660378 379438174 837654147 299050830 711652821 508544588 334815236 272714453 979267470 31724979 922458367 697430118 409642546 834739675 108456411 312000914 461286121 574712119 188512652 224093694 747595256 846859597 490084756 369617391 55528336 225224006 377242843 254538071 221460287 851300017 769145472 995736206 269550962 922933773 359598838 953765978 776139887 918753319 10820870 628486138 827817075 669662815 793797527 789728302 125393547 366548025 152080705 809157050 498500565 507587997 144519367 635087125 901831265 121964086 489438735 392024006 526531174 720604808 638143278 304998686 57959582 597801183 761225996 812548173 714924699 188529218 321401411 778815083 206383880 908817467 745593935 238146198 15172609 243343787 673548006 67967937 150956930 989227122 926295428 757912070 827092392 986513805 425757451 33984786 977017026 682051737 780230246 700067367 749623963 700062600 228632966 982965034 603605459 725087733 165578507 542800169 308322212 564198986 423099441 325935742 293147582 975760997 340565332 620318537 108672585 791092740 467818431 585573754 915579842 793831487 733889474 388715690 785365275 543629531 36965955 563291525 265936109 506970482 649310287 576154388 263923352 845922233 595866309 734946265 465036219 213035607 199965920 729576161 525188031 610750465 113745520 410557377 297158099 115857374 337915212 89144096 670844615 984248939 19574729 291102531 182776439 698350632 656090196 510443161 25388454 111064703 590619128 884362441 487182663 565432375 951028681 37486718 615070800 745408488 213059375 270573187 775870759 680443853 426465813 540299603 945891521 767317748 552142762 161512893 719975336 602025417 501721072 287834271 872758088 719432761 579181031 732912553 806139761 75473149 22023036 344314498 127503043 508061259 924186962 996874748 468832583 130482416 615024535 603718301 473168304 781611823 982232561 804075442 638832800 726805849 578494263 381761897 516630091 360508646 21607650 869736673 191068440 459163078 841898836 723951556 73718376 324003617 900015855 982190414 507678554 508430289 940787355 35583778 962795913 866890551 897151510 64277962 981517227 39764297 523341005 185039067 400402357 348138135 501123318 790778285 840727996 14026704 649111464 752488847 451017653 101704641 91526782 761960602 96431121 895219737 362221960 536438654 628757648 432457040 314408528 692042847 937494517 93260456 745847788 875186545 409195351 54936745 464650338 266959062 599252266 872445496 527239690 747685441 266857131 121935524 279421952 113919449 712783720 27638427 589696070 317339801 816610831 113477123 610985174 112615476 232834972 51205406 888227269 960713687 535229786 325946744 520822394 440930894 46470415 290853337 348949272 871619135 895371150 881489367 362279258 791538326 802872351 901229623 6893721 86140112 969582505 875643941 396652565 864169862 861890939 389429996 192400488 200496023 677066138 462555300 217052080 797085265 784985700 345426190 253802331 951209036 314147837 222665849 291516207 362431580 62294629 573056209 775789720 490256271 487929073 573680018 766252143 542585673 593231143 550323015 880831900 735181920 263647836 736063754 211558727 395619428 4271595 462990839 229820692 381366884 212957207 251111322 439617441 882974336 738724056 323938935 761108749 407109463 132221650 436741754 36477820 403150777 504458966 235855040 113957969 718208562 815158878 170506222 656265922 593200694 449000428 643824733 352218705 777117979 736824437 518967329 524045036 514352103 914930685 113843960 716286104 366118788 614213144 582950077 306398132 998870044 438638265 833334153 375701757 781093379 323458023 96779687 208921528 18210917 477312403 687502256 849565035 689084558 92044199 485323595 239658546 551575307 743300812 185355729 183869954 415800196 211117487 212465280 611278722 876726546 997363389 246627914 515854769 742415975 75535526 943291986 169516026 96358441 481270401 922456271 370104502 40824987 954972772 736821755 986418775 802435294 853577318 273417222 526019646 337847449 768602506 126729679 82362644 864948714 278335447 778911972 409233889 632133088 548410977 845997543 522372060 664468352 234435020 334043600 751030445 144493997 750517051 36902955 822458090 72433665 375533622 752416019 416771421 709567137 344820948 711640854 76402404 515745387 441440970 779570108 228324333 501903012 687800497 263979049 752245064 158985247 799351735 248713176 864200737 543779301 432549409 16981236 568617298 818919403 651873823 601639787 534700146 882029833 782904567 407667439 123354027 429350108 414917947 294083835 69889389 636947800 955924708 699031349 497170206 996372115 93225076 179761617 569108162 231069806 950789815 996035719 677390831 491439217 477317477 396635591 742573642 446969234 40948716 364899719 109542173 255157007 869822902 430886174 959165073 503320104 768133069 806406707 980842742 118581576 269347375 599335193 149652617 892516516 252009652 407471123 838577285 974017892 168778866 505564659 690230007 485926668 376972933 577466334 757679225 14994833 412063554 567570055 688651043 73716862 544479266 714107456 93175727 334980944 606797628 517232373 631556934 701549372 440176359 163430776 213777407 184533766 790014038 511279560 79258009 56600939 206453147 752193225 365997942 290066900 16038460 716154003 163258967 181527095 950788499 118126555 361935146 168481904 298129945 455149352 936885985 744403288 167112900 99606750 624879602 967654161 816807363 289826157 204931958 437605977 423836938 546796524 846957056 561795721 680930300 603108925 350738805 943591248 726092603 990417120 836223782 750920658 860598596 395968751 488925194 271488808 857709631 467746871 464097057 519968940 772523141 359322481 935629344 772125735 178637941 866751010 659087310 175103937 743256677 728949158 689563878 132712229 352131994 906929455 564508065 905703810 501410499 52516443 274613766 853918192 276762367 797942956 154059007 836135962 985860392 450987351 382404329 660922910 931599413 672258918 409439104 910341409 657196033 43401409 737688484 602633199 401554911 10823769 128685857 858196019 343531750 420424204 983246913 491900422 557745214 642878252 643405700 104304712 285429641 629444419 244962441 900742151 752384346 995567364 798785179 138273405 998478577 95522485 518181040 729443460 981797286 540798856 846384423 652421326 776516008 980189780 727132683 858184892 102541772 540340217 603802937 718333894 342220010 533464328 372400133 731915208 71804411 498155988 793586759 756839413 735269012 304994765 489802393 438385239 170593317 853800116 246428409 885907153 961141962 264333147 450044469 958591324 674726160 609152577 50461203 503541464 440882105 509904895 644153004 282547145 997927607 367974615 615711381 667478571 26108647 424209098 979784400 8791717 648892178 175446759 20611276 830030751 68857359 90950066 720872163 693464935 375791639 397891407 755220289 180902462 960649859 617285451 240796859 830020455 941721295 154852985 459881818 193778595 929391063 167809509 386573236 346982361 999538227 579758165 210003366 465214201 871856501 945080621 293108840 234834196 350229566 330388771 878097554 46074642 2381827 155380517 741869204 841257912 726654113 999768543 786746612 745155524 774980098 361237941 551884596 606379356 726661087 392317709 678377541 685984254 891230586 909579785 354468386 652156416 405125664 243569286 507075807 694915470 487685307 370971674 304792672 245407041 839701930 842525835 687603108 419053117 340717930 980874696 36552276 806202237 153804713 616548471 164896292 333971255 269808000 664957879 701880910 727176747 38305535 357922152 396366717 845473569 769169267 672791954 707436993 7506043 349843392 668919684 516624999 912156205 323022540 599362454 625237078 554886960 694512072 932863068 371298550 789618089 504802670 980557714 534454170 219623165 50862100 915526226 732304482 496889447 859999623 421805534 702637993 772504103 553110365 970979286 203118682 774840866 997688550 79350642 55969895 171932380 235972015 824677367 634503786 672322225 747880214 976366956 291324989 806664556 998173619 620028775 360278102 257375256 86926138 862618253 405353342 552456687 71539432 655747545 583906323 22793733 246989309 564258396 115074022 576538302 108544007 137677287 232744881 263625089 776705256 994743289 654801394 538558566 400629170 155266406 584563851 308058856 68166519 788991273 825158061 648988350 129848385 462748357 45698603 621866688 816410878 66407657 668234007 787539584 370864729 257401646 935086301 703207605 291897300 103509817 241804410 102212100 536540505 328099887 428606234 989496452 443917196 643954888 106939296 971530397 695202359 157124712 464195111 376209855 450371895 474911702 345188732 425046729 183263208 559757689 987678973 472769298 699254562 175238168 201048973 40495558 942963519 717483612 689035294 199045637 14491589 889222198 866742625 231034536 526129880 449609812 153277388 244520434 188341100 344401864 434950562 811511524 633872870 788665266 391589257 68875114 765955778 467913433 148794235 544405305 129226412 123035761 385046849 949135968 228310812 184504705 459966897 270335120 470149590 399166659 635171266 908689627 17834643 814524615 369548506 319354213 232587131 105974764 561153786 766635706 280836714 529477327 891934925 338168222 252025747 966002818 343693246 569643314 966680103 314962202 976894780 488235926 306328780 696419776 369404451 348785006 964229161 271072976 831507962 535425097 563657132 850399185 171389332 777938677 310490153 623903364 907486576 64088515 324871294 150956522 151774097 513796781 506162938 166220965 984076944 252072703 296459042 429635426 589180899 966497141 988206910 235131 438805201 904983013 319990334 515199692 359491382 423462195 604251785 612068439 115629828 955340710 93678555 909839693 572376980 724086311 999484308 43608741 634949982 648798282 350296411 951139077 431742327 820539008 267162070 638506366 851159179 78482715 97087716 90235908 386271136 949848640 996063208 622776481 656570307 44607097 923415600 258332938 108466107 622817309 89055931 601877650 773778226 899786098 814428232 674680108 679462505 512919726 821013720 435858796 535645619 327189532 566123193 922034614 951560671 707958613 142050896 50114708 794909352 593396281 260224213 898841616 274687679 148801478 621318538 696628709 222875372 160007795 728635733 999232847 143220123 124830182 155358119 297105222 426907899 921866462 788888536 92160999 265675692 615299541 464030773 826892964 488960718 214530819 364276103 190488560 253890187 28842934 754236477 811242631 192292425 251078425 136943928 805428341 656297701 420277410 561263322 172487847 979184871 730166274 768001766 694712783 188128700 890622451 515955341 674587283 96295815 849004557 882030168 430796305 352804225 533294957 376982298 660873128 121246504 225769107 44968100 20815951 559142836 930953165 941441867 499377722 728891552 213702498 95735539 414288599 923305804 852321842 944118006 865933306 169474173 683663431 239439882 207045724 618621377 80360017 667206910 983411032 493782846 692986168 849427941 240091651 117220843 651981346 821580634 167450941 746094601 111317770 79444851 529180785 632702014 810104849 737549251 287161015 484362401 394311608 896651215 335540588 88757209 55605237 590477268 609067815 276494897 216907586 458834113 741507433 231440712 688965949 589842889 140341815 171189780 396270044 568149645 216887293 249032165 60044716 112508610 179585471 587712402 239826455 528157687 181119247 694398117 248629777 813577164 938195257 689690545 81586907 585153112 562797199 88663280 341504227 960901356 813512175 550569870 52893253 504850618 543339228 231546907 885501605 745395297 193297970 201961044 152345832 801476027 109181044 623379310 827223052 848910890 695204981 297143185 578516624 188753695 195592875 685839603 794387395 818033314 894416118 13632613 513083775 94804694 733511381 946343976 664480921 229758673 558860152 91886017 618820366 122695535 277099426 165532713 875577205 783181216 744329480 45197338 697625810 260993279 768631141 186505828 281937315 130039069 972976433 90001679 187777267 952769269 141689852 684290652 347749748 788952211 105375978 409817014 801286315 80293152 125325149 871689863 109475257 623890962 391516664 848575873 163203843 560693393 955149472 881926563 83396218 386389356 810883681 977677119 212400472 775210481 787889544 401867029 461669797 615715545 662389049 327677935 416766111 137562790 489086313 469778010 875141605 406704247 158322648 348399131 829202006 155213306 789837808 515668034 417504544 95720153 119818632 414470257 468580519 211690483 291705495 609640212 849901700 678269793 166298379 871849259 666396307 540760716 610583377 120367318 720832439 36271859 129406578 300759955 86072421 998254026 191112234 354950399 438301137 608420389 171240893 305230131 479067077 846719907 225952858 140293565 346339616 291434500 330531712 251363264 441012307 556783194 916621589 570939315 662405826 908228224 207955131 322763658 230298059 211605261 37152684 191215035 160572687 457688173 931529888 997231282 431614736 159354718 283041458 12886063 544775234 423072492 96862385 292565350 577162231 394710789 173080569 892812987 865961777 82614553 699595249 283613300 902128715 248777674 539424492 934386426 461610970 837380008 512238569 583450969 266651704 846700603 376754132 882136829 948128147 253990900 155194003 580275662 744277687 334707342 459595017 387799686 52276718 759234130 707657265 338811913 473366235 491594587 237505235 355660242 875102004 289092315 705546811 576385890 131952732 328725238 329334089 257030589 487681961 570891498 579034103 954596744 941607281 328835354 934264150 733199585 391094929 960054065 534835102 902194736 984115246 960151522 27645352 656449750 854347038 477868076 922382213 369307790 278031565 255692964 278478374 185123152 241388241 967315404 842492601 235521150 107792719 767862829 773018851 416417396 948705627 897304469 964739017 723018398 320642833 759898164 145612671 392226379 717490677 803207171 328410517 735557209 230101542 943918368 616063129 910249442 589851214 562251358 861164986 951644490 324642007 967204194 891118073 70687987 606444960 18029473 540900995 889329363 959997673 906077296 44315483 62515441 949524226 374286121 375536475 583220667 483564666 914093912 850905934 765275530 233436190 162390537 812690848 671467258 606291085 803570479 674429120 935931121 932203752 489385695 388993029 973138637 476398772 958326070 620357167 163249745 656315022 62498483 994455909 46351083 26581811 299667905 556070364 170515977 968755213 575580645 502890049 52064386 667124786 885440007 1442689 151204106 878553022 621959376 600284258 296336036 67189941 182323246 343194377 714061234 76972706 452845574 972230534 477740225 742651440 716345304 552423720 645747886 385860604 912480004 720422655 896450881 835287321 460351526 918254956 174324070 741214829 990060321 450113688 461838566 760502824 38326845 408016566 655469602 26637019 11698466 293109149 453403950 41069975 276719390 153054971 372021307 345013207 578804372 5184805 517692880 351099629 916309771 515542119 612037405 306354207 625889950 516132341 533158190 671463153 225182112 542852147 337385126 411978468 749103680 20188279 249105362 504005083 99933253 835911741 978162609 273975978 593528167 424465368 417927995 965974328 699061114 629870464 905275268 97617839 566728982 33621183 196086965 71814287 965713881 108232605 38543687 339328180 120336762 762349063 669347707 517305967 632508532 158849776 483253824 718169430 876303139 6614459 626662535 976688088 650720905 939686063 758858731 260099637 3607328 304503054 459412678 958282908 143981091 420643298 753866123 297565961 892858910 482876237 94357992 446878167 738984050 204468251 351389472 47935831 1053269 615483946 292978968 502166462 615164995 256102161 895202225 813874319 974168212 512745935 769232280 746293261 894300 329407822 209792415 323710467 594953724 383056098 18147730 455919198 402339081 651373987 942192433 140829684 81973474 338335427 875559509 697160042 989860976 513982986 351303052 3431505 61548642 467278733 82893460 245743992 430768225 440380625 284348279 232819021 82706263 937202535 946470053 609472469 593433945 822046539 811042850 320284924 993326865 422978992 45483417 662138219 148405322 355463247 318025225 91003500 910360937 210702900 19932497 734779619 305370086 292707136 444845402 957081641 447871138 549441800 103910209 104804969 927011471 289390918 694678677 22987408 450767854 604286071 673568601 500233759 953654055 219180541 918625788 156935888 520018313 427883236 903477948 277417130 273810576 933510818 122600753 967809973 237571153 294339451 247323959 151046710 354053804 653781883 127250953 18284993 199037920 306685507 282825211 764865320 107776631 275855874 681806700 618627223 793335539 954567659 328608867 867450170 505754467 408501746 243069365 35804209 640622030 606132273 325349503 578989842 674769797 744169839 87990530 48098639 459200342 399092028 13113656 850756549 185710904 670151806 849701390 571941083 615674319 325226093 782220970 818512364 979499776 300031515 473848945 717667089 341947864 845545380 636658698 370599712 952268407 141847002 7284565 155940022 988716179 748587348 394833624 511455535 697762461 984389800 121202561 765418302 95824356 335089525 734563256 986600649 859685802 60809145 415076801 199267010 63204378 135889970 166283525 144479464 512068841 169219824 186297972 141096635 361581837 727467100 230487297 10157091 983562519 966865382 307806480 545089077 663106146 339699489 901629209 216626255 263843535 431305659 353545314 62570588 789760928 730951729 182930678 568659442 898579579 543588191 452783139 801538120 152107309 187542587 743570298 967443050 238371138 704083202 799399453 881555555 869695366 433230829 652876382 74183671 507966879 540571085 710901510 504782050 102728083 506741527 47533676 881988799 182122936 423955260 698363550 855351829 605647745 433767637 751083681 937932202 488058885 345988998 629848900 120643834 733418956 876665789 56796603 829546596 925737394 79054925 709852121 594770277 816585279 518397383 134048984 791728135 194073398 517823747 835175048 920121524 322070665 843550359 358762250 426850491 371878196 3897836 806611850 762381590 630048422 980776346 601752693 6842160 293344309 275438905 500368315 393237253 907305326 41956521 211581424 348605159 841239256 367451599 768531852 463532941 407978751 43862861 50808055 885258781 608239225 975810404 823460108 324521739 639272346 113437032 169743344 187932751 320229921 512317603 610511849 841596107 116187287 61291884 664267024 169819039 631851799 955048611 489237117 728062815 72655619 959382102 485441527 215002209 397034660 693707229 236540412 472219525 494779269 783757533 988226593 700013929 685526601 950037689 647836189 725738120 82854632 557744708 635936380 804568390 516850775 357887507 86234976 834710697 515477413 653292554 18234112 289916570 533552227 387564144 590745827 76439394 526264884 391941256 993764244 584631346 571706712 153975128 931364078 269463048 358094607 523721247 531300791 137189931 940565574 46597103 909376253 117375032 216510812 750761282 654300977 363996801 457547724 126344654 15633116 179534892 408196926 848930900 91619005 929757356 79218122 285271303 262806172 510284695 986884327 261457463 527440976 939551908 127442910 877705597 166724149 653706125 489587864 326304542 483810712 237107396 11572486 191508142 167955335 740573219 748788774 313133003 826915147 268289371 433111135 455216979 552442857 129605878 803813230 403689752 922578709 865464499 311404686 530260336 691083486 269379252 242212325 503873528 211194625 540883532 558771272 532237698 353989868 245678431 621222266 553249385 60877994 187222422 568668683 578364479 336730010 630917438 932994367 770171785 269781089 352967359 878001723 520281311 949012743 819529778 899496275 642944383 894128738 620635151 684883114 376122503 815447509 134787157 47718816 946901843 982160462 12094291 868493358 105749412 39471071 256470095 193541990 498020934 787815403 345075235 448058830 61157610 703515480 655041780 159440453 519197626 824308106 409863862 59922923 651154090 872854042 173331253 325852495 7581975 438794156 760405541 284607817 925738724 436090178 461968903 478594721 688872683 940588552 651333908 963514363 847013252 866161845 851135733 135023968 425714818 795656785 173006473 30222927 795027759 133244524 273287273 522839049 136103343 20441316 387510899 698306168 612337484 578242450 894410217 585507756 502696486 679165167 20361831 469099 862447544 826885368 296893526 332615159 123514615 196820745 151751927 363392091 896478689 370254649 132360169 883820789 922789741 948001225 895940401 619209727 362891781 12220331 284186665 760249434 883003208 880962714 871244340 973477389 227998960 720902059 881136067 655022635 684665075 190265174 821422394 480277516 884475286 916971853 631644493 182272443 299863512 822414135 462138763 316778971 906985048 897999818 684228009 247010391 673901014 829976575 703876113 109201611 597465057 407695310 415355476 774759087 771572451 880057682 560214049 97432995 20429510 486429462 15603289 517719022 41157272 294712459 997055207 852331455 829595887 575662476 254721727 275762653 57616828 396262422 805905675 575009315 336818949 345499589 72243716 85855005 258112337 15238185 680080537 652689679 62657422 391556850 583282067 22736295 548668132 223835132 629840320 144334272 364175072 520755405 50937033 734809908 867610820 344435333 28905639 759716669 886812922 175099166 160102433 952090910 975209228 65191084 481924438 935647960 334322462 82975769 958691811 96778798 494499164 333997998 84357193 368312062 396210073 927976132 428242766 284205318 15369161 629540253 584070424 682768528 984706365 743210589 170910127 337475900 953921537 508791839 651668370 169447015 590631732 285508100 388143763 327226235 112294367 702367383 556665171 541518111 945227085 498499425 671765532 944305400 953039176 641719171 747662426 465365166 385446251 449152283 152558047 450834544 165499718 453043955 464984321 238775429 356189395 914507283 971422645 759354489 721319651 405361168 604119602 421120998 952552658 333659090 503421456 125296512 694337683 699335071 901347081 401193797 966291488 385287459 29356151 165570519 344375275 996561142 640339602 378800486 127174328 483784562 91374887 445601020 15394109 139946596 938711497 883082877 772049161 277392065 394161504 811426387 46954345 467867601 323781218 835800715 14560274 148677028 719137539 597502088 452311435 746279094 680353458 717828164 552072747 2658866 184341325 212067737 885966380 647575179 838898348 629520192 673066263 765789899 533284833 411936134 995476063 447884592 204325663 71051432 969050041 672851264 682080979 604644799 268375203 54000482 884108752 20815062 8477294 297110627 415597481 944251583 84614173 854502461 568515598 621866994 608651747 282172403 922502622 93512252 156980361 880070000 419714066 118527489 420526739 174459568 185824828 274173434 12472053 741918853 779704189 573390334 259369722 686326672 384433819 280323133 874915932 91141440 502818994 548606972 705279598 830305115 393439743 24724268 587067698 832281069 952469144 615369315 439036685 965738317 707551161 88163411 536518766 641408258 640202792 717299143 23992546 670320410 674450398 245645044 706353474 559585345 785743870 961130743 520816677 516700040 718595577 108127689 965293186 422728080 441505549 316605466 283473156 710755700 412888267 843716077 654399708 936965174 311485147 662861165 961153827 398708148 158106740 666992273 165753286 278974078 662139311 446870301 157163146 243358461 241133031 878162343 508958200 112369598 757302683 553831235 237650898 374813632 665752720 635008930 314075946 180911270 427827193 640704293 600676258 101201690 681865349 990543856 810085599 653632472 285564186 601353461 179353967 346039512 20458568 166850050 73476584 788869258 316835225 568588822 206252538 288390142 731492421 162141937 191228168 310924247 707098808 469233854 985951383 703052153 637891488 607300109 326599105 478533500 379850668 476421427 584857140 279359789 127566668 526241368 824848482 829996857 884988894 333650347 461937721 652798641 17621733 631902200 80239225 412518334 364374615 401057478 914023113 270021349 995566169 956001544 86947725 174356133 673763595 222792926 38520923 318052377 807752453 727340170 940505069 999073985 464216040 634331780 697598695 263222655 615959974 333883692 336390409 208832402 286275492 306133335 996744158 972606154 843052637 922246580 77279957 512134330 652317739 915874871 636016664 571659614 646825167 700958253 623099754 193451384 700240857 362393537 72978059 605006998 839508392 609608232 810894100 439559136 53896147 941809900 26658722 674370163 284111327 426895057 307716911 927496043 832532948 399529593 978382309 270775333 762966600 876338030 773958414 95144667 194688133 415665429 816312845 989600264 165347562 313577740 412214759 232123664 813608807 460093788 477505645 484794998 968870250 894974528 566115622 136153365 330120104 474884348 259249750 923011774 644040135 740741946 21875641 163888761 548694753 751059075 630968776 60850469 204899441 877321208 670024298 65570538 451729193 834362771 982979797 811346792 75550380 244618345 303453077 183577502 809121400 976066297 863494624 832556445 599765373 170610963 455075242 265418977 972198689 102456253 177707456 517844054 436700781 639344799 394881316 174856068 915600334 837898509 652485940 989617802 153961768 958874807 143044171 438332417 829799494 62345435 816382930 486314268 194462269 493858589 506692830 461977541 678617007 98040764 929957575 281438325 357151468 491606830 969893314 414938881 963995541 879798569 46015918 342760306 122647658 191469505 631912956 382995763 329153718 95847267 687742859 763973038 304754177 330703072 221782008 674066237 967982584 715694822 831282049 804455570 337300055 127356288 1990073 884754162 4231524 816022910 287941984 157626903 308076922 733096372 600928304 505087123 102323912 255156610 245759681 647858675 760228256 531712929 257501651 205417142 931722530 113722957 973277649 825799505 299742307 355965048 110810267 540632762 241847829 729142325 360574341 539077782 757917511 336662171 935449579 832292973 521535855 643251086 353038345 380418886 482248135 260966710 890087901 111923371 401198110 601339231 917905590 449376440 103058263 759882322 330540051 812535663 828864819 534071231 305403451 681281971 394711475 663276478 263171039 923211928 16527860 209284012 263718884 544786037 546592778 6959894 315932698 667529532 460472112 98357935 915683620 186334366 580230668 244324246 275681475 8828699 404614881 677012110 184070089 225960502 566879232 965272666 762467322 22354792 642015863 49545592 971027575 321570544 375758339 724947522 762029022 360936895 921285708 114059131 729397106 183147558 749415670 614579169 836258253 38963154 652298201 488361099 244135956 160909830 690987208 431488741 57480050 647816742 52422276 239071699 721569064 996547223 336258387 328692608 673194382 450587080 178171501 759402307 333447625 356319103 391095028 662774062 715278708 663735649 122442649 853799684 791951671 50250528 486420329 365324665 871130680 206238495 710709351 60231736 355399927 403459078 963710332 580000703 344226726 991809784 982299179 977281315 780661017 507931 757708323 94366255 661555711 737686683 883036354 560314083 446004023 751253918 343044739 263605146 796288688 642388856 645324616 98912113 693901105 4498491 804506857 294452577 262943153 945137675 935826757 512245482 205300430 565910157 91010057 679696619 261974390 843332233 391828856 979796310 594107775 404017648 460186204 962807753 140651203 644650094 453395126 645223787 890670709 660024004 764838373 627881536 53673475 290793794 156163061 101952094 647959769 329488552 183035096 130223539 856668071 769848924 308237059 942897824 533649666 105448990 423692584 538165456 348920164 322442425 972702477 164576120 385784818 6269913 41030759 562697456 779842647 886716830 547043314 85446964 928584762 929554683 281146160 184686905 719224358 993548645 825620316 568298805 778772901 362633377 126054779 246918453 677207478 641058627 582775179 634286047 782378426 841790337 911440594 12112400 63844111 102003425 90791622 745240941 620266165 624767529 587604646 886481872 369585155 549605439 961856367 86101746 571570728 698995259 571591844 578196767 467617312 299515107 788989550 227142292 770670139 693727021 426732915 442094853 9418087 312511871 826536163 231836195 643789699 181120138 761292860 56030902 317768471 983954014 631996792 462940641 637294552 831745123 597938647 100762553 297510358 711136577 244050516 973939066 816390753 513365330 875383445 286212464 282566291 587346455 533807353 235407624 826227615 633790119 849018109 144245546 352050734 551196132 355341614 594317011 425269816 565206579 527652140 888414614 467515443 872545836 167126707 19026180 423940924 373098636 650338437 30400341 925603228 533445040 228689284 808036757 18683111 3065520 213087113 878346184 96100218 353317826 131548706 111611570 158238586 370249349 303250346 151369752 988313630 188299117 653819151 839713380 989782500 203244351 813329142 235056679 873425136 154356584 882861535 39087415 761129608 266811234 502162996 205343656 764025446 130478932 235051794 566703867 474638163 826665093 179288262 831582471 482140475 856387260 924499577 869763269 822081808 186952078 880669225 630293974 449147649 321578847 415833964 532818471 490193677 419764646 178818654 526163920 30420013 151829656 24030116 951148131 449885063 268032243 811701057 639879351 36766179 796100945 379675473 939608677 648368549 791389534 451495485 116007886 372803107 937630337 109367795 60032579 122684921 639995836 328219372 145339141 938051315 164299920 585459954 750991582 344292771 854140216 324439103 405333769 817251991 294883803 212287327 198146920 153678312 288553951 615235943 632792442 809337698 576545978 709787121 200173419 962657413 856394637 707742058 411109816 496248110 592176379 390335752 718036417 830331186 301124808 946750990 246346148 645791073 973486443 652711593 270658109 10355961 489936360 821164409 214474404 677995355 996721135 602890938 432466845 880512873 344342734 218504686 159158035 507874357 544264374 502508044 450368165 617721523 572647621 256082348 664532935 162679881 923232573 920555443 772865946 71612637 648474145 382086617 663185114 182177301 431102836 289425646 144144566 568217024 525170087 906902825 502197733 744218500 152813201 123182623 131391833 578474636 39588257 302897742 347431149 124234635 937575226 143268415 546398778 986668271 409584330 151116885 316864566 11376142 853002277 550062267 593674142 396523510 14037715 676638069 396749914 478567910 263723618 904096995 783274288 381518792 662904863 825010651 86004700 466571006 945911500 222867418 543833150 687386889 184814721 176563935 874769373 317812538 758705780 914725477 638061817 334695430 248447143 519622365 762458544 137494623 39695581 648644823 78504155 483472421 389896279 394156979 976962191 466381055 562659007 798015813 989740642 778162152 869186628 542758328 973292169 483561614 771468541 18549371 989173792 486647753 544196926 658561760 912511842 42469796 784250828 589511216 531666821 821100517 439072673 977016148 214680999 151413477 772127526 600671772 442180008 667275617 119929792 682356941 173472262 576931953 628533172 675688022 356949078 996785224 129534889 91424251 602610042 315641934 896573968 957933316 16835357 764406901 935805459 107277346 172670751 703227964 297444791 498610952 484059726 129172400 860749931 571710003 371071996 655412112 154912240 301039620 367545067 806465496 606985379 935648677 601397987 458278174 601714325 347520359 676252167 214021227 629600212 475424714 567595935 187479758 625504623 24131920 264584567 214522695 387457991 848938329 428963345 174423501 17641806 810754167 13782367 413713789 994146102 249885376 120085250 589635966 227554067 886374684 843851502 162294982 18626072 29806186 752391612 676630455 143302726 248882838 152048219 866244952 604519063 970740880 486424375 808723869 630341000 977048471 92754058 541571585 58098327 636786626 512805203 393490316 626272494 960103505 260491133 597854893 292727934 635139244 147539893 613130352 536903140 119048809 552516609 364226126 957609677 541401125 296349617 137506821 459390766 791458649 274158588 955733113 450601754 269152413 434727455 894458222 650986033 697053423 242147605 907492061 521343663 275943017 543223102 84147351 824200681 464827448 344884260 779307583 257674653 463754439 601575390 963288329 368087888 899882502 352674250 813918991 936588797 968309313 985520750 298800917 178724887 40157789 427328045 721312159 97783971 197860612 389797100 566206404 598862661 759012825 450286798 213755667 217319541 493223049 231308811 519016385 618511400 393973206 637169447 880214067 936984605 948865539 853163232 610626199 18293007 568872018 4280554 314074365 611240264 996851661 769939051 538908740 151269387 121748663 196085187 770943924 914167996 775557957 407212694 147922283 589469264 844367209 565839663 642870374 410541829 705592379 71065820 733435735 280235288 959713110 234895081 678172495 319138868 807717246 970426426 420317043 443094983 219345573 628348882 493625696 466509710 517882065 719276730 756395357 81486688 241503183 329636474 823528925 574368801 183128424 164179226 992906931 785618989 19927178 454299569 629908905 495208078 260085936 251683917 111257113 638935177 493115777 35997530 86688291 97208891 533106414 878839700 220046331 482729217 766013939 530826320 230679615 376932374 871122560 865736227 441875087 213525873 147006527 672550207 402251315 107765079 995659305 473072974 677900049 891152902 119259263 364872142 205662198 131608784 942529560 784933645 739794277 792280115 145107854 692570853 995033983 81727865 109275479 569942430 498682672 983894815 895504545 901484076 271520671 558560398 292570887 333633759 684908567 828016219 971920953 647159960 480608979 308526445 444450071 365079005 662309730 823851945 2415689 74341236 199214252 516972803 459300526 578089902 858070099 876147686 351615771 643378028 964156051 781350020 653742317 784753939 38177059 937784061 222272172 285348043 124620079 195939958 914223805 42679927 725450185 221677647 357483787 156300447 171836374 609040735 257137082 309953357 151833384 956520472 110752517 694629213 359379370 782908637 712688353 338896547 280739124 928596501 737896271 278761071 238307620 734803991 486073896 889545804 654086577 292918845 564443391 431587958 205453074 191181929 194236028 583371014 194690654 382094663 979536006 146207665 195092309 970240571 594408861 454728667 756374512 846814771 181193891 798054706 74305124 696881160 521909321 160093707 751268639 854823222 374599742 946484277 577040736 436210330 426688864 195625308 215353504 812787919 192155067 952455552 745617651 365041660 989484200 341170429 207612080 382669777 679978629 95129816 723286907 293060974 216175167 170511 48443499 250652125 118191153 803874349 925981921 822468225 737813957 160857154 51442121 382538424 817488346 600072383 462812674 538976570 729222741 824204113 364152978 846426281 848390825 558581432 976965192 379525562 563064254 29747125 727768588 833821686 303808514 447431863 897024732 584170295 280915329 12841071 900657283 799799143 202691343 627960049 167259088 808345692 830776748 34379567 326673389 709947779 348305117 929634240 104321790 585316704 405395071 307337027 319516588 595069751 388317016 711477185 698020144 935533563 336756813 397754890 951748667 859893080 450369676 573161347 672911112 157073460 298266091 567548302 266424816 649094715 137934012 383438961 135841721 631849486 581373617 29133183 951872877 958417887 266547830 154394899 541635348 74065340 624367188 248832848 889797160 88231718 113073881 966321664 15731485 53689141 322570631 216274281 826114552 407726002 174885384 325015476 992998711 613061362 647418903 823152883 147674348 620698983 697943407 429754672 79047317 908044080 415934378 723588078 165229357 603372064 480368552 30016023 215442764 763557805 729165550 648446854 383593790 900298754 639689279 575947594 59139815 681008817 714264451 938281902 86001068 90334979 447932732 514260837 492554472 773352104 509791654 673585295 730403700 708139800 215371851 24583431 230137255 776361446 447449690 938721357 296407812 187830903 628383463 204751762 156920409 594313019 712800889 687209624 883220586 810667403 1896330 549124009 661788382 221921914 830790329 802877831 148858334 451437166 110287567 882907092 376167941 520193236 525801784 446475842 7277750 503911444 96335639 500928296 5381558 210664556 307450673 833391083 296536852 216986793 129341608 971942541 535961362 861514806 526880 15573716 455706241 336442658 319171976 728037699 529079778 193334983 880201158 753716662 388064192 666667259 36840026 154219988 220218382 616464577 793022912 472296748 831802460 151921022 175129373 986695524 73540158 276032734 134314671 350574603 109714464 296759314 983978926 547274544 391137224 632074984 105764888 226623500 658639610 40556530 668004698 712898310 528755913 111159132 444826443 976474460 712704832 362970582 385577613 832507109 752034508 319857627 254079789 292342047 94381936 405937680 311398486 655709999 665405636 939136699 395427785 175893238 813931374 663366781 660786901 824317599 177965602 667677958 451707888 185151122 970416029 77217675 850820966 440503559 668247748 227385643 213486798 219691181 511856676 148341895 884810044 528537743 735715557 62357750 326543161 777737267 710950105 599741989 563516068 800525247 39452055 291065169 748390509 34071492 861253853 151987958 913839184 17815859 213060816 801507412 487017045 575838554 66103792 594470751 106988543 397167764 367238345 851672864 125669454 262282365 402927969 601799695 906798029 935901476 652501058 47210842 22308708 201250069 731979855 303521721 967622668 397882714 208201475 873778804 950505452 270638354 421176579 517154687 800895067 801712919 890993722 612966729 969732821 349876422 10851121 961931360 793795952 611413372 197674658 363071207 902507660 662307128 292466300 554751676 118917886 99375473 887743742 429919564 411319537 464068025 747708974 722212559 238611894 42450518 975707174 623327621 819143175 940340630 346012809 548652032 944202218 652878013 634537956 813956879 219296972 520621289 513208292 91453330 902286529 311402248 213382220 790436935 519146780 819045582 465981629 942695596 509604620 903350204 335035296 492746671 92177531 194525234 772930498 923167110 217368756 230627582 532550150 512397948 754112175 193928283 889630354 388664151 997678867 956796927 904145753 559471224 590091843 283715671 942199451 743401002 821543323 864779477 590366175 576339958 747003985 900879971 901734852 38957898 154450322 260187693 398536928 446840448 881972147 52129811 373977971 170151958 380247574 77886290 353516811 260297894 811277570 863795797 973599948 706950415 387791726 334669204 958029491 692379702 419994378 675708494 47716089 642383269 388684589 472688858 384462396 993019341 674550872 497298152 555196008 625185657 58782405 131242943 459335610 429454501 725102227 503674294 444020043 441238201 471030079 411472811 854115801 851516201 244206434 337064553 883064911 799922006 683950156 31109353 630844019 960785633 341193708 660902814 929965816 172102142 354514221 381155108 167775506 11776041 458201359 878110386 419982891 331885223 285111503 445814687 512439049 384887367 924697233 712190397 492989462 592673417 99462557 837094871 32005736 496210990 911081073 556046952 289617313 117952210 983577597 20029058 738200773 225187167 295876104 617290959 316161434 5294042 942437407 148018936 27465749 361229281 176635193 781113189 537496403 946616229 360124250 746086264 530607057 698066788 165656207 562006289 8375907 387191869 538054641 759405818 801492349 279348357 63547477 151659423 478785925 701776616 127176884 923402827 592359901 715089445 517987091 103786792 311154340 271138780 446006487 893958262 605186770 567259697 880673256 684219517 278399752 496345554 188940837 240794255 850336114 536853354 703984353 222067134 823790772 993583843 161119118 751657541 966524695 329575441 804497176 721277102 882373459 492027327 248842638 237238888 257447771 745577658 127713703 715328804 562404224 255818535 248645539 618072681 723385190 531506401 878726442 980563415 275318175 331312316 389127283 389249232 92881311 65546291 966674727 298014084 273565067 815618214 300087276 803009058 691410687 247886378 665231078 846276970 487735432 968421389 180936775 658322499 540903981 409984914 125001520 793579058 689520869 741282577 247246389 704380744 607489078 433500911 809921788 693621896 919851113 966867015 368580131 958245411 213316116 415183839 862861379 837098472 321513014 646395443 392560579 474309473 124793686 518426692 424209332 371152846 677271827 556053607 364406925 51899873 765336660 89203296 366944899 645597734 465941933 549028109 148128859 76259540 272102443 971219103 148864259 521384510 400544031 422640045 106758298 790066357 116867248 526797677 128668850 80933135 866639588 505608241 535841683 275018395 42344131 700970616 768244097 624117035 218551641 158180540 892735999 751285450 955765750 16756283 202313857 467957469 925118039 439248327 711646046 563337012 556726826 2809540 864123545 2869839 880696128 772858487 214029601 311218532 233566903 996239185 387125440 279142297 516416847 317500776 755455927 200992955 502389494 831155685 885922600 852656960 362571423 105871112 394122702 366602985 343416675 115624606 158070929 309729166 527815192 518124040 256909541 146694070 163564729 888658179 374533219 10837473 693021122 872571105 851836578 788240928 953062342 337745199 996233746 673888644 22026101 901861557 713652622 214010130 87674054 921373719 293225176 365940059 450355827 895170244 958228254 148088657 64491299 516939701 649427940 561457518 523512846 806711463 837543076 925861696 256989888 461572688 979536323 842976471 247534012 959922638 693338090 708612129 504912250 893501648 154405854 450968437 776138723 546521505 649066462 919926779 228096904 692344472 711295201 115120168 214833459 906267292 187558509 710135304 14020600 578165640 418707790 564190965 444690655 73913580 464326420 61612243 496202821 170582976 992690607 113778732 821253142 636762083 833178563 146617883 995750215 961196231 673867755 314093764 83332320 160151120 835324603 90589201 845840867 484773540 149489943 631900839 458909285 972393089 992829822 683785157 752254117 357163711 434734923 397574595 881094761 4540322 393140753 317659286 700596990 548517433 169442342 380445326 71763122 817541777 100415621 328794861 248056953 753895799 417194947 493690548 709122589 752200483 417834808 515513184 653049072 494469957 803749227 330381227 490601510 367254223 960076436 638664143 20872574 876622315 807006977 196530839 381112856 649725770 576121011 243446956 745786711 140342168 686743884 976476756 814676763 570744154 509700407 46939327 321480395 68449069 217481406 11065034 344872901 913483093 454526512 545730639 444033377 87382172 798549126 934395096 267499718 220636912 863890956 675377788 523201239 336553274 979686848 782946332 869584588 609223877 321550973 882962096 565066880 184791558 977657201 583868257 570563040 38135561 739228456 617627844 636838945 361105373 46041037 977214014 396273270 943799908 188854920 406309818 25432814 882388055 690110724 893014478 461013492 498695375 646704907 462928478 868899781 757655916 211177283 886676418 371078239 865133981 694480705 263582676 735588677 593369753 894730274 589880694 286602947 33122491 885551310 703780939 964612865 791908425 47741678 470523105 122691422 889091507 388683910 115649388 469200233 744390430 936513128 510700044 389334604 911719333 363131537 809922642 269014115 552008497 104617971 898776358 481371711 476776283 30154856 596664798 551092005 699488608 173086391 259884020 626292281 649103644 380354681 360198592 678438968 512722479 173794894 755372619 281263286 350507804 119313150 563836359 634448768 253914513 852101453 428212298 134774643 746384355 474293237 810268578 475344859 603176645 369133175 794173706 175027112 648427287 933374455 511205435 957487356 967910040 727175717 255207966 265384638 179063689 452192213 45538426 385271284 281965331 117373358 933136513 15246423 861831042 888807281 491167490 125869554 853209850 569827501 166931155 402351984 593472097 53675821 628670926 122080391 893276175 402415672 45267278 679961621 324734938 625693349 437217782 703572134 677711602 371247513 798610213 254501010 720612828 197698161 14462758 888185538 505670261 942668461 871235697 105668955 180111272 872501117 68031412 886271792 141919825 234857267 153054217 432230291 536898573 447766547 399337598 568487902 546405610 824633580 576980838 161533991 501874156 105579843 23885591 710126121 749464610 459413005 904359803 371002641 682737198 48843782 872879380 917621876 356479319 97529464 624950542 131665194 587424403 469623036 217011066 612723783 539537006 834304962 620716148 26811766 602049175 931948883 371942154 226701433 164541987 860994760 333185148 859600381 87603289 127853714 180070286 222360673 740010825 608756459 153173784 434516385 842659788 722485312 729679545 444237291 219850509 388098267 756523449 732877595 201889472 46838084 736119812 36906667 877472415 162853265 641000671 693803214 552989073 172865425 8033340 880248867 943570909 864686695 273133861 254363057 513600790 631437813 894308834 760575366 857221213 821512110 768939068 719899440 857392908 806586760 445585701 237770259 167567958 700337084 326852350 984698735 347120938 71742971 658454105 74245156 239556712 487391988 343368350 461596078 887519164 798926609 805611788 128635620 64878940 172783944 444221993 87252582 63832037 553578837 536220460 618684356 871331026 284589351 769024938 639364681 634635716 36106686 664179168 83421665 845113031 906898448 830229894 345723637 348810005 864811419 911178776 122784156 974681035 690526909 642921959 433412335 648027095 970456171 652769018 619232671 429874654 972618521 587145693 280458513 89106159 611749889 883660664 183005900 27406807 318070576 900647179 782432747 802327817 47988830 670134581 603484275 98819390 370920967 498895195 577769076 619558769 583807004 484019358 409426095 223002656 331716591 840976672 775925319 730319260 905710531 170235566 459944878 125300072 169484471 859206902 348681062 986722542 505856585 842385702 275911063 257827988 464402580 539311667 212467307 625510869 6899543 248935612 861290089 704633072 882155592 1267430 823147096 325249745 221819087 67621741 353192748 421930545 33031731 841950470 384271802 537061546 94426791 727127391 971752838 84302929 71021640 182672580 32791182 50470333 464006996 607076718 808804777 315304529 562135794 910608320 616532261 260664024 746888384 318390534 830638802 608910223 201212689 500870730 883370332 96659368 762190495 2827869 2490941 774216414 520448672 16571949 958136457 421353716 480669780 202025580 692316865 459443027 465149037 610728453 887312029 82860869 247398732 337401773 502228575 738014284 676966789 37881736 877625138 918211592 20000943 354286372 54195379 604363041 582914259 762169114 132970596 799330571 645480139 935147635 756367215 855093406 875572609 843356769 863200342 140554894 930184779 717911347 509636110 709306688 118043710 776009954 883636709 695471111 197349375 706990885 64425403 101612454 95071700 3232183 741459198 746663520 568806935 953423677 306467214 539993410 694934521 707939755 657073585 755528578 776110357 738280704 805751329 98523174 735906933 791413715 271229220 532816785 954177756 112472131 247549241 60603638 506369387 868841210 425959263 839771419 640845884 825910029 562359800 122607336 449861800 478974941 684257012 851534038 970551342 911884012 30883943 875856283 314869181 314800205 780035313 365838701 96766138 929674398 451124551 805244104 365039493 402796223 533734931 276414105 733631519 850965474 663935305 926992007 829712256 506200294 436220315 12926001 683478271 460412110 682864538 603393757 668859298 70479633 226260693 686061105 522782681 454147279 101430770 744919266 998504013 228705816 989033406 452810439 434002939 954716499 117529396 837135114 525130670 868853456 828593283 134235264 275729328 370903081 233455871 944670409 227922420 492059789 236681799 776006677 521909875 493614131 723963382 985166099 166434427 568037615 198995657 255975617 180565623 185685826 182739470 534738970 783770247 105765316 438338484 843605860 257348865 767014839 295320482 705686237 881600663 67059451 635122492 334494048 262405831 361239974 168952470 541344005 210682913 288068327 884191892 161648221 652634857 203634268 99896088 569260094 999500261 639253449 468583412 684761984 807988998 921465289 180287877 780982206 348428281 358758163 797164136 453810260 69239107 767387291 480345617 428920375 728613036 29508514 788889657 653389420 363524458 812298475 455003869 678298283 742452603 31804623 292096459 671912920 222046347 361479982 770453429 655400094 135434990 777676268 562678244 786169322 660009603 377290792 37564918 990056102 138288736 619959142 919055692 472213841 38701592 693952208 495265427 269003532 894123220 632041128 445290317 194502283 629474415 676583774 116881789 745761076 572252301 402857081 779904582 572419050 486179911 725722378 740119631 945831895 540047332 124703848 259852472 493104778 80325074 42436775 71575192 572965842 668039443 908479827 134675855 491135562 809384815 297772864 695536546 881185319 985194119 84889566 115414407 405759519 182372007 956314611 521942856 339420134 450526929 949338292 515270321 773518506 916022726 555675607 582352978 171049224 480610789 799067198 483426710 67748000 435195752 748371834 519312158 375287420 194020950 198989890 306354031 46878181 300136246 618118115 866551384 457053614 472429152 86636745 582228441 532610110 151650392 115852696 491960391 646063853 142064976 450277580 376472706 911728407 121724537 442797969 859757820 55110326 117108924 340631840 724208922 522660584 495101089 466656386 211193563 64209158 163228070 530683891 88439663 218171690 992373877 183675938 680093938 949978551 151034680 601232109 70721297 849809559 386956970 924641776 799905491 277388471 502355498 359905509 534164678 281469183 206693629 797062138 480554437 846331029 115466770 627210957 546843646 282083203 870089251 135311996 836992772 989166514 118898898 279606284 611753930 783752936 52105339 235470295 773226789 148650277 116495738 715232982 721312391 857678792 286069072 397402991 319753414 357159804 293491097 161917986 870474764 482108068 625192831 650758216 405240130 495581629 118301270 144203390 488556751 820543005 217065199 186840107 117973476 623693875 87517825 737081133 550953581 353702584 542629356 699920136 873080246 205663312 831179969 240563763 446028328 23672898 702707449 49451811 37631020 418075332 726170873 959959545 473042558 786807651 494419737 208042846 753053705 411203742 921018163 449120253 877522841 900798704 948168877 758470156 638070091 316346400 96195338 138325713 193187887 674682654 44941629 433635294 507237882 709579735 239497579 634076027 484621130 998029412 615988278 450913129 681573315 252347688 89475405 828730469 796439502 327612074 302349215 603107220 821996730 512420249 708066877 857132994 409813267 660086525 11236902 869597361 549966803 785134751 409796212 328535674 8602083 48366530 103479649 105821751 454998631 512757965 735975636 901599356 900605063 758863914 447666739 863983399 742827123 343444784 245180701 908049921 598206282 921244670 498624325 258905424 437332719 75555933 118538109 895262415 23667233 907599060 723225809 469086443 51206259 350227599 364600322 1516390 242766149 134037495 945871793 617210977 382499407 88012820 419766307 671735769 646273256 544780390 17644732 855875798 773291232 382525231 347419261 21076660 667112419 789058708 443536911 448684766 675049313 204992924 443862193 362102371 548679635 835920669 292237680 749672646 250288773 255038650 399500939 239347961 193462646 872990400 196173809 566985241 530761505 766855617 344323477 682347241 150189759 451532613 662960235 937117966 389083831 335709559 740107891 270437136 119313650 859983461 579732101 625522259 796500903 908339871 401994446 888404025 567354589 655410180 576421275 813821885 216475961 148856170 779758164 636335616 151576530 61795457 27034678 692360000 122812911 809294267 789011504 546420169 31292576 607431611 443847732 68548043 529531189 947210121 423661614 497158684 942890052 110345053 647862773 936032876 706127692 64369419 284486741 265745902 724727347 586580870 26565182 36498455 430851177 38959720 91143691 45469987 611674911 438603086 301590726 549662420 174776110 944914929 349539657 244403642 705295875 382072579 184560536 968311686 309831853 374026939 374779308 467245490 60928325 711889567 361099851 433040129 886391700 828672376 503017337 395761728 4991076 443104422 479377011 998196129 214950086 968279114 440577853 982337421 196386436 605566478 356216520 143181646 543686003 995081292 535019851 154674571 350516770 953440131 923727521 275713319 411201800 510948102 857811230 284874579 673057212 633566225 230756852 31023102 708297352 395890696 736934864 951882571 819133504 179541724 719427234 555508329 182010456 370903184 67368231 199416697 463463439 864743462 888723432 536233782 881934705 370605813 35266219 161830030 346921032 875630849 505081898 955527513 232770610 589860824 18898297 998599136 348079479 950918550 557550721 823398731 846325244 455012593 668475303 77023409 555714858 553532730 574043043 196047799 962624180 426427546 796738190 910449336 374576398 904944436 408016061 374347135 918747375 212134303 554101234 968406605 390046675 239808335 126411519 52526717 600805726 845349427 850573563 817930831 261826333 905023525 540384036 426092332 603426766 332845609 806387557 672488220 873761121 800146311 898571352 863892666 653167183 611675885 700937041 966703901 821357286 27922503 792476200 841836214 230022451 335438572 324867182 895455457 535482817 786404836 446632399 945386186 10160707 78234650 367112601 158294980 965378415 998909393 165836718 516650193 508565989 517632443 898682542 805439871 758585681 257376438 70746301 779952341 783523223 700073703 223912527 496793804 254354451 598638948 298328949 213307647 179362169 980472613 456748799 528869694 337257110 68796994 985323777 876982658 994724314 33582307 864622718 692621011 168210581 601535127 918810392 960503359 156454622 659276695 368661676 557105779 716215945 357982861 867926703 78246863 41629799 931414068 579759478 237270967 793367418 481424794 557808554 379469460 64484567 442374111 220825518 372699308 73246925 530470837 887478329 702428766 767193181 876795944 836834068 524525591 825127714 597904480 734919021 871242152 96985362 36663264 255306314 659844968 333872651 20324142 185642868 312542469 195855064 609207545 717485581 488804684 21129443 941410437 665387643 913454221 472972927 402881153 492917403 517181151 447095967 80479844 429816330 734471843 839228987 237620900 715440131 515464435 605576788 956225716 97003689 585800382 11609906 988954890 26581954 131511165 886531967 306507593 532125690 179920421 620138411 132040358 792559378 759339364 424077578 587802812 254507392 897260820 232488649 13557655 725726538 862708948 46360407 711718732 795507032 548239023 65812622 59462203 918868736 265865694 222293233 182295746 459477120 860224682 850968954 430437606 271765911 758972652 742662637 914326125 408665977 270621825 817488933 522080059 632302586 943083739 974147573 543214679 772704622 514907074 934841514 921136429 78061338 694516820 566813221 284093000 676819958 889063566 310589727 833560107 740382200 74327934 49163047 855989124 868309869 923709512 844704908 343775703 431628742 823304766 670058061 634651306 473123549 703804781 155708835 958151922 987338001 773867290 801308933 536794243 630846406 458587226 649522620 948352859 458391010 862683328 861000153 984634448 325862813 632041421 335911044 432581231 995248642 19699876 206973461 453956771 511260398 519562836 770136322 864358130 351446115 464169084 134568124 914676089 841132704 470061259 206991946 226719577 744447002 641685286 990545978 414033539 497152947 423327378 43620334 895120997 518403634 845875160 965028643 886485732 232869936 156573487 973802165 602795045 818717192 834357778 482883211 5603145 472647144 277662562 914162510 827602741 500673075 361906480 61536676 72758814 437046643 961816458 108349662 713970309 306314564 629121248 768875175 830431734 244203807 522248852 692476108 445434675 40468210 528324560 475206758 417060855 767957718 224400719 875640794 612485079 858556691 187242752 548724790 134912926 537583462 393267277 354942790 11843544 490548315 65908487 378674648 490905691 50819557 126143085 549500013 359984136 636254144 525207520 473383552 143608219 780985026 651409737 508637610 415753874 87377130 383328030 18084203 257608599 573767674 871286395 43774299 913277596 633614064 133256260 327813268 259895326 224478325 799720686 239394622 997066796 937885564 333930658 480016469 928843805 576567516 720755450 222677833 210336220 401855455 410317670 739782741 451110748 556390433 815892087 92125135 664037713 907238891 560308241 582423787 638353801 293477686 538814297 537479482 195729725 761075736 449121990 746546413 399435186 252877665 582305471 185447293 791167504 694901467 463955824 275794198 539653011 397691948 675440505 579999212 713610266 439148911 827964007 400994714 465568985 761070707 332617194 260152959 686233550 551085870 542936874 787676218 835593098 909478005 302911534 127244214 995330852 586401352 430084684 387188764 467085603 520278804 35641845 537585310 438705829 146707851 442462664 611444007 679891144 4887468 350535437 749066960 184565533 976208967 72422884 820322063 273041778 988568208 408670442 516453103 619011446 274296532 424653344 349536593 711364129 327783906 498020719 58256610 975261726 892690266 187873942 17763208 100824852 208030014 402871972 704875497 113736124 891900400 476871766 844272245 227901125 628145353 855099592 345392311 174009486 321565331 428802056 883319714 47899078 599787097 742262512 942488733 375410518 677603916 648247006 745538499 488463378 661802615 441089782 537250874 602734956 745914261 316829906 345496348 459721660 796965165 213084336 272847105 461677155 857450556 320740911 32310648 797912838 21596595 570287006 886246473 502471775 864199822 19026294 988330514 599479946 820829532 804258800 932975463 605098932 100584540 805939548 986390012 992544796 912405898 398705572 983759488 744921684 976842545 908034629 104404775 426447937 334097687 229393197 351500977 477786651 653774382 435665710 84630502 936963869 999976746 238995915 602226992 110002655 226577816 146783558 860597495 130366910 183376744 637984258 296881280 68253100 88747891 673876448 668024061 519090960 173167239 472236635 156718828 212769285 229330824 540098356 904891783 876179044 711652374 83401602 454502043 49715428 971569940 305240130 64334170 506024032 710624719 729017190 559973598 761143800 26525559 545017406 354712245 793612253 542453424 601110082 996407616 792286416 795082859 159514384 878006513 733130250 125363932 40752304 531539320 341977928 276491676 474833145 875013067 881741948 600770837 699553306 166651600 833335641 475917917 921162995 462241166 106629338 60645887 710327163 885195820 382742320 430447172 277391274 36165440 284958961 765939735 864463966 496132737 279016947 761088319 734952125 465480220 919325715 948088443 990832585 786141447 19234441 114477853 539875533 810667396 389409358 795839177 956447427 182163744 747807537 496578355 965180742 605449959 665513853 858747802 268326782 111765965 678152789 536413008 288695366 128723822 236264473 650514567 241682619 465964574 173545736 311134132 698767256 68604432 488665394 647641751 899854635 737832075 313036267 119221125 901314824 464134393 717083048 772770405 146016581 593882042 145881593 658883505 799141642 376007918 401354024 253326262 764486779 220784760 760928787 250204416 410293042 327971300 274058793 782359390 647889965 651658329 892880037 409340048 258134741 474554214 162717873 385473348 799934364 977855256 36799302 987750575 121385108 990854613 470499274 791053651 466129916 559215208 758589188 401267400 374784908 194884931 888367210 49396423 447822610 78669321 459990512 455850244 275597229 103834321 349985471 148238564 919646363 880790538 884842523 934575392 50568859 43507519 189595706 281396150 37714741 479862082 64718655 948436254 393049432 769896479 66411615 395687501 477727778 51614380 631442151 512899294 432177039 73968587 328737738 820933224 860867311 907037001 535671029 618212073 29863081 520996831 517421855 707846571 450543572 540975932 509657738 572635344 49940076 550117063 931332326 730626589 835715083 75448174 790849478 69365276 906736498 538990374 384925330 810570056 518453577 506622586 257052398 287925704 513940024 53344867 124631554 593703675 1445565 421764462 536791966 532355522 780733468 634710892 616382050 796272270 668858670 271942465 451510498 742483844 818889169 606272722 953245938 46120754 399083812 506041893 326831500 40515457 280175405 363152609 585827741 466372034 698505745 398132828 903791234 622754639 821156553 203324307 773149676 227955317 964602425 56441171 975129449 767503181 85993149 994095640 184967542 497437692 987192525 106852256 558618243 722609405 443242536 636878184 748456954 880043716 487343967 68345251 827157812 870572312 666677965 747535712 873367884 194387170 307418285 561630309 90379764 456566774 463150383 775851495 350300232 271916704 526307411 211867857 28862938 504882079 549056141 759343372 948497092 610776172 758499047 942092265 328917874 511563538 640732813 740582824 944464775 52269268 512665085 837892043 501909964 219596762 640278169 172557696 85573626 458293087 143737794 363748159 774561128 28994628 498291735 347987496 217919361 724585004 616415884 29995399 955356971 302898341 473159848 528777618 957604702 239920164 313042125 140093250 274325962 592574003 30695849 419099010 531735777 632754294 513110148 490994502 54447211 711259566 703285486 390644906 261203414 888420644 965056178 863988234 120597939 595367045 944481230 462981817 734315391 416272212 899041102 930268856 737116159 996372007 675431648 521091223 180996244 116534245 39691020 915454479 466638022 110610444 967360 710296799 33721899 694155124 557041385 36133194 578431699 444631806 499399362 491862257 234212792 642372981 26623079 475677891 802723436 361220312 186108298 618667540 874156610 442374468 695246909 745395598 503703962 477188382 276226797 286953035 646360277 109418059 259741979 977823570 945263385 925679257 507541607 912609026 11757514 396522943 121409402 183511273 918207817 731985871 39266321 200636858 249046503 640315007 326373324 137274172 747120482 657495067 275004561 692828428 877917954 886343162 316067386 938077878 424281691 477117208 466121345 204689163 611930040 802596828 915170003 672753637 822791806 928234390 446634313 600880464 545409093 296282745 280224638 219894493 43392793 952120283 521600484 782674161 271992640 64039957 590821655 609915841 920099805 295977238 474966512 493592360 511188642 920116551 129896867 301016485 757200519 338986099 638373956 300324479 32662772 489137579 661225360 378896498 254303778 483385690 821862882 959201918 17364530 810775753 147222132 239027374 116814664 970484616 138050520 838330049 305465377 452071025 999741867 803216709 339763595 18201643 421272027 736386514 962744815 439944987 283496483 641760927 741398015 659615580 450994362 707162220 110766479 434938756 918048811 10282290 780873321 512365382 558490821 238388385 95874699 375562155 132868822 756877072 770090047 792209655 41804266 869456529 446219771 281564611 737226799 726704555 848669774 713944289 974659378 491569896 978847428 219399262 874782265 403703308 4359515 168657288 387442884 475093361 357817141 89274023 370907514 569623960 522082872 648012499 688551940 924497589 614695888 638899470 523448806 762508776 360899900 109458548 364782476 85136209 733474869 425403521 454061637 52019291 969040846 153360570 214082613 706450125 162685520 790205249 260178185 673380691 504469780 457101096 463603508 183666152 326823321 581112600 321387267 817316000 627756609 575835043 922565960 679414762 360509186 819594368 131786359 168887514 266285445 139673803 506935497 444216230 945002159 501010538 791530704 683214424 484724248 939294658 190599726 810322999 88225141 603252388 360899612 322002881 565806849 90962112 343036062 967694501 763411004 82023323 972539441 837999430 45704940 362106409 156616556 699961980 995753649 843712380 366776838 98279223 56649959 574216368 452755430 883010438 17350227 918582115 721594972 211319976 541412872 71894344 468159646 768813346 453230040 166516649 807947317 894895444 194077412 810850032 702496528 703808792 94172445 555272353 612413499 463290155 634645162 736075165 805965670 609279522 2179489 916336235 483620522 675529017 221729936 288884170 312015724 859910252 482321341 648354141 165857649 861977198 587914145 440539328 300112250 204045099 32725019 944113908 686099696 479092807 482173184 945159945 337992665 932221595 434500994 649097521 471399075 206716078 313517743 344832232 900350600 498110430 969279027 431164327 645920758 216309940 401047407 338691111 319670480 974569735 282345077 948950992 384784620 909266097 521621804 738569064 826289311 686717556 807236375 190364574 187261185 205710752 676542532 747244061 200782439 407014977 7261360 826149392 976962200 595078639 416419826 840941738 941846565 507397027 231262441 85065521 95992312 925031790 902541726 881805054 588331945 794563883 504145006 489231154 913370789 865411832 776928771 207237762 898821216 772410729 255870698 688059851 447793697 503601397 697943169 443086593 30307816 778593280 749162675 449123943 388259517 252810777 565894500 612200552 286006306 419303555 648494006 272226918 214674885 495990412 521884812 465484363 234268948 939888155 266849038 462880174 218149624 124882020 330317253 867500880 33386774 286237812 437003821 753982554 429149538 905475083 527978152 696032132 274410986 488136195 142217502 393125495 219023451 435983696 933399000 629558929 634581817 577687296 383496033 499946063 210956394 10876125 109377368 710490099 610636914 951122816 852972468 67205043 840056866 183287111 135885256 836319927 894496404 147809613 248660535 986713873 268641401 752942029 389132360 861922342 615591451 978573698 933463721 57070310 291197581 858036909 530133553 273547535 564550488 45464218 69989520 433357117 564132808 27816740 445630624 738935147 975937012 331036321 522478767 682765708 22645537 238397265 539729376 337504255 591917944 589078950 316118487 922591299 977156283 88081942 189839357 967734716 359425872 491218810 262105930 751646729 744346010 639375682 647875571 603254645 16619229 731039334 795588768 693277780 69764562 262586209 13664478 44460633 734259861 336548527 763999886 995651807 347955832 846950881 672054793 287654642 702328214 646565300 260354680 282851366 102110885 695622303 249958924 16278476 455484563 753577857 737186488 962342119 950109051 347623065 553859749 915134771 812413564 689849686 243249594 374031443 25386003 865075714 285377759 972291438 56521800 166166483 279290780 753095924 434368454 276187121 576876559 198454302 956472556 513163145 243150528 854330657 996466801 359630681 283202042 954081812 650911270 356369747 363208301 46387400 894680966 817932650 173908432 434302737 226572394 583569315 405335596 878433977 305653501 313616614 972272780 177510262 266038618 309143703 679963048 657074480 579640738 82649605 668527583 22499501 942186089 828982904 436029447 371418833 428056067 982060007 185959434 921343957 135205762 219571015 212705552 601807607 772195950 912971222 285042642 237304434 546569191 521460980 781613985 48243865 209620292 103226294 637421440 435583081 175406010 708735289 974154675 449839178 147363234 89688527 565903947 272233188 413727988 640246704 57433444 472208657 471668833 948436629 653973249 283357095 930546368 31522915 924637816 756768783 46035979 376056301 819790438 606684295 413869585 254870436 861398868 409269308 286317950 934378081 769353229 552497783 291087642 355021801 709601977 998500024 313940112 594952956 219372306 994477705 21228923 43291045 455017154 197254966 60467105 278102759 250221900 555194134 842776626 296729502 559000505 256954948 397172906 732708020 766143022 923903512 258814416 695865633 804809612 66657325 496367873 302495862 483639885 535584992 928465573 295278692 639073347 38971027 580415147 807489048 467350481 228812563 4107108 522565385 170823361 980520685 221398938 821795320 327357843 926548688 522879911 744357958 789789149 185289420 875327499 268384261 346494934 604627754 190980214 488404364 871413635 88326680 393609101 749540325 373947760 641220037 410782123 850335580 804176081 721523036 615995504 421668272 235963713 434458188 937899603 730006079 326348039 759298229 622510986 150799128 935892770 165000814 148307127 291471791 178923766 256181048 742648215 289477898 188052809 379634238 130139153 539684099 790643804 517789910 607763034 646962244 657003524 222273305 196492247 964113916 394304274 117202264 173009868 394046450 986617429 914910549 388350891 411877922 801470949 521975380 340624136 24536126 43583008 441595575 94139650 699255942 366197559 55885646 69510397 531752487 583838841 884754318 773180479 847486242 545888922 63264032 832162181 831997557 808760023 190812020 802494693 615116826 263149440 434254075 438789850 808405398 6072902 254792955 605916515 362314836 55964910 398411139 114956920 358857549 658957287 91737621 123396363 241018869 471866187 359798891 556103728 929857551 901791205 155210620 251429827 286813576 671485344 748936772 961249885 938293723 885302173 181801213 257433523 37149208 644413246 451871576 298913122 819116129 705866142 3584049 518676283 259101630 302438066 852424567 427299760 295100219 665169669 792107714 373480593 920462187 572005116 387931180 121160417 339090271 985376003 559510018 493963755 785792693 72108830 955834370 105267734 408224553 469408522 225241297 361528192 34842725 785109055 986617887 276549243 549971149 208221507 360430672 163210804 637378263 860048062 576093771 639895393 409338426 883169310 88536724 655833649 323030953 682855192 428064452 662931834 186577907 380831591 430807049 263978987 627567858 419916351 210377412 386917571 97393512 357804579 901361274 477486768 956854576 904339593 776969725 521473961 109724946 629200814 369118036 481764808 774748923 298211986 967521980 309058011 475843971 108153242 78624496 952597003 863099005 283362972 91225782 788156823 566352013 274366665 9333335 860126468 303798558 969802692 303450677 270209104 3952041 233971081 961441190 693930125 231985709 512104938 587283038 668528178 73832798 538237193 587448329 107950598 515877844 588218726 555700506 403684848 351785442 721286223 225990286 836885811 870627984 665280503 408803948 389646336 397184911 297648005 183112461 367853160 210199779 313733516 689051267 615041148 902395725 827774195 835944801 371683911 279239934 526169122 205786416 371984516 216052247 519074189 760878522 448376439 181461948 317929476 106319927 42600033 389275046 559467017 682230251 465962783 271480740 542516505 169529411 709914759 768519639 606273480 540244924 781348576 324165723 109819627 534790228 321162987 753026750 553179864 451045259 142373799 430242127 375964091 107852268 530128501 737665976 484659045 913588086 456996309 652441678 23729855 211119411 65499560 900523437 442099780 51961647 704298376 606398468 542146101 912824934 656754296 175146861 499629252 87345084 483123498 973535205 530459865 685315452 474756756 732281529 749759458 348307264 669460484 314068634 593268438 366167279 203284532 594214916 518924359 3564513 555537306 517160914 510694090 740765298 120649237 143355007 438181199 656956208 858278746 999486739 406310929 401630605 509551999 32157722 912241845 243572381 390939925 683646938 122448922 364905159 707871252 464405199 471151255 589417257 143879985 180011035 428048193 117913332 29053552 979000696 845008034 427975681 447448405 12437128 846204227 473222009 705112412 354842305 380737794 123617626 968369672 560417808 29265329 810010333 555429254 459623253 456963334 532475054 129202471 489475508 153880692 994579956 695984006 799528893 752550560 871911961 108011269 870608516 803605135 939839821 980204908 424148201 541373026 979399923 388800569 396649701 232483650 371128480 836342400 59968564 826245332 417781024 313515177 63864567 988401333 848649339 484654349 529729049 77957383 824212803 875724269 406671101 181340131 528182137 167757046 651895231 816471441 783069308 391057140 449134994 570025799 762037411 588832704 366764045 668492705 880247694 931249449 811339378 737547102 44815567 251270004 70075521 852121602 746414741 955897838 410834393 57412425 734608649 675989311 495775605 475878281 397470892 718598349 300797144 144540828 549681062 948528345 554136911 259659478 347994210 444478480 502848639 114389179 213678076 299310533 878275752 104392357 148979533 899584906 798742861 569549549 12607506 134337303 54894163 886712594 884345396 478960705 551980267 943869477 314286786 210098736 402422693 758414630 81085426 539352313 752274471 412010671 350482976 474366132 241905640 64714409 879382420 675894477 120704327 542391831 787188230 803249770 285553079 502373263 211793526 425550899 84711634 727249495 320498948 365026771 850477132 660448441 634637262 346433634 441762149 539250840 597995592 334946571 538518864 7269929 69157174 882531386 675412841 234327302 266139373 559121172 269093163 57992482 488899481 419002935 58184885 871502550 408679338 319533583 919520665 527527674 225670553 766822363 434787724 950783642 444203079 242697520 160061554 992467227 853851995 194445402 668883361 342567746 300765624 835476201 659034001 63201232 964003323 758071541 749029036 985828300 580048068 765637976 768626282 148711337 804528656 679178161 585555712 95214407 973602044 129766113 596812924 355105947 216183769 891603482 964932591 942132969 249045423 140452471 730513527 27108576 732486493 336529427 546575301 764234465 241724148 938292872 754938407 208276173 243442914 879313117 605842845 899967984 687633805 960888990 93274637 448261632 900882472 267834345 356468062 123240569 29896070 833560349 253629592 531382342 487849255 617870023 226442067 353789885 214825815 930597483 550515115 73802290 37946564 682218966 565978115 711234595 684309553 3308246 868710934 828120272 48245714 222696230 256478349 493158251 309528533 511340440 511244605 182635197 454138919 224865688 221249507 767648038 848285642 49729809 899656695 259078796 747844694 563633771 596083349 79425680 69177164 444074908 410005674 632690963 163986433 231379660 301592972 536642534 347265820 379175545 668706368 603223609 830489018 933004517 966565917 139371193 521727340 427375476 807831665 465818788 616600953 210248479 112257273 362357108 406737593 694684078 269789123 905598077 499153218 720387471 364608941 593241388 798819331 886317626 747233866 364228646 356168259 556113351 563761705 490641603 84728048 956916778 600467172 290432882 164967541 571538928 107892546 119007020 726521409 524333616 218161815 168439844 310005667 257398212 759188316 642488821 46906158 56695195 188533988 862176010 305820164 363241955 397515997 770803633 162208318 147129612 149205104 640679162 891861952 734110543 160271168 757678707 136952229 835108163 708918344 245327781 83173748 135925613 580786519 957610859 727836390 490153009 377815694 828270455 401737396 481853964 3880964 341290441 298397905 663959137 580712224 114760805 481232966 999905716 965802094 436661371 410352246 368487464 959958437 306809050 650271400 112368493 783832707 231102318 42728806 506590653 473363702 883230442 834292601 446953417 993798508 701165148 943539194 632143222 853234838 775839130 739518538 174563103 361801799 746660988 815462514 31977820 91283838 692588544 98674344 721847229 256960628 86246692 456973791 584495769 944371781 297055016 738361515 52862406 722657591 588850091 134926764 30167238 68358230 204578808 960197644 446991900 837028727 228973363 653341164 287645128 368614774 910094500 608526828 638001177 884917313 655475072 173037311 615514166 469098596 187884382 664428780 102327541 654568862 902887626 191986698 865455088 658697474 333418770 19599308 873428687 917939166 341644414 228284141 903678038 529948563 362334218 840778319 194053482 946242043 259915258 227381426 334663462 695074453 851961676 476773786 819725671 822661497 784825154 453198588 967719543 842378452 459981581 444212519 74251213 239536359 849635222 487097327 885557310 225002386 313328409 324906109 348625723 709657972 775567080 943223593 412734136 3763769 566102849 538605869 535025964 834766029 734724523 989606825 530841905 489804545 84577403 489117805 810195358 67537273 719085837 62349989 808842221 502005635 354046769 78103533 11109661 322941767 557235433 608750385 758190577 961292660 903998600 211374055 136377702 263304177 563982003 267446995 253004397 544446622 643274224 393105554 431473592 534821187 666531237 919835320 175202140 243130905 554494518 366352557 469905997 412078213 705769009 74303724 832694394 544919566 503195944 187332507 203104230 830030166 755109301 35041806 493423878 876543988 265401183 42387633 187802394 835553960 4765459 102826782 829399307 551598275 479678228 683513604 148533573 679892615 394984370 345117490 522407326 355348549 162229524 330230994 320736920 141542129 265703329 555890646 169648078 458347623 571383741 807049975 668958647 702683496 928938570 624190620 521051495 684118685 289901889 949271919 710802191 578973912 25836431 808903910 210034792 824161278 168291723 794237346 248575812 252720761 12740315 93672141 282567479 84862090 38024945 259945819 702923648 961005692 905431421 631922930 626567547 278938226 456661918 971352878 526334276 321382316 429303977 942337394 240308404 7813934 7924770 781829875 439586082 968875708 258817996 372831590 669385766 965162131 983436357 445574705 940559491 394923508 987933369 199310582 401462924 247529829 317983536 544599746 700595992 24215040 862825725 285537239 331758787 947769167 87234482 871127809 34806809 789032250 336375813 907549720 969935290 587009146 76465259 263399654 719012522 164128417 173556961 389378796 447268083 397470538 309057732 72283476 760017026 874602790 341711206 962119420 508489911 334268563 490491682 651058828 600727216 436094210 551210851 521461290 44504007 400549755 532294722 129565034 631084215 576101502 213991261 609764241 638626597 641003506 492921267 264924190 976766716 704558263 770214250 815904656 710859504 659636769 686232874 441022275 90359983 689205498 46153536 673240611 413045969 640205264 183166945 457552623 49043673 279494996 771286025 135289789 221108158 34257109 673429968 348635019 649423944 552063313 279036102 202744150 474939655 746136601 439639969 193191022 448181985 947654279 639036850 612998910 480256108 513135857 893700524 481086813 33628167 41009410 134837262 632911430 523835535 857302514 516151225 297181720 175286037 193548681 9692554 52839330 451769746 204560430 767254282 874871459 482435787 172204963 856007013 456427450 494890597 931834458 763916808 780055340 533075307 566450421 377941096 670787792 656771335 399647272 458889890 181953907 49738009 371474453 296579354 785942649 822122885 55540930 42830589 96577903 470708177 694242634 185311308 831758871 51136168 729585512 273817215 916446753 323098121 861999640 578402725 123331656 883932784 907117153 4932507 739813761 239123079 319935563 386003964 34727509 810941058 239322063 841830001 160709610 878936068 974041825 702348456 139417971 825272085 28147355 10187436 669196696 169053422 223465353 321185539 926962764 479424697 700373606 328031629 269713296 403767598 549134876 212408778 658140371 902028669 950688244 405458176 269159726 620836216 516176212 76867671 295935034 559369129 730048355 540614304 4679683 226669046 423064241 513655643 359353214 22858267 323764063 237083086 415023138 600548413 440685852 423704094 434402703 873320626 761516043 327868507 270663097 315335560 406765300 835517311 753280590 851055754 618021304 853182764 871402270 316717187 973353696 84949038 597792107 780330820 874678376 715237248 98804992 462068315 273368564 29914234 770271344 613300756 564372421 401295873 529498418 234239840 176924806 97174629 156266406 162999727 330781954 983328144 555956048 296678938 415364526 342251487 201816297 646855282 952860058 505969 966017958 592154659 395868416 528701984 686892061 581827035 293092644 125256113 189009572 931556971 689458631 696429966 107890333 807057338 493848331 865636256 693481728 87519397 174733399 387739397 36612856 754877743 851960562 824983443 222517261 512555497 431701446 27095074 453927224 82539985 100284116 813637510 997492313 755472880 978851034 226869106 923983789 989414701 222842746 475144358 482082357 931168391 799192628 650239336 557515521 821029390 121855824 120710480 96761515 90039281 580993453 788466892 811120268 542301546 886192842 900918345 503116617 727655629 482884189 818002266 387241333 442962607 198653811 367030766 792057645 325660041 906808210 606730672 588895860 162612183 394104638 289087574 825254279 43102796 590310705 890589118 277839287 221903260 39811576 356913879 995997110 220208281 575980663 811882621 717637864 226501320 388568969 938753376 638193793 609490582 746151720 317457409 993728062 702225282 801272603 421296451 938310479 520852171 27492159 427947661 712328596 519068288 572723555 142343163 835229012 351156450 479738998 860048615 47474737 657290821 620285607 904097222 126244293 554177525 109849670 788574858 109994896 396902878 183017489 917996615 640399045 337886201 166690256 26458065 811659154 880669029 784510692 995285918 7261494 11766087 877381379 664580010 366652372 615868118 735518083 146666336 216118178 610217552 16502914 313696742 574579292 489004999 785895506 671161494 617642476 582268552 998728831 450220552 238390939 503838388 547128172 652689613 80579956 297135084 209008470 75847413 619240094 62858593 902967903 200214779 889771796 706036079 763260716 803915043 311055867 374822914 461161859 197362654 494976377 15279660 595129921 781277471 992722346 47977668 50941901 107679357 614970725 341928041 959876242 292209098 378984237 446725933 623735830 270674692 126348231 605911724 352412244 26124343 346381961 914491375 714898145 531649555 143291981 741558881 281666997 157966807 740754431 224901253 550196368 239061212 233147756 894847858 928193578 602091981 523815084 766093525 703696097 55484073 108366296 173701012 507985897 371386991 648718785 530974637 351467003 719514107 932682918 801824850 357463126 313668118 918272173 514666600 749022946 210797216 557246315 538198727 481690538 136263231 515707662 666291567 853274958 658441548 438991293 808264422 11784221 709621227 900972428 946031645 64596698 434331523 329419399 434526051 155926604 283908769 698656307 305632841 944763932 261178048 787038000 595212918 676308555 702576579 990508722 880981160 639667890 352827249 247558337 948177477 189163154 675342626 184055197 695484129 361237637 142031453 768487838 388974458 718890161 630615537 985710227 713718615 145325167 889746400 346470792 544085515 681652488 686224970 250500022 246917341 728129540 289992146 117367118 685665155 601508140 449244390 94149276 447877414 78172459 373676768 794392227 583721237 883053198 729549184 461083691 553216127 898578381 913657583 28393173 451726743 273194709 374380264 432698947 833163863 567567092 849964202 504972358 527259771 799724079 314331163 397668882 119828879 458986449 636565386 681594199 444178889 646873066 426011500 825039670 573370062 505034043 71074795 544969987 353143741 47643639 48984151 294034352 102967646 816572082 263019418 599768289 488896788 298870118 203364690 769136550 299935725 784238815 419267014 30232475 452668573 316326870 889423820 690601914 150293323 167355781 252788194 973897906 22144349 965238810 941539277 722569696 2832343 201104352 305145920 896784846 104493710 631412782 580004667 323465076 395547888 539759531 378426977 527092251 538086818 741088129 830321221 879585158 872209916 585012263 461462586 871589857 790883227 800348735 494202186 574236313 675271171 911093022 856686020 121712126 495499247 726264052 57152707 473289382 551165321 930001437 622848513 324654590 615267496 860465241 31824984 834956217 658724166 553687781 496003083 228293347 388154733 323546707 871655179 392121062 251990271 714264940 425124959 80583357 901798398 925628378 44842037 101074362 922466548 535672970 893875015 416365622 765917498 19132113 938938997 154081395 73476787 266308063 937356891 974944114 689430533 506766758 648833939 12624083 357836005 694395111 716996519 29648074 898504140 125036335 836522167 217952173 235464960 656091608 997466308 24256983 132133110 794616657 447734342 775924925 566494715 310614441 969698155 396781516 563170965 106896836 369825538 272135226 24550071 162579347 950632961 839126484 360434870 720957311 588814154 530023894 912062675 487047071 172815191 462041532 915448824 538952728 869103743 885043802 840846112 631357031 962919658 940468789 574321234 870931467 19505519 536347850 282122489 82861537 942410069 938079617 614706389 720707714 507856850 724876959 263761149 47607725 469982384 723976095 385992467 778603269 711839799 126190484 262485272 317289567 269532222 460987195 860485766 155018998 736482639 702980522 425370252 60219653 531688167 80711846 412995071 306595621 418890714 821212958 416171163 835822124 497667721 914978631 59845138 162418573 651525660 298007435 898524509 340250012 230044619 803475738 390244057 848438042 570530602 919338222 110975950 591088615 396647032 948867338 982807438 751028344 889423956 531988106 316642771 351504618 112003221 688953802 194931807 790807700 72224598 491069851 74663058 355320093 58277951 177397949 110093210 668010761 833997028 462619442 930219796 193459372 517182265 457746616 407266836 393528711 371759412 838881017 33594011 794654333 445321450 336223508 376359181 975947775 744162670 587166879 173659286 155868705 610664583 882743559 483575296 648425476 557854311 468629030 273975726 166783806 219349590 527088673 182439132 272010883 617264826 435656493 809212094 234991908 84479203 695564303 419191364 394293258 415866308 824306241 84939615 630128275 269046143 57105813 81065160 438758887 370976100 944620607 689184394 123674683 683065373 786135484 234540846 746911892 206439746 480013934 278609544 392574079 342650806 671689363 94990415 150462068 838381123 820809098 338496077 268452147 163729215 793252548 606977745 847318204 699882635 347770366 957512216 863637135 468456681 818531892 386122843 540776440 541126934 232584963 924979034 859228834 349999080 409910489 486878186 984692013 146959009 476153796 23815586 341738365 201961827 295181182 497164734 312507292 645526303 236637354 702241596 755548141 438766026 686021456 143136281 206761788 155123680 754717945 603524454 386880241 732288780 13080493 838689885 588699303 836703674 276739752 496263070 472625391 854002815 351186021 766539747 744432645 582929320 118513649 720662104 721775217 852352566 958468493 85603729 641899982 347452562 937637080 96822311 113215434 182685238 299127769 287704093 984561299 243851264 133568062 107118685 97642390 61585573 619318300 770153549 981879822 661521951 621000173 831119291 778058650 242508808 257142020 968993384 549693818 879665637 829852415 330677630 288476788 94007321 561461074 818790570 293566199 711133038 699122897 639242043 305074976 427640398 899731828 678659554 160680098 858525827 401107756 903167287 664771952 922302771 138763888 552060638 73183768 402697152 371052037 939989843 119516941 464987800 252334845 446565280 344151045 107929657 983203854 212548481 406205403 110057714 732486527 995401729 19181372 692760138 771893474 77335388 816575693 185483831 359457245 421409751 769146430 195535728 234215961 887450274 23363988 242560738 55973280 265762037 899346999 506926777 966565591 972848473 573140788 568844701 794218890 500188760 22738466 252399366 975164155 5005421 483691683 230463413 242500322 913754440 37412318 738329017 592778855 842676019 607251567 717037746 958766370 797354458 357288126 652586967 292111042 360305380 346596071 681816341 226800127 700017330 688907934 631472088 549424286 170574273 73779323 377417321 876101978 177249673 385025540 593739880 573428893 886327944 186667921 506893977 818090901 700322131 507817897 579778071 74096079 613687588 862663648 844633045 502112159 175406579 351213589 810521307 251492917 914832512 726691746 111699365 192451364 132610178 703565793 387754781 730913524 764767722 755711557 707582733 202859295 583307051 687014328 951596355 238006564 79028908 492938285 568575150 172350043 125612421 883907991 990327498 200773499 29156559 455095181 748852271 822071998 423083091 454688725 344891299 510078095 14330338 819200059 142851459 681394557 547445122 308999343 26340438 292626876 864553073 380015468 262350742 935169102 694406845 385519350 627631915 332371667 140558 709359791 625792915 293545140 371581139 115710773 725248082 366762792 52515629 481163214 679082016 695420669 713299406 932676549 349849504 26456435 671558620 814897491 718560787 968817080 949216087 306625846 613439024 498413660 487420433 925893664 975235871 561292184 119381780 118973303 792979673 704999085 396234113 21932372 135797336 675332514 501105896 928056429 156270942 888505033 170780293 86013617 930984295 392349971 845998249 193635487 734392705 738757931 654995203 516023719 201542303 278295935 123064026 419991938 11484402 618838631 815428470 732201826 654293193 989892995 161757115 863458797 624918038 55836462 35895579 107936433 443354306 72544364 996780026 222576357 576672352 358370505 65331302 67372137 113166261 906967797 956471508 325469491 815562169 503007973 98412638 752109750 479589308 302904894 281661151 265357450 789718244 821919403 711263899 573388584 734071133 166995344 517773677 798336086 793921066 16231504 465181886 299110873 162497105 348334589 713947018 243654660 961205011 828840476 405445570 275483112 38933755 607132057 85721431 308328207 406271401 360746586 732033555 896691562 947299598 222648548 26781666 236294497 136633097 550100906 66048132 176262752 227998151 364869220 609432221 873415572 684925671 253866923 501110170 968405036 644406899 972381573 214934123 517522727 989220632 504353660 770273346 798122570 796318347 881876197 314035753 323221409 553344764 609994840 860429527 204162792 761861768 877993352 323778558 622286813 273464189 890735812 447227822 216148361 187261017 98547912 52759551 7030488 642845238 333856812 661779109 955103147 635539189 551931539 957852853 639943055 371219869 898677863 943428757 107233412 7442341 732543707 172562666 854997784 959658063 619762843 155874491 552007297 790748331 241946702 237398696 218747534 594800540 951877340 416081055 530729531 97838929 859176834 156650407 421582423 390590848 126436761 375558012 233657111 661359298 415404307 818554785 960260866 383448126 40547649 633546620 936984040 653986599 725746882 385496542 796740167 898531639 426690228 723720571 618396835 14466467 74667206 871309039 318251939 412554087 681170632 303475740 61430736 761824467 447249014 118056388 78207411 241157189 697093288 930430881 477105170 522378016 827732778 989697940 321157759 999710566 871399575 127102234 333078938 92600393 814521759 795185824 147845786 575930669 876058152 825694386 483972702 277860950 125854545 38895207 804428 411921148 580156427 301034033 336250470 27239208 513545390 738248737 366555196 315000808 51771065 637271140 684134980 159669104 389471119 385238280 544550055 704577988 305438556 543348489 400622551 138975562 539289536 866905783 659821357 280248450 390144745 745055782 729585949 181519222 68559171 418441295 184709678 23681922 253460553 268642988 455396814 45740981 664932278 853784118 849307556 382841411 210237441 858539918 49211684 583971945 287338735 643290308 663993603 49446909 630749326 383830985 542523237 892343343 244345359 308987047 736076147 699168209 608754993 181934056 24792614 189767164 400392231 283803952 347852720 657992921 738544340 585937056 870216145 347785893 779553342 982305762 838589856 824379049 138610018 330537385 258067354 561744119 871892039 499329629 853421132 722965369 246138294 128253838 331363180 211227002 275331866 656115690 465102739 704157828 477659207 74972775 720314109 31752227 914507123 177559848 878719965 887906451 509356374 138737259 470636666 290743531 336247973 357588410 718810507 922602887 148947725 296438127 297755016 59538788 910925736 327264215 131274091 770496109 296216962 53965987 765429484 139020866 639762923 330508413 391032726 841181665 477343953 233686983 272536694 742968694 951191558 696044742 269436193 889849046 753902199 576845174 517468093 625953625 630428296 416791100 8501514 111482206 292556348 104720008 306823299 203629894 34113980 163135960 337034696 449130619 903775132 779083434 151827442 881078589 66204198 219012134 359810914 821047989 36186798 670907552 160384257 223214077 914591311 770489073 975448010 637672745 103580869 539614728 129277873 783118101 67224968 919058845 154036810 760214654 441681114 259010276 414233033 781570405 143118009 349516890 316759081 97549925 487771444 545306284 867774853 121497928 205242159 24488013 140966945 641298985 897943313 265586651 1286547 551347403 804942802 158253595 523940606 959839066 431833793 196394572 241448194 827743264 859173009 367750980 991119130 628769762 17045965 608992637 194366293 789373501 956896258 660470299 136094660 767535036 458626297 870769927 686108544 588971038 998483360 336582383 964369535 763568200 804190941 671919689 670048603 232392990 934417826 543162829 416710353 292556419 656865159 260079979 211406735 684140940 606754333 84126841 385449513 852472244 542502274 49978769 114606641 438829197 296752951 804918537 124339633 611107214 972153498 821892579 40542356 5310516 528613095 291113529 51632055 822498809 71080594 485133653 420311139 113333905 999016756 430178969 620454229 958766694 921767822 971458044 520877988 458877824 666940347 793297200 332435691 988286640 361247523 205106935 598142624 65133710 528229646 35226270 268116898 848426052 684073014 784026336 111708264 736375818 559802444 613086907 533861658 517131684 774723447 195836443 863069747 434128952 922595259 260525405 663836321 531274132 683067189 843650042 360761477 866890549 805450386 485852652 465897411 820934833 315976467 276364603 614503800 511654881 754907325 399394863 402110038 838633602 719636744 676426746 487850619 456810912 628109851 594418276 685905293 321421418 602498717 988492319 821001421 864732156 943805436 312226601 407384277 172666172 252646817 103999518 886045216 9656867 272053587 840582665 570824209 342792554 960681831 982525742 803569880 634223297 902327352 626308726 556747837 152254056 328989321 443203881 809896234 608953368 284852025 3852253 455727542 902408899 452603737 609309925 871857002 266312532 952357343 295770190 71755041 198630526 148816133 736162769 536772919 136400566 318779579 827458001 745629769 69325977 469215536 66831060 128178319 869845734 894265107 711784524 682861455 444909935 263372919 233241771 19699056 442502829 339411095 922055697 712445554 524320123 621802937 215129729 613257643 949042962 499743345 540776139 449016968 141635269 494258463 998133750 251414023 624141547 324290297 65072949 846111545 598875321 745767142 307238496 629071274 63863161 169075646 970737816 607456901 44330890 820478842 488767983 489481277 18465777 36206655 619095591 776614894 474681936 194316041 599067057 868114398 183138044 644953901 89475377 932161434 462857227 696518345 758037071 800388414 781406439 844474096 36526323 421664582 525446300 988651180 919569474 587239629 846916045 206526079 14819080 595906539 870767166 596660097 361495645 32651449 404329663 535599378 753326694 422605146 762603004 215337415 540513460 773333864 720399485 914354273 213531162 299797892 457951414 740191314 925415872 342463464 27025669 723495479 305658032 647860878 222382716 675260550 122748395 366639377 331937798 488300022 463245697 108283179 611111238 866574512 657759626 254685739 329946433 355156558 260923959 388165428 969877579 720722630 68790485 574452277 160584818 122254815 371585264 270931482 617717514 23291484 484944459 120335341 429950220 955595489 859980675 25895838 740567893 352378316 727670718 620181786 793427003 215369318 206640897 733385006 86904913 592535497 892667217 470375749 392663283 143298970 595029162 669483786 733978710 487992994 827745396 850772122 6421310 394946576 555488032 403272168 438210349 410596995 238042230 138483908 848407698 864564688 773306039 897650558 278947711 897216965 359451479 389078385 267053490 332708091 630698626 35592492 475781045 752673040 626631327 263959075 598698812 643900869 267560075 758270277 14086217 245795775 606362677 203817087 322263082 29168070 98289518 359973515 458001550 206755380 656004189 695523696 279293415 543930368 420673471 455643565 917318749 460706391 233368659 485137822 666229677 914349914 243757755 923895421 75453292 590834810 262255489 554298216 914413970 625438776 847863288 197873865 375982216 378238411 599681857 980579870 103670144 665238233 639048672 588616133 504659657 727980271 555417296 910028798 567791477 531145289 541838265 174011454 59673473 877012624 83377067 605302202 714779495 563827579 161839339 409571538 821276736 787145952 40955257 746327088 632270945 276390210 102789251 756896943 65121573 107946638 998392866 73438598 139171400 502446532 355930012 965068480 538497304 56419181 445046504 686244893 318456501 185386524 658040156 700411608 794770352 89401299 512054615 324544873 880675410 292505404 136739870 26620770 882912849 758596260 807371696 104630531 219877452 50011672 513527519 206443459 38267342 104863408 993432217 352952048 530571141 142361491 967542075 393625269 389617772 953166868 271015304 715948669 749150306 747414 892830080 208592079 114429743 894991661 56260104 18923898 137229260 729053655 235290113 49757324 781702494 627888552 226672297 594631174 176938908 673362891 860141424 463843050 295436317 678711795 849646534 409437257 313146540 795080802 703145634 956813640 470116321 603080385 278225152 807530482 968194621 3371057 328966636 13397424 127648735 603077734 598476363 226491709 531951418 526513704 390223772 871816610 427247601 92590296 185358188 451959207 150143457 76197208 494354490 909445687 322076440 706906048 601685611 981046330 955317587 238888902 731552243 899138762 291679088 491990966 438885540 615518109 454294114 409724726 86548204 460908627 980384410 563616293 32069211 321639876 792620374 662522229 914198007 272328057 593636133 996568475 472825894 520064363 877813880 604036050 839665269 306418567 398683333 767527287 675634406 792819705 225027712 125944350 115631629 116669914 495397290 152680026 733296372 652369242 794397786 788660890 457351296 561587165 721634395 373130025 690780340 897686784 68609102 80933871 870681266 718975447 568468555 279622168 150961679 936399188 905526579 363242371 33031842 872779086 316918811 152286526 937669960 738873141 238546710 580687169 241281324 311133996 489995971 497524623 146402347 991025493 573192488 853291851 134183355 354093331 202731865 901786406 9582671 783948790 658154193 607737081 877615792 686668602 644410792 551363449 509250081 673029058 114239916 690613296 757050079 749421732 941363822 523892231 937206748 630216452 722101163 975612702 109789125 570572262 506070553 165694547 151056006 219633453 863931360 970063498 668246259 163083847 178681926 445371848 968012960 587467294 699815597 526801021 882531556 767796480 627067630 735518750 157746973 786381525 604012614 551486261 245961498 988087439 445374608 989329613 40654568 427228791 477098523 563642593 225547740 111255182 433473866 354987962 74489935 604192443 126959826 753662399 32464731 189941996 580960785 166880678 656853622 598439926 593580695 731022202 293801022 725387974 379776469 717625291 878208291 317614970 645632074 694000969 962071413 658463201 441954578 715344733 789524786 244740045 980921212 345110772 150135306 183658479 856445378 350277930 409768250 548383848 652511388 507343835 620576905 431165662 628971153 671711906 169359402 221943225 504828869 631090226 189063240 751588446 546455907 614859729 904652537 934309637 716775973 812746440 421570307 748810044 244915386 127104571 146198492 38186967 598204171 403382543 603473084 378969840 409367912 53844702 79923586 625849306 273706186 916282953 867381308 75256677 376179758 694699356 80843796 83481008 906311673 852688107 849729081 133130514 96109905 148218927 962981447 918524493 274832941 562535661 871204320 958804381 179876685 734951312 933102900 767502120 340608631 437743775 890977638 212552282 839812861 816402292 815299777 959752539 432492210 727075066 409506027 234528128 576468033 697000552 252134538 193702221 507948533 250334780 353190231 352437942 917631975 627095618 932569178 562450146 313298764 517067251 98198070 797829143 339959144 116947532 979732069 494469821 804346255 854036699 737206747 116954854 859744294 509065355 47943984 712831458 863365697 406319167 641183274 539354577 728338647 912214912 164630596 439004254 432613996 842488321 27452794 641667170 177651991 293341480 359172901 266145998 104165510 922603348 135641686 331342102 377284949 531336440 138700789 897479702 31841345 652725167 509671792 936589096 686760987 171638915 324964267 88798890 777638340 14900338 807190298 271160339 857834274 125419352 744215618 282049101 518023369 297150014 610850940 986842884 995433695 231421953 523889531 503628181 20828240 205080108 705019742 142568931 806950743 167113386 414514085 825884303 698783314 50814263 454510326 839728344 880178004 95461495 968580414 915045683 922865494 334787747 903523273 699323538 823835969 452385369 789505029 172297002 918688785 500370309 496563026 988372293 933952912 288734462 863378421 93438499 38638865 699961376 249827181 223313891 547406488 104911224 103040931 768585079 507030331 775107483 628710950 434386076 645281526 302916341 719376982 471716345 243158517 148926619 865350613 96348954 724374587 818173023 611676607 298140844 533190905 515210995 261306676 728405612 662398235 885643912 414514849 238918013 548710385 824085721 179017181 549692290 483262425 444024357 39267463 644144974 153720401 710918098 215566884 955025021 927361930 933956581 337345032 124926495 443534502 31417667 557464175 258654470 892022243 981880061 126537120 211665482 766536297 595237412 426579778 42476970 600277411 713086652 326140449 335646453 921762926 822679589 251900878 744115626 705978589 63821405 923780505 955317180 996889522 842982125 218171421 831701310 520714550 462667566 936710679 158606637 791796645 234642615 505860610 902631269 358040437 178158789 212402633 633862316 653449631 664366225 124636743 683413766 39836150 384570885 605948769 883035034 961751046 455657443 959803094 210964041 897637781 321448370 211158102 393953926 480218675 921209146 225849491 97587923 968929229 545746699 419934612 945212873 621962799 785816755 656493656 376385927 982855576 724845524 168447861 52453806 18625319 204932904 77560526 849487154 647680619 604416190 808800460 444655678 153308520 32673845 710793390 638153434 568204391 936407515 940025768 967218846 21083220 731080047 901499633 527571288 396761790 849417414 209081259 925409721 431795922 73597715 925394442 177812140 321124617 582018443 547535062 930919216 925855080 959555782 111264434 125276143 26344547 688795831 633384696 697371916 719273210 948532243 875919666 162951934 16860777 972056491 340999871 69685883 214039541 338183045 112514923 46369013 284401453 46684496 834017430 621593305 567132075 917827350 574155830 14113090 297679695 419828539 422119055 110987162 90057365 615712100 783332641 202315531 269620305 565901890 865318890 90103687 853325293 494343593 698349879 252782134 377976812 490698777 958731161 868306103 38477345 315272320 828204355 740742435 340949701 852936450 17561048 722534216 944905121 91547859 483785068 477622712 924235958 878831788 315417956 470904330 477279539 261244221 528843306 564271986 195145379 638137173 573779232 300325794 255948225 9111054 347980785 296445994 187490565 758837008 754640081 431930279 454492176 740559621 139567439 461430811 33239277 14926713 464346243 827760899 812211297 501348087 466743146 59184699 130164984 191260389 994346516 792993331 771498618 316228135 506386493 213382970 707559481 889108006 831314320 722432323 402125517 773141246 232872172 188460576 374520434 915912125 576581500 736130852 6855235 93395149 208265971 759320837 276823043 338184769 389808693 736229388 353855595 446578389 559682483 323394782 277753358 367449544 202044071 745232369 88702807 933105945 429144918 417194522 887872130 626411701 516110699 85550709 708886016 602815373 969371574 99109794 532752265 941508350 788463449 895265342 128266714 167288364 546148102 658439422 307059106 784700033 746122063 148858025 29320567 878147234 852467735 787221978 743155473 371940134 318536056 969958788 22761064 888034732 600149982 419021882 420334510 274398311 11274114 448197908 846186692 205719267 400603248 124751184 894123527 240274320 126151929 250066897 703663935 276997064 541361925 885245366 654427547 233903762 550405239 289735174 89672464 668654398 892472469 371005651 477664890 70071377 932233150 890633874 341399308 298998007 420859931 965077342 132952358 591136757 760243803 336010614 750030883 26207269 497056975 491796143 224222391 798486351 728232888 915247634 892880798 874619181 287953820 344038214 258420127 854795752 438455781 671742020 17835597 856155799 733319347 330872420 528793512 811848786 822327139 649736288 343082307 18910349 989927002 761566470 600302626 306547493 796128430 607862231 391596919 47953999 645598076 615195503 188898454 779087980 38184181 790253734 594018610 577419953 752715288 687376073 210630311 820702676 186750514 305970352 283827405 291908181 230243903 113446343 284962949 334479154 428548661 672009182 798992833 63073750 68753250 472637287 981476640 156065102 776453151 614595556 152503013 768919095 707920233 204872614 299294136 841452173 582993778 144040081 80840313 680037771 635637217 225115104 753150075 405762835 311078235 679837472 265266451 605252451 702602135 260860083 116093856 683569528 850726488 8578006 884356613 99000953 357392064 128096908 549498516 824262698 511759920 616867576 802107608 503459539 83107112 141831910 657941847 727674124 498112714 295976741 308121746 209640266 72130731 399508051 542973245 241619922 725652927 468349304 279073531 916437406 797146261 227913219 610120721 355575846 281373605 50420880 102834817 915266862 180778115 148277292 47148357 947952008 371434798 946874376 811359250 700748451 761335211 940943078 516896785 905350027 940810573 836114354 889109035 819949581 905440717 435149548 824440541 412004239 261233442 884229713 907069688 54771141 28309851 51082881 584467951 701516552 871651332 422641592 358818605 443931151 146512940 8679190 198953490 412848131 42750467 581611057 35641874 827414616 207010464 548302655 357669228 699327291 363949559 125991911 730811638 318582473 755604651 662090453 237533077 811098377 354507907 562079639 832919173 804982176 202269018 830959011 636422310 171620980 663508326 334052826 84203247 507113274 652063022 740438259 771288987 9226050 758387089 511438560 818515859 150534567 521356690 564005778 16291480 175403556 404424828 643642269 570942018 32237589 871520924 223386827 215830449 59768851 623647818 213826068 864714158 434232940 786112005 100069087 253229589 820479692 642358814 120294263 472892076 895526774 205859256 806615736 915985291 468629396 970840200 946803728 658981807 262444014 703554654 423274008 712030095 214512627 855839930 255785383 426791114 325692863 957553826 393553722 466705708 314740453 108211490 124210037 287427531 314151120 629390159 262902702 841262187 715993646 702576041 686087419 639070347 688465244 7843090 262091192 824985526 70311564 938039846 798456007 896561033 634360823 865667439 405625375 401781343 947962988 683821080 329442691 82484810 251218200 808274771 506990253 32302609 928126668 230968050 186710030 188637165 721437009 833204697 593434730 713260027 802755533 186298094 692729375 720838610 713006372 528021151 781841832 703186120 505873601 194964395 89186274 828057280 646069135 289117416 14332385 667514726 257876610 30686329 400083244 72995528 428316685 657312266 614574586 509858526 416412466 309174099 948445060 537038936 819441958 237627153 512561331 986181421 96611226 455830730 353992154 358926964 777571357 557873283 272458028 734633029 879144679 452256355 655623171 817101729 855936147 510371645 241837901 295110865 875713111 694299421 773390005 970459660 287030453 389143774 910904030 319070215 398927105 253489607 975655850 308011945 2705684 41303630 1079679 630551974 905143334 846860725 944893942 421365913 520080951 152209745 623611796 76956004 98663504 245432854 635772604 22389374 502544724 78754767 207455691 669729047 5268834 694144853 664792453 116098339 802423325 803954290 615377369 705431729 184250739 254709126 684278760 392348555 756658284 565075903 787314032 691042947 544677809 359529153 471626925 931161234 788767133 558330042 959681243 331181689 204738654 533427219 710007074 757304371 772699063 302211705 734714930 159880041 788673672 513241330 93637382 247852229 554395795 487932481 339524342 498301472 722388085 497404688 567747571 618790978 869355514 136153195 443424509 204454316 374175797 950907884 21030599 197406206 789320657 757476044 399839068 677664462 647976968 271970609 689905007 240540788 911932171 980799211 624596554 9132755 79083648 8435202 557519086 899025370 388605793 331629249 93993013 361763979 944145327 66861696 413668456 906225539 836195310 698597240 314970781 573428643 156466748 244528431 461466766 15206010 383139587 238281248 77321520 940252731 669894424 193189483 86595382 276139496 544039693 34991745 234276975 715278538 29468295 142719044 70556473 261274924 221419147 406356287 411343873 75548574 264964373 593311559 286817028 197041293 899744840 169461114 95388063 954632929 743649821 294276887 269512651 772846583 170052433 716238512 504391049 830145107 721252692 775449763 983578489 362100419 786934614 188852851 501979027 650515768 477416643 440835862 583133943 63609775 414965379 364100550 241280908 780766040 16055263 852427167 924804313 182393987 162688659 753652797 99253242 347703606 278797667 894125165 345664501 484841939 895126679 570347325 961859012 945156333 392404873 387676064 305146117 69741678 591684429 997136260 543909553 694138596 706398756 894487212 150593980 352357877 959432982 235031769 579031965 61645330 766747656 201144762 452008241 77636370 37891626 977616726 695664980 336865881 648257298 757148344 684615042 427632853 637009272 210155398 101481037 486283600 873904838 832283881 394577839 711678512 240262266 233657913 113602989 837717718 340791302 206226163 629943393 812531729 977839154 933892435 382829478 955542112 444908780 572153859 868585180 443456563 690697529 885811468 25876438 561214965 973830759 138058392 721756598 477022314 389889726 948660506 185113545 864229346 602558795 814776846 483286164 55804278 718581668 465867701 721709474 281570940 562021145 447514510 693608002 533457964 916676333 563462831 459658772 142066678 867842422 229898956 244048591 633769850 641944227 612961437 81594358 885386061 180906409 637752994 382509856 706192087 639355675 464371947 917369334 956239303 973638179 300691656 701634375 520394158 11790784 141130614 420418642 842119119 974860753 493920273 133547050 382347243 15003476 811275339 328278758 725537889 591279364 851008532 675448357 196207260 270557722 770338496 267887408 211252295 272642471 661382823 797041604 527593451 773845484 841973562 492852084 561573753 685912706 401044660 868116943 434854237 976070737 33117249 932891200 154448734 75611346 34257154 48796717 58143785 333187367 672344234 830899356 394937556 520114379 400325243 746412305 960420908 983651467 84453563 316180631 432109135 923383819 969227653 80929227 647300769 126075817 708498734 689123692 559382806 469923888 455944317 738167534 955606158 854633288 27377027 496660074 810908260 693309722 496873611 132328448 744954200 824972955 283715259 392727941 905477559 908607316 25558361 741765735 116350377 734317139 178667142 241466852 430777208 256069318 660743913 862862561 742989150 981541128 52888360 960641239 792572869 753574761 422387503 536421002 158409428 299075329 294688094 492388114 118139590 976548672 439993971 385015525 771978907 862193388 454122004 757406617 557555306 754491998 202501233 506390436 619320699 409711029 225328580 147235062 705746749 961181486 7922602 500505457 188257771 895782122 630090477 310642530 914021156 392781942 412096597 318677086 490342290 710759776 514111993 748096383 387263019 39965046 740338255 596703389 635441442 920388162 856131651 557134046 982276866 876757279 845641768 949053088 109087761 734971849 534962079 615402631 806867534 263311721 86519451 232215708 594480194 41076785 828116419 122589586 558235622 670423895 456097713 627677326 746039654 809343608 114459810 831777262 409234944 906203432 919296668 140698775 140999521 618861867 98771111 512744024 410182686 65559057 709952745 352702784 709393600 425480846 795771574 563157424 967802060 324691939 336663127 541553245 828816699 859349379 606986647 464034259 173458324 831317507 567643964 771228409 365021568 52285391 731683476 713088165 409616257 514599448 780563523 204602150 585613034 235420260 445810521 587651072 838347034 26194925 264996246 539054591 718758640 934874499 436213784 116502422 827826469 323199364 690642290 112350233 257627358 428060932 195927684 875925329 710319629 55689677 792987700 631119206 593956833 544111081 34386800 132546040 874957766 769628090 45006459 856650865 863662584 778470447 919894366 331574252 44424047 362100363 73586163 74694799 635801137 441726517 606196943 864702996 238146225 526914131 83053464 833255021 765487540 104145250 169759997 646895587 161439057 185991931 81336553 897390432 825214388 437483443 805271347 375311467 787161570 568738733 168350829 433526633 82145646 922304387 770407721 675429685 505879516 398949833 656547423 504918355 105263287 998498417 741303114 511794348 517173277 485137023 292056365 851269615 741549015 790371841 560623244 21887439 989097454 94436054 203014424 633489280 669627900 347053084 761641731 702165943 399784622 605591352 65074082 377942864 698035757 727260172 722303759 219591844 385947206 32688175 636171160 118424279 793454941 955942693 328913581 948022791 491596924 525704722 908923775 183294937 995795726 804571251 898312452 209059957 472994002 889318939 438190383 775880817 422396002 442066905 109154484 418684371 461133813 245251094 13741560 842552328 74554891 73324573 92427430 750459021 744994439 282733123 144601373 855235050 224766433 283099351 713028418 97791142 243928976 154361234 2933269 18055451 172207348 877498091 695207977 947167729 472089951 298379542 269664507 73137413 820587526 825432340 776939809 77508505 213028199 67305880 800959716 232433539 182352642 122675457 833252010 967385527 533314474 409097114 734959991 961332527 441454256 601602727 63168831 992963961 908454114 834919812 639558062 544928268 337130774 782351251 531207264 815910416 858502638 999593525 706931850 540446786 888378445 732823052 856751282 963034386 490731988 231266249 636786192 968459883 948165860 646536523 772764401 602037234 93884370 191101273 473088985 832402113 301706894 799272873 709423397 35608830 611847843 302654888 267578765 277662483 858284573 402640842 361483195 722578486 343967955 366298321 599224918 33921323 707781630 158082212 291773687 481849466 851867571 322710429 193691945 169000585 796762303 609695832 216328109 750813409 289894163 592923251 366463967 545460677 398093981 286740012 638274815 101258496 799940522 850890759 267034267 185784523 809453568 47249477 379828853 715265725 789102405 870230709 869578530 645678283 780048699 259530302 690567298 140246255 780541063 514720512 708068305 900809394 722812101 245986287 790656239 70692349 26041898 334326814 471975905 360500552 290271250 734577767 409085763 672975575 127884849 2075207 643024529 18353199 168109827 268744477 466539791 344285241 288208107 137257314 833023633 329614398 627754329 166311947 240099487 867030393 517574890 931063380 51337495 29440752 333407506 793324778 457920867 648979284 850533138 120193257 785866082 696034403 960292879 869615877 552344438 716868821 523579434 707266481 582065793 481407464 803828383 578767707 367604198 643867243 21106594 245427229 563092308 791368964 899661969 852988899 932105925 270510277 569979765 772853398 129966478 686779328 825269998 922269415 100343680 48716298 517583755 332021607 292047514 164823249 519957405 667779494 3466681 37846666 76089819 277576465 658557559 162616497 478849486 712316052 353311368 923444376 745937406 774251791 508500853 77379292 896475842 395270088 716698672 504100159 661447118 108778915 161437299 186700191 972065029 330375469 513666750 596703525 294704275 486652764 691130963 972305914 929794913 362995120 113219925 524804511 170437328 130787356 490919300 159080725 876290002 633426788 385349531 768306708 545822418 616808263 224980449 972307376 458509757 979183263 287909152 932006549 739264606 69825310 79365922 250535765 94288556 751695090 110520298 84961802 215594916 867132246 685782747 702118404 212023595 936975489 431477035 336476632 204557261 146636434 81206963 935989074 602265277 184242035 816121772 259987805 168666852 649510371 465155434 550603210 122020014 271601418 316574922 907276467 628516136 618628410 262254428 128539972 781025459 997868870 907976487 661037835 605580702 674580674 585311657 586900143 934882592 425300013 394383342 185781224 522730752 856366410 192022667 930555529 677738000 364202742 379537605 949474217 727688307 675285337 20079803 458082739 84339281 976017209 464749745 441434210 441632682 389281734 558411704 330349344 243798450 392759961 247533299 141789922 553268709 315909140 251761540 356545723 295695174 632869538 836661980 711458483 759264530 684647762 874004276 915825522 393632885 471732199 626241332 99477669 519599843 517672412 703052926 876468451 15001887 240872026 762437333 657342944 986065166 409117015 601732965 268440029 222640770 223324806 441033882 758270752 348503824 636908913 521989402 353743164 16412749 649282441 215827304 911489302 580570402 309706350 368543405 146856540 998533187 421624191 663950194 335610844 89045927 708125970 221197832 178471782 519157179 413450278 262719666 303937402 312889635 571618906 740568903 509536320 464688099 389931441 130160647 69183623 207738708 193920659 404058845 659456264 296362411 690198677 250359602 296892018 914076777 671509546 73482694 716472548 207297210 732000742 359328782 365903622 611029284 780724022 683515859 460455834 295203978 961389101 507101382 32834446 114758521 220659442 893036665 174765341 395633085 292666811 891581915 463252113 534662885 809035056 12102329 139989873 168891156 348240220 78267445 224198424 492753702 236403369 20777576 998284644 152167259 936308015 674937797 383053279 822327126 22356725 685305568 527184185 333598268 377349267 590019387 217844973 103866841 746634093 691267721 836171563 48888652 460569016 540262610 228014751 872741723 344810455 561433670 259165639 761266940 591327185 458921854 401665576 680602739 693745007 59224022 916608631 730859026 189559225 672959394 185618837 496571317 938281673 725835139 538375513 495338980 816951140 317277656 749759583 938803967 705266179 601944610 109208901 620901001 443235250 312191093 347992009 796575525 851068419 363494450 97872735 481405006 141655694 403306725 421419959 652358397 246663403 707671029 581288763 25713488 1045947 695680546 331789793 797357255 967625019 433339586 315421550 672995460 619086740 370959804 488365362 625958408 639102321 367029273 205739299 399245302 927546520 157534737 679558852 640414613 652134441 751703332 850333690 276717756 561391719 638582679 486370737 606736660 259933192 391001355 951010402 223243359 631240897 240355399 855571195 692254657 668284502 125749867 727449603 390706242 219845590 577097046 665185167 300451928 968594505 913966374 719006621 287059524 748801747 172532574 962537592 833635657 562058871 419672352 826643945 632221749 93644093 152748447 276295340 590253900 993807945 477015591 447853866 94780221 602974102 944829902 622336889 138950030 351832120 485445853 364043609 282939455 802073299 800130411 642966872 610694516 171136028 318109304 457786490 720718929 382166091 340329161 61790841 306094611 372660902 919130178 908211458 356257830 427988383 779586814 343772593 872756423 752428678 756204758 426379942 322011399 227658144 882162543 1625985 172872669 289651596 644896855 19183138 481081008 93416828 39132006 416326540 961069583 342797902 833165057 278685829 669042099 748274729 173350517 715624608 942714627 811553966 786400243 790984358 167079808 512440854 934438656 283589936 468010799 87617746 361201500 114536794 530589294 549130546 789005468 115756767 457796556 12114377 497740688 468366964 307667166 488578163 490980186 369919549 564017536 851171282 965413307 686527780 877432215 168621400 174984236 792820035 930523471 940788177 994957068 368116088 671133744 901698085 107667322 513377812 212718614 76982104 616126847 872473127 104915706 301478595 662315813 340377919 483046007 117888515 408140196 994021943 944204628 641564999 78207222 305396587 410829890 679667685 56728775 35972166 563146200 65596775 533668902 306944738 804614045 178227747 200640918 222976524 305465315 960174031 474297422 973608662 620742760 337390079 819444513 894284485 333681343 145899602 239800068 992086636 400983458 245768395 758884571 814620445 973814957 327050519 313129862 433860373 15000497 870648221 110398050 446964299 466377516 614967396 119839319 260412523 900845792 651747680 781172429 450195501 610611099 877013627 447053430 91581770 609411217 3193227 220627014 299207950 156902046 131962998 942530724 7357916 779281946 111858586 727277391 788798386 42452810 381717122 295401621 588481143 839193104 661316498 464017198 240015438 822856913 121247923 177008629 563630089 108572914 47377275 879092395 440392795 361364047 993409936 76265228 934052252 580321136 926777550 739446891 41377172 855846842 601068531 592287887 549175474 35347071 754012983 976439047 723539569 98913264 191597 824604610 439810473 516485458 730976867 194086695 478036512 605836359 169288396 277860702 893623652 927943369 210603659 688504232 379115992 194243239 163286237 992010261 733741453 692882784 681372016 703274590 170022667 582142231 181217745 120160250 940576046 318359510 589937585 632758587 431468818 524576128 492985610 841325188 925878911 303569326 712432326 501312190 181784337 200275126 288212319 684143415 351431856 948679497 216910455 819023732 336223016 778245367 58109583 17290409 588479728 409735755 678493942 295490433 912618713 943040078 149570884 234204593 353038263 341444231 735070774 488875647 807111692 966402342 38628961 447663013 756836445 138779816 327960386 227987580 691982995 676972448 437131766 156187363 216859206 370926717 212838789 496899100 212840544 206948943 430798318 100871813 67678033 875334965 760562548 775306642 542969469 362004935 119679344 111157130 543473654 189977424 366879772 589996643 616165016 56541890 728947250 256248843 800280986 921840881 624981595 9943242 240159482 401445503 718356268 557052595 253666636 107521003 573697007 455794206 511707274 2745355 818084560 415464566 915563346 29699470 389213142 283218896 368601316 924963624 207992066 370813449 69470190 985626217 170192342 955993687 157205198 191518253 6667173 243960336 746171016 968245921 897247121 749084679 133138771 181619512 229336479 308221317 378550816 980753118 890809810 139450148 411993078 538185578 321525770 978019977 689531402 953761508 752239867 602745674 495907469 524539458 201810091 786039555 837501599 481459223 292851692 438879012 506909291 130034419 854052253 14283224 173762833 541944729 136519405 71546888 93961888 83215469 179935538 284122427 228459356 400058678 803591904 341819681 193362624 374828630 839137905 245291548 692673425 604072228 248168036 598345850 520621584 575587101 258533398 821742708 946730506 338617981 22899968 115789929 588974521 226302766 932477221 452568674 105977266 710478505 46841228 877688920 731327439 718883902 397584840 806269714 605465263 581522066 575017922 263699500 593127173 114553902 71789868 215201394 354489328 493768576 464358591 200926270 448455480 466938523 59344965 632919647 976591506 518885844 117938671 102241435 847657328 640593170 805139158 991088105 398687589 801235547 598552642 932108222 455742647 396792263 944795094 349391690 521548703 574904167 885237629 308793976 851148058 187639643 357754719 886151958 589252233 262674949 977585090 530842515 284035125 332466175 911081476 800589153 623003478 857962809 101792824 375991089 109688900 422071789 908123510 147584293 627490346 733954522 378360358 651367856 217532183 261513927 310499552 248358190 738808473 67893367 103209176 688786979 337404382 823215170 993636682 702312797 33647257 507258320 352347047 477456780 347790326 985838646 724085917 573769133 434715862 459126670 189950877 105388827 357901839 848925733 836969975 510485089 215207030 164733806 209434536 366558458 379187447 148196099 113142594 399682107 792286086 835847804 236641136 524554387 153870610 263752267 562058250 292254278 139329535 242138676 418348497 732492789 650868902 646990847 897060095 23347492 730391382 846196283 879377808 677345795 553727489 863991839 39036535 389617445 912428301 582643833 850026172 32591171 697992354 856986384 779822608 881915111 631253561 242937917 537470537 340945968 35202731 244016764 228843758 802828796 864486170 779360685 188869141 239471868 40390760 628631164 511961087 603897985 162170660 122151129 843859257 416379292 965712770 827293319 460576511 310038058 148015233 799185785 482353544 213750725 195544045 993343279 193168584 110265597 502561280 721134937 118543791 9628260 653420497 809122420 546912545 991073861 802500758 238680269 652072513 757149068 714263886 894058377 912288311 939324933 85891149 876068635 404185067 941774338 97286616 868705837 46614368 672198087 991506951 49101719 346975560 559917690 160224261 894276207 730354502 665273332 48519896 833339502 561868225 889675330 10264460 229136161 945461082 412467870 437263750 650411302 605955250 990054488 58123960 713154159 651123508 819289848 423231724 351202997 460350175 946690159 142336809 118923705 668138341 216183413 853242188 614252340 753490000 755016359 535413632 141908494 76995698 291720513 201008662 189510263 418750617 178061608 522288641 876020727 302924001 947007919 981312998 501308761 354745751 243630259 837554739 699334679 596761792 814193589 553401040 504173189 265615231 766794489 12684894 181922120 547474311 465490877 729184892 175491448 99183653 950819168 873555445 605752578 765078135 522019810 788321072 410418798 682658835 241302718 97696456 72941893 80177921 885699077 237243176 764046337 867830127 269432336 703204550 237520692 318013432 785542464 773593903 742780585 456115880 937339444 445051840 294103748 418918191 598631712 813958033 216192125 219245820 609342148 845772974 522959542 975034660 250491278 847119454 390558327 606471546 997001507 835511453 663171396 674156309 504040277 402161785 511854936 884996542 433520710 430081940 562717887 892757352 93090656 210113691 478340315 580930529 296416943 782773005 59747886 52066699 156196105 732293088 223367005 155569499 209071432 549369208 486844534 915937145 406509022 8268946 978112132 59701872 200037189 74095685 673548454 263234603 794388280 35395542 680894106 206786059 845638115 193305785 713034219 933419596 849002277 546056582 693565662 108377529 605360884 871211948 768698052 580218583 128395098 275103734 976801955 250676673 211962955 363725657 660475467 692250148 57363958 454099291 629349362 803852013 163535096 767760856 788696783 72353162 616203591 891643617 919385727 75970569 917049235 989106888 55137037 910779180 954909805 131223861 280006494 564878250 831875837 630802212 318455455 126468140 120285358 571003653 62531514 832178132 769368639 472008221 613257045 9788244 255006015 436877199 601426112 542858390 31101994 510035360 620434636 5115521 577974043 673081055 460040510 669807329 540519669 39542931 219797192 656986615 469055947 820960431 131730544 546135775 637911782 624176652 880973677 177171264 705215302 169847662 269013000 564612113 92814770 40153064 415008279 515552779 241119466 717939686 977183309 939021153 889572010 437270872 714746315 789981423 459411227 789576069 278520145 640724381 935804489 674802316 757950316 392181332 373558072 601235942 346793523 522434796 764355444 583550926 12314647 882564450 217604485 810696423 751099171 630590176 335204247 64998292 797383570 534097593 686519099 317826329 592269058 513138568 140387085 635633797 194147834 558957001 495975037 917339435 534942615 202153111 337283157 875585824 265953645 235568997 922477590 824311595 880711983 32491765 973621682 627808681 386222396 843957461 121256407 765401738 789796145 63337381 284286788 47513031 179218603 48867713 30151325 479962320 505324687 719577557 799742454 90947485 827305414 346331249 958073607 698100502 526785334 195376704 635438957 134613821 99516842 682888787 269280211 137443683 850367685 613107203 684827314 911568560 335788316 661592480 867486949 451197973 263638688 781547689 525564447 207684613 821319018 914038355 418883118 310572489 41556672 919777795 403405855 352738801 683546314 373749698 804097891 769817367 611643942 985154099 46263372 921888439 737660957 311353372 523692038 850368071 484084342 310553903 385668744 612766063 421840152 234148731 540903292 523714757 297971193 553889430 369292278 390159145 589893935 325088342 655678325 193934589 597143555 949882193 899454921 966486579 724865102 21277518 755587515 855597462 169692604 564105227 867648240 812823929 986384734 284234743 969542008 960457979 655829354 63051008 468734895 660612949 341082474 280631196 520314725 589224703 842013393 746158641 424198015 508643684 101644645 119388246 652043271 373747169 130401625 485312251 63584528 960279015 834118320 69977500 11742227 13482892 28525482 346218767 932381806 699695283 869959049 552229603 777294357 364937347 829186968 495013311 582760332 224740026 464410664 610706933 853026361 770213267 97629967 30456764 212118007 84848904 407787173 628861549 732550663 67256140 610691582 240060936 367116111 410708892 841245387 782071113 310854452 276090408 972231531 734806871 841509659 354212551 757606151 419177376 131141276 659630245 427071140 643561623 747916379 801104040 745637147 618385203 208656619 422292482 435343902 909000214 958202781 894868419 479776156 89317933 678921950 50233647 46355521 516227827 458752866 992542856 477583342 524471624 753717591 629399119 305456854 704936565 807806957 654219787 291380245 723565933 746764882 741164898 810677013 768570051 80049079 387137927 75827917 235288153 55386561 401879169 581179868 564269445 679239511 31030454 656400063 916532171 991268560 846956362 224730158 292948093 210664153 590569653 905427010 54642130 799083823 580690341 99476666 763794201 2427882 771137855 411673653 598074638 644598878 887296886 637634627 128692030 519916557 388121545 892220844 34531032 60398171 454707023 176296104 965505699 492468665 212263639 356496352 465528078 464492312 723762610 10132206 202355426 336780242 925675805 202690390 402754452 621472841 572114664 412265425 563661987 297933017 458493006 271878731 320932016 181267919 450186753 475022097 618706759 146289831 496029152 976377209 228868883 288992922 681109043 165562608 162134851 675973679 751503326 479601916 566948506 50949731 568946075 904121658 756301783 162854010 9922437 644347471 208533068 544374169 659666261 445453206 484653610 803295132 594712909 243137421 620686040 15806372 705923176 37365110 595342080 691122353 369210795 286455440 168393760 334690235 316637180 17156173 559486262 264869527 319524849 88890354 779928314 254952453 198210022 424543653 112421455 385703026 44765227 116108379 376503191 4512684 963861348 894254914 966965172 268796816 745913043 277098912 259251957 444375957 729867693 133721047 251029784 385567705 226672635 533319716 703010481 917866363 574911419 532633480 389604974 333206788 728515843 186750620 417503806 422158556 354147300 823269141 512318919 270439947 54230820 123545872 543832028 28134552 515499342 356499950 219386383 928106062 200554485 220246584 479929308 268935738 683873368 709998281 305129255 774587631 748030010 555774518 764261730 969412395 971640662 430632120 362544416 615823557 210798604 252043804 40038636 474567063 617765434 17606472 108073066 978437547 536750675 919797693 562546565 763845886 937741803 373669329 155118986 635253492 905468589 448503952 15268403 672485458 107412706 105151999 713952588 770032378 147799762 258598914 649034528 407556971 540187246 450501722 409837331 580562721 304328717 134274486 292076059 660477723 981923993 879644711 283731909 606720897 516455887 229585479 225643801 646198257 145584882 520000913 873881919 771329017 150398975 459725567 905682414 787493040 89693395 533754610 910096489 984316747 242206704 223495651 368726879 985581970 313765184 752590701 569122455 606144116 13107388 432970861 63201052 933699537 98760212 74706841 737975571 467579070 525614763 721808641 693561208 981995832 68078795 642168655 300403222 474433240 111171544 753022179 513223851 669647305 341319567 463479080 94383056 671475810 468140553 750219784 161856728 301015692 199960689 213452861 950258896 537361602 669227593 119476227 578366903 341641411 405673175 232036605 407485926 681457322 596882439 593229076 215014331 51804560 808495574 170407432 584021580 196117669 468180503 957708643 899733557 385277868 904011091 970102822 118515397 553519084 44861754 379368522 289215116 457646741 35466681 821261780 633194724 162981359 201428880 592160469 534424139 798522730 258040171 322655178 86920362 705068563 361521998 357490667 668838041 148045936 302812873 282546190 837768183 189713374 857604285 854724984 993151958 13217843 462646019 901867423 688665686 482495521 490328392 630727089 967810761 588971516 46457774 357369998 694784499 540359726 348244896 780551727 516886336 924807417 3370971 994514124 582886124 171793271 569173314 761013641 171127726 362765944 62116732 507800264 952630119 183272056 342993480 176453481 747016052 122025759 872308189 384071708 904095174 576303036 243556442 603292487 168952827 86851497 741894394 26589016 255856211 89283548 433715800 985650298 412319924 952965103 400771156 704361518 962955981 35319139 833595319 559584048 191050916 902793831 972045617 866206478 299854594 293653279 851091528 500106302 388427103 434140489 654827992 446855493 600096111 547946103 939033259 136850874 382942419 29247660 768122739 527430183 916669688 312661810 756157039 273328325 975264678 595270066 94218687 962735736 253923371 442190089 246173584 612764087 190976744 463998606 288725679 717164091 453939720 456659797 385723228 494205674 569954395 836398209 273375742 712858666 523221211 856730894 811449104 134641573 505680893 101518876 92852999 473308284 373796005 94240230 876054185 112930402 328025921 817365093 728326309 347840020 876803462 314172342 581887112 653679295 463996353 954501280 713566242 190658505 911082067 492332189 173855145 846564491 99792815 528267551 23127737 44230392 782423565 607127114 815921345 259913718 130177985 560966507 904141294 361725891 52302345 300689403 806820632 153702770 448522379 684976448 184089268 426371384 625499148 820538693 249122150 755616755 68884118 549818681 889567078 711585466 433992624 756848095 919008286 319394160 402003449 134421918 505962650 57235430 505849785 613675696 654164504 673200790 489732022 473178523 572145270 26134308 673137017 252976257 102930125 650228495 853164807 301092776 557967128 204947347 283230846 7022093 606894247 545690651 740001158 75326732 772083665 189675112 948627241 502005791 988014952 382848597 371152389 889353283 594799950 23800815 975436764 469870831 181739888 978208497 948983721 678533630 223310624 1647813 105507082 354873960 88797819 307138127 932055437 978244180 9864365 57223159 697085217 14165038 974990633 26251664 961390345 918338956 494199129 162503516 909067537 153287343 532392947 914430621 440582921 210041608 361775535 285322387 403162619 291977015 381850326 28363794 122032772 14224020 244847320 804577438 36724652 631747738 883293252 735583717 485654888 784689679 981504268 174483283 9055653 199471275 352049984 979572599 999386543 361097183 507857729 408606573 697791069 385375535 751043748 53230893 202294767 130136989 508596540 741286658 353964637 261735591 538542281 818432202 686465611 362121039 687225468 461357605 891770129 132824287 547204713 154241034 87673160 896457861 349143918 569583984 114250873 948921893 957482693 798718980 904643351 559854050 104034709 63348752 58031969 529266679 499744637 214484132 717421647 223316141 219982057 304173613 176255616 93563943 975535418 634577923 377962654 893598386 694161320 604463700 270547877 723711744 497767639 768026481 402907725 418564881 887647538 956869462 573185464 53131078 239976882 877775938 159125896 995704714 705827363 408156004 57941845 695599314 322671205 595988289 320091880 533398108 277354339 443464887 582066421 287063236 25471317 482545566 585804840 505488075 392697244 199088242 65715997 655659559 59294380 367433650 305975558 533307443 741879196 194658484 651032670 204643752 636347763 681848584 512333551 224093094 653253055 907319162 618205232 664733167 94779175 41022100 758040853 783993736 49417153 296254714 224796167 949964190 657860529 299852230 247294296 451915136 815435894 63457189 254672923 78814290 319460475 243671338 135193551 560820964 179779677 328059815 57934502 336810608 146972482 78369414 591935611 523222482 676209498 885473182 932159845 804528303 392926104 460782486 462461370 105610072 587302798 523968384 767048262 229315799 23265447 608721154 826757233 494809707 809009833 145443847 879079780 375348901 274737234 681503885 688086505 436170977 929867192 30473929 932315257 584423963 620213170 57054617 317406575 770235894 91958881 780416765 172036853 735694166 321376115 24209154 270682653 508646700 167659332 654527807 73656128 545184144 53619709 672699495 100416991 439518349 103986234 741828823 502763401 34194802 230258948 355014133 559041990 928154375 756417312 159711529 118175920 247340805 839167272 673439993 108387787 6543545 973488408 15158967 906741651 642996288 276058236 303508210 982532787 22814594 932836209 898354428 377891616 916475565 470433058 18571098 59959744 369691027 697387457 678314463 255372874 177390520 510390343 393447312 923660136 606970763 740149426 120535717 7622700 99734938 258147188 178330132 335312359 685281972 283653262 181282789 131434354 280802754 306795697 599368508 941548297 321419749 967972890 996006744 512622741 624750063 879723984 490385932 281792928 8476344 969643327 69262305 493872441 136262319 129181977 375438321 806679268 216930427 759145382 259196727 670815706 512951814 627347166 723257946 303877 217866647 592859506 638877398 816822841 684610197 891810142 112770851 581189336 758935195 352994603 148442886 170767986 159276774 727629213 336976233 154603436 187167769 12659252 630910134 444052586 417392069 65301793 691643623 353892484 859360378 532514319 428946075 168415226 374652464 459192599 266278401 97483980 469665263 392299035 13112198 331638936 216388813 237513748 809498335 410995945 779998747 834200382 926084577 597574146 352443383 805315834 374293769 875814884 994685115 833695747 999920231 351157521 933249674 721773923 823997364 263395982 125815000 813884339 457638846 866035226 380600282 27988960 865068136 614981408 870888817 532594073 352515098 807728973 507381328 76159469 448323216 45951608 707085125 721303366 29369166 991518635 521821392 283453028 93837809 396989332 908990526 619042892 23780246 731324884 989518837 125097851 338227040 944497490 516485752 280792764 881633966 883141621 827688649 339755077 410763132 924552200 822998909 557157306 515188317 684137081 808622933 694353272 820437579 302832026 936033583 191714945 339974170 231872643 616644102 33123170 185219162 441309952 785037546 560994721 486861913 591002243 213808985 626749497 507969940 996781935 119543756 653207696 689471512 426909077 560391019 620993415 219250590 646912481 145655025 695257721 688616975 263982203 851555292 742010372 703290805 180187162 543713040 434851671 171029801 958396279 226335427 36806298 748640711 588945890 940974775 567299872 405020717 450314456 118469685 495220534 258628952 552272663 718811999 107558391 751860827 926583000 707488124 826051465 434872258 268514435 419006122 353942000 608173759 731938516 340132643 762419613 599805853 982451853 805292841 297254960 611391882 742630526 2232661 478628172 475908252 82193667 99088134 839121497 45115424 440515051 56247241 657670528 318262521 728281150 149738342 126156156 295855751 645911882 43446974 743871594 378092946 274635623 245908909 959874837 783754125 906958961 147773927 447956705 995142642 324394892 866012573 361566734 308133460 947689441 851199783 188809134 343097139 686013620 935185626 703619747 335984627 839914474 649601461 943106460 911252435 329905951 926172997 372219431 576902231 203192356 178219800 836861131 479032096 55673581 447841843 673474994 690333740 738594839 140161301 473677671 765978434 88026553 38811092 365857520 677959293 876786462 189882487 85122913 372388789 880287394 574659911 174266682 935319789 652490351 122109879 55671905 16111715 356883620 924960336 281738357 211995031 852742308 106903384 764004733 587804854 675301329 787216733 958091118 853392523 404456540 883630941 530305984 163291389 394995087 711892336 294752507 917220940 425262409 763243195 376310956 622695783 810145425 586314608 873825244 493334097 660331629 812106936 920920948 22703105 490227453 263437149 195997529 77009494 319048086 261446109 827132383 112924103 838265562 160626829 281907134 981444496 579848721 923126347 113774104 292221416 364779281 580454499 229246369 982663923 142312196 5467489 236185495 798934003 294656305 215459522 498479098 456870208 4402766 601427826 380681502 564517406 891037928 784054724 290059740 566378011 226732464 177493517 257161515 591581013 161696265 214067418 803272498 949754819 842080202 922489899 964088054 824531213 34144748 682132561 86327167 822838135 193093701 388047433 933982159 406562241 627178641 100725616 14791079 257887987 994757683 467015734 166241892 411234007 499227154 217125726 705002745 283448817 394554584 543863170 480441126 670460310 221583484 21174656 535608542 438399052 921857538 660250297 254078347 28521802 537034565 325921971 524638212 838465296 279548437 454264757 730237557 43332409 807584851 905450360 632225095 494740679 899484582 854988567 269687678 840819962 367325806 920285078 37626089 677140962 188707882 339932214 636143853 893663513 221756510 930681609 553345461 321811792 70092312 662158196 391005571 944046156 589818066 401562916 622507456 142790824 433693449 367914185 26812063 431484854 729319828 416300287 895107421 530326789 807874654 26208839 624219919 928863336 458055204 769832030 849426961 331480557 259354148 891663236 320515434 643520552 119876211 513343769 343424735 425565189 348006491 565437587 6731145 931298738 783028034 394956430 912500371 959491947 543319299 237485772 769464766 162911219 489996481 123376862 424568056 642053619 482658678 995771404 852058043 292776631 48434025 315145298 785489711 557229806 661180869 334107403 583334169 625706257 120876532 954367918 482923786 573002890 309441747 124003616 825049936 216029425 788258219 293724805 949683886 592408432 86391272 531811674 758468827 60836026 59444282 581977808 516742981 301614550 265023245 222625777 477170315 1214618 220013766 201217493 107493367 6269362 457678046 705506970 967633103 839052707 76248413 641215344 859547225 642749217 686495795 930036912 105626463 666422003 524525313 362841721 378009713 686683868 432964448 386287769 239387662 768990697 667388704 355267039 153715449 900944614 818826192 199433927 606066958 513754439 232281423 559534180 646798861 985833859 460443716 863090555 515904954 411973338 913348070 289516317 848440706 397316456 859831756 749985278 931710664 517020831 521707605 462055702 808065213 517290285 397321381 419805502 74339581 548028415 771765978 507040718 617480487 699069923 811826696 768315930 643918537 398568652 141877624 39101687 90514730 663666581 858620319 295823052 582510114 412667707 547112843 708674309 989244862 146409147 802893211 849411728 68020995 979875049 191057930 247640909 394177151 728974211 608351775 812985496 231097212 478754485 521152823 906009121 507281287 524265716 65512123 281721344 562605978 643307646 987179187 246774226 254265749 402834028 195004528 30078801 709307994 371788415 540735822 486157783 454264078 601587918 173405083 866199135 536489966 414919460 488511761 490614590 348780095 181180734 143266661 515343187 805696844 445025325 645844408 438030786 716643572 557451838 378624384 432339824 436951901 450036664 489522979 830159764 770944651 888036813 777513281 763492245 925457127 832717283 336301830 631665965 570468237 141392489 599745402 230373201 389825674 610054332 375424120 763996486 192085390 324546921 147923494 562557826 144217064 873221702 995023904 743011972 250011152 730381537 534767283 320152962 413362329 52662392 772782483 441273212 139791375 659177774 4342495 224951020 994086554 767923562 42320553 913764397 986962944 136664568 27319620 201762465 581922525 8769754 962840316 345645197 439802297 997804375 13673736 532594929 608542327 440904724 221471522 716403054 249163395 352705773 921742284 278285968 925230413 731634798 359414403 877158380 855055132 290029913 822805266 64124702 179163205 374400460 52861748 939127231 539780845 983647507 277518390 249121414 928357270 826890821 908695237 326581465 357563754 153292857 183881583 331696819 839679814 118781751 53988377 446967033 341229196 788536369 820103627 455756895 224105630 116956237 871745609 339401784 858878909 557322468 258081296 467209354 124630862 12040444 544681239 109035534 251285883 718914482 469323441 58015014 242587475 74662789 724989583 725905453 792580692 871664697 36829263 667606042 255872205 913807224 924301405 599917372 409581296 887217753 651916209 951237115 63811249 141145467 819890526 343107876 846796855 251728820 729506523 800873301 784229317 835330795 537538544 89715963 702098143 722687369 469371295 474681998 262681179 339208588 977146696 81751665 994920500 565861398 622264403 191780458 357577808 36586657 233153976 653537858 3389212 8241721 918376800 659544392 427416397 632184226 318725936 392414176 620899820 624749843 175025636 492391151 922175019 367784025 825649261 889125224 966028357 359131298 777326576 729629108 134316532 812984680 781371107 192549661 363977022 692212365 816254263 212929661 415520802 874463349 652049567 735581517 114139439 732719289 433022297 799405099 746510761 250148803 568136738 934733903 599149038 870965445 951388062 16238842 660811329 813152162 362788600 935179156 782003385 27618848 521130105 780861822 74667794 92746496 879256969 636653400 488981859 954549391 496579019 663342150 793417200 494255330 101314014 766370222 235785040 557533014 892185694 165908789 116101126 972421666 993510232 256546321 524859864 303826109 943888772 872682917 162212090 76624219 375670643 80489433 495724460 832307571 640263644 868548560 738187749 276401238 47847131 200519526 289542967 598809447 179002327 726232603 549508524 725655003 269838872 223936349 334035993 478963417 989284547 368431096 202815097 383379796 238369888 969288490 545287336 423635309 330453696 990478570 288977738 562223312 247970725 540552823 823921550 739766526 570113029 663747938 158474390 657779285 647278022 122082994 298726602 814266838 202315387 418219564 584700755 578095981 178705385 519165506 46137649 47505394 460354446 26060055 828931057 988855478 995976460 888884852 629392879 426439095 776262534 736811035 38263266 188293420 678855065 134332715 277077041 187723951 850772874 782345653 283494569 122086216 165402537 983351708 55850192 129787150 593594044 665117196 371824617 830387215 566004230 970062478 276751586 409070115 878831346 818366875 913510757 996117858 697660755 641010232 811756174 752402729 6508856 481669985 518790075 853723346 196914987 743447141 552331480 854438697 607166281 452629545 293678750 223823441 283311062 575051376 255235781 806662546 178520491 510772105 784225715 395815746 132538058 426522262 640436606 170749845 306715074 602317979 98611126 422711490 338071358 358846739 397539343 714528707 781141034 714331554 911518551 360473855 809538314 355398631 943320879 823108261 606614061 491308796 812125348 573693390 400271479 829040835 496595736 401530358 413071072 145917851 822245716 142336466 959497229 386465439 774519197 878913050 700691813 90648712 739351286 843567369 59633460 599553319 688091210 809630504 245908140 609279753 866942033 545577467 486361030 580102580 626251211 518730547 181870821 210008767 624714273 969888288 675793317 510509275 181583615 848477609 575354667 146577841 706822570 915297851 814855131 284529522 308548917 539711157 812638153 466991885 820179713 400189465 222450404 271035636 925000291 865775525 530081388 166928546 664815580 970357109 844876624 534218373 670146404 93412932 790267822 752538463 661089682 33860151 40936662 590377173 236178529 803312909 73722187 150000259 713362239 960555224 99685062 125406062 941305205 737063142 701162885 299081148 926764881 356642626 373120399 469603643 983692820 600303080 755977675 945941455 704061389 558834589 247623151 740864865 840613145 688643797 830601429 172194685 528815539 59088441 594790026 204801885 96579191 785447071 511066448 456730333 618285596 530981018 253785903 278328105 836467735 630177237 821942635 121255177 71222171 227707090 827013527 487232174 677516450 267489829 960329403 632902944 330689038 68791184 935431489 677540473 150011167 198470069 732445371 911691815 531436248 190487964 990847028 451175844 727014088 218082583 542705356 787106103 225131350 3960144 288013603 637597890 6243153 605872705 765959609 47294144 138055903 865368154 453324388 994141439 903447940 972997016 883241182 613281688 361288312 215542321 797063982 334156836 493728752 245683271 2881753 84364717 145421728 12941615 597615991 627995663 742854735 419647918 784197310 997620150 710596502 921444675 985905879 231286572 685453837 477712902 439721165 744932016 234129862 834284076 511554300 455480654 827022896 974152414 141280676 452300244 172471133 52388596 410294082 716727964 307972011 794280167 658985315 949937331 803235969 459815239 97877115 346130919 628344384 289790261 347045735 624394510 353247155 849648835 544276900 842306214 690672573 519436505 521682206 842961715 555998662 929020634 145321359 469067488 198359144 310157125 759639896 169606164 362457687 938684404 936443737 927256497 589124420 459624531 66655599 902469536 445773880 248654161 318891967 125226316 714754181 380411550 659705839 901484107 102856709 441023080 775316703 666452479 589894480 220907546 379478830 709405143 910489073 812635622 521588184 295436068 965997406 268586409 176255523 297399272 610610357 589293647 35244684 600739340 598730350 159069172 458635768 566313184 196677000 601972752 5999778 670637598 379398915 214808027 501184350 76516285 23299266 37316769 104536748 704215862 963764586 347770595 973157522 926711277 166763813 452430174 648940438 277608849 215388392 185076290 221299173 790386705 195397761 714592520 570878051 376577888 409681579 303618555 665682593 767126066 568157359 69871207 958388730 128051360 262774053 975225555 63973348 363236328 2811613 557243570 811759992 282032476 390643571 605548802 705908794 340205749 503294134 765408601 848930044 256336052 816172764 956524747 57063798 787446007 210465748 559174715 891873802 728316321 401482601 428369784 26884222 167507402 975276146 150492037 288580118 308931893 170059319 525343181 605233135 522673673 409190863 139721835 238473685 482752923 674997100 28953062 917702145 841160183 694154642 231150799 427717872 630017211 556483182 98849404 614521329 961092257 930983800 881887424 14697223 460236797 661899208 188155429 20832437 2628371 833174619 77894006 404672303 933256829 435495008 723461730 338389989 193057308 630269363 263669458 979380785 676923185 953675920 290807665 652917832 38859659 701847841 807032273 239956377 466377998 370127347 841049621 205346252 521730643 523784057 710462864 182141219 623646497 526424952 778248861 454904612 518091399 622101298 266754318 933715472 144648243 361967484 724681360 144319047 647292273 148419802 592877197 804544346 760695422 687983069 669878286 518607955 80335810 834853719 475760598 28716835 351495874 46106882 119571393 112948988 753522868 920100786 365821859 618169068 413048741 942457898 245876350 127746567 770988550 217092818 682623077 801543902 185988870 683893408 189622913 261265970 341333990 583841921 806167783 57291936 954957232 776443296 686017039 650035499 618410424 760337205 919782242 440469947 323628966 444480942 454876058 999583172 44654624 914951814 581470805 48752969 699457198 997276492 718780447 295274317 168071044 114553631 585568451 399571069 850056256 169303532 386123266 4595921 541219880 182979449 540846426 268437326 548279795 487661918 747019215 248505464 830912279 731415831 24910224 539165936 998297688 556716992 38713875 458014033 262372967 2922749 260908266 290135930 236166855 800097162 963411836 993490348 622581833 962395138 298199036 921649318 658982724 35162551 407544981 162494372 418957114 652139122 522289289 255495677 807176209 334843402 802270392 873048927 387773619 42489512 286055314 305192188 871700224 145603931 232673235 392983571 635279423 992339228 140554197 554889717 769066480 952506761 993567649 418544289 187489691 484152992 75001156 689385196 286238325 202119886 12630595 366536123 150596066 80076177 855981915 114276814 211757946 755484848 34721491 795018592 699822796 824082594 605304209 626153854 101046446 427850834 582575080 714060277 545422378 911555606 638687899 206249340 324201722 684110331 24514116 687449850 414848344 724255751 631455720 529596501 168404022 405295302 166222142 812991578 991985020 383863596 998168740 258353579 225054982 697105409 666764672 426658490 297289597 611170070 239526427 338537583 346770095 860332105 494742296 576038425 789480765 762828587 439804887 901368517 17108927 534188731 351850656 967442645 360011826 766370319 285510052 481047018 959145326 349966116 235304902 53874907 130574284 542400016 431417815 830407577 272817651 558462793 937027137 347476153 426697292 604772017 710297001 486284514 429556295 457674044 188401626 682465940 363423350 228735055 841951026 788201222 548605914 418745504 53390512 796656168 551963467 564468585 459418964 20366053 865399339 324837820 801961711 853787987 137294553 774305821 799176805 433637587 821117034 919964509 37812757 809776846 812324805 463712772 782329796 360744790 782557376 882120364 625377900 782433973 609597468 542287973 616896700 565919025 975194408 860054856 582937685 959539007 758921595 967933974 470254531 419587286 508135497 129062521 177951639 235504061 495351619 689556478 522520091 732965473 895454498 207334037 574258843 1313320 47003437 8091731 936884483 202764572 304764577 502833581 744268802 84192306 233627578 286484614 474937230 731630269 576557127 522074709 811484739 2096979 272906426 177706543 920711060 102218397 989358222 203982259 991696074 397133111 304210982 413753425 557945123 112804985 321620997 190711870 608761495 91307065 113769055 819348023 796479220 343890383 517173907 2936753 994605594 368841075 112172818 960482121 985206570 983034566 430465601 224412685 955460611 781728059 827427700 295556994 764038955 967041026 771570842 790890888 908081918 131124680 674596584 976624752 134201418 326322747 793028175 150046844 439629159 622401953 798249475 628857272 200904869 241390061 444607829 965559415 156788817 326494725 306828400 802518107 646277281 934274759 439251930 800014433 108965833 166798442 399869424 752407354 770211918 120808414 809129003 684619463 781842014 542703014 514330259 84113078 141363904 243176349 866562482 271370057 386878051 160812931 569109584 500359838 700993221 453549513 84167115 714636431 214966738 958456192 664565440 353309694 127997464 516610601 471480102 183333989 915466360 895129185 92683057 669275459 552499033 616962016 422499099 744651275 682321506 506179251 476217170 718965600 18934893 312329806 784589309 426980259 900984529 545868847 329995591 467729714 774920824 108950525 448722811 450018306 100387979 185835318 277505918 931739025 179873503 157961604 244713525 581330694 595823079 714418476 161364838 784646875 814319917 143421640 303534507 831914008 26953906 135017502 145965632 932804984 910455371 955740012 650674588 477850681 93692368 240096012 306470751 825841976 674761967 727038284 437185772 237506175 796782547 111387358 625134441 742394860 484468514 455440082 36712749 963103109 118484076 12379310 147026104 632031106 108090030 640754494 605024843 848483150 520891623 636586747 749455248 541183198 809223054 478345628 167137485 483974492 233757929 591590035 898697979 636223401 57058525 809318466 980601127 896686315 508789150 956326948 738270878 225634285 362295475 387161088 656609021 397350805 229780059 643547645 827974627 581495733 512160368 395688829 270080946 299625366 274038019 922058129 950297113 656732448 153521122 450679728 782542115 301664017 923147715 681931562 564602829 607691996 646295225 874642518 644711537 328207870 865142030 197115845 699609859 491546410 815858378 317481142 766307157 790802571 202921150 713867277 625068022 98542112 865835164 508992971 58170876 996350177 2063010 677975039 124737849 263324610 609232157 271159574 930512268 776437925 775774890 466638802 306816112 971446524 948321946 953642292 725086334 715323330 484006085 981472836 561640214 784047906 811286294 905542528 853113678 56274481 649934033 991226281 512458663 643966388 100144864 267131729 355891742 520554994 392462376 479592909 211245308 146306978 149930464 486503652 353202255 305994504 243568975 132670216 325197600 724923163 606679029 806056377 879308286 362707863 239279382 813871944 499075931 9622830 89264286 462679048 405064028 460599864 694610650 742250419 8585792 149469936 700774772 304700290 296165430 584939483 444077958 614853682 426873865 430119013 51789901 433250905 959311222 668905094 648302054 784698955 87862889 702772452 711198394 822742214 591583173 502877224 594811886 157245741 602498971 303714478 931143921 180014049 318081240 468671382 961658070 653762937 714713446 242605424 654881089 297166101 356911177 873174980 341563235 405841234 685132110 508838508 446123078 532401883 294111787 141892556 786047108 521242259 973118248 489268128 404074495 25929590 140655055 893859543 235694014 379406556 541689166 231446595 763244303 553985673 842012700 893200921 538261130 730918542 713957580 495661532 431971653 756268195 883727830 608900080 965180648 503052547 613180086 81527859 134846089 345821460 958486308 921942464 777151597 445546405 527995075 206122544 759302343 57577105 752479053 285522845 236390178 728123407 430802956 111270847 672149327 194112790 873408826 895045976 181685241 88480398 143354770 300750996 645375559 539070693 234180487 147821011 514144373 743842537 282056204 499140821 426759467 133696878 468039018 459195451 824865096 415956293 976870370 708084975 163989000 803095583 688026407 936341478 958469447 941815287 847687343 893208128 129338976 221660364 673347163 335826270 410034536 535247821 924228115 252154769 446909884 295471185 1319018 56179191 554804878 948741996 578891693 881627541 386567379 261426825 935796658 878797445 993007542 658766451 856839360 438751151 945950909 696095977 528577643 432187281 245505094 284486829 318590009 697202365 551743357 966170766 498551925 916344778 935889807 547501021 813908355 325309065 577692232 695440553 812700754 614966213 750405905 489596329 807262894 642676930 444467515 746540155 506348675 234695870 288135830 866661273 962277162 847452265 598693600 789862322 657422737 586541648 121377963 258477526 577323645 875885819 551526716 684584631 256209070 326486753 800851099 716495153 292260817 838517971 901955517 44424883 651970913 366417007 324050662 38010849 672607579 877719227 32267187 522220252 31296963 600874118 966522933 819708644 587035327 543237524 694554877 194222042 896896923 384813117 513476928 7614049 627474126 920092486 637726746 673013346 26402440 497845818 559283734 750873022 930451 676139203 561287199 126269161 434713718 788306982 868544035 521778574 299200765 636611474 943714032 829257505 3535937 51552984 591956147 101809203 843329371 934608974 396083098 653955884 442498481 618457177 953420164 180018868 575250541 314750170 605391846 459490191 629907976 969350216 126204631 318948083 783880667 641431223 590468231 240179812 993025512 246599234 376555081 569732457 604753461 147842007 369331502 440744898 363504197 712907522 778650165 727331924 782988064 834327915 12915974 356216082 435749802 249569814 14786342 650198389 891556424 580133275 995398656 815794581 771238960 652561969 885702672 903070385 434705206 22420796 461692186 878498600 77932847 369181948 430592292 985150970 962223296 168358872 472578215 961728451 395733801 313599252 77461978 289013425 375688366 654719999 951421396 517764076 933237366 455815991 141157669 37790544 855431615 352590956 795280914 709198199 505424791 96016039 839923958 455553292 33372639 246631463 972313768 714462801 619449166 763580090 785090807 646172914 256938632 381881679 284878436 269669953 707154879 177546191 830251416 354118534 941511687 302899584 586832360 527493928 711754461 563305565 31824393 512808651 689370288 479133188 379636809 357236787 248223616 446588296 888200022 932857527 431806277 130764162 389321984 85609386 176798670 352602400 645570688 569807913 376408201 18063972 322591619 141796094 59704278 366868739 358426624 203853278 911442460 121028674 223163814 888263907 364351607 165096182 731841451 250684920 762454125 862438138 674470104 616877730 277767226 794022707 205699402 412322395 434983989 728964448 425473980 956593339 269473314 908175612 828717239 661030258 807519210 930008275 206656256 603836781 931101696 706609874 911324735 851056900 336408992 61537478 187098175 822923460 263903009 170781450 499589362 240816264 978021544 93170350 338995347 72879465 977288825 983757579 143763987 435717126 47190581 184684021 923192194 407076696 450721209 511373731 485632897 174275894 476692355 403348209 427686406 310076606 894004439 941437419 379814715 851120101 96342632 691745622 259135741 769222351 560930526 31859843 255998408 695613636 259094165 511629507 575312194 407090941 435611249 213666851 671942465 493431622 978115998 90006810 352504942 911049851 614822343 986884508 320893365 201613560 861132989 490740704 552105423 951732263 182657355 874687878 17305448 667812753 454688983 587127313 888613670 624003231 217670522 244437278 791290453 330234970 699729068 747288683 701511558 343215677 901122827 477045362 77012012 411198829 764979541 399966187 924263810 760598149 955781919 521815931 683329490 179987575 103410113 114572232 791999654 299255385 506884605 189352674 754866182 212582508 752938030 821113220 463071947 124247244 109068215 268757115 655339547 287473727 891538899 778838118 810913820 807751299 654835545 425604492 985735815 786454168 744330827 777985835 598696969 258367574 90386977 657537581 673575810 535353670 198187446 245891493 299716057 323391278 426309175 834408589 718044699 984541936 104539470 853870576 911170297 468439932 93955771 686559224 659232505 577572501 268115393 655210940 429848132 465589007 619119960 179888948 240117541 191837096 599548394 748203370 681328619 44943436 354462164 105700841 170301357 419582282 424277923 12791847 609388972 479112989 164215346 900672457 461275490 941967960 207191997 521939578 453860424 441954097 429682345 710830638 827997356 36680515 796111917 689938327 616757104 363971747 810776891 762871429 608076302 230862250 515147705 702944413 73677396 979818365 758317697 801972619 807806005 755738018 895871890 45022457 873024108 883206530 108618638 780682561 93077664 583960312 383519702 718128302 575493281 325143915 67377694 588384077 5137397 898328967 578183005 818212854 874687575 608130112 557917654 534530232 252998489 198200460 600411979 914034271 963354718 683814382 817915416 467767737 682904883 778044787 765821565 159660626 486155587 190470584 541259440 29384189 654345192 233868993 810479590 649378197 430231728 302486091 448185396 693306225 967223614 273184839 664134548 115854311 312712858 208716681 763041847 489426285 208703426 40327228 54336227 907455579 949583679 240495098 336599024 984666999 961678876 764142674 548043596 971259155 195927082 935140273 229715838 421856116 441902184 397176400 463909829 618725179 520966368 618257424 726868268 827937299 55050838 869301907 506844788 486189916 397628636 809106536 463009319 752669035 683743474 163777404 512304720 175609069 95321361 912569176 157319687 345671968 735503607 441364728 126774022 44483753 419063415 544713763 96184040 127232661 220797065 202834518 700712003 962663604 176316474 439039355 36276444 754815325 110945964 143964514 547527498 692171141 203595678 875477787 267078806 130724466 72416242 548941909 993045809 88939118 507635292 487649979 684153306 861021638 443456082 938868096 833175403 935477062 404164311 765461764 106587041 138462655 292423295 31943711 157861430 987207123 574611553 991287148 5473343 394425511 747496613 311386437 155021286 833439420 530996145 578555903 333687024 95787789 280676549 282815345 472568002 479999614 843909092 873838891 65468973 989912916 510100195 544070100 952337598 226384519 455894761 630282474 365030082 766453901 634949166 178378565 927477206 67711246 441141157 609874617 73559985 716628410 738165112 287260934 833374877 983250021 921444179 554481019 533353850 252461911 699315401 713066953 909970892 927822297 319169912 424574596 456540510 224487007 340551585 377859527 755180626 719190782 57516316 688766800 489866727 75284239 108080312 990743597 717817492 476063663 531427919 764289475 646105938 850667560 592307923 961905492 171729172 65832006 638352730 79110041 725263956 906011305 617955111 764694614 888185648 872613375 439888373 356992795 312283285 775774547 412276505 876566912 352506503 731299647 820129533 742137287 416130662 279440607 42924681 567610647 29429281 978824911 464176976 580114204 718492256 172631130 826380448 403581075 982491070 16096463 398786385 63312837 171311340 750216824 954574746 256923456 886314762 329421848 695109665 448679576 735127647 415790353 5678235 195021167 139106789 721795772 920555753 483457415 916366641 503950236 407426252 640946667 395036628 895070876 845176077 955958659 537600746 239545046 113495083 111573458 746833876 919356791 652252634 171407912 715692553 952771976 249524914 102797258 988130067 707659098 747320453 203612228 124320730 137737626 59458188 839103376 184165417 303343553 332259473 361515663 620393638 29190787 379712391 519043026 133898702 539813517 379086473 734699086 268760209 781655803 769954818 742908168 166422511 465642246 369700997 638310682 219007162 122230984 60437595 713122432 549795038 382147205 422364838 346856064 848028469 660568337 739331472 669669733 719064644 94674388 949853543 781646621 346109669 456218159 601087575 504940249 80800551 262989854 145210878 835492792 203228109 793649372 445806778 152638263 649559128 893972979 128589992 13917656 546518587 801629019 225012032 594551008 333312356 87886096 863738291 436668968 187374675 883404373 537585806 45228988 678800585 256119132 918740284 587405605 845611681 731807641 580524548 956040639 874938813 504433538 497869679 497913817 82929258 39353532 121057359 732224491 532054724 748883581 298896066 139422655 972975060 198933293 913036124 965187175 595852565 47938205 211946110 809041539 460586957 925049794 505995542 851766098 931685581 430600588 975942622 717660026 655061972 627499854 631097841 475284687 789268387 282835502 571638781 490136289 991222851 767352340 20765423 852028826 395676405 34262490 538134241 480543035 179634827 344050701 528680593 761825337 397247813 265934606 558472064 487535312 610757068 296110375 845565039 157523814 647776177 253679671 673990063 381126536 315125388 723002762 302296147 465228904 6456707 997543563 480231782 866984877 820344108 439667744 570496929 819643675 504124695 267265365 50363189 866621584 571114857 429325618 945953413 263220460 743978898 495118888 794784127 571674324 777978928 896253208 602902862 896181121 126439817 419190802 820797122 853015298 86878822 503069782 884808208 2396319 221423316 242151188 138448635 732381013 586985693 275025408 753429205 222726716 902317953 16422579 5985634 778434907 486481183 14562848 23737686 808064007 483423046 661516932 293752595 99466392 423644641 484578223 150838242 503555142 431785243 236309901 171826819 886560254 192403004 260004027 864923977 943513150 218190683 492310662 242999991 554346903 340751288 497192866 674832888 324274429 600053959 868712278 852763199 970348736 732855679 97009766 477239488 866617394 754824326 28941267 847361379 512708732 492886151 8076733 131693834 907539967 351345059 815401936 198667209 97405661 6308365 563129965 375081129 744029027 126715754 591496678 82041637 201871544 763649232 497077974 886140382 564420656 643270958 843006299 930556574 624168699 278113868 290098666 930187098 942643296 650080865 100260631 226744651 52968960 989921114 371592699 675981932 343726685 583814097 576225832 884992283 766393343 782233664 556697762 926909244 47340097 969860222 975746194 292308240 290764823 171179428 51507435 323784401 643595727 663789271 591670546 798195079 871748734 247822189 4660279 615296589 29179991 619862620 240506003 573064729 829141135 843402216 275607182 948703013 480430682 846559679 64728148 569689922 842833991 163707025 658333898 120708479 272754894 558250807 262883481 617441555 977602244 762662125 491696552 536671610 347377432 476931689 597908285 293991221 630080302 935052966 760258760 195921732 378309499 536328031 531596644 260035078 296676517 163918002 495822283 547567960 437002444 352889103 172588736 897358827 491736943 104188378 258406607 101216468 968910796 170556222 784043115 533942540 264939063 507483990 170521495 304045169 598072872 624939352 678099384 857450338 554151331 381571884 696592562 481228332 493813895 101514156 477491937 150998052 648814118 781507924 582013737 645898506 168200681 220846852 974734632 868480236 433815358 541663115 465204646 393774957 759219726 672006022 354063771 559249699 293280862 323389344 209806960 682134982 16226041 739817313 837238445 474729182 725277247 152955839 193244044 954269345 433785737 673004417 806131694 846551828 395534593 655304235 992398898 578725772 49705604 619286049 719144872 928913070 713772080 367333189 473119442 962806872 941142632 846716331 979927047 970676800 784516733 144891831 18084776 433618071 538513138 808360024 795209561 697755341 810404710 418984059 962857057 737546120 679911882 804191556 370355440 987875201 136226722 237995862 896455278 167714782 937339410 722053791 933564426 274186482 188269388 941733443 344191764 318871797 837807810 888632158 378388984 195061101 437759532 949404452 904472935 145148728 876431827 461003431 471291325 924239159 377425113 162994638 958026682 923241822 392278984 210355241 536745337 468376496 484277398 906226673 292684942 991741748 622541091 246172487 580217689 22685396 590450680 107466958 658876172 358024936 190316884 378252684 904650593 187570457 899025903 97094777 635087575 617292985 755042894 297708488 901648351 945501187 237820321 587640805 739990219 130577148 98380482 9789070 459484248 906592423 957226655 870732693 786130216 253730426 897216124 581311063 210571695 855430377 133874502 891415609 700588906 161337710 503621392 362820727 239769254 57904479 637285656 34638224 546260404 629261941 178923949 276669484 901203956 852883042 138218303 44131130 68146013 689759159 766948345 891054167 272733947 746774165 625242452 266301649 903672353 252212202 809419851 461668145 565879524 277785336 136716205 961079392 161993328 853973353 553175779 747030255 877664359 254633977 118058696 119967049 360150071 539369006 14504138 204053596 419093662 388848679 905422222 176653566 205776155 47097641 235924884 60768334 503456476 110925094 22405939 784981849 917199771 540518133 790718439 74879211 973407857 427694755 367194918 929413737 332028941 850641538 114625731 60211175 838470885 633103640 345944201 532139059 6657879 665494396 383420150 716230490 758947349 223464516 250380479 288240817 855534698 283574987 497378556 144677346 722861687 278251564 689995575 721447729 927805285 44377995 157337544 500317629 53440097 133830320 483306242 39470633 251785808 564165544 43957115 600057361 131131660 530255184 272270515 543107514 393793800 471455453 252892014 832986250 977897948 613069161 264052608 865361792 995498843 289197618 62700252 238469824 361463241 934697646 534996407 787576726 446246705 986341271 812808769 811310891 58154567 640473787 803170219 694132471 788731771 27407864 202298679 891667826 846132284 552030447 344232569 684218462 936662416 221692231 723576261 377602576 88711669 377090146 926134000 342343883 675667420 492012235 331586022 939716055 523732505 871824933 719087285 51335024 846277162 220784850 486562763 52333290 121704466 523394583 534917957 225108466 87073202 308929466 94826532 300204386 858985550 754640581 836810630 793002629 780035976 273327884 125742194 986854213 453290983 63271873 131829120 421088724 798496079 907161055 305865397 307926689 997136831 119239620 351038759 11177169 127501564 917296696 368649054 869706936 492487764 312023672 402458784 547929639 92186847 247387280 449770386 530234845 234207469 789354605 489869215 216824851 93279962 950270184 405445602 723635889 937866664 18280504 595602591 989661340 995245136 552924429 536405641 846530789 102440820 314591508 951936395 326866971 859975955 469616875 27491279 26460396 417736209 210834642 164814722 272097522 906663393 700033932 213294129 105336018 35032740 688715972 790757799 418529370 972172501 489911533 965276037 981658303 732227829 833665995 822258748 148548408 131326713 376562873 444656295 942936147 306671590 795060656 147479562 176598582 52437371 898567266 482525196 532991315 173071978 626579238 92679549 893397726 211524378 18954670 622555407 424700927 581334345 132093638 866592579 647329461 965927553 352751437 97116384 83914334 827061574 690041745 338913908 108437623 234195875 431289287 635717873 934376971 99063071 775854610 503016169 262316815 372883458 327409686 366724952 741313787 712198578 877129778 975573942 352303803 860844725 453504193 325680350 547531936 722869255 283557044 704504249 268962098 219269690 494206188 457245472 301533080 567939124 767011792 252096632 916747891 980756134 53552828 62540903 329622592 883115617 323923145 805292375 317278511 485803242 528915389 376369293 136165891 828151 4654805 821511872 523531885 133549943 222739966 719365909 69065 222330250 475250016 126223243 982366442 122176338 419567145 932154897 112569455 285864427 840207145 456563376 512316158 483480112 114720963 391508010 417475935 647321403 45659389 296216710 427204634 45058761 382678315 602238270 714651347 851537359 502992949 627722663 837061738 853445882 618066381 161517237 349011302 535447435 241229635 27900417 262008654 658718161 101544730 262932239 191363557 831137419 534102079 514853749 888393928 430043169 949136583 110870579 299071542 477832305 348013765 132813376 456902981 269037111 438210493 100317842 175189530 836641777 967316471 566193775 823683609 13792435 793370777 948512298 572616286 373127388 642918907 865852242 137735964 771768818 821430704 259202704 727606822 17441713 798872843 649305515 661674667 519723860 825702934 957397563 181800746 526156999 505808158 11846283 212227969 163397336 658263912 565585749 450021873 524472996 241237558 182836866 715633150 437554437 742254752 692477733 649908719 884904595 56989759 714954578 1118040 912257060 82985987 136380080 763829091 323793847 801120032 437746697 21940453 261704117 762727513 132850826 96949281 197685222 810404291 639332681 506997627 596278897 607156267 719872726 557768878 685890435 341451482 136820527 524376208 97496597 400602865 664649785 406942991 302883350 603948939 453629723 702098648 861208748 903492739 696396966 584664076 468104408 628521969 548436754 442137680 32071491 934798884 277940708 30312580 538347969 28218872 769730999 840044959 563203373 247772380 619500568 423275301 276548911 760824193 440186375 712865731 417333110 877669407 197168444 269929848 438379253 859651639 803166390 914899692 987139842 378444394 273386826 311155377 388695446 121948623 426351207 701284322 741133949 630302001 18701627 505833150 483350536 236453853 913090317 716815989 35739352 927967576 993103147 274029468 291848327 880600292 724058872 788082103 303791140 569494802 568669360 774304784 316374375 162135840 541573417 787353208 556153670 363817452 710376173 297934874 738088777 100758853 757146873 729430934 370213823 361213889 68775313 666706093 844067518 502505378 849118245 831262365 279191473 357118607 828022459 258290301 587602858 467978027 109303947 210174709 215038529 454845355 893456752 521301021 142253423 252322124 777758338 859102675 133775001 680360980 465523279 410582909 39165310 827403804 778158051 3144891 24385042 270792765 841490905 920529096 704735912 158559958 443834071 403899223 744904816 109270586 707703473 90108891 457908099 781094484 693323865 995247998 634071312 275542463 283662689 131693281 578601719 168995113 413594541 424201811 588887668 491037284 417597503 635303744 193904676 228221150 64208357 967492412 503429057 395772926 402367572 821828904 59470686 308469783 715761438 666558806 30660819 514537245 815855269 332427021 174900860 115032790 704149840 508144100 95578667 11837829 173153358 139609266 746066963 108175462 206110360 44793254 134607318 589763715 495585857 741671383 205513383 817642889 155660133 213399118 436426732 611123594 954633125 741020960 950151090 161523216 365899308 841374824 290807560 338634459 297981965 777806733 575382577 247887663 839319585 575597372 810344380 368638958 227959404 362947020 408578514 707701732 415175693 854242015 542544706 773710359 545771251 585014301 816198797 274454245 882942780 625370615 352423045 714474122 528313767 739814516 828532420 274756070 10097481 594825827 47965483 615566388 783666397 834827261 764361626 680082331 817485973 37585137 532932634 624474786 477742210 710808800 845859668 441783839 173215903 968372185 523801291 641812760 688816080 86980611 10905044 550264546 158855890 605463966 663122666 549408379 962400680 657750537 881398390 830467424 290940587 517339748 622842216 60552945 844133166 558265485 382108760 261725556 528924051 688108544 49934819 725746113 727178518 516393871 447521085 516951869 626071998 857352011 234589978 177334741 686606462 261307373 573996138 350354718 241761307 362113210 721924848 754407331 393606530 341158312 591523550 218610050 210127229 697666178 939446174 123871680 930678639 953701464 515241355 575698876 241577320 658065969 485679108 725032833 287311876 690905021 627376657 729604629 818456258 480249759 319197780 965273246 167547334 528243008 292106152 7013809 573218837 232485041 135580565 605425520 452702450 933489898 179797081 90928629 785021250 213212656 269314234 699850396 658274843 396582688 180473189 681873898 409361522 522092098 746172420 459565279 472282388 694544778 912660211 982795004 870033233 451964808 309540277 433448939 643983995 924470279 994310154 268566641 256853423 632777171 166320262 520998021 165891617 992507075 580645414 941875114 184656274 865621057 275420642 73216042 175365990 773598335 617359674 90273136 524939116 719236922 246819086 161724419 985046288 448071168 404230135 630643739 637650535 787117098 578552586 165016656 491385744 721642972 180891371 699590752 70399590 519947855 95089313 865601823 564701039 296204701 918337366 835723875 854960888 658162860 341062987 996260151 927439397 523508037 477438417 948393966 572024287 542681008 344852328 372493921 15083717 159208276 804261541 908367826 980409162 648061489 218175007 912504572 963061034 217159790 912596581 597334759 97480794 589114813 905688441 776917819 800102445 290312080 302906577 313318772 882023743 82787289 425724818 77965385 12621608 874394483 726721733 684096861 972440255 513868648 93775046 501437124 448330886 15214903 673721662 982875602 124706840 725963606 834327497 188961641 666836559 917412198 701530052 910800019 579467960 481721152 124718298 817635555 429010960 648840819 677441968 616379779 125072999 602694495 95897703 997848674 216926843 840524187 922459176 416581971 295940296 504901745 773443440 271136603 24058871 70916432 130487913 840374314 223324710 205383719 827747724 917133830 571504554 377567735 789392901 349543379 857721814 482548343 536192957 880394937 891067430 617754053 619375268 521917869 426138123 592255289 206330456 666125023 550853456 73203522 570916323 805129203 320259732 291089996 582503359 450022760 457241179 496127544 16853230 788023946 364351919 843178434 299569732 13389024 778050170 160515472 369163206 812089034 665696940 463746180 367258072 211844964 979008422 771759919 758079003 486754342 824400320 412979834 770722457 653976207 587050880 193541763 86068285 472131947 425188981 664876245 996141603 373588680 481054095 640525443 731648140 136957970 805409748 56867625 257626074 556439968 524868939 591742762 585073170 12111007 681984286 379826321 288026136 178434311 304101028 677771674 516589025 302096399 284564232 515054478 926080009 447033811 682194173 808206875 497304585 540186586 214310363 720315401 187412406 341367730 508142802 460183630 229588929 323020953 810128498 96986213 192933221 192358142 950743918 619862612 387715417 651774798 374915725 482710450 729845228 390691723 296649018 894156356 538467285 353373098 516454889 833870111 388565918 927684788 543930078 665818794 385826742 730715834 451267002 219676582 417471662 226709021 847645195 786385458 737533835 712920765 210439506 200301280 10015334 515158072 562508524 604094998 267279625 247432096 649854330 124558537 69157168 10593638 289384978 835112645 432082558 222703901 409138984 73370266 315225749 687182927 157573538 550137874 430499135 620278839 351239336 826454466 833423776 987238061 197405865 448681536 941278186 184474872 78679675 303389565 288296795 740485088 395609798 408940485 840697754 88328298 285111901 717130450 619065586 959543152 925914418 105681745 861729020 909484227 486798164 594284128 58426987 388907882 966829816 585561807 657030721 696842094 777991068 716773751 550581392 503239935 82238958 182965293 505729239 302580473 181042643 741517971 196901832 439236570 853608825 326269181 43867201 997465688 26486979 390554606 99726966 959073089 682165539 532863523 861959228 895916614 367946263 129591236 52402782 201142678 389156214 597967794 318706548 346334548 102541902 55422554 225072561 445004195 780736794 930707496 287590862 560188516 512139114 883065847 736715163 542445547 312501602 710004426 367770719 862852781 846448446 718801169 793787274 777265877 141962088 177170223 974897161 273569375 411040128 750347025 507688443 334341615 401917623 873500808 263955972 422137546 609840017 805191288 388114711 962959120 405698815 925669589 271185866 27024409 579891433 487409580 508108728 788326033 791047665 391644360 42524215 930223780 877975202 884632154 674490664 833127615 349653448 467141137 278428624 582511933 683048220 224107722 210598963 418947262 313277210 788125767 661009147 987698809 735722249 18657364 772955489 401483713 741602904 802598373 110656639 582603475 747531351 667828379 548833830 899467648 253417149 832238654 757394500 778981457 566641358 75718030 574832913 700073388 265705156 239311131 424187427 141597347 772866979 577433763 430290078 633379239 157814084 727462292 664206533 492378267 647100499 9911640 655625341 626082739 420456584 842775320 177130697 273660975 656070066 242890676 675491548 634831234 619869512 87430721 323991672 125268545 992250610 126186852 681895066 612074683 889838428 786333158 579825467 106011329 141830452 660486949 289211169 149895304 902140446 716244244 683414442 143861448 463756018 117325652 504960927 352929311 825085389 240575502 811563502 331244789 468097123 231468833 753753701 455121301 776040715 997101182 978645563 453501535 179327709 102203402 682175821 895329283 331729578 929931395 358041323 314882190 588540465 946966626 480933025 503379346 861970762 342501997 407186261 182182912 603177143 398651662 979462288 686255619 631578746 945641062 603178646 20432344 828413710 131568666 171948332 849320896 826777730 836833562 599778180 3471185 377491986 352961937 605584101 370648879 667383216 66209284 832709295 11073548 977235125 173227224 19855446 533352619 885763134 342426585 6883706 101968753 11829845 892503934 431314272 657144254 347736045 64949540 312048681 313866494 238561318 599331372 588232227 873042440 896676167 439447674 244187769 279623641 796424774 503214400 541809598 548471418 425463515 504547330 249159367 548891195 688237244 948610271 139374901 709783555 987168120 894312203 783103287 474883880 131850048 311762255 305896613 941807000 742071157 43203872 478072790 257578713 997282620 691636079 811325228 100454147 382147026 167608409 755046265 878267474 406880948 597053033 367649007 508133976 301216443 206820890 394738793 932970205 13814917 754905297 699164627 545414800 102808199 526914194 487771298 535458088 467349128 107573366 802286733 626207397 155605418 941953123 931778858 646422368 922372247 728291926 563295781 560608186 332178142 734369100 885521614 127268291 817349282 968548369 654207494 12787587 375740749 969519472 613570322 816633121 821951578 38465894 340437272 110550556 798302334 306477099 596056653 770240883 867337504 930385239 651413184 903716600 535855700 400525871 986501059 520619666 537041212 617720214 717765253 249975361 664986669 14170497 330238334 104632366 403213031 912826416 313695022 295197569 512951658 813229695 973907764 229490895 567330311 248441506 735559171 436805371 286643664 641263311 397161514 558172283 476781450 914361252 534972290 326214036 920181921 667232867 283380755 85875133 811000847 259545276 169081479 316398419 798418519 144083240 989066902 172541545 724097818 521722560 238892256 8028005 164249620 554037971 393942058 612223013 175274592 904048409 269008636 675109449 869114632 752787994 264304222 526448585 448184278 498760083 271821664 132604279 377751320 802552397 539636741 861450729 185859362 134057945 245348881 157071236 991458985 855085696 382279842 621521111 279076296 819262457 634523281 439684368 242357978 849070682 947048583 772675123 821696115 843884340 157064409 551775886 578056731 703383840 967147795 865745276 356500912 116305670 986581857 505194088 375625606 390405 89486694 832398824 764475142 802905523 510670658 388137337 776941289 538968321 876825002 63857994 343936465 264981535 905244426 418451347 376856075 934098594 821026400 932713962 446594175 533470095 397626812 327766752 821185515 121273647 588237637 820884107 169798785 132416486 849261364 594728258 716498095 495017100 935861397 185179187 990148593 499405657 509464675 981922956 877644138 44898858 430473455 761771034 74182569 651453970 120620021 7926748 393319203 685661480 64623556 13555914 898260361 947005965 912754198 294660887 947504380 138382011 440617127 202043206 960761253 840537655 591121639 360917979 484645791 867697034 637764054 832037739 715589831 716682714 335721101 672782375 883843679 650265679 814187150 710662328 110797137 726428153 805153934 802847278 937406356 88897810 869083629 803769718 449398100 20318490 489560611 108097037 376881220 87040523 877755987 155957166 932050254 187261265 887419315 526753657 951320552 467201797 715241256 978006095 528542743 514020632 859755573 181927881 146581638 924924480 588794764 414491599 270919158 8279428 752455909 491036974 52707270 278321732 632413476 986393558 580351420 796983133 879068421 104825277 932953283 701786466 516208155 733664316 469263591 664672792 772615414 117111071 156816733 127610905 160455685 216189847 84608200 438661460 290136999 387936409 26633846 923187253 904076346 698507723 98825338 242386470 560707304 507066615 980878050 299861811 685191447 684204376 899103935 620384413 25380519 911086049 671482648 402168551 378623452 494171105 397148123 644297866 483058041 81732729 779926347 455041839 944472909 26907682 99658951 12408004 575216385 273572330 248461247 104287519 749266316 750749790 501756813 680934337 399044743 418172988 755059947 237009058 200582049 102584024 541398927 323981499 928289334 441406473 364504801 336272371 457898196 454574726 764965656 71534748 270632556 571619608 56172409 186463354 188724782 715681995 672674082 21612526 704151983 925081034 362570107 6207952 851879941 101989271 495315196 996556069 850110562 912538275 14172562 948615770 549254424 657891350 337116252 807565981 666882959 261630942 497939045 510101885 288785054 248470204 368728220 455812108 247647808 714315293 592299065 811021582 422085097 16544943 94019852 643189321 545918821 727775802 714030204 256159010 837729275 160820017 717787632 906570852 776409232 637003066 482821206 643799611 129584311 607845193 854119058 43532374 146255730 847614286 739574151 996620551 862365185 975335563 327691668 380550265 949943686 573295090 507677792 282093487 593262925 511376191 634776638 66159636 302034727 804274836 62622620 593857558 74821657 516616255 364187319 14428368 323987490 443362484 201627640 118164557 714928029 990323910 4922538 333241737 770913958 559309456 659517102 907605162 495947096 917068940 406747603 529327420 135169165 385313372 516434038 267354100 986780502 471597709 640780996 184110200 574718802 34788366 632122406 295287661 915267486 242883102 344750436 287572140 117989064 720492550 707119560 3860122 924783448 719817585 651756572 325368421 738864793 688406965 436824519 313650201 931721586 369625389 834000284 5492321 289366525 529210556 215354568 236723695 681005652 462997633 594116078 416296651 650161426 472625253 452047068 746070890 312681447 159220739 723791645 258103314 895875144 615860966 35224132 516913622 537604534 26295047 905494290 812580547 524139859 876936268 340528190 459659967 133138137 901321296 761352865 148974599 410707420 506148836 601139347 148532869 275201863 22009722 584008758 107105501 236342371 350181483 99138652 228730893 694757350 122671935 724251551 227472499 502817783 976303159 202094146 953064420 720016413 514254128 658613355 692154240 379531173 519030630 621080720 265211984 983156377 978156133 95921389 294748814 487361253 215747839 393858848 21129278 760245704 505401071 695052677 966263062 11874360 356387598 981217436 120716975 162690554 728518848 926315341 801420738 996014001 859205822 102302702 287086872 831688402 440427704 289210746 735413568 614379057 896783117 792685722 371193069 193999193 854095606 361023084 266598500 397498995 942641334 49634678 251068086 123861445 813768026 948788397 633176417 561836396 442881318 32552137 847527180 458294079 867396508 500766960 246140158 607085676 988971407 819670955 484669450 892281194 689842966 503934911 86211217 190574213 446940867 120467506 155823457 786176569 169364993 783783281 735851829 410872868 47516868 503573956 629933357 680658772 517449826 822877609 52362974 654374189 307738039 575039216 277519211 425157235 319820139 629131033 722102680 608812210 7786346 798627471 178545488 798468386 206694338 492356225 554367674 820805076 211353745 922055624 314618099 376416053 727892421 419941341 548592206 65744707 455225958 908251319 388921201 39048098 228245776 533758378 60321573 79379447 699966698 251304753 646641416 373374262 383528718 97751278 584038947 155416902 657908351 296641694 851751858 158033887 933376504 609214850 354663110 37607073 325950320 599053056 90908977 629909964 381994080 938944675 255106680 922547444 949418180 554296794 662042209 489341654 136538080 299594005 125693737 325606313 511928916 179474970 626647811 878830100 893246345 104524264 102935846 811016413 660953418 250783283 722303935 648309899 194896144 627047546 979713069 844820173 86013208 558245036 272743598 443291195 276726512 190533726 647300318 792355480 727588066 879775025 765109991 335586016 814007050 94243271 855907241 862315956 292856977 591299314 679669148 349823362 990742553 410985387 413965699 390869782 57547576 706011194 499634877 195419841 753875938 272255088 444242869 753921773 322594855 820545783 809352244 784538176 507057631 242099426 168727262 801192525 619155697 209915558 902683520 643389735 432985688 472259631 33373742 471430966 486784775 635318548 558836812 478179287 596833478 489018081 690316244 621182447 239149116 77240103 617275700 620334134 304914280 803272950 431029718 90749827 319909796 345517801 660283279 611396792 728367213 501554540 339170718 367216604 229532815 379055776 88911726 585040220 813442897 528630389 330423053 809583326 804439388 2081463 302538711 231568742 68620513 682517986 523958955 217745261 227390246 852668858 703630856 39251894 200113219 906030588 752272717 367702999 524892314 491488393 420908226 670727700 251817991 76053918 506974243 160003245 551049449 543296565 139403872 323540187 997014716 674531439 914029524 699516120 652234614 948639179 951295038 784663712 209895258 618708849 353130948 722236957 422566174 914929391 6000963 914077523 328791592 319707533 887023061 755869411 707115065 588016394 335784074 287666579 645902720 979301723 551932877 845997031 485034156 262710486 532246732 206664480 337112273 93572182 889902775 808169655 213325836 302890299 404909574 905267559 822201817 125577157 982662093 736145992 358375286 454258983 498414089 530328556 853119680 300751200 770509083 934481813 513847842 782793202 174872497 768870320 999926355 607471488 22211619 308390260 684343523 360182768 711848564 604085467 24565056 795486315 879639122 79330670 445461111 438908692 762339293 366250664 963360354 801340191 200420495 101373451 244582607 207611478 941703995 408586440 954579623 655605592 527676242 738677737 370757403 765779655 421548902 696302259 474000325 544409380 201596312 724798043 765863915 21919298 951531041 663706528 16348184 447372755 41425331 315176010 964845117 44373106 44604148 742046400 222742173 482318897 726987894 504632641 897148580 465383264 695969314 980367213 369530630 153641345 94544438 763606509 28603612 727033680 869679434 440083662 353418966 522554378 333108132 830744358 129765045 683639074 252986723 58403916 956242057 620018041 721063988 778372990 470097891 378714528 979891665 458127854 920526598 499890058 828523054 359238435 376505352 778215256 789853996 289884450 217819857 824388695 194574516 202032502 293011938 885611091 992153963 470694592 535893800 548474388 41640579 67690932 753951444 9435275 759928946 702458765 598313309 69116343 609140925 877486370 620299563 442162369 567147150 363022066 268085127 539584957 931948765 122239629 849706464 520490310 238350289 955440612 401546509 59711422 103219557 856872733 344406202 955171022 158259107 399902780 888451461 430709700 993154479 599347831 834780949 41446953 843329914 632786257 440416652 459616183 789112681 949591767 220918101 123377280 845938917 68749093 351765982 926585143 159276987 950761617 327797045 670454924 487568586 620876289 913524967 367497433 558581962 662161105 349442641 880367412 815225699 245119413 335556633 358310041 475816852 948809987 464610614 558625995 688232564 811187820 858570766 179975760 79167000 565211440 650413673 213943424 911559924 901954675 665420320 59049606 269102030 966559138 519631317 126451418 648515271 432461801 327059903 655963378 718145533 203634578 978823676 334403514 601009072 853574505 768776622 814962351 229962502 239194079 853279375 199272176 110439454 681303499 740186080 209206083 840912285 356732057 81871811 658560158 869317424 586900655 242544391 612267842 475582990 264742600 676984290 897007862 141462117 602345491 534963588 944716445 857989767 441144305 684456276 660715159 839622378 806377479 757054385 281386431 618360170 592671100 110773607 679905128 210517642 67378309 523449481 302276059 272146339 800063104 649180882 445051746 507358545 462420076 650285888 855032250 78624592 926763034 774405468 335149025 240527438 703408732 979320533 190935911 142542944 840375909 19303140 199810189 860231577 85863511 568123794 441301023 126666066 144593706 121777236 695074280 679605275 906888326 440460460 979163244 869465171 640325119 847294160 339259010 221857884 934141832 772678312 321692609 883172761 654153083 267371654 304815434 856398103 586184192 354608600 707799460 249475399 248066140 922960279 406060844 660923197 680920422 555869378 847489680 771376066 449374019 648226565 981657009 951152296 571290459 532535971 606331930 996260119 441645526 391753192 723599281 90480789 834485557 243649880 652568420 189919357 807856646 393492886 448361584 455351662 738132177 706679186 578427313 420207259 31511547 413346634 45468871 422394060 622198961 536717930 856351139 547029799 94925364 520181521 395692493 514073738 773136069 466724360 542837011 716123676 89216079 60924824 585223824 261481111 912931309 769444655 234163784 512324082 52031370 576318014 677753459 584374880 706257487 738490512 602650700 630797436 758457324 671841000 699831512 384252648 693057941 386886391 728185771 916575840 157818791 750695974 245263401 601480144 846991652 999111302 702166643 806448038 225054490 105657823 154617214 120583889 158452467 360270029 766094302 766808179 849672573 262977245 670064636 863486325 28770026 477904693 377671959 845137548 139225796 18983848 120216760 623586902 82568999 127564162 59800951 323908411 580749471 604144428 672687914 880393804 200697515 486312815 448399220 645955289 385671292 304677563 367522204 329108104 7114197 579100339 515862824 400489590 558405575 506639127 526033547 225091809 226536898 489389394 884332667 641257156 704824463 904971676 725748806 812396790 759717891 479611462 867353406 637109204 343885634 854102746 839903796 875481775 750283577 491215481 176979622 689801519 962221177 772536427 958286754 555971064 150110303 359688548 573837163 932252585 285353784 544655944 781366069 778583618 975602323 765022546 765996437 826711398 475003886 47655058 183497122 405561377 21411348 602604201 763368419 579735907 427119258 43083822 556638927 374343374 229965143 401343471 875227437 764918632 728467164 659719704 695433562 995249400 287276943 835162867 47367594 259932804 860156738 404876444 28646057 916951451 556311696 16176037 846628178 152935361 384985257 918836033 850123438 160896831 848692868 204560266 348461333 95511697 723052931 395456216 866831264 416808230 272859564 108690834 70779316 637440597 834925595 432104388 321197277 742274354 169565310 166209871 806029500 349847457 400093274 395513318 721923554 186872912 222376414 46434509 547096026 33709781 203579754 716416363 66328213 846124138 261398107 872432868 511077460 936589590 51539035 923135964 598252787 622263285 358289598 413305325 524503240 461416319 461219149 652958990 465211640 212280545 583054111 616035558 550159503 835413173 115067817 530107019 473858469 317653215 798476756 32301543 918956389 904560417 690752382 923812943 80754994 900070504 426440313 514930953 607127740 783353113 818025026 730283164 173807886 269255747 620442733 350360926 383922495 554344641 318579616 146167174 310391833 25152458 91712678 265086587 57978151 939599832 865705396 205188218 988749418 190359654 289134255 479572750 906297975 530277843 629314326 743991554 640990273 579080613 930536661 51936517 466413530 332977645 679590591 87256008 822581463 288533512 526423043 435697344 361374750 161943469 662316339 715988742 525027670 929735620 973826579 546785558 170321510 101323927 927849414 905560885 195435130 772888093 306019689 265206933 732615309 43039625 459423950 505519460 755920648 570270224 342222989 745104159 156387851 322849379 773373526 980138096 824901841 38054962 337129925 111909760 568178553 389946452 920223020 986269182 219331187 280330653 38167022 701148641 731296450 866829595 972231218 710262590 804574594 827572050 813534911 619417002 790612085 211818392 850329616 667515330 768653511 365710579 371285325 294575822 693659134 827287456 667151721 335894370 143295144 35767626 351352224 672330248 563952256 118760230 538553937 180250719 850444341 197377609 37160815 690261172 760838106 976620285 547174541 27962119 435536601 889543615 199254496 758294721 90068847 920582869 922304681 425783685 297147428 25725288 349803481 294246082 923862484 721269964 308045299 989796814 635204527 993249909 9239410 455697020 985959754 342203557 342091299 511859799 972461472 221967260 684645969 309714645 996153041 720583441 893925247 123846658 4595785 415095133 10604309 983451210 586968875 442125438 187297726 110973213 431017840 588617555 256948088 50420168 619725985 785498535 807366428 69060217 84790387 350867907 598165417 437714101 298913141 594184752 371098772 17184359 756871857 34666174 453344384 320736634 477230518 380575617 735835398 892577014 51061058 469031883 838940209 229244923 895626011 314164655 177792556 331923336 630597958 627572111 631697982 35444847 529769353 592636727 315204063 161154503 252022046 392564831 12994831 526841753 976913051 77408277 712117301 749141938 402851255 195153623 744359235 129796320 215605315 19635631 259463780 627373780 925256934 934339666 398292636 903427178 908089303 799332658 151923062 755820227 448294786 397842893 842960972 780344896 530900252 488497756 287242179 649786809 831760596 621407211 504629440 495751189 253448948 439901700 201126313 511859507 493165922 901246596 782339053 700137782 214109342 892687365 638159691 643052482 835247304 483950338 49241144 763372222 472283605 80264958 847116660 695854703 264392180 160946617 410612044 127977385 588077021 32349788 641573890 752724782 733108590 857786351 955627947 171566614 522770171 570934508 470017926 306273711 222951426 832463110 914564751 12055726 753967416 718811994 793712773 198189337 515974950 333811222 56175039 199354734 227269444 965414415 454658711 967212040 215652860 747751778 541836361 135677606 943336085 613058340 927791308 144749136 504208300 80576878 109506726 402556280 859541542 509808421 785034095 580342892 974993835 229516161 97820702 643092383 407688975 156814976 206933759 105199096 791642703 274131391 258893093 924827562 360396518 820490881 122562941 658984150 953434358 921882682 441430410 996266227 51922226 945416112 965156164 381736431 320866935 358798781 933272365 41625660 839789332 670397013 338207177 195447001 306200941 670130348 746459367 545196173 272606582 975898691 222392173 149640402 771835359 292884626 288217132 183073488 348447382 930201639 529358680 254412975 20965361 353763436 288593178 10446329 523104899 812273571 981381825 909019648 976551802 468530365 380011372 243625578 628657842 536088839 901555545 62412338 393183345 325582148 597021273 282675550 672295264 828509935 182258889 261183072 433804291 995117394 31932620 394276063 217138454 714180235 548152122 224095258 711108459 412241956 249314611 160326640 382342681 550602268 320225894 924133198 208321784 203777979 850507564 514561328 99908988 201263307 895194985 516034542 490378419 829438125 582632334 199037394 710215907 385744579 794450343 363314868 304100015 999509830 552825163 349875284 957116150 44391176 383695552 322157598 148018759 30380595 198129252 744025916 167904713 215680723 650666619 530014683 369153402 108490842 108520512 881567763 259512002 990281840 353439092 995733480 117944657 556940005 326577680 861355423 469400466 136459236 625416521 319945056 719015251 755840359 624547666 322107726 196701167 670048428 97540991 42420734 355993024 181873022 838315159 675102841 120716199 714303509 647171366 239640523 739750459 338824838 971923317 987932002 322890553 571143413 777729762 845119725 988291221 277755362 949450000 329230444 564309413 944999861 867001387 576385770 370645644 392054402 457796977 765181058 936350031 290103382 9648265 674027602 728970342 25810062 362157510 213647094 874206158 285147469 719750389 512496149 473952675 483693378 604658803 96627887 321534034 740374185 896577032 426674649 978969247 655413991 203668766 447888657 165838585 754752557 503363977 998649178 749054341 234735900 341970717 784666912 413375617 243465883 102318388 305796778 887478700 859255090 144485547 215584432 90183400 752690571 601819847 935062895 259706866 340065838 25777759 98758002 641970095 200678993 426110659 358139564 892769409 967613759 91112805 834200417 389216180 247766773 737932009 348509936 352815697 861349173 836453893 214608562 741569049 19782536 262144445 301657282 111415848 883934936 648392763 674336735 556574937 55105193 481559577 848979701 156511475 726673226 3318121 396153346 104514069 344338934 581428546 590132176 973993800 744322781 667277701 799470290 880691640 821974277 171389553 607697638 241225225 554271622 14873754 610276912 565799062 140189726 139970853 643837128 650888944 244529935 7974995 105107060 988360157 464655931 653402596 998707480 501432442 479794707 717066227 680510578 900834753 39557447 313602134 624608777 688918566 767154817 110804273 98578868 311076856 846291812 999960310 416092808 416007306 289705315 165076564 580574596 536895596 854747447 880667107 324676099 260836301 179083096 188438732 67228407 561498594 345686747 866102530 992713642 821560123 897970515 193018740 692636899 725873561 892515511 322129022 890897142 585946761 341579418 456239539 39191363 203415521 110424470 232166896 239935872 279030742 943266176 755505737 572522571 606375125 753405480 727195086 309223204 905756209 566236088 896694477 167253585 495654720 226718373 392719906 742433177 676352645 340481830 79104838 260296326 582742647 382890287 452761104 702274603 582715813 843563934 574052740 738456953 72945696 282063647 840707681 588274095 991211889 581622613 430759395 749007734 430581869 374980374 114968643 703603661 973021 49908302 413682437 709087216 457065669 507909473 448468521 465310056 269880062 626096988 610473933 419002565 944432141 816016385 377800280 738056766 937542339 835153148 170697013 895725992 167498365 98406610 342568131 776133102 591422142 94146755 490105009 401758247 936318773 540368486 856252090 16928143 611397153 976925704 312451642 947136446 753815807 566495687 993715165 58801424 425982338 37145194 163705405 344303801 957832604 993803720 650353349 130751909 752000632 709190050 206270388 591671581 941580244 166313579 506260720 800270040 724381113 499996821 97505279 682594245 196604880 232707167 457113377 830619717 283898701 957295907 759037189 358232470 806546395 721943278 621852584 742302813 187522023 448153689 763110490 223980574 234129749 273108080 51989502 123606699 859316966 383792877 842235452 852240965 669949614 584488997 558705608 62361400 697243730 962675234 873250024 4159341 789110185 215477504 764919833 919493592 285623306 917969917 380560843 620309034 112652853 500663079 965381027 699727355 557655192 40862199 577451431 184042218 622673730 740963848 750157794 482959529 888356474 850561064 677409267 19849831 325077361 780264343 79314873 161417862 116965648 28848225 311444860 772255969 927318411 985401508 261120298 767921508 58275352 414008154 226913929 111746541 192283363 42441409 558514103 505840236 21118781 33972092 7383835 44403446 662262751 215546275 846684338 61851554 334543941 852736380 690120102 161091906 712709077 802158716 341378863 872036779 339584061 302951004 195086328 492832161 168483931 483650836 490781138 83598598 951641090 437909596 238713400 322328223 758020505 199257218 151979486 641195304 574209513 345516296 13085720 948782276 392269254 53349171 689662905 866217794 17223879 631692278 820573909 302351962 335237251 872477924 819037669 940397210 943431051 688766355 644885124 296592602 483868923 486596531 466705090 663943688 821632255 494448533 87137256 402876262 93481168 533147435 615950689 511201901 510668987 911441591 940269442 435084829 698592976 408587492 423222192 891135173 839067934 105761322 233526765 213263571 511428095 771384573 473608480 250995809 929886267 825692866 27900037 785694311 101269713 86397413 243419183 559698746 157573676 258691612 626032645 168861848 583828396 425853344 20494750 751916556 309443797 179561126 164745350 258053246 726983725 715942354 775955964 812198154 535287908 304765449 873500162 740405370 61398714 749662619 328118289 778085734 936352563 933497502 161333764 15329140 778363430 767805906 543054624 670375443 258080643 737768168 52874395 594304159 277911365 914153688 177326293 685481896 900840178 296343931 2925757 119645126 459771005 187732509 102597712 669245435 894661993 874467969 766942202 540022582 855785866 193987161 776984995 518240232 557363703 565147975 965007235 828779824 679813419 327769669 276180666 47680122 739758334 646349389 975475225 382105200 1326928 489728316 741970963 972340205 408784320 766919223 490560086 876005244 281364062 946707316 32287583 136634845 111281309 275982127 873297786 699163533 956199809 864861467 422312385 826039559 532687076 707480186 494873739 976042642 941588961 329648715 599658324 340372063 633815681 914310375 99231159 737710164 832133924 355850261 496750241 366269179 577001727 773356722 404980683 698588937 715111483 84853404 797456374 742545884 354923938 778682482 519299211 36387006 966895417 630435831 692116854 34278153 215483690 372109019 811806875 399023439 10105257 282531938 661569766 412109310 696937923 468041303 686927031 957039088 51745539 264570093 230954896 472236756 404356072 467836377 779437620 320961447 396880074 57195462 498059623 761911273 207179312 292217018 404446085 917841675 372435643 990498289 337548471 420337523 265922571 681978539 939208305 298088629 750559575 31367819 978418520 553011304 225057929 783559167 499477606 925323116 410698483 516558946 189868807 298544115 833553171 455970013 583111787 664559652 143858692 393834086 298064235 739097624 299173022 105944695 135401396 739453763 378420535 175674250 727092398 532424986 411107313 421011401 76584173 41112249 510083226 969282494 861751784 790085525 258581917 54525294 155950785 9072126 842684416 225530055 772258358 352401232 606665852 428581988 38765417 938613353 393371428 82352108 425098328 513237176 79812927 668336825 140791788 626765359 267856732 264144720 381283542 591299639 454278452 384410774 25867090 188510475 20097481 901173607 515075191 906769853 86556186 731074379 269782655 876570145 500870551 48234347 305376043 372785060 866161543 893921908 227488561 909643362 18611999 922202682 212715699 610300070 401114553 427263615 477889344 448658809 28040221 875217309 240678352 807095883 448244090 336503627 433415354 586234410 643484465 755299992 574640670 817400537 237066241 965408716 577331878 696845144 697388697 97162761 962469041 2186304 154492207 8492335 89900689 782477334 857554417 439698077 22746696 363056583 559402852 919741325 14924571 536572874 575549697 577137745 581357285 232645213 575799144 884910002 335928577 28700027 734519567 180753774 870574357 819203935 497365266 229724441 942847727 265616808 339927987 375543051 923910539 744849816 905613079 622168570 839368158 274441776 615812396 199820658 122328610 256834053 772911382 503286064 19753834 336690361 908136326 838207290 728182879 840828604 191748181 44590813 982033705 258283145 209465152 575321706 519979968 631795531 974073011 423764102 800817778 446123115 653725454 886332956 923631403 645485710 834531956 739515395 326844686 20247145 402458822 162576954 95067789 817191833 558685233 923503 519725480 811480379 606634308 181849516 716476591 154315109 813927735 21132875 466444518 12874618 540367067 518009538 799310075 783766677 690660969 90958197 146269328 596140923 368647612 211227451 915071957 132600771 977868173 87514454 887533545 11358682 601666370 340126032 943843825 242194942 392312591 472504284 916695427 27235825 922582511 980902342 366213099 288502540 987848491 751109739 98712268 823678044 446744041 878801428 765186657 2932151 214036633 287562016 122187113 331112815 275646476 836350585 633243987 63281236 87435626 652288281 616098889 410775695 669364824 439758044 61036084 502140732 570763135 459203079 28004190 80247501 549835684 901571369 485811782 469123938 503804783 792894115 924237271 565090613 576713350 404772622 93526688 320139066 914993184 807801190 300209111 259656184 236019835 671969451 541596242 6013130 373917757 83139676 959806178 954490635 722796576 925034148 401340874 352889549 171100571 2122145 206984894 295916549 279167222 736355388 670645983 135541590 282530863 623993759 658685458 61396096 360352028 276923268 970277188 672402688 755133810 2047554 888498661 693625898 552105194 465750221 754596559 485127619 852692681 395158627 798050595 547901535 784256462 258603494 792132198 774385698 426520656 420183440 889779387 990277661 518580964 266797648 247951530 950471322 518728269 128031669 195749204 789349821 146382272 192595084 331821356 677005909 114297593 174912020 550040279 168493433 513726174 400163459 518300269 128130120 666789019 221859150 372574042 129054919 784804683 643201504 4472762 845713559 778854105 227376518 115077803 876387267 600741150 724339282 809396723 110875672 795060122 487545865 841353619 547226521 305548723 414098502 903072534 213865481 277105844 541623283 195445554 672946017 600454728 182036746 417907755 184412773 428514839 337544659 661571298 789601603 735254275 517092425 254435030 455818403 20242540 491578997 901263501 250865559 599488810 261589528 842319596 718116708 676011302 185848053 466877285 819535987 410047604 408062209 332930088 310821612 773404640 123487168 577391325 702447747 283432447 250583973 502573427 504323943 484786966 612877243 40709332 285569749 630615438 160572038 197852369 772583340 379323426 61513888 508109219 210104350 993633264 880529664 303950776 787961986 977605833 662278396 977263812 890911636 356798105 712981144 233543537 959061454 116615692 972126342 532480545 901975529 113723607 763468380 425853708 457630668 683181806 188713606 676378964 580503302 244980188 736884884 45917324 684411856 289869134 618917941 784646211 964408571 945093471 350692561 587062440 532094088 473624200 67185390 338284275 252563619 509365552 945472854 635835015 588468748 510355020 760229790 456681470 807337666 286309165 532505267 205643401 572495881 794285304 402755835 268007035 83952753 975249506 267717909 747954898 905665446 959577636 840198581 853980959 903253473 334222555 549414242 214955067 475222617 91766836 776147254 299462706 346268946 315180865 118441294 939609658 418056893 949341665 140942966 920948430 703533587 306278173 844910311 557203626 947916541 956118774 373877331 394826110 457204457 998649674 84530896 876846401 660281982 403760684 487262469 403747900 457170635 922915361 613568503 824352709 48460585 156581251 607301510 145777549 714856496 952938780 162184574 237840608 239467887 345812499 173823393 335353188 266236410 668446823 219281964 352669421 873751600 838706469 214609102 428293020 856794820 962709897 963665495 327413744 715150290 136403010 86431364 498198698 178764745 21083647 375901648 751590764 964677871 594934823 264341909 230363218 62735132 435322163 420501553 45922863 414431224 379331786 972827232 36010391 864070631 682733711 377239055 335744816 983906495 606906697 341125245 628261889 642601505 189487714 316378116 715301767 976737594 555631466 119712499 787103789 111598251 887897432 111234176 730887802 951549628 392896268 800658562 415750395 213726242 802161190 563424678 509406872 54982133 340364063 766615910 209669463 579977775 632382662 261499401 41730197 389284761 889042759 252385034 54310974 821840419 621587550 5170155 632078936 807070269 50977503 468990201 658484158 471469004 447682344 475059812 90516 373464255 728458486 708862180 780009410 797594002 88819487 286936609 385428844 696735169 708626243 924106385 29092330 644374464 934818938 781429596 53307222 204838341 451292645 852031717 610357428 319284732 255938076 870509798 785452178 94514809 803259402 604494049 931626425 89597667 649522990 382462950 238225376 592344095 103734563 215092445 409805837 713493997 393734560 925630717 797303444 736803366 181005561 410852579 579907138 455862433 399260818 257723339 726152794 558144357 313992874 277031352 249673054 411773334 863518284 701184477 819451907 78999233 142574417 665989426 544461423 924120132 655033652 10546925 947781671 28664938 61240272 493461497 56134112 342342210 514250801 328362656 271242535 348452556 830177748 169956243 533859682 354437905 911361284 870835847 278796380 125908326 517003874 682051540 864955901 501882043 850090334 8214440 961476095 261966078 537982260 456711651 605868772 98932842 783624905 309650926 216677415 882709637 308418676 87415441 527959658 53775568 817452262 271517806 607389885 688968835 653154210 370095483 934741010 148148073 531302235 339723819 650018477 111705326 313660207 245323010 973750020 622119125 709103681 298158190 306725586 581064992 50125499 171622189 64297845 258525470 473966247 315340792 539649758 937354167 981395164 410134498 978837709 497610828 898268301 386431913 571616732 697535027 503717596 964684443 531092099 877903338 780794018 413350605 685181498 399581456 821640174 352038446 542851249 908017141 626531459 746709896 636316992 104333516 411730395 951035659 120955884 13248012 604657385 979302038 913767676 621849330 286228892 853981567 391241568 129445050 583033258 2365976 253290423 520680039 878529768 507259360 963345012 819417611 80472239 285838222 429073968 347850122 454350587 516454446 762256831 493385790 302271616 444572811 96554442 820414472 432091337 757207287 70271813 143984389 96329391 315081876 625944252 683347239 28980749 901542300 895561248 50453191 653852423 958533695 321483980 821359852 251334556 796053161 791705201 891786319 40443458 75281052 830875896 147471342 855543174 18204835 48144399 779777678 904523840 181418213 299680939 948425584 263493098 679071447 334908066 686298234 500140528 259978009 604643267 946326136 249054063 466913795 124778577 73598160 322609181 800290766 864855387 874443953 367115555 607896777 973095803 679726615 896242851 366679855 759169190 186701530 107372372 900595055 65034142 659085244 754711548 727689001 445063880 681086426 512467066 817694802 780214937 531510367 577267902 159214338 641135670 857114158 776077221 383074009 429633814 268762031 209594062 319585350 931980115 141223223 442549864 848268997 912108594 826722461 863156590 486975647 388705680 559304379 320137134 860593484 665409637 406534801 158430076 776915785 883021339 324669295 423929584 931312744 134253229 450860871 727566847 206170989 389514950 126417050 313716209 384235640 280238901 961077921 774952347 453281950 276144202 890263730 660206442 473892382 662239608 698994116 681224632 857961797 284094973 444182442 947112183 186960535 969666181 125701600 889505453 454626750 322983044 110314318 359497389 667807304 834145810 701239726 557310287 134263566 690801017 488112256 936846098 332771878 446252914 999927327 381697452 259772654 727332038 139874236 939068063 101537617 646408182 398945940 246462258 91030725 650274801 606534857 54157485 814072095 532523786 757779078 9143890 787859274 52296691 364641523 97346815 298742723 312598874 8954665 740626672 274586625 925663205 806978758 21210292 86847997 232886344 346039539 730749275 337198355 293965132 372779670 468051224 874221396 79412919 8840194 92977293 701985635 823133690 398211929 388508287 850618649 348796495 281712856 966161384 54891470 856488110 759962684 786993765 492946900 918374698 98596850 858166071 431237320 687414122 977078558 232342222 576162408 159679368 817063955 96168003 708654347 73120612 967311182 832298214 74146588 874693846 107451749 29081663 622240101 332433652 515694851 647106899 629729397 603650305 389867576 141610522 425467203 90660240 238176999 761895608 982271449 180920546 628711157 954575558 362283410 52169009 431640213 545619028 665494642 144693141 63552581 246247481 855087624 991065898 298819906 449932603 166003848 911101660 692650363 979022663 654118671 893966572 318215135 627934969 218993410 129694754 633993305 982396867 968431158 811806204 563984164 459073374 660680998 589010844 654020978 454711262 101152050 969851884 415157593 948811616 97817863 482662289 437644433 218192074 990612973 863250619 353895514 521435489 216245940 731804896 130098319 997043786 561722719 340370773 27824392 249343300 422323793 153342603 509874041 647685543 308032815 241846850 953764224 683553543 200453768 383813535 745527389 645734784 589635136 614256418 827505806 521578591 997119335 106129833 848055850 142256584 311037224 749563235 627641701 35325784 665896135 594559113 658285917 982402724 904164916 359844890 846853302 823646951 247976354 6391979 453576168 569359259 817373253 661044549 638134493 924341055 489058161 419560879 710230502 47257742 673201140 118914718 409726558 92239375 834622909 898166753 401035656 904220678 850695159 303630694 37009138 622513080 29769355 6663964 989444385 29908894 348032826 535543997 542462750 708077921 762527376 467086277 447090868 957833147 57142422 906189121 629092678 454127125 241850890 502796814 566327672 613914405 942504931 178316717 107912864 265026416 26540035 691136450 512484981 884306575 583777034 971357694 825442132 911426247 81819187 55909835 29704335 575961668 80563122 563013327 75400121 459993065 53728444 291616410 174896209 880195646 191162396 891630477 656725090 649715635 802843328 797772509 494475577 509876641 275890166 720080940 494322984 688141401 734517062 637877816 75723964 670763335 844185708 118220625 302123708 397986637 832565890 468005166 352916903 955586067 95982615 804854997 910240476 851013533 581390368 148971368 919004049 406184538 855129307 886132147 369627714 379694705 219718532 606394589 601333917 42121848 218840753 687543654 787981236 83068136 35724120 609736585 382187725 907739730 816421698 402444735 871942344 845116019 465358387 525594563 589509340 824702138 123679472 162470472 630356395 260805248 207672354 93147133 379204875 617481301 628122742 328355093 27712273 585502030 562043581 19179752 914654263 455803283 67036703 442047117 436991631 30966143 638571394 142883880 338318025 552318987 826869395 967170666 348477452 675887442 113247156 178859456 375544896 593806141 505318671 120270280 127142694 366090677 447683678 544864327 595576660 411123247 985303535 480092335 215524240 307878393 702800899 762473854 764700661 649420506 954913351 754888919 848100240 586574342 165329396 237977035 983658027 841312999 483971654 884749177 963351115 67235089 471859901 452707051 446271892 491201980 974503912 608632329 357256328 918408508 204409031 717043534 557922832 180781968 678403347 410848412 988107159 172652379 741150095 13667048 948577333 600369190 288422150 672767593 949299355 764834392 316874329 373792989 642828309 760351498 154043142 627511941 353166593 660629550 117646065 470175419 72361382 264391301 312765260 441336938 969587398 964047727 936880125 597184506 269348738 76126847 322832866 469594769 371264819 707549755 163439496 627812506 323209626 703017025 512038787 554816176 732449167 127669435 569933194 781795788 417484805 758534697 338517295 865450737 42012408 210179358 539954945 80497945 184509398 864890480 229760044 301461806 708403975 297008003 75976430 5852454 681078971 227756458 747509389 397895608 261411254 779204606 44695817 355885659 182400165 985019096 368890208 136226170 806073762 959021540 328309856 915166661 546866636 69405151 295036945 400542788 658443599 930690074 102364851 171095248 560932155 715727539 803285340 255593715 285667039 485107805 536060715 725112895 393018152 498375641 576752835 307364087 337983403 790970142 165281490 321448107 71690558 679510053 691760736 290273908 307755379 465939766 570363719 480734497 921780489 972308532 402006600 634571360 788275860 32197852 216381425 765901781 18631361 213295687 929006042 94324768 875062566 231801973 598798540 966195199 98959575 442878345 319845930 369407662 27132138 989773416 446780068 800938567 314786289 78110670 484729309 711264711 610300791 120009215 192188471 392386767 907799953 966587163 734814057 702352059 444847961 961500245 310669451 576592775 905107998 662279799 797251831 205200992 27694904 374460820 667102237 811663625 986465823 646912732 843449522 429267192 65953954 120925811 633391134 910554407 587565332 703653867 14111353 640953137 533383057 647234613 975673766 259819451 42640160 532431169 995815934 426441780 445071796 650490859 584167761 27325881 964202780 954829262 734988498 136711841 934655238 512371691 183063419 444350876 698973531 303624205 337728184 168460878 859589316 851850089 621008757 491666220 94783789 936184169 958024263 48412861 289326536 485183756 506619045 406544130 686526245 594974395 156209443 272638875 640231418 139387023 780826628 592610413 440461929 371839838 372961541 461666196 773779217 757360582 604420562 724746494 539546465 613515282 76738409 143477241 407106468 213731987 336081202 120100186 481573946 863855731 287059156 588410348 271285743 262794797 136544036 32473201 608824046 517094354 52177810 378041150 303329934 725232143 939972353 35605226 393554221 318609853 277756149 529772072 374251072 204650582 143775707 493576010 402242002 317983690 353515427 385792521 96000838 456833952 190470734 353550426 494797948 989291501 918297848 37679902 210847685 224329628 103316528 116840471 656068211 33591697 874039690 351654222 664075252 626672549 551907369 106579386 133635791 966633257 32026539 925998792 296653618 492544712 10857111 725395174 476460294 610217223 668857414 85723442 813156671 174198883 466842616 45692203 222908170 652226449 505025653 915420157 532132876 767836480 27844105 521852304 734988624 382767264 13353132 684977701 15834740 604085745 785869212 475226927 596696815 36608253 329294070 274547711 603509892 529731505 600433454 892138549 889077211 787891896 184036190 551690380 660152854 895415597 546885497 545946652 261966657 535711020 772938439 401672648 83709914 241364741 430891926 513035835 592550011 951312555 65460842 14377615 312347770 356433048 850699681 576446205 180213382 67837893 268646490 551364926 214237493 154352381 890673978 127061923 82502956 59140728 303415747 25100365 792118164 292778231 570169125 754072413 157821261 586146361 938294834 248179144 875576116 632843382 736844806 85133723 651689470 114343664 96311694 402390377 810437433 383559143 236008776 927526963 51670623 94797530 648808368 370833109 586684014 184209101 964665792 918945092 893069379 543235244 486013042 200523255 403877407 601426163 38545815 895091812 383886242 698363001 534694461 948772458 939959052 84305980 690458149 153295516 450217121 457425474 739693724 34822246 282645946 826310690 2850819 153206581 366969284 899560651 164323092 21602319 605235287 10313459 837771039 885515160 644717992 867894088 545543114 258559973 980071660 554171741 68909600 599389218 84555236 677762985 101879629 842339200 774094875 403570562 226281482 736428904 173468465 960029394 512882771 524550125 699577323 404232397 379836608 692883727 49958758 325476459 670607614 517034633 847477121 364668160 220422833 611409791 63894145 418678886 870026732 495874353 309395590 863073861 723519911 642378254 704055782 430037242 593904785 619602549 387684074 765700329 431761849 149253677 772314136 740174457 765073304 323861384 829789427 882113885 911304717 891745169 748127612 202608063 32686987 629935375 694845302 544262759 380075574 455669548 58273805 408091186 647856326 636941856 959326515 578579521 713192395 165672835 554027339 732255911 221405328 729621064 45878193 99758831 651105027 464817301 523106753 554120173 667654979 357459461 291492460 354564156 131311852 365752680 532237489 553720409 550952716 729957180 945790024 985398466 829419935 900143058 638468119 571310764 346194244 629449510 939671298 373414972 56752415 63129557 504897166 609717240 923484993 49918936 257452981 137046912 397967369 193583726 204671915 571445185 593850733 179119807 552886548 796415499 601764631 671209090 329476058 423074378 92719273 807484421 584193564 243421148 460552855 201655849 980635317 720770576 419488216 49971511 995024863 609512710 238651639 538547146 66810497 919488197 839151491 139252303 366478166 55435788 512031625 629280544 688657464 786678199 943419452 633593452 49493640 196437624 275070173 174972010 177607866 835350759 868837140 339120826 901409620 793808842 172708586 467815108 767193022 896874768 710618996 485124443 576956977 670905170 255159925 799467434 385246377 899028936 379122748 678913782 332347287 80729661 10587078 642987709 696044600 736028315 968068154 87380263 593554935 549981422 452404180 16380208 662201043 105937097 945316346 40708455 921759078 743595673 197668558 802491776 823415629 24228611 289089395 346989399 977570835 127237731 291816235 721573487 463646935 727658405 89704336 70346578 265854363 295524209 11860659 552486731 666776820 325797745 435519814 54537785 256392951 600747126 785409360 132049044 529238995 864777086 929084267 356806327 90935817 837023178 819772839 119915459 793048971 291438365 555794964 775832873 877581775 468296685 538194312 629273647 94824639 609220763 66390233 917520673 836402800 976350473 649344216 41910193 187234603 756675795 231245108 801806636 754792670 589166589 152513513 57733672 98570231 413091741 257682470 580676920 699168907 379837784 538806315 275976140 396504369 701599992 17815515 926611358 172912379 60504092 522198276 796501019 794654889 76443576 370172338 733815086 486049545 607866091 476696711 283072939 637001461 550364455 608504283 981643 294584505 213623878 107801328 427644497 181891768 150482663 905096986 581732455 833445469 547230579 528143483 991249584 654718946 489828371 688535884 972008013 867079563 117725487 628819800 904112218 204136340 207995769 716475267 978449104 573536866 185238635 765006961 599411924 84619428 907242708 760639729 738306197 227441732 746717612 235429194 405513246 695784799 754413644 726301114 316776687 47436818 990135106 312311825 189623590 979163341 130273843 307595937 685752635 234923053 975814872 69062968 348550209 38585661 351583932 147813182 702034316 788798634 913181609 960970448 322196184 863472326 868660697 661383035 67522782 27725958 694359960 212143414 496613526 488524109 380145450 85143309 497855527 853467990 317067466 190443947 146409979 112023216 241889136 784372034 837039557 669434754 129714145 27058243 237514019 658511212 782105931 176111740 908049145 86910014 591008481 618597256 212143866 806749318 680385278 925912664 409714888 189649929 824110244 827207550 693921538 866733267 595717500 66853952 176668566 43967053 520069106 34267603 401652523 733602666 939025009 43705510 338952053 721998698 185082 539991822 976925282 696676928 586589677 375898669 863543763 358642478 543689238 68547334 276438327 714862309 79540345 630623957 136223765 155226539 976697252 112504662 754281168 514295894 352879059 535194415 644497841 927950829 886761045 572094020 298413402 339883181 227910741 146450994 220221596 141422576 263018219 442937300 871791846 787040593 449226140 337137716 538065369 920080878 711873529 708437285 93334905 69141816 751432770 722698215 876383930 418989971 202080634 269670947 253902563 771239121 566818476 209838293 17515773 206016001 804471889 711426969 258120379 565347083 45899494 558162182 764485620 942527709 951304876 218713188 67422980 673509012 748890536 797961668 520050606 711094897 693030763 183112568 690419469 83262940 731335584 548380492 700003217 675007881 964806722 949830944 905378188 21711875 173929360 818699695 258244356 689936840 212146915 273129197 674927509 944377847 370294232 105854516 854672342 675546833 511694208 676549236 396439086 122877301 730395489 109586771 216143294 989313110 645451920 432000745 425686432 754680155 36504250 127353 976573469 85187343 700579258 102202916 392659009 908924380 832551873 970830283 427920085 14919115 687117793 502722691 369643340 220543997 376261653 660886824 43299458 3701521 95722063 956559472 222325551 832011169 355491650 716195273 823090343 850249594 304601772 79219302 872899548 100979 513892505 633791657 598673156 437065997 871904398 76066461 947928095 647240641 902932960 984015666 661337086 92089235 60519713 37966177 887387694 2997563 28575451 719266625 429284018 757334186 719703777 317970527 247441617 772222043 416839782 700781111 814956909 610886113 542834943 771683091 96993502 780600518 468075290 540901118 5450659 580207867 95486185 594355896 738013108 5242209 216359614 919139541 211085599 800435680 509297514 705107817 350378790 991999067 546804353 202206467 776397528 420911493 653907230 486079368 666078907 930818003 682660486 54950982 110030890 979258254 828160075 923081354 716762268 521704747 84636295 857253757 994383771 648841512 798422759 986534170 274351266 587161983 574609898 229417802 675538481 266277963 228208811 736526819 470590823 43931515 537089313 220871834 832478661 144753735 382617115 343734500 224876786 965649112 751667228 954963429 752775966 175834119 36214745 551011963 332683947 554682238 397647343 875053329 23500303 129472130 566346655 245769144 678360231 604026024 201565795 846757578 440101172 816864098 170966224 379607472 287117592 555095926 513146557 822166032 88716065 160419016 160522493 756962888 24830034 948540625 431842305 383886561 776840439 57328661 405061230 505819314 384332970 821792017 857234663 614675291 871091765 328681268 516735470 255406371 766154816 877623750 806403843 764190652 792615294 135416995 710097152 965998134 245896973 692817049 177447654 47280960 823055907 81755506 595978226 279618249 831016295 327761973 778605700 57069373 957115718 441462083 99612001 190222893 688618644 73486700 589037677 557855509 274261994 267249386 305432684 178677740 847834628 506146072 71243739 85324965 767026 961266730 784685866 379287804 156144081 610258125 71729318 93670384 442537671 217765849 395592360 351110651 678500103 514846840 438157915 238837381 523194174 178402191 231068834 826974678 553883571 491036926 323963077 174698060 71435123 344635388 862129832 798756886 378460457 991819487 151325797 894870101 901946903 152621109 733477236 903402565 690961702 507463658 304254826 761012626 837012437 485010325 724596692 555560349 299208646 107123697 962660596 396127913 602724503 361553142 410279806 875242378 697311012 412970486 229124667 716366259 631538252 89572238 863820207 188439735 723568349 244806485 401248841 134023537 499469468 282684554 387354668 381945501 608710087 763533797 121667527 255557625 919747104 439447021 504762583 498813236 750647365 736729325 254081086 501019126 335527432 133799978 685047756 382433880 667252075 48130375 850171529 582163342 733762436 857984434 361168183 613298987 801362110 379518633 756526328 993559576 837878726 717049392 833994035 477913428 936449633 217848850 255704115 764420899 916983324 342721669 685178681 401436316 914931582 404847058 860219986 516794874 253022 971746308 14661216 209296439 802491725 859440410 238940210 641230391 265704483 264968472 310412562 284226982 756730920 701180941 10800898 147323652 958625193 666236603 555252808 393363956 112128705 924835905 203797628 714007333 509739108 559594030 471345442 952660839 135274614 842337349 457220720 335069404 427532369 359185832 627207250 885723448 430589008 628782577 211174098 764623664 393279377 928072868 879941384 608158995 702088300 499274212 40026159 3862450 948705475 54659257 317190180 488372758 523921656 347622776 997506717 485687205 152524099 411136091 331928995 599061812 206452164 795441743 555051088 685763347 70070426 34213565 629203439 192309254 278234782 751686279 476034550 185967399 466818971 284159813 552035152 434294456 981386662 808065090 264604875 656418016 68403432 245937294 608937056 372083996 268705273 652383036 165044071 634088668 986963485 549662502 932892847 786389997 290577818 758122267 413205628 120878748 62432781 50012200 983816862 548597410 899343400 907423519 378633887 405331135 290106028 845460692 241132788 367653943 37754222 765601568 850603537 410759306 915988576 157711118 64001959 476646376 838722338 594449891 107197367 558031961 212790647 532636206 526781626 475643691 269761510 364124593 303342066 968995366 152421630 319150044 703851462 267041175 104788870 410551407 403975833 452764676 67827247 162646322 519379949 683784144 765174304 536796581 420104709 394478408 593760316 991363904 989368941 424637261 376368990 26148158 349094938 403483666 785469429 297760639 145602349 51927272 922191679 428145465 652645232 66259618 87120349 199948658 613660527 781503843 973135447 948047006 776355662 746233313 713481381 50208496 339124464 533410250 528067680 884202918 246259857 26327596 198834363 974036650 633734414 612347962 986716846 343631538 276627895 769970446 721764644 716302618 380077619 82991700 448352347 736792316 908855943 225729966 611019423 497350396 923904870 365430923 80438608 255238856 537459950 179701186 82026449 514246604 827834768 862047119 931222573 208468800 599948261 376687654 948889593 457475885 10611126 174039580 466563665 115196683 437322402 321979821 95238315 311885051 490300332 574025491 475376063 130952207 108722660 888542398 140486192 943295611 99159665 74202252 392190705 728179235 51629649 361050465 111018743 561751641 309368865 498431329 502456491 777755401 718502322 876314915 65269722 779661403 401243867 320250463 184020534 204448700 184809560 428994408 824443277 912629928 830710807 901808242 133799604 265929391 403369002 342461319 455993430 921309920 940370294 22002523 401430286 132810298 554887336 647830111 516332000 837338497 172009455 566041162 241364345 483486977 270128871 321743454 84489146 451825885 920174337 91188528 954053881 951317278 704600614 359975340 753437032 251094467 439322325 643057888 684022634 310184824 249248364 315973839 602487790 206465187 641675558 957499006 665631686 591046521 245236815 407789297 222345820 588939407 393534097 190054247 541158768 221594711 895901554 645836330 704499006 883145158 456279411 798763365 182599515 810329201 994298989 843419571 272854996 278962109 184522753 613752621 446589330 810342148 295386968 431521605 460779758 241127013 290881309 204995910 563144424 539305516 201468014 558636389 67868246 571843504 58313184 234371399 959682509 41895949 147030888 944001974 869984564 163734056 397298393 513866871 420834575 697926740 255186389 855270743 613937391 394648812 317507600 685963012 308212773 695067974 385144173 989264525 748486246 512087230 794696593 818598003 382372675 15668444 735234819 183450396 749581967 370772693 294519156 607132963 394428603 490133714 54241688 866235015 533235935 279160570 381251567 61866506 654836713 573385291 643315503 278333085 242598965 814258995 868312215 760743967 234861305 862910219 36856584 12761437 344783324 631948725 664115751 135771960 885002230 915351962 93237549 966559042 163743861 394019559 9933179 728742108 371366977 347719953 148894161 153358932 367768687 933872814 768371268 906303119 493504574 699278283 825522633 764136667 247671498 419148889 180689064 815705755 315137708 664045339 269970902 302142736 225595036 271222478 965941368 411033289 873992840 892363052 614511374 321674280 388528227 29881910 255442399 327005618 227848460 17137752 543772038 764465797 862868782 528237330 702677654 518048601 270257134 152954446 545654491 989140521 614768580 518515681 699917933 553008236 15292240 14109330 954860404 483992005 302819629 381968081 170644587 819639861 543553037 872118425 725384354 146820947 165924977 486031503 845961815 633635658 104915048 175780990 668842541 852317169 544033711 729593022 424445671 861921424 121221740 501250143 264395833 797032752 277770597 816539179 677398903 266085198 715379046 928066580 534007461 664719154 831398778 804312613 79605604 982163851 460052375 374971484 601790800 70326200 925465682 724664317 904782302 971674238 885015904 207155954 729075551 57280832 916485434 847756847 423177188 801319027 415993538 567015456 229060706 602696324 927167653 6558266 197573853 134344174 975979724 381812031 207066329 257373411 315351365 708511781 863374264 869790544 749381459 110265611 999871480 910806511 854489321 609371309 643925340 682328919 382174152 457522508 983500914 33142997 136345417 738535179 141119964 684889424 333514726 75847252 578113737 830195537 348573509 855740724 538178066 279712141 588773520 781199680 325009765 221679523 552181881 11273482 777191197 444003099 958025731 80037565 5402171 701371076 135538587 866110177 898860402 701351806 445068395 922545517 619191447 347361758 484748032 487027588 353921269 914003306 787383529 484685757 870818408 897499935 408213421 10743559 572293974 751503221 697711878 484712260 69959814 568246824 390854080 410168925 591133777 42794635 904140487 805510792 485346588 861700004 508935616 376902509 2672784 558942950 815695143 941889055 439646185 666526782 46184289 776289619 160424622 53747463 526515727 197507237 464801168 79328978 955335693 996785404 393227620 655493490 588012521 371536974 174997991 128739745 974768648 691225911 443644874 943511845 936926472 531527763 509521108 338245081 599607876 758659905 496539015 604504344 804076946 918254013 788285492 109908459 478812469 331885251 193523872 285223717 859501748 161705343 948662383 142277118 139913181 497119106 567035525 515693582 206869291 168858212 920533341 219174994 554057286 70324984 804537398 623112708 79573574 958115241 813955534 950015279 480611197 499162698 150672790 402988523 718216136 720969443 455582517 235801538 751728212 781005835 966296902 885373646 885162333 358859598 402534624 173241892 877714656 790541314 400126367 880802540 650127586 469381725 867066410 720486597 144470678 228416149 157908261 338946030 621911297 42292104 499932975 536307369 973959170 750301653 524803279 567460961 411669555 310724356 501098894 151087384 133374477 797667496 836521746 336050086 959695182 477114634 850730991 355678883 265954409 331114044 947431237 31663138 356643334 808885001 298843219 829022931 85046039 727829943 207418235 599971333 806219287 288284752 328347377 654183705 905050154 410354818 959901655 800114587 226746175 129816643 327836207 71917112 57905409 907714109 471042138 863135841 618444421 904034566 504300252 376071782 870500462 501932349 96060218 666300239 159358822 75700427 652804712 529226876 253452369 930981402 360957621 241481882 713555708 457486135 906369468 974937410 631543109 747160936 704662526 128174289 202808529 870349615 638445083 277666670 235371490 451827811 455517920 314062180 145752352 248741131 431292907 2536777 89496364 583503629 84592715 51499836 694560224 709966748 741298429 157363828 498374115 504498690 909551871 532825653 156010017 224983253 595737175 930214647 47407365 690281311 891473180 234493506 702229556 5598348 542039742 33815215 291532485 808691232 451098880 826908557 130006840 254691871 721226639 472764731 612612624 664237568 243212207 580821344 183268725 97488092 838404231 504712369 99520948 704146909 631123068 750021452 587132396 680907854 547328261 369186783 235260049 852357250 46210551 271526710 198830217 504333908 254950335 690981031 322394466 336068370 958490760 254341623 994900750 131477120 293820976 819544369 25886212 773621225 461643961 738186821 749007874 145438026 446451211 503075133 464595743 39925006 445415718 411254191 186719827 221141558 588033958 666053411 840442334 366604286 936682477 914870553 268613786 175184591 259701687 559935015 675286877 581505378 944741069 198537947 800968720 215140188 59674896 801529646 509603706 59175904 202186204 930191538 434822663 717238215 122115868 144017603 637058284 928763693 52969270 798486689 663725104 583351361 737953706 285325432 652853805 646540104 345895163 729244237 194916712 729204920 325576870 868851596 150546653 638457122 504074550 870301008 289848994 118015902 856568552 730485141 654501324 565095448 484206026 94610752 933169820 991279513 656395883 552653124 118569664 325824715 139003319 35542026 363125868 731841849 886275294 409457891 271938504 783772053 473369192 351738238 221814013 333638761 314117382 886221925 144717658 559689947 171177808 208305362 824698830 172850608 147377307 439949728 903592253 986119173 998465656 379087305 749246296 316325222 670562477 38691819 303439406 764466966 358283904 97302025 576183439 194061424 698313959 590475481 112049103 467160222 920504118 528630514 254580968 437944023 42209562 633616331 580780237 547959023 125272958 652275517 807992576 530886128 402185418 15745905 104539324 592404849 430168949 947890047 997923572 513231289 694406381 698263575 888727617 687821762 696906638 637658220 381924467 19199063 582338002 457616817 400350668 62700287 334299128 907771544 349160419 83332916 578733179 209087394 634051205 343122468 502298790 246221154 31106400 183138177 532116919 229766320 270598989 218792820 609652916 589668729 340254140 617040449 143426622 809315521 323098036 800454504 353028450 3244494 140193206 278729830 240264643 7711754 785613544 696633226 488723937 180483064 586490412 718861973 96863314 809354504 287261211 645773478 203604066 412210916 252795979 64072029 795135516 453038110 678270616 619640855 861174256 975481381 509717086 910693941 73126498 14876475 702261746 905407723 516285203 583563986 960559059 883337505 564756763 209984514 916785772 225322636 996476143 705457034 966154970 354197669 178676032 380960922 944387793 603562577 789380535 476194921 784664423 983843589 659057586 708430979 2164320 56424143 272368762 85238573 423553187 97695137 652911301 53684089 405596047 631611494 658672197 14846610 774843860 443231365 536685335 101686147 324775639 974455619 208159187 645835868 398471484 452762491 752304587 990749014 762279805 349973591 300047508 660137990 925058013 176621338 83202727 335452043 683883161 976261908 642460732 764668555 11311556 839135579 991211779 290030230 231465039 354529267 201661431 501819829 797410892 679486941 775217856 104953844 173307284 715238784 295270666 499968916 248513326 349727421 81449693 318313094 733377777 772472694 386105693 498855856 612231715 902179008 616509925 264176224 843976600 4219384 978346061 88443105 403054472 207746359 418819854 965502010 47237200 310368935 897039781 289092223 538208823 848319731 781267624 483063422 971166195 277891168 659253360 738305436 345259202 588272862 720646596 542203967 858363579 980985535 537613818 622523790 855272703 439063980 611636461 231338690 480614181 378186733 53827762 415796392 833720270 80683434 525260538 977626457 988171022 779442089 187551588 498633662 427530934 569186618 169009976 125372451 950018034 351511949 577589329 800085062 526380127 313708343 633150898 490264141 86023812 151234703 180853317 14674324 29497276 65729785 848308342 572827010 386347982 303071805 984852976 11388835 451085654 925652430 924371780 90120807 315634219 335300427 650794258 226674312 37673716 226014498 102852036 974772202 504098640 1402507 326345057 526715963 913103709 235775760 933551604 851257211 155402317 205876862 988957647 702070312 51650259 428985044 337273590 77416741 491789551 276719368 319353867 514641785 482418804 639966192 605139189 443419713 58058547 810515858 416492723 308571253 794785455 164263701 343998277 405452276 458518660 541166417 294964096 287585338 970386124 325789315 135735218 466114808 549940753 352255176 169065320 410909609 42948603 636576919 588110763 920988465 527685418 406361924 882238355 636433076 813170948 918694849 33976407 350673479 849919549 729631293 656455971 113694606 314733707 659341253 588642366 323178403 474724163 787617837 432098292 683396175 227143004 543778973 576850378 845490756 881140715 756906898 158150076 713803862 302129786 448998690 967535118 442414856 281814215 668604295 47179694 647917913 906516545 748166989 664207542 785952753 934757012 845974530 546553533 220801700 92650003 125232109 788408008 812834247 202423217 35861292 14316038 447092664 241121469 984892250 120577759 544064397 603868072 647512967 635857948 998538563 541708920 737104703 892796177 989910052 18416365 324769697 839391781 893819156 568134484 380320369 286595925 2905160 362160910 676726369 234272697 31250068 386654024 947340633 129137763 692090328 932156977 807427073 8871429 724185720 287799403 908594298 964724737 366761761 518420434 41932160 680277853 217106830 160582411 595802480 13897983 791461466 650507471 955963040 974405470 694495442 222019 686277322 465934523 165355901 529052483 152020857 571236169 216006955 554346879 158051365 203580290 168295612 74975117 907825155 695199504 661503030 957962387 863187073 728036714 100090516 235092148 468165936 615045654 544108555 108393264 601100568 582259033 397046319 352792082 977262747 849296858 619431203 188130788 16599399 515213399 852904751 158338983 448370152 249547963 488909182 87958816 189749988 321297547 583575211 88591227 933332016 519321345 356443690 536655609 267865023 228927714 712090134 675947373 451071247 739824920 511839826 572204804 422334544 723715642 362959295 695059539 897436327 400870915 40739770 141580656 689431472 553370369 546693117 939304962 565928135 887297655 206555030 330878501 295640719 791188269 465777427 664278579 412211413 106994469 64780868 502800714 986093387 294698690 582576332 759202122 611126066 884773096 849426549 134583963 352460197 823207071 78522694 210779263 15691652 128598294 908839199 956718202 655299580 37928772 709227618 75208282 355592734 285970095 873460782 609010757 448440675 690137008 217087112 346370759 939542327 47004911 401214985 820989860 868384194 770853319 975041853 541012568 236636824 637221258 427300951 135333377 537864490 373182421 832024308 466576733 557073377 114200872 925810998 776985526 138349675 550605055 87630611 599427512 950210273 865075012 722366263 395420448 916555914 953202135 93499392 133016831 735901242 348870131 309442774 580512254 143717551 489327646 390490801 645094243 526641549 385109039 598096870 830073565 676585807 511499786 949850146 789053869 611213579 485515410 281297487 520749204 188089298 208690186 879664073 655655770 341650181 820893276 996100484 885959649 156014766 180062253 644768392 217277268 392156895 290057786 3888638 198481179 629873663 11619225 261606260 360035434 855472928 428921918 555096205 649757363 944059384 316940165 952034735 67504396 889770710 867691502 739514557 472056057 862008472 11331594 115618717 129333595 714590063 952995488 219577184 926431915 207365589 82103272 146629129 829698821 458817243 583674013 51098594 650865684 474083848 192296037 650280588 380751804 179331216 467500209 141882946 328425245 943751370 659327182 635303479 613043315 629750963 909981211 793792605 863889291 334226259 9246265 296771559 858961969 760178132 483570777 762910466 527881708 801245122 330707482 111936554 76178456 307844508 862480534 731034745 732123687 404581281 789661902 389448844 445747186 913938876 715944049 88035517 645572377 835476674 626357408 15852358 530384323 997991602 210381646 490560439 991386845 686241176 219423885 158582747 322009243 835949725 767849568 549315699 330640799 85606308 249782064 971716425 51767350 547248072 830616141 69389575 62609975 453747586 927730793 552784283 345026170 123394134 744943468 740226864 550202702 554987519 44654410 283255419 470330501 50222975 683540887 484196465 739253395 155162998 75468138 28280882 502936253 472984019 392869081 697818754 588846599 663502911 859260653 930777923 182560535 28075149 374627098 770186596 247098171 806648441 695728954 253047954 29266158 282575431 944144657 805213673 850734068 510895400 618110980 210905597 806030701 439966232 970336373 429672400 125628253 359870609 135360626 176622771 741287971 348619942 274945476 184005861 444962395 722554855 738256606 281061663 139408729 297247060 92265681 359111995 414837135 878526931 519200675 583760082 166371002 837894332 437811819 942920205 731547089 798266462 824375141 242823869 758414312 940464911 104722123 632644378 189322870 873129497 821976288 493596813 134923960 778447646 811686630 793730831 209852618 200218849 816900940 157488697 840714318 778540257 910492140 843004672 503182415 493498240 993250358 92433457 615379337 916561041 607938151 616204334 106545651 506777466 93313946 494140115 751631697 230998235 443515027 113927811 800372597 253830438 401067520 827400126 694446980 503060023 612396557 153619244 74224560 337024575 970443552 11434093 148212545 281521182 49993883 198841203 198038171 534069429 651951841 365225012 54195300 406820552 501611623 751529070 895644144 953996291 712975787 349134535 730281651 466752240 347106092 940665256 232478549 35266979 742658101 491690397 610352724 325030440 21314998 26024916 716792047 100057501 379636409 839332458 145018627 17791215 473688015 313929979 175258637 150619838 946487039 532564923 125329532 114153864 882212784 941537577 691006304 955131726 223774333 942125249 174982523 171500431 535689953 570079704 189783488 235524218 451183705 263076846 92687555 430384598 195263936 352947687 654365325 813587232 90869795 380262173 23464323 832755693 48884520 92221053 804129725 351939588 726472045 839007332 670582387 417889456 870643866 928205173 60739233 501873838 515684576 8050985 556154388 910859727 217928122 160513331 484953766 182912606 173377823 147489514 781564120 46833939 961153021 657055396 464060421 339786976 595703800 117167688 55889838 681386883 108059684 706271615 682568545 733933657 270575326 651948403 987126092 371904715 306114453 789006056 671958588 322080543 45445263 197486729 178729989 348377502 717506442 259739706 801562866 595109069 89289252 348354856 952244433 530045544 451631341 240932341 878018418 292670095 210558538 315957566 281017943 663752552 863947553 79710872 72703070 927302650 124693589 898960026 617444223 620755354 119624604 443177743 138188479 653448145 783588709 980989331 948705062 436424283 854244459 92227591 998297105 471009040 71260378 311572417 151342717 542853886 831559645 976902655 24287222 697480550 835479545 172584954 904117168 721410387 341971143 213883520 786344670 547217565 805097611 832777369 362042005 712993118 682449860 431279592 315933417 596564014 199872312 532898106 820924060 709198664 448421883 27167319 963158118 740696796 578770631 341241155 773118420 787708355 864322491 339513305 235523140 292266843 928131137 502750541 436237847 164620049 479917671 917508795 131353558 476305408 213924557 98379388 111278075 33548324 65148620 351162177 550030128 115775091 915579527 997671784 883931773 665037677 771499748 985671971 178979683 175942600 57605598 931367486 753164082 742936198 252164526 379284610 313150512 597550023 126122248 300534904 562150922 335982734 763404324 791471647 7790222 929416492 353249112 593567153 766307972 363021763 876035899 996289950 260761797 637848653 838933451 418179784 301107964 180834126 859035769 604957933 51607202 502275202 823550729 146298304 879483241 926805885 33817103 798858508 339215834 706278640 436451248 445853452 473055077 18923786 476539 260255344 232920376 312827754 723852160 606161780 172604541 279331147 701809927 195786439 898963825 642791173 255129359 989096468 179349683 765105428 145723585 665421134 255551210 256727896 684659644 324793074 669052089 632254552 607526910 866289535 656457858 420320832 447605391 353843070 46644574 626644026 463497396 736536411 537041413 370804970 556843235 115821837 668291182 950979141 581872649 204807562 290253108 10925633 361972382 451561334 226560879 908852230 711756699 909848979 199529023 431292994 434610470 716403213 369469546 368273631 32230068 464858033 227154740 288702139 603061722 701864864 136733429 274739003 844015922 994089380 319525702 959862773 57543402 35722160 745593918 228207256 642045822 204825040 488500165 20424652 284135058 749014001 920497332 643899332 317356090 341849862 489991174 90262759 332918311 649342353 647996859 982563614 578022407 349949854 686574499 665289782 406956792 323779631 585846886 42958403 179004458 672296377 25993209 874779735 379585092 186919327 775918434 58216933 58797560 320372257 883005630 404361932 456513474 793432183 139315214 917088444 738599372 98417567 150330443 322913421 812092847 940443100 39942241 514650769 817732142 473678497 9030236 951596360 521711694 785605706 30871427 656027681 308904069 256587308 85605804 848957894 244826171 596665770 192347219 451114592 424963459 237967781 295024931 475024129 475065635 424376584 266374856 842135221 275847935 928763287 469197640 40417800 984664063 923557903 979990125 931751690 374223942 92793939 41216150 423894235 238916287 515129755 959770632 592861680 682282626 528700249 107856630 896879117 548789717 820638988 977220281 714732002 707443217 534327195 465413540 505556294 699865697 203702540 353916839 403203047 662071881 967321114 838574143 418571340 426820443 229309238 856566616 56114021 21923937 781424080 143846848 869196434 621536716 76311569 94197020 369531354 144889946 580658370 391496858 656257049 801608147 237467800 523534723 162469459 504975423 877598087 403639637 634364770 731940824 411764965 827373606 22244228 739025630 334348683 176638182 401855863 648545507 370594876 570483693 402883549 278772020 849221430 869212617 162889475 351723024 750902715 106845054 765025047 393674911 267114887 823718460 943754091 213002705 713287011 354857831 599768981 409986809 441230080 891792807 805070602 395507943 114949468 747706966 841939999 223530183 765456784 590582259 561905139 353079109 306372024 963385185 127132046 562185237 669784809 517276824 677769376 433187656 482789425 958691583 8195193 72697686 341812809 110869046 256246909 768067385 966879210 59829977 784611546 531620410 244902158 889152769 772332747 247478966 400574784 161417853 623182771 323289533 699129055 227996054 856237365 55384162 688927278 591293233 109184059 772054813 459267213 923382719 125267408 544448850 999780195 614774630 165374113 82794927 397290730 446585315 625761387 241275795 74054306 357077902 898036633 879081479 835756337 126114611 274482103 126846923 329066737 494251428 946095071 618323037 85128548 239936351 159878596 511364685 555302030 442803292 643672355 861268420 96650977 889108253 575102685 672734959 466735131 203655903 598997964 707815976 912697849 352683538 522608427 505856719 907741251 234760863 183593650 36842054 238679103 647817228 528422865 349208656 493590288 229250105 68457357 426413241 197003542 574190091 508603661 737071208 31245245 622522731 587197019 457081909 896016310 730593372 860383946 95952171 796023061 25977491 485007870 291608825 667503949 555553302 36685571 853325134 801751411 486536332 613847209 591606190 350979665 433998101 135594611 684351467 374867348 854879728 511082779 744082684 68784341 316523080 975679062 481091979 265073347 609893337 248210684 602172127 537026226 844673526 382203435 218062550 325602949 726591835 732709874 14316075 877252453 512405337 482010044 525975646 987845670 235205533 660364259 105057989 571144760 656818224 739896326 72466832 350522166 839933305 269584274 818521021 291189014 999147772 169225824 105597884 299212371 427082894 81989454 860663190 977413891 160776756 885360539 212941516 121758064 838318485 664892235 421355774 412832215 491649863 827626689 157627915 540922591 458744844 656950994 603059661 429255106 656734583 179846878 825498226 246278245 318768599 187330809 850312880 324844754 452216115 287826727 589410229 557829614 453301664 981659533 200915282 331094995 359401386 415201749 35488620 936866420 298416194 965150669 597191709 851078779 627734309 535256304 831113925 691467094 740107501 605693499 203752281 77699590 594853067 759426985 88657379 204717629 523784635 148300712 304218552 2543471 534124420 424950091 127997171 646766075 934934614 206207048 617989512 195490928 399032815 310763173 155898578 524062986 143444855 524586269 18022413 438891049 685941033 49392885 152781114 459139868 12886270 828274922 836638214 436552214 891599110 943545069 162569805 421751874 553147244 232847640 509901833 364474862 282887814 48052357 520520549 264595686 583266021 22246741 759033932 413959727 556236374 265203500 196942959 593525280 719359628 267971375 576515000 507434331 573321514 372045363 420506085 596700758 490426509 163753987 491725339 239146326 326953548 778667848 762062131 765092404 913191465 765195238 101792495 887496218 986996216 592130575 789559771 232483731 644756622 247135770 379565605 113672594 442697208 714649242 253743058 427974500 787502209 664171168 440911511 9559280 844433981 601746603 638748617 380549097 421984507 166365360 563802043 403964001 340058795 171835129 449810392 742561961 743287347 971726269 439559217 575121401 183932239 693128359 78466750 303406038 191249074 158074318 955146313 251357743 650283405 288944601 29859678 607678517 879572365 461184820 503703531 443283968 2836987 260256630 125056172 673419592 523912876 152916778 178070582 408132461 762075500 271826340 388058872 300508610 843076773 96528961 322820284 294462156 215594416 434941955 228851299 81894324 887014281 407406852 474094352 74623442 888160597 632508903 946461903 784361815 393893278 811287755 931757820 814047390 76146729 387365945 941673626 776100316 716832501 732375215 437427586 213936132 851769895 910616615 746427383 95543561 181262768 120584162 10013387 620875592 763368462 571434508 401588590 630475849 661323894 696645598 535446900 227605355 644735441 861102800 979936558 597357850 746479322 652141192 658399515 983827456 762641207 351363098 888852100 470225809 461302696 851366029 538743001 611309206 962323571 259738792 31703746 813380983 930983222 817354989 757570218 259180939 458306844 916654418 117686604 437276598 878547098 272714662 466509650 222205290 234893697 901599705 719589744 817235439 167083787 843567717 12686472 775240970 623677029 778829028 249552496 632430907 653574567 566778756 49240495 508481883 18050765 87161451 496578740 847663707 289556672 172079786 395988103 296497903 677740950 988886658 23710143 168001803 579142116 59307831 645600359 609374860 796864039 49048464 906890833 718270574 680691012 570263750 904220702 522475670 650847122 536008751 291859907 787161792 7541163 931611164 341031200 359427474 428419910 163028183 175829618 972222087 17780659 267555857 592608610 482964236 678264358 605933560 153143940 244675259 610379594 416299793 482712962 161750217 520815839 555453728 952337528 783401319 188247314 192137651 778978016 156262228 507367387 464943107 153978570 248313080 104771821 642292279 743503766 600307314 253775094 950631221 276640407 835587458 447982152 404870980 929873894 986430191 659193839 172363383 981417025 260457325 294265082 173787528 792023638 528144577 21531944 915409722 474405018 842294754 31678218 89644318 160458606 24925977 24088494 504961100 705746869 627903878 952725336 493962994 332896509 120896450 430931996 652338556 606766790 963484461 792071746 121802062 540543310 870809104 284549740 482843226 572975937 88512777 505201227 336714216 911517357 557377664 262532053 707430107 679011435 964445421 72825554 881441359 665746137 722880875 730458101 751981950 329510996 422828242 363818249 981549030 595792806 485545046 790874773 931128204 127022948 69785049 945372949 578699464 98199652 565917834 473050017 335755369 333106811 479061905 707130499 663822316 160710280 404697181 585738009 584543924 528327351 465798992 934244468 235565120 95938307 163760665 539696049 312822958 912493911 190631677 613306163 668887748 808865948 435240519 327890080 989746293 144197875 239797831 816456132 353985076 515987121 708283822 876449403 535489132 203387996 954756431 748026696 282561133 428767867 387838471 450909006 947966669 939399378 800848217 80343820 651962177 382573947 73660450 50636404 587591497 110324612 435282847 316193281 91297629 601296497 363472407 613040497 853347912 107942039 454898950 478407104 46854290 452434733 950353149 975020596 508061792 522436680 780226094 579179499 159666134 164559519 281144297 774151064 686933720 239920287 221914640 609328150 35461902 24117382 642751048 869919537 62081967 701221038 374523037 403286724 125504551 658906685 475812622 502929410 341282025 186652153 288142809 25406300 673076238 336415561 101226225 972602865 654526528 863921692 985952191 930156369 227751884 998876667 622895016 393353579 819040663 854417671 452880383 579782059 120997570 866196305 865872584 711401687 338976460 701963061 72069540 760053965 406826475 611855390 370055508 660237883 884261569 730247074 379981353 175070071 236639611 320142888 779463977 284449393 912829826 304553117 86832259 960224743 582648842 353693353 23794215 159415521 51687599 222224741 444441258 420398334 98743935 94115851 29154883 698031966 553107028 146596749 497809404 998748261 434527230 572207640 695053650 209913664 873365535 205911655 818852376 884607507 12002408 587405522 326186209 233384989 306234201 513553950 598520483 953054455 706962534 461269902 224597101 470168627 391062985 11313442 480367809 711503169 677100111 504684524 849210050 704218558 891121037 615905127 737589255 695013168 339958370 3371633 701356272 910707308 289617031 763988153 473409512 553527961 602225364 322629277 487232622 110526658 683479679 103264322 87337509 394905854 495628245 396165806 412756525 973543759 706547043 927605999 67221051 385864020 673418812 725139753 729785507 834652353 273097113 799612983 4726715 391539597 458715219 616679620 494832681 240677983 331535865 42487340 260303169 739180068 775968513 499425599 263322312 905566189 906367691 248369333 239419440 560315326 492283766 242380211 776527310 450749153 550805093 540171232 96718099 120756412 29916555 819067133 870202362 122443202 163443133 312005168 69799009 151640169 804563273 76293104 608534137 812616062 417744482 229653959 278179275 697102771 754372375 479721724 27476755 859984770 84574773 955710061 931674673 984672088 866249698 845789999 56089143 713843684 588984925 638914574 255762366 669438980 986293298 763736037 594786137 878917768 46011452 515412252 587708351 8306064 453503788 805564806 708991993 689029532 337911412 132272848 134609348 859187229 9595076 478268820 128801296 710699145 710281424 981109963 178437885 198740459 360876985 556319720 895893196 443902999 903496425 444157415 374205607 934236393 441278103 44540716 610367656 982350661 434799782 147508478 336428561 531707107 332070259 863235937 620847805 484622451 611778982 912919043 50180280 527560947 892095426 460672325 915851806 139703558 538132990 909494121 762818906 264400874 337328739 298208009 973417953 762511938 227451789 285441800 230984307 261671140 559942217 249672305 891015720 464563018 862571913 383128647 92559608 778673637 265734495 305691095 291119295 215758277 637500865 975317786 34959330 317217267 595230745 497093235 481848645 842808175 632436107 551185969 141823667 888655429 442138945 834811360 89825420 968970522 82969556 350417683 909494083 953897682 701024425 962734578 836656152 365874006 962560210 138551769 668419098 353763600 583282536 520207520 710052503 154531721 11153543 635532699 409176075 469736967 199899106 280718812 488748633 608393844 82410426 897871251 612346423 922338021 547928233 8137691 613990383 420780247 653657296 314131972 246293029 461422457 822457249 938288771 498363944 295075375 182660110 902997441 995608105 667621299 297854014 785399736 139690337 56354382 517678909 509084091 244559638 565548196 424034249 874322111 28827074 206344716 760953909 290558654 277765776 653477895 434802763 411896504 118366327 759116673 465322868 933930930 461358371 986938777 907219299 644563158 853133009 33010675 20156991 494339064 176630125 605012716 347077762 92073633 536932918 642232779 399386640 982216629 763617117 166741269 143351261 43821690 671432049 455713114 452721341 29441170 211280758 736779038 47658177 637263593 63854827 150711080 690950240 358505681 316083719 936293406 491217941 970735752 8422043 304730834 875633033 647928181 898232067 15453362 434350826 825485673 170289254 839838209 261403397 673308621 686603124 476150995 563214515 662751967 512379688 547455156 371516073 4663519 938260712 447693881 885128663 722203067 485989514 595037089 3186328 934041305 453739742 871452920 366498656 918318857 204607602 616109362 595150595 305436626 960828909 362863384 194759091 32146514 332427452 663440916 873648056 725236564 935436734 718292384 432788073 919816183 487765118 957142580 976037767 682526698 860255989 458170226 99358995 824293754 728399529 409868516 916318738 569397192 168037780 583493820 907156838 955294206 685559005 20794801 897602027 337468016 490892508 570770987 291484555 749432223 50148441 778859616 252637446 449024077 957894916 406364328 408274326 442596375 273432779 239242296 30608138 976920639 800379358 863313021 372035463 753712735 409425610 206167024 850363599 414369333 380153407 414073464 191098082 538151984 281711574 72732457 34464623 840844011 158470528 237496258 214865757 445382477 175841024 830104938 125621876 453905112 330989334 139816618 165977514 766180537 649809441 717525182 286372418 417924521 732440088 48918757 210379831 114156403 985392533 92154126 369650435 578170493 493553609 679251044 818400390 293046460 213229514 895568699 794428820 37197111 180342802 543324099 727890072 749359102 483026314 308711728 812661473 223723225 460363137 584328685 109072593 962222667 1040560 189918594 771309149 814730492 780044989 620048455 789891250 837498961 957448123 518601867 721590891 158893994 842267451 182969253 349097222 404657949 503571566 103103080 273037435 379646853 459516414 211369859 821102104 640609252 704825544 78600438 269528662 517247190 476907207 241902230 714080356 483286563 539036938 58831466 549424773 783267263 925548673 132994730 312084780 513197300 944718224 192757915 730673240 645554530 696371957 651169092 712866722 575645291 963719204 24615234 954004022 916241728 318732163 514786466 827430200 730674066 924407482 381030119 424547434 856928463 515807272 42139046 73601584 575593288 719642644 791600841 969986175 974793090 179206398 515948179 115948946 366396833 491246038 496393852 126583166 486048957 25275162 966119804 30349235 767859158 873066004 355490572 599671214 910778946 111681596 982563180 515317154 486650196 448524828 344057246 599549824 805112479 162652551 597179811 731771317 912154861 519102337 36025958 697020394 723369344 499309980 117731274 592814302 919846907 397298560 796625806 54246044 642410984 445941837 192315809 236822316 869549134 11910623 715045428 41321962 806862017 331610617 720762176 34173909 791659129 327671407 500669261 725369632 686706609 374101965 735502306 902164667 951726411 146808363 750066637 871177097 120187582 863117513 521132437 836396873 811242084 210205439 979347465 417498155 7136627 719420358 581338108 152851247 932351339 285370309 780413590 776096694 76786762 770573546 26462794 18201617 640069050 563312649 730904894 589780982 920518000 741367965 103296656 758357547 186506715 504724426 507811364 155297923 760220538 872237617 894847684 576400855 830988217 598768736 407283756 372251543 995689721 553704780 900348933 443992304 919473714 320357370 534065207 135619369 485252717 317919275 835753528 752826146 631584911 789854600 998922360 471880199 341648442 798884592 846475224 473626437 372731185 272014165 506325815 407473254 44622073 165482303 213082486 551093373 620816527 918319779 454148295 599768689 705221676 615444721 522558945 476633770 36828651 612451365 903704273 22988769 263564344 346417124 263804021 182038649 77403275 293540234 357184941 870995413 644417643 537425332 896608963 734910641 938014151 840035661 948959451 399517765 255108170 837291181 709012152 810040445 707514832 222759580 605842327 600865136 70825225 651839117 410327966 828499039 561480746 709136611 466078664 639778566 294760610 738832558 402360691 857981498 367922325 654259850 201679308 968114957 970820851 224500861 775239029 89452392 795112445 702964627 136083768 674370372 183788475 226886263 607868914 712328320 965306517 650847694 501986987 413817090 628253860 338888958 219135781 57914559 199263361 332800731 981279378 432626306 37842818 366162090 699164178 81186773 496004374 448644089 189159725 865176913 256825536 469327979 628653464 821057138 468304783 600856850 952875432 278394377 172235169 810334885 714236311 635615226 52560137 713894889 270088646 316757025 163319611 93762936 875958072 550619410 427368551 117074193 131911007 266356343 188807803 653805465 460602981 982969604 935842629 909518499 995790440 662902913 462835830 357524896 870181161 672611057 316700186 722618705 19034088 107190391 416580447 867400756 601349425 978955978 616421667 187593195 79319942 737907626 672655461 896166992 291789551 357329587 313535058 902648156 4530949 632986090 101437978 240005162 117286400 33896885 337086108 569460021 231424944 94618468 122932430 360648619 19522388 769763234 806822593 441341680 821831135 536898910 345654803 462636412 616155056 292412190 691806538 559834643 120838415 592952346 739954559 490560665 174195855 672012493 657465398 370380624 169603818 608200538 459676280 939479171 100028077 204232938 921469301 161216051 165934937 712198831 309599698 542173695 200852892 625207628 301999003 327104261 766837382 29875032 360457557 842649404 489910776 693998943 417456099 35451077 446872952 212849644 106391664 288901729 506735760 864138161 585996846 41108420 413519450 305864120 730524746 587932046 903688853 312619325 298834459 257191083 948149548 17560098 561775463 780526587 647596927 337616110 252809534 469003919 699419142 668640530 211171454 247826410 599030605 245721157 42729850 974051647 89669630 733728267 877475928 978846581 600585738 317355237 586899829 888769076 948830478 854481180 24271120 603426689 990453910 724753567 815780724 200765475 992351000 433299543 941926754 802022395 522837386 829925848 6783928 987699052 813484322 899005750 171541008 645393679 333579157 881753708 750887929 876365214 632383599 331451267 530426716 659575785 17302480 920377416 433363918 423684123 351961105 203150142 608566207 422964573 974849475 389944400 370839801 444487745 686174020 256854345 145844904 223627478 764187968 131674527 785495637 335897392 126342033 274740309 21209641 6541879 452491546 974441689 609194445 520396652 758740765 428539632 758677707 492062065 313734178 555241842 657992697 120971072 629355114 853178492 704892371 981997196 49824646 385225334 447548630 217452798 567242607 899227723 470285930 889271613 82210912 437568759 163782159 380653640 218508627 741217182 894407079 653664699 829938361 533294067 464577122 585902258 680794717 753687327 560213447 797374922 379760122 104970756 903093021 916589299 430764852 277058589 809155140 866329288 829293298 861902615 140790774 230490006 839405314 348626576 507849385 347526686 666279037 58193980 639547941 169405715 69518591 538541025 934762268 599681087 184588064 634029590 780721981 572596441 350528090 375521841 727633094 202993704 72141047 931968087 597402073 514363673 195073269 59849412 806996562 34738314 314802947 960239830 547704723 612186836 131408306 773038630 584832076 628923412 446531823 694108857 668827769 57595649 543897011 290395761 393256089 306937250 291758354 861566564 541400838 227803435 331131405 687438991 427658907 216992222 267384760 555221988 418766824 302033885 40271366 986245547 197872351 868042578 200465746 444761341 427491612 271962237 940763429 273930817 433306863 569299546 714536332 391002942 708209306 701367848 952060139 525132908 646987589 730447933 682038103 93077497 161831007 396268290 388359041 521579056 332021952 490579635 717569520 398491547 459816801 146272742 201116679 247304458 118690992 480833304 23862738 99057498 11142566 307468110 565065808 482340236 590263338 834242873 99664962 101027129 247773395 448498949 475732526 68390998 244410771 553383034 947166157 3130209 120666448 122014854 136161310 121292263 625177384 514080830 328848558 297250973 929224680 440622297 506099264 122689539 777242765 877231409 721286814 664868555 624817364 357289317 792549457 729439170 697894289 423900962 17729307 824952599 883437649 418160839 781818445 882729253 849902019 281435365 855572065 971261259 7906141 23278197 635608494 844778734 222496342 9453558 349182053 981188293 996300015 973421960 161990584 199926740 887937618 956888865 243032610 398001269 577458730 642128587 330273263 572255956 160644748 913710633 643339123 664600665 8629153 15012618 203989226 952644251 315103848 154628443 807127762 809148366 848174086 451767357 712595541 942636716 552692709 710797789 11331046 320138567 302278540 707785032 54499649 780123922 100281376 624785487 750027498 426877346 579178455 185326683 42323293 340566871 670594781 418856318 127069528 829215053 212640873 982633619 310965768 812240238 85547845 745454542 125781496 115473333 550478907 452954232 459512836 513976981 96653449 790016281 250404534 748177594 380971202 991602038 396900964 975393549 597852381 930163126 10736267 706169581 268604445 601085901 933131830 575766544 292957197 958347941 333069541 926818502 708065488 739739216 707539148 759018123 719084910 556039843 527570367 514067088 607368057 121482540 56097567 638407088 976771605 155444723 843116390 797984900 57703783 233010580 925467460 690582190 421372852 607725947 425458194 438431294 271605158 419487552 755674003 343605600 563810612 964450541 221806843 943249387 535317825 60779758 20712075 858349365 640909184 690269351 21435995 277477990 93426990 115709092 692698710 279856676 428022285 825494461 536390779 851507464 739833779 95071716 446556376 732768951 502224539 187959461 333479842 795672575 678919783 167245336 176566985 399068622 661191246 280326461 356173835 618675079 299194846 27535502 830002795 38113364 522151007 108417207 483990045 72171817 622523441 838069285 262336338 361062600 703981247 860946847 601456465 203683822 375072305 592577543 43577165 830339348 373807396 237712787 206359464 547276489 842037777 255682952 579695990 98039205 979912998 705012326 517558000 894141859 767491455 372707745 651254314 497303615 70945965 96976200 996666947 835928890 623349261 930734558 650438615 634217698 403132963 411358403 188488021 190609496 417718531 880843821 452425137 119696388 273130608 679859617 541673604 464040136 274414273 476414883 632702103 833342497 496512295 712406246 439123192 825449774 946836786 26511674 775715385 640730737 331154380 90690681 994205286 311398668 919173709 648862886 544866545 382611574 680478438 743263440 745312389 471325336 814055210 957492950 733866742 371275955 614131859 673808067 539614170 462749914 14495344 992980261 886332588 821564126 770200390 327081753 280031014 694735275 902801398 620518540 303837839 981341394 902507416 289452294 288038567 905099733 62409241 785867111 297033290 846923037 285775495 23656820 312693543 320084502 815701614 716801468 921823963 846413832 764302615 853658794 387545317 509271813 614380438 539301731 778202895 723238357 891276354 921152396 244419213 695701508 612360599 380626649 579366857 570429515 761604224 293747342 694409348 899814381 365788399 617441590 770561358 249739241 949101466 52174543 62631282 224099524 799619803 478818517 512291118 705099403 151328579 250153160 290927601 173755553 934607378 790829708 102489124 558640749 183040683 14181949 483663256 195547169 772909217 101685446 20355361 329432726 345408286 73465130 385140286 51850240 929357812 523064161 939616458 902998675 409238516 936968385 934645771 401281986 403267172 44665164 641160439 292672999 664783022 513456888 744751733 5570890 680879096 565178659 647589854 860737749 145580741 970972578 715880116 853546311 578215349 651602062 557383542 750131965 764772478 904410492 460687655 452982487 113815182 231762603 194383661 369450268 110532580 948020353 444848765 790721131 971071702 224947525 54863501 317504315 929866875 182221699 633009548 554828341 598107117 778329244 246668595 53617326 737360419 354595613 336373186 568312897 807267274 995477781 903957470 244752040 11720423 415217282 897427513 932547295 163385650 58677354 33573767 836541650 407573202 74539765 51171198 173918027 163964391 713121325 962349884 679168883 261343415 653825197 746060251 960194338 599199807 557148528 136129199 2693801 149760166 16982057 199702857 937219560 427476514 463922380 834048843 84641711 581375444 743716911 474340743 911841197 414833446 11456958 968325479 879374608 637386781 651141666 952279117 902152531 163749593 935842333 275128359 795515663 259024751 570604001 603171866 410736745 843016270 911260753 865894862 510780953 206358035 278440429 564956107 192350959 339171525 854288020 201897383 745273450 198419864 367264235 45462178 855521832 451971154 816026367 714180715 761635996 753388076 843184686 610695364 264401548 190752392 556319464 840987022 639755792 860352930 835700733 887913933 422327162 307033168 356374686 483220032 206193882 740359227 562631392 61918039 926145633 914739488 952504233 117161468 877969300 472723902 340313229 831840707 432014643 468435762 568730429 982757973 475091060 21796961 150376856 332623286 22184159 369209200 750782082 698256598 451307442 107494889 153762116 841616754 597126946 167137242 460501319 693980714 168340727 756693814 667404074 998424970 210328368 945288953 706240411 34348299 852447973 494281736 36128380 321819356 721891015 681181599 777818704 606011688 97071264 993382759 783093218 34235737 694393301 57468800 818356009 230652453 806306800 77025756 486580187 606785210 66537984 689124547 423287747 53951745 622912299 406581223 620060535 704291218 809276475 425956298 788578718 225964821 465997456 299285801 683790150 487325889 327659886 301158134 714575442 683096888 224792177 191893845 310412611 889035503 272033577 552680447 297747210 474607860 41973724 291089869 365989827 905703477 336347847 165247815 979108687 482214946 439301459 939026025 488815340 492711249 651254669 427323566 276925194 302267655 833084404 982827210 344999778 296276262 186052336 636085137 989556077 714305127 101285299 443778688 634759753 693333810 669129401 481264002 250424792 230346066 161328964 324924987 733000265 329955054 36170558 33338578 570465609 465936228 960361962 86140430 251261371 915889499 851565952 586866415 899658185 779531426 893364847 550380564 628674912 449312784 666887993 802298372 927140716 152403051 234626213 542315774 60378535 161287998 46809850 518074869 527448783 654891683 366409695 367339643 881115045 640157654 69609589 261934722 91100818 29583364 248455862 972096953 779697194 380759063 186877002 926284029 559995862 237716958 324466018 944649649 388718482 534696532 286344817 1727103 131108772 479372690 323199741 619813225 33062301 365833304 437798981 516472099 718742683 774203059 511401284 393079220 203068601 664533367 571263089 785123114 614447748 351130247 453889414 865502829 120221449 794154096 250355372 674843582 369454617 376982211 700907862 704740 977054377 420727303 287773633 678407056 42366936 893225060 971674038 894369817 432396406 890803325 90722969 941603798 561034086 417689731 635325479 207404051 134754489 889501418 18112650 132281628 727720013 707673070 678056669 432977107 242043781 191763604 104412445 293688071 909742702 190581439 843577729 80908305 787261769 672229862 900281279 578627159 368466012 114703463 770489425 716111545 314133976 316955067 125727402 677092759 479475334 895069874 650728504 903161333 347738034 391624465 12483134 565447470 392064250 182822825 784580902 728123482 333030048 731481651 422136109 451843244 37265662 886479379 839745673 258038416 311676802 673100048 713966950 294145354 646497190 124972307 975616216 475540772 735301161 903064637 110938044 157890764 892364766 894226149 339817902 483899478 115353187 422935570 920097279 221336996 627487478 891235342 450843114 524199536 127887416 820631356 138767413 430730864 770295149 687174047 39848667 919102758 748912565 63258628 418661781 478597737 553356395 812793459 607102954 451210825 961468322 347113524 309765359 465897197 322550062 295806507 24619467 684287586 362913659 584314984 640202205 76002496 645070234 12302968 172510543 263110090 598997502 303462470 830730776 720516760 762975427 951402219 35282137 841923041 514224280 897310296 902743540 336125679 616968042 696844980 899917840 733271461 407172392 661317533 194293358 705116828 309536161 574803540 540057039 113518730 377130264 283414200 993115438 833162065 898042805 226443538 585480869 47244860 689044591 214677778 217392710 304310985 702027571 145338203 44758374 41336888 641976719 256495776 100462940 277014649 775582245 754543960 794320329 828191451 423870957 264687645 962005478 179994912 302405752 229323538 523280287 81414254 200508278 236417918 10535747 810664319 972190217 264976104 121526213 454068998 134774190 322284883 693724409 144236395 249874720 800603272 735637108 24150101 92190004 905086527 214143639 234834084 21192470 7392153 107094162 45439863 250859854 557523926 879380666 283086816 867683911 38033828 55794933 338892653 137176894 783842155 615785871 719629605 982577967 560957614 447353822 470249615 229067252 426912928 371198762 273605943 601614201 146635671 1559363 564077487 992941715 70980867 856339504 679123124 507441145 770939598 668929598 406640706 901156302 350713303 281231652 256399339 849201321 142681578 690304135 209988361 906925558 951899576 806210762 580215517 552282525 991354245 626517591 989439062 958554498 712926601 731187607 689609991 234280788 681292119 211112761 170681817 905821178 696464136 227247297 96399161 974605865 834550605 946897499 236158373 760869375 204425362 959157916 39987168 262525712 115909156 381200671 657445479 948155450 305615925 620877600 749381264 17204415 372060845 106412498 60968432 940782507 860061240 395529097 667621406 881678428 630559355 764076204 972574317 908704986 85541040 781061580 185187409 109021699 731578077 118730632 942544947 783624885 797944357 962700906 170181667 893814642 151712674 319271987 177896581 607507032 262456959 539808229 445268815 426535406 132805296 345431604 993725934 918706493 982566974 722803123 244672219 208384178 514082274 197488738 460083918 956672679 231447192 889564302 945044568 103807660 422941455 82806469 757866144 566899132 473015412 296282628 767204596 742989006 355443068 771942120 856809220 311624109 675431389 521801721 425045797 633402646 433086559 522602959 270625912 319661674 57814834 991057089 882319115 338202423 576522990 112180495 733237890 264433458 277930531 320854052 579940520 791702711 155032070 523596431 671924712 156111445 952845732 176382687 477540885 561233303 60446241 263203952 307239073 392844670 223752321 37655258 208639096 346325452 386301121 604202517 165831373 547580821 85893920 468189261 195487458 308727264 797037300 995208038 440805523 350016241 729941776 106220130 739063457 632187663 667610084 264688768 246906766 887311168 929587478 712174694 13287334 97731090 350797933 153452169 416788400 3986028 984185147 635695421 39063536 808942206 594118490 671561236 386533757 845625133 361577984 239788315 927200107 713388660 545170894 731447161 138022676 538637849 50811815 163751673 311127514 551748853 695611048 340250574 259681424 253484700 542278539 412205363 887289814 455615300 905175571 973418597 604024116 554774657 270134188 535085210 663136703 119108000 481697619 60794375 768803036 278635756 125748089 616641625 955512152 929367039 292502729 775252051 319046627 429042222 174899102 60161068 928796276 140239084 565059149 327260380 310276734 662532249 622268581 959403737 505601155 485784914 992586828 993659255 891835005 571598782 679419411 679417668 593075676 642100449 502601178 920293895 966488612 813449080 14438007 554415785 238090408 815544021 823692859 927001978 44474733 485526048 896368598 193776488 815686824 924699777 524295751 292325286 149298019 633751071 916627950 913086878 437353702 152974603 440117107 390281189 955095927 833418577 115565640 877609814 955788503 595719469 50406357 789365151 197582921 702371086 15807318 338341405 400232407 771298020 675001858 216170886 90154615 730950764 173793655 48984120 443565945 146763170 207324766 216497539 66452901 704080360 386714848 162230267 179196947 275142383 732769693 298735438 106094582 610784480 866898609 344234089 707593603 966973822 49812773 574118042 319458303 629359954 661842200 123248926 441579363 709736621 800283492 806284133 626981949 834279689 198553361 483301630 941235351 529711505 882321493 290599411 756492236 858625827 14264139 624305071 332412131 847192938 911590577 301589218 129675783 766474114 265687365 108695575 985395506 304365778 759646005 734714346 141459411 852308645 235704762 89744695 590060715 458245952 873136391 799783441 631618561 580934412 26224381 104579977 322478790 866799192 982338336 168008097 361868093 265047756 240391855 12469816 767407928 642371906 173510515 971495789 943134493 229757596 707008057 785003115 827022973 905012558 473868747 465096029 835874206 223268960 439983437 597994991 187511965 524177335 103090331 264006629 310961393 323028821 553086467 809785336 37609511 744922437 737112463 31502485 441643908 396143631 344758074 891960512 191449082 901036730 626345957 192183920 497741301 28604465 377984084 949616216 190316820 863672005 247635195 101801122 621157076 421144888 258093481 324622347 569696462 498976598 848338110 381336986 339961354 141897615 180099644 754219612 39461341 639692321 840470945 393584670 54262728 319003130 843760953 551693838 235669953 941083550 336215330 986860433 708607889 207821204 329105906 756775085 643613594 858400091 419104215 690115967 337874507 954381955 760283498 5731188 49008868 849819264 964750431 592180764 237100327 426947989 698332352 60046221 517641913 358231469 464911853 972400617 343124670 782742826 67646589 985280070 427759445 923497988 35686139 316834765 59961909 80850262 76542750 130286307 409136139 221312930 6271571 53039814 48725243 456334659 869001879 923982119 747734443 470828639 556844183 495238285 264553945 990358171 776899666 2887431 109895403 137420036 282883990 529772631 12205402 26280907 658968696 626706625 85668623 764399726 720502703 948133059 681115702 703139461 388736080 201375105 871347554 795592095 147316256 289789433 213390025 559804373 758579698 152825176 462333733 787057505 137432315 633084679 371789720 853919185 113603756 708129038 758120574 289665488 942769301 993418878 834120307 670897823 69646338 742531064 177993219 616313450 33702106 757291673 949796684 41848151 969480828 806603510 842089461 618323014 702247043 907369404 980368872 824696718 23001384 595388166 345105473 217309095 627010444 561003313 748201201 417798553 525064065 822728754 674821173 602531750 555463820 688823118 719463189 876490109 453498741 868063504 311364715 706660584 621270959 838427583 679368333 483825594 858156765 17366910 441635832 46012463 92797200 488745040 761159043 659733924 651454681 500978257 723026652 732343290 993932053 941844032 859915080 989145899 925720931 659601667 582822412 414780163 265249224 427464395 925147306 26379108 504473228 645189564 83405150 390728041 228159858 528977915 522885612 712211951 947824507 749031646 211480928 837834724 899764870 673402314 722036012 576626807 761266047 225399771 522767807 707492211 326992182 857561738 931817732 205001944 406930164 227100131 711597295 140312632 992117478 982744017 923459084 950232573 230077022 263963721 4111442 606706186 164314480 929612875 316502586 607022597 416994480 72127814 784780106 457831396 588118523 684048367 504481961 424933508 175960033 856617545 165705248 47833839 107292015 97825833 16880758 847282225 489868464 140426648 939628414 590178401 290885973 497352322 499818178 652576793 627443807 149368899 47537991 381539821 115683417 48761098 711807098 624613390 381975261 785691456 244683484 196656463 661622643 911427459 545547259 87938043 678208104 859056325 679119208 55074426 989371512 928151273 903787993 389590673 483018107 127219792 273843363 525290078 122909905 838382456 593526648 183144262 589188559 747308790 584711583 318878698 233740049 950367617 302801614 748343206 828039677 987013663 610728992 845646369 853727065 76543188 961018841 45289826 44474204 425241111 664601178 333699999 749962389 95278878 252240027 909474971 501670823 599170073 996595730 448107120 623747055 265907070 902715140 846435788 284999486 998979772 945473717 850258110 766137326 405563888 698343472 411248104 238859318 743634989 466477868 34327565 275445662 988775198 354033165 259796123 745793733 896861535 512932814 880842806 103967340 271506722 785810322 497094024 506700117 474048114 105551917 39496144 85858798 505325923 381060408 244634463 468120490 803427371 306969600 454437059 909696169 380021786 295003741 3612665 585166066 939966484 657907152 768914987 375562930 473039212 142740044 386074672 139401585 865722980 716239156 306753549 689838577 698323453 797794420 111207030 759645153 510092598 993016603 926714520 989517574 560529127 447561651 93038725 776756066 818948015 246047188 252651354 273693801 382632753 764053380 598358334 240398214 380447926 16764451 227399696 962690591 952126404 739048895 372471690 477421440 253599943 306040975 732681964 468401723 505479783 884555860 970627578 948081463 14822802 719718667 70607619 180306995 618020352 741629043 284157669 848809815 254416704 389111978 292865559 55241335 669572284 834743920 87984362 195847642 459509028 461665646 482076613 196696688 58247538 24218710 595455288 460679114 817712952 308772710 89145366 29225283 702156832 989885521 498453353 314168928 889780165 986901084 211463429 492203441 342115815 347272994 894267631 133642888 787821097 834623785 475824175 419030818 816334544 561111410 134824239 446342758 728956610 235575305 930719907 444987303 539436586 519665958 856618614 988149424 254101278 899742322 553344095 80822885 300421770 157219801 448141916 680046303 58232023 196954510 7664994 138674031 274795288 976633074 633802558 810314489 70040199 744341654 283515060 822774110 242432343 238943346 307988895 817016344 546619627 748459681 858764240 42093179 914416633 27482214 80768238 732155339 646352252 714200559 731824837 944560097 502670660 547813319 172531007 930229858 938397548 146965647 916474482 787502304 28464180 900439766 690180689 699018231 616110943 516763788 783352804 318483090 528700544 368653094 763597217 992420133 328013816 997094333 633770423 731045701 240757643 41304297 184641952 175771334 486692217 701925529 351891720 54588396 811258365 287144539 576166414 249525215 443581891 194585930 278238317 115085503 105557273 487785956 415968892 943381248 927981729 143639505 899413786 215836474 908285293 263305981 462297109 562620916 168329674 685123891 668692154 506703276 219214686 659930198 391368603 276358872 816984969 177587212 674723908 944047526 180175633 545327981 287447712 445716732 517019190 929701301 710242520 302301007 467216878 835602416 365825951 40974704 963541117 14717453 86200930 340543947 462544572 300037942 95175472 541522616 970184827 434940094 97808198 865014978 300185621 252543429 696145562 460564388 559373589 89068818 132756542 227616055 977937237 126254824 149699550 300259248 403287397 195335198 396561421 160807626 300892963 670925711 805476752 84438784 307151811 579315814 11822954 50592251 939681826 135388368 219858972 725073124 48818815 293398175 200237046 286071604 993160586 286949448 956334895 923597961 913176519 861523152 503627492 294673488 405877008 907938955 801082011 535362137 853155504 395563562 158204676 923894881 562028538 809620513 276205689 486978386 596761629 994060519 683464948 900886369 665352642 906697370 278290742 37390907 64965805 419881348 501614012 676051107 604773477 484812194 431542455 645962460 180908893 762247593 279348036 646942810 24381250 171491543 537759099 732663333 155405506 102863602 906499714 271984654 932721671 215726647 338108425 406658994 222608393 22807122 802864910 103214616 465580912 734141055 650318284 346616763 3942680 111354821 53718583 658900828 296269114 269979279 694736968 587354340 932592226 909437412 194976189 915372168 107774448 176517602 649715553 131474884 892044777 445127187 309031060 685083307 101364646 706262449 412780083 583166969 431669385 24354957 4632154 277560727 600207038 332526350 583673535 125428313 434428546 979755771 617153872 18793305 693152046 136294713 101014944 895872495 257671379 346183109 904637563 10782289 435007137 88938555 874887821 597479681 767380358 50496212 253392119 150703584 391985375 967089345 155060333 157225834 332791637 710337624 328542242 451676086 819075880 628106001 73613695 286187777 75207859 655794059 611282517 834364756 93941966 201608477 96283031 476602081 155581300 390301994 195407528 31545290 956101524 434773831 932415789 321852823 397948154 32601388 754397755 853699976 591545979 401268132 327458117 654112620 953834321 456801724 258212505 898146574 904571181 683008825 470758582 150900964 623884339 670957556 969895094 797720031 419594127 847486290 791727396 648983023 608910512 736855254 217942273 154399575 951226741 31572781 630791609 807809409 333361226 30688117 72893819 927580416 965836167 268617164 722577653 51060794 208326267 732951284 303611835 404435999 407643748 330893264 174176546 109909102 29977189 757785336 260672539 997863715 32729426 140664093 315626534 779607120 709735461 224978243 923362970 238306403 539161438 879817674 658014365 607695097 169800301 242815688 920404444 213257983 360207941 274415311 339053029 873585007 246551950 866689686 56247147 786761683 336888727 479196316 309001703 119685343 851843474 946921662 567027107 610081116 243695438 243661057 637521074 676603745 906544787 789566014 373417889 996818759 709093693 996934964 296707573 221918515 216878496 321539999 758556539 211094774 115078598 339811714 957757625 354685811 576879799 709479339 168692155 657200573 853722013 884482670 437105912 321335243 969226448 26536160 197415765 681626351 392295176 397417896 398802276 982470739 309377160 67540899 250319681 950096509 133311263 816445577 917665876 780378597 726884784 621059063 549384610 311137681 439675280 957192928 841565843 176084190 749854972 425676948 590528786 540511548 490443636 113770144 379408947 601612498 915168685 281134749 833755972 323763588 946804505 733721851 792220005 680177064 707215262 853230548 9101531 283815661 180140417 564801492 221483915 947660620 886770768 15194233 839243954 419956189 854759715 392653877 534103293 486162899 844030046 586119434 966387217 83258304 480812218 177036708 585538946 6303691 844296343 37230831 506345209 395448953 750793297 421500590 847275643 671462779 262651912 974802867 432273949 797780713 309520559 445398560 93987682 68357864 305845859 167421958 460444887 352207544 826708435 230601747 661409788 424468920 453302086 765373010 509548595 973639155 446867052 390874478 823075259 880480577 458998238 435744110 4879107 856135923 638781002 741344847 744899610 464739381 477691745 569813162 449440874 103576294 235800639 323962483 629818415 31974638 619908040 721076103 782230984 37741089 504429217 104882700 60076429 600962191 21737051 569701895 930196244 919559355 379074249 887123694 188257042 657447899 89070211 319957374 961339884 418396958 22283804 83672297 79804350 204357458 188209511 23862870 843203196 605979700 948890518 938530125 11757925 156230206 488305416 584231452 117282582 622414947 613989562 278351392 774948594 350416588 419924667 211282627 942518134 144958820 954919692 459462870 953724679 454976855 731543510 331860186 904767678 252377719 679229548 848661503 819455993 724642615 449432537 650680138 981681887 493918144 27462864 808224218 164477043 697393244 65689028 9026871 633179509 660215452 267719541 433745355 536786286 214377433 543241933 242252992 87641716 422368718 298361319 622572258 978819735 697506407 299602062 24500574 677237427 565640342 362604285 594591899 169511949 904896305 977686598 214195517 398000145 522931798 372441898 829924522 453516179 10619077 870039319 635449068 531416948 845751860 363207885 891421351 361760968 797604322 197172438 186596224 196343073 288197309 186842169 274373258 782686610 256582618 676657446 216421364 882092314 399241793 134105786 700585170 873090760 825662035 164679152 978919169 622852643 925465938 148127202 159143873 283966714 499150924 978380455 816785401 945281028 615499021 637870598 666430676 879739040 725988811 601096517 878228090 289091545 309256028 201147114 477033160 636471982 816708282 72626982 357642782 439964188 902777383 29851888 904232969 21075408 662136461 952161611 354815233 754291841 506025881 190754410 708488200 355563415 979350211 636064421 818812963 839913567 745446212 588064986 727396464 875295617 257668768 394430453 409154339 553890851 263560949 744202331 154796857 400596783 759263593 103357012 463760877 963096948 889016612 795314135 226357311 890071524 722653588 565165739 711944740 608456258 114431827 28224947 241068228 445307988 636410993 892780169 757461361 130155661 34762002 494835578 997202759 395803586 332426787 259467132 247511851 660713058 778865356 157977222 185480994 334666775 24541914 227385921 405055120 388388441 902313752 224380302 368073344 821321690 24839465 655889628 402333988 604848029 296706460 337295637 98631546 225546974 113016607 285959265 126774374 585392143 172337148 91632142 69873163 876407959 194460630 544959039 502089566 521539620 685647676 9105877 569884739 701207093 253014949 631075031 297295573 111892067 384546971 653081175 215045466 927248655 66603172 523467412 781479248 552342513 765047629 281546258 447920740 205649493 653350730 505809981 45122599 812474050 424936064 408414429 758969314 723049328 980319395 773680880 617314836 454223130 348307041 678940300 291209133 719645185 652959124 639873300 693975896 867278991 852420038 218760665 604890066 190476598 967416929 102137320 284548684 567655113 504503079 860064202 282842504 512491704 925728800 530774511 769735582 163934947 772988844 528098521 773679263 720153236 797285343 826873747 155150036 411620558 920759750 93767943 607743922 690878059 717627125 305606267 524669489 312013094 70658077 137093519 715796648 244232415 356058785 773291174 255575828 400609826 893689271 901398100 260589405 108937697 919802368 240713242 922203756 578291698 746601137 850659261 215976607 119770156 424822776 242176213 341828486 241443067 632554182 631271629 970669742 3452063 377495409 461968065 261823189 222461860 985438737 552035228 565856829 952239741 822518962 847524415 51925612 39920706 624688076 287026818 622427634 17233859 80312047 968729776 658009358 816319817 135468900 879413962 572528032 969876868 549924140 912851468 875993204 804412641 57963310 269532537 704661151 920363476 656211198 854919639 832607170 291965926 767616870 126044225 290088291 437386433 314559428 7980485 974250030 231903421 700418891 164411849 265730173 590235689 114697237 40698186 858067715 723166849 4016756 220216516 663217167 667508948 80908407 226347472 242334934 681026424 399273106 433340528 661030144 765281896 773679420 352023694 972661992 358446995 604736024 654061739 957441625 808834980 930027648 64359289 329852225 674160935 648659844 756668540 988517577 692572870 411895775 427377451 580442199 627249404 237986905 825268535 808609003 881355346 102635781 890390438 450851212 225726794 428879468 8051281 317894064 58853555 894009341 657077049 841564683 947885407 346043102 901947837 137857236 413163519 107624595 497531272 154550694 108395476 740541268 272501624 590517653 785619703 108811872 424052055 742366687 631999428 445680511 550226524 990674984 989330884 347049236 848756777 669629350 478817879 106670003 21195841 961585437 882532556 923999399 759075718 516700328 586497354 845838315 672433684 386230190 702089791 163583663 65401966 455033320 410284488 132331758 700812938 608577869 528454913 395642998 525281957 432257528 764658271 395391099 947059768 589846167 452415591 72999146 29269470 409589815 993973600 33841334 270164873 408485313 130004138 336931443 586553924 840759676 28627472 570225534 465940725 206497377 453554083 800473145 924592921 511179519 290327787 574448427 752429342 100198571 197253629 603241856 714655269 534118468 456986510 792047428 611222713 180788132 275500914 351705552 32625311 595555626 693337506 954800118 79968322 527593004 890816293 253301385 402252521 45894074 753491571 514373228 726431492 593345804 312865402 226822673 72799076 879755364 90948462 985132492 905387028 411076506 42091949 168168392 976096346 180749701 271936932 993019733 323332240 762197039 53101176 662571494 821933413 501921644 194492203 766710564 984441027 431299635 433720577 566803257 319232164 844041436 99757359 619385336 47738648 680733167 729258076 997247043 629410175 76596279 435778970 36353919 522309553 561353482 360066706 495176233 642710273 250336387 366200284 27835058 117784888 492151631 295330025 767894567 236767935 181770962 670513845 673066977 246589482 620786271 313623791 316726994 149430656 294279604 386457369 416371859 569198223 10568510 962413321 319169279 147935186 920897231 664262582 121488904 363511857 54380465 401226064 187635351 303729711 576155445 607010000 873527277 261621610 363124718 411338154 376277883 951257153 574415628 691535365 647737576 607100755 375318224 988121066 121298694 578337995 168625145 148672690 809747614 984237170 192652854 916943108 883962064 276512880 626206158 944862314 728780357 81355704 623033947 900184375 919061496 122561869 78893276 105331424 211059551 196548541 633351672 984878801 76082178 58107214 95999356 88056349 468332048 191102414 489571498 623086574 522859612 336618550 834337123 483426924 196220057 162829245 894094373 904074279 724342434 905845484 787133650 841471707 612909387 48767915 303803825 38904122 989551344 326559951 711659515 726743891 226682345 567628090 953520685 657148180 240477253 355300724 200913564 903672984 368022565 988415007 294336225 805698795 923265548 486867723 37295587 2088521 899566308 119031406 3746063 309271901 378755400 659190442 248271763 34670111 146180566 859629071 95943506 904381629 861189273 882830485 613009038 376418967 167919199 450611519 731288604 814216572 665076886 243593916 819215839 157561334 573810999 705015707 563329197 804496366 361695519 464668588 495332894 416886304 60021613 894538479 922986971 312205922 501972892 556690020 46869633 430669341 11524485 230935881 901310710 202061724 245922257 635910779 289263655 391438631 117486609 535907126 246639453 266308415 851910292 983655060 36141917 334640887 398141900 338378701 661220144 796585787 975934089 559137236 163759394 858118430 372309709 41292277 624515286 292824778 291505693 353535854 319459488 282491858 548440887 807854331 476510320 534032536 453982652 262097073 274679733 335543750 7072624 463566155 281810062 556561293 281579704 303320967 880285237 176921344 638632066 708756846 706655860 720892573 19366128 472245421 49793430 506257942 763369196 578001518 618203230 355933018 846768210 700772725 120176046 917821500 60710192 765043631 299255261 5384500 423066464 413866269 262814245 502543716 430041857 547340890 699288424 265115033 571018760 845288513 312640653 766099101 166083691 209550106 313910751 16902955 455430571 730279090 594325127 970277237 121048088 683439062 111339449 718427807 373484708 791116449 901557656 671442772 671565206 717348064 278151485 340688594 678270018 390305271 490097742 111043037 290398336 44122716 445613475 202189947 392118108 723558483 967350336 285914633 757616829 296728702 425272626 610421988 97553513 411097074 815027469 31677604 148434191 77463546 406309250 963552792 950517172 954216702 893617719 50842304 935550327 41195944 598940612 166483340 860333858 427695628 130475517 352292228 339188274 964695826 881142501 864817477 196111979 598456710 893363852 326565193 727525260 497072695 608815944 901277465 383680927 574163375 641338655 456965825 565655782 384552474 471310683 962916627 961156282 818675466 818567846 753922725 51876092 637779860 957472647 373895516 165218574 395285647 946885199 738960018 417028856 752474896 20036136 996334281 110572888 104805900 320210614 183725646 371023075 429669369 576854790 890416855 886827330 254997091 349242312 738200223 186887068 424621031 496398711 768772292 292188922 443969887 135784341 185235043 641615513 695136040 446328979 803800206 515569952 362852909 863560881 606312734 26730466 300365814 346102690 522403818 953415375 425182400 859033738 205626345 234877979 679554238 286930369 532671610 975220136 893246217 205662633 132487906 203262055 510549793 481536919 426726263 831988114 524159745 185302888 656859012 205821267 317239351 977250209 852900349 161488381 980494724 714865381 214107999 848979061 991205775 867028654 972251171 278049231 885152275 566775714 658806205 237116111 123764378 676006450 204180210 862447915 264585195 127009826 440155939 543039985 514728871 552134863 742407981 975215791 282391086 308870192 758649926 125402730 414947613 104634473 662376661 622668329 364335423 195734971 186442014 979339362 765267936 235382325 790214021 648201867 99052015 422262829 555899692 591552068 196405540 210227855 914039663 911188179 125526996 13082687 614357779 483129197 573684412 42965611 242345496 386859433 891263512 570567307 526176938 157600117 184875929 234765814 501325319 985760825 563460195 611196462 112513428 684380125 920739658 568241691 318248134 970551768 874710828 322058205 808545421 382449985 906951476 625902530 87038479 839179248 304906564 700380876 503730286 208199083 337615134 258411822 650918116 328951546 435972218 560322665 809402391 719900044 460319659 794720852 726439255 91705175 144619891 516258338 295948573 753456377 815849193 639550012 864278584 681229579 84750943 156603670 179719852 300846737 777762809 966822604 273553178 494215674 848112052 966459952 834997885 484344390 337603040 794288479 303453278 786265544 642699144 402082611 880292361 386636445 519684321 350311519 807523848 944219910 970672205 681116426 903295479 663846358 414862946 276196708 903941101 692422939 540829853 992524105 512506980 126151718 296152225 830772135 486351787 232559659 362242540 708919272 323547039 723779936 249174692 991352673 79023346 248927674 149780532 507922038 616908072 50793392 288897126 584938087 259054029 591862819 381035403 891772525 368964872 689671713 215281161 305982415 92205544 68175759 278282124 994644560 749984908 251755356 814447779 41295809 384256797 904985544 610576891 254252921 30282770 834516108 644258014 861022550 656634576 552487900 333715945 483151966 136245148 376439991 160774232 211729905 953927042 69234487 355950695 405417127 196929829 829281379 997026782 142877530 983524613 591967878 810981038 708339020 745607297 409803832 650722048 944466904 863557266 98248466 97844142 338617226 625408829 148901443 893065164 798652394 12547997 316832443 143688651 375680526 822523322 151443544 84554210 675998505 722467297 647807704 360956385 377905456 234342955 988557406 961004312 909721396 213132942 77433289 822338879 288541105 995718392 407450438 94663610 566563182 665127196 892132735 920909685 444854822 56649152 335070266 218680254 420414185 968306175 257453897 222617859 88888580 664079096 244898753 469485016 763450859 522926906 389931616 850553243 454630041 404653216 698422188 240510247 979113787 67174378 700904156 693060792 165696366 401990094 443643236 928419253 810792137 277104935 563033039 205233356 66465541 915604202 243842655 346458727 507380939 274242207 59567108 191882769 638952825 127279071 791322740 552452597 981007754 368741671 887328882 2870187 864631187 175555445 626367652 832120490 289081040 145982407 454596817 732581769 738320150 136857260 397184422 270462759 829989617 155618706 836903847 982351355 924115968 569258635 518898588 184767259 267971066 664305585 283829615 154784197 576784757 225573593 602985602 83934552 600970217 132327417 944296148 995796656 471154764 183139809 419157215 605435582 502906467 993913004 158025510 511659153 566491601 77135583 399144589 351939290 360606478 236479083 709938897 277236504 211068838 869246470 34717352 369558736 43575362 651341368 217435251 382752087 318081575 287031415 150251107 747877804 869653912 127852694 253136490 730194501 666743364 537296636 130617869 882252101 737286010 775805718 936668142 963561602 919737476 339861059 373602917 914525594 242677071 858489788 606389364 34140256 974044108 34422841 593589496 757357413 146169509 140321561 148581025 624601589 344200559 180703115 68807787 595151737 874621529 664866170 48970185 853602409 577110006 714031558 462926421 82637496 36754184 383668652 818396424 442381758 874376322 922855012 215781986 509081989 511032798 417619120 182210143 159616178 152054367 10203665 495113864 755575902 325355892 782305866 936637003 35260703 117157687 838256657 156206532 367611931 691203580 25778402 114628441 330799362 281795724 176883984 893295640 238170462 152949628 232763647 307228924 594468377 731497305 147809571 824654734 644026316 76895626 261684327 997007140 36747429 905179953 152761532 487531069 45347493 991980807 996647694 298304128 612973938 792676111 366205407 556635263 318161676 363834409 924519041 51442643 885144732 94707922 388969527 534755977 135136820 941849228 274743227 702068979 614705676 852246617 3393006 248236749 787551691 217705464 576872937 821234594 744450080 453365625 304063105 519979114 304737016 346021518 214734165 953280725 731827059 622759326 902982964 335246524 112211580 736218236 488160702 299431831 299053956 878556737 588779590 721448105 766689397 285587192 481214941 863714014 442105593 23853925 598209223 612706727 868095183 320248764 614598798 194850762 69599973 137036151 885340632 724668327 950954452 209347600 109651627 960104747 812658463 494714474 637710831 219492302 822416960 123758805 489466511 295098960 412883217 417988251 111196040 103068117 318591981 491191242 533146797 594635491 377170799 814810175 900921726 885162993 302560453 332725470 672954019 428565823 296394581 260065545 558250070 274046111 235621395 843437528 419334701 727371778 652764543 970123408 305234980 757240719 857675587 106194843 405781758 339110412 930483766 584302858 507416085 439820768 869191840 78001394 685274589 481157524 657981349 194246621 518260085 58291425 893214303 832444539 37889031 243762741 237222650 211754947 95672495 467826094 611477940 302080841 382766776 259570956 620604220 883361512 383716187 129603712 183326635 468760487 924496975 79615654 899703109 122147859 776167945 891348534 500659863 30814320 510566828 954895762 79566326 703057461 447039034 181042161 420003156 992278903 456671016 692313551 819415919 198159927 836554949 773191523 800533412 83631712 692512897 446097938 584660051 617180189 130500861 428796189 150586251 292940232 264487090 240253411 467756863 593375698 578923092 826776730 26823344 180876601 243291932 433188841 254354741 859669184 390768348 717806040 207259146 259501018 978467200 230070832 385734280 536650130 821266521 83741114 716091993 569002776 70173664 782980565 203012409 291165786 532799321 421869131 662398240 41550461 568509086 830901790 279822999 528935557 238766449 332405732 588215991 219473006 298307486 283626400 716647388 900602108 256874361 923379857 647496117 40279370 8422034 446563075 539650334 679205333 470679114 799443771 265730447 312507778 410059606 143541773 812763775 450011859 654161516 474277795 86032800 258301253 481875804 345078281 560626980 953617110 438946077 894721026 111697947 6361798 267939484 859863245 972864991 467367785 833912467 540054959 950128918 594824699 917035417 74242491 357585554 984549387 802486105 862819996 229096093 625961171 956490259 772515736 800359114 688218001 14058806 38512558 929341390 568343060 351397148 386258796 18359466 150895507 580064351 286662930 903180300 751184119 431975393 222368361 50719692 626483729 27978970 438760129 878162145 633351959 965305149 737262444 1488576 894260381 919581745 236067004 24432410 806501480 375533243 832329306 709765119 713117196 700877625 699869754 497142886 581947769 633782408 972147817 577631998 146065695 86234285 421991324 472580566 838128008 579647642 582207632 321145857 402034603 641136761 831637235 709703172 741575631 807407905 228209603 434024579 348670465 1312823 605938688 324500142 373148380 895148204 53700547 688363883 900147394 550962898 670196378 251091224 897558642 43485258 504103596 186820957 385731808 802762930 194059287 80300690 823388741 818017740 747295173 603885026 949029744 53398328 529681593 270531768 891909332 635935031 778786674 361691243 804388371 528352471 12851582 527370631 461500267 160259558 444598494 292530159 725249843 813082032 813516355 111228325 809813295 763244978 233971696 453539251 484999305 685341907 672513047 60327256 293272306 91047291 803307789 989569914 364750894 858497804 970971831 6080770 164603403 721064906 700500027 224620318 203295663 885712930 489711493 366647869 945807938 698305199 225567246 338842314 733028504 619932674 512259444 1621155 151693649 29123168 952435493 557155250 441261738 407452414 477033410 889379154 391826929 920311047 52803909 553776904 947342067 407138962 529598820 728954326 313615732 14421663 982121937 263448444 14429828 369371185 429903754 150163625 863368942 531733273 216979057 490380857 755326873 174020056 949984418 958851226 239827934 472314690 829434833 727237177 525229485 417007616 547079116 485550999 852777373 639131119 800953147 708462078 711402771 58896521 907549378 97241985 598009170 735562617 819616140 927866087 735502405 885757013 792551805 445387503 576764285 854863215 142900754 815130113 49056004 847934431 708451610 133698683 13919709 131110504 952144373 875925192 608622201 21117375 620437437 259664436 429085160 823404145 63444642 257654013 4366702 412294859 644759990 31798427 278986150 373635997 801109639 968567306 689097393 494802109 107267816 365542275 649168533 715927624 701016029 944911705 493256895 550273218 116082586 718159619 835961101 135049524 894818955 732166526 44636520 581961700 715700625 82760049 330259285 486785274 506780177 254214920 865464086 858731958 42066922 367573743 684971508 743462748 741799026 762950906 218341553 193748523 476560127 691206622 282212462 53351166 607583323 573696251 17506944 258299289 925479666 694775964 885269114 869968052 761578899 449560680 56096671 952402855 550771891 624972014 38245713 474855101 339771210 467349430 765200120 889005943 716606597 449763613 721089532 549132686 508024661 135667211 900189532 232696499 786244219 602806965 915090733 705617364 50630927 273754460 82481504 364508209 149148516 557044241 990201759 279437619 254895218 534312270 253168438 687240273 65618224 112964782 653516425 828496095 224393810 373081523 484726826 629149456 453183537 83445190 794361610 879008389 206805029 899314041 790427034 542928386 962927467 752120865 960633665 54038670 858478187 295573195 765407567 647228630 281387441 680537835 448468167 659483130 562674784 930396099 388482176 162974628 36608263 697553638 292118877 407636301 509923972 510991329 965863809 899306094 707591508 659871853 97203818 973206684 726660005 891636383 130693223 886087663 229698412 52078870 828345816 656098672 80968328 667216008 790022214 7476926 556338079 218490239 75702033 661885820 82238715 594963867 218753332 288743070 143264244 241041510 331759755 454656750 93445362 609019071 507779375 420621265 284447960 721902955 529329648 732482914 158482973 871437155 169855445 355571987 884440291 375830562 359210569 593905340 98929438 870959015 29949508 605449194 268101697 927282564 850083435 847115125 215684354 988148942 47551449 862900297 569102895 788268862 516600969 777369036 2668885 328058937 922514574 940581627 206907149 65817818 588470431 764739893 994699892 576794356 160196011 291939615 584701640 512488547 965011231 978240486 782748825 893385421 500229469 622365767 208541212 143657800 39232880 984363142 446311891 660542706 895700836 240135416 303752940 663466541 521583870 561621547 707462770 229816817 957472335 79013089 847574991 702893065 720680383 309303589 956047219 416081460 583396672 602520606 2601635 334150756 678862248 629782852 570251464 614078786 201500872 483176385 536151998 973831373 47077961 602183105 851254082 490404678 449202496 807812398 871148267 404702396 494503974 195541483 125011723 267611769 810880357 304058573 956323996 958076371 791630249 637940322 488729986 493794132 390906658 821155693 605060224 541290009 821079421 239956372 950987631 183565454 380797001 242314185 790096522 609101809 330075255 672063902 910750558 624842813 222983086 16020580 429231477 340025360 975435098 896651154 893624595 27477546 21916867 150151939 511800404 659322200 432226047 883802284 706290605 477670098 951650898 135905092 554689695 3909922 531107634 86270595 44490540 764525844 461637541 438375561 712560821 317927129 130243801 603933456 827970394 115065957 975434221 571827349 608108023 981527292 818674022 929668312 315685824 447204735 696200529 666245658 855503073 922490734 314699213 330542938 967349460 491479348 556582132 945612888 685814427 108346656 689817840 634603890 371892855 897429253 149157259 76077502 332458189 772048062 39276642 737023755 536222004 992885324 670139149 931303206 862012206 106668522 130120520 608359319 465531160 154976285 675062071 185899622 410290457 786140717 196017948 400052869 864640840 206203954 585133738 490336398 889462481 595418652 276069602 716007886 645289467 319597926 53781584 607198985 839118651 797439155 858024008 9913842 373280311 344081698 616810941 306737915 905139180 59694579 834616802 200939485 900559809 75255424 855639046 480726606 615736032 830042057 682810013 631538262 699711810 825819558 885142965 156750743 818030253 726019974 137575904 294823696 563208522 540901697 363964970 65003427 771086645 866272197 111042846 590414803 404452318 478737027 83938655 793884839 375326410 595170245 3528084 451486004 745875186 600054438 675561988 453120816 614997869 614215224 204146300 194535967 653203478 623555594 355175946 217847614 562530439 557194917 500178701 68884245 136041607 714301049 320030495 592162970 377942188 419338051 933356867 517236168 552445687 51044668 768748479 83750462 96022558 174512512 255542641 141070517 276355730 376897861 197532263 890812666 467280977 271438455 781588518 222251767 480626652 627505179 387740396 131462404 726744385 358145409 146665814 225001955 32606559 691870506 461855380 861372499 527297895 889168966 669182853 90331062 937640404 548004162 99443220 778333544 29349134 634698918 627074195 457920322 327517042 901782361 795776008 691197498 841904949 339454849 810407198 4411472 304140643 366785050 693143756 923240897 95350364 566676309 454488239 719906468 545502500 58353220 805109895 665127646 529067153 229354028 923950423 615678799 427042696 224340334 125056851 858620857 395318903 597098760 675555586 714184672 386271539 866569420 988012952 740828909 226573057 82953487 518648982 167494168 338681303 484875310 663770862 291543308 360252116 664117058 326424971 259575600 107523129 609520185 757523503 295717617 963419886 734540087 750411398 262953789 685716771 791740466 873024839 438238955 486681370 130321317 800654310 147528296 280384602 596787090 827526796 20551631 594540925 735585600 893022483 830497331 959343452 879103904 170681282 988818099 966845765 309564271 910750509 318495351 553654856 442577007 635125943 107285275 52897609 784866206 945879166 692872157 413956857 426011075 208363243 684641594 950999518 682098887 776464957 354928556 26035929 177133129 105727778 855857409 224859687 845706774 222716379 487666886 563701988 104657405 3307933 441604760 468517461 119037299 654575066 895218219 74212478 484768159 759922050 240788293 767126014 219126130 255544072 726343151 13089088 734790367 192502123 872126075 915390062 419161026 978450637 431293568 128856399 469056510 82574147 853836471 755013910 133872704 968718393 734386883 789145085 48608262 964572779 195123521 565520915 196873997 854244016 924298824 708917064 170475330 548988635 13538354 56374118 110091973 388317075 629670811 491534915 650191610 624187312 3040307 947005131 439941613 5319882 68287862 692258485 706291218 108086183 812202292 989570209 661671444 241443777 557831765 504592900 854323356 773027494 191035623 754248092 450390808 327800987 964223285 740924635 9810106 408513097 80024308 949119782 643175724 260087853 42147726 939566726 50772179 567695118 398767867 170645836 214897034 298492721 443950948 93762984 463466934 52775166 376756172 284544516 770511003 787608050 478614589 636517599 48692890 623849199 365979130 716752789 480729926 841447142 809353732 453343994 644677894 693321986 279417257 864805795 418844218 720803722 244982016 843777704 451059076 228717629 468437200 574683948 538401903 551448806 435420462 280219061 292986200 520788938 867229095 539398236 229404386 321050400 169597475 93293960 637715167 208037803 990078253 91853574 396669008 486839270 793389714 199657410 10969915 467841649 420869670 450683394 475504140 593655486 383405400 467509187 125616678 151797366 287495007 679493638 145417971 721706704 984368459 348392589 13337746 464109809 814230547 591112808 794194615 203964286 219585163 437477882 693930012 740829160 342820993 384692985 932395007 683495221 471444857 448952847 669579513 717484924 801026650 95023709 486882499 109562483 743204168 701140761 793655340 442714194 267158322 190560621 616678837 108594005 198525836 320623651 356151185 178142015 41402107 560215511 959223648 463944355 227853676 477244315 670140329 544244088 731165964 914705120 343109151 251953240 647321271 745858578 482088423 370110931 918041141 764941565 660770659 463518013 169048457 703694889 521752941 108756320 312185949 291911675 859204036 265424426 797109147 323545832 105240808 655674826 801005546 593498049 67554807 689922296 84664964 141239852 465556780 96573148 835845772 58544672 508732254 922072797 665770114 102708636 464602914 726511645 789525437 157540628 123454071 842823523 861867789 803974454 211520251 382267876 129331853 74502649 577717651 539594415 543589008 713341659 801813741 354870621 141609968 9492171 232413455 773976284 747796948 278554245 238714828 616365040 871365649 834844023 256879218 492335182 233185041 318433385 142877372 260949153 675092059 108621646 997846147 649713422 985569128 683387714 89323241 258276127 50075142 358465815 795727886 456206647 388650784 125294607 461750862 85657244 855934598 931014915 323785516 652317427 498034670 594990215 488066481 732371894 582498383 931675256 134418002 820326157 2197136 254346612 896924380 759286142 909496362 410041074 880863574 198418274 889285493 316823689 985786095 726103767 584875402 391154800 694227148 520987241 573158614 865182045 14409801 716067032 588396188 893732115 45438820 834602749 376752275 18848920 243977682 150621818 323715995 171622782 732200535 686742638 598571022 685005578 513633933 77471284 259551050 366388562 455392975 308847029 303740406 323389769 610166882 615713741 852959286 939405257 684625708 19123807 770751421 521411893 157093197 642783171 539679178 60183650 115572933 692622054 419967916 907255606 681131418 509221502 300652030 951221819 335962277 347829375 882864255 180970591 286447367 773977008 679047303 332389397 88507526 402843742 180090954 101560203 466106949 453229808 157144001 241581224 158151996 936470941 933471989 747222162 891877706 956412613 190522908 13975123 346402427 177628102 643017490 974692618 518937309 565490594 948660660 326647402 759947977 814824474 633947503 351770671 631972307 196916150 780641757 541111822 65722669 231760369 539711035 965910801 859937156 508531284 321854772 539619981 212943085 804011485 814646526 763904830 777730907 776535051 833588981 945946678 561812861 508199050 94387974 614627822 887054626 600991053 393339643 99454828 750326108 604330521 100124306 537167057 506942157 854136790 145320653 629972128 500615857 586028155 636230796 781229142 220060133 466915999 605254209 258477675 62685180 269631593 822342372 56999867 41330891 850719091 340615174 367426759 335265555 109521158 685289970 787064129 380934456 263593264 638587017 50446720 763473323 701909942 525303001 458219047 606247424 646632618 526905110 964522934 646431343 652825952 498870808 881695752 762445512 873481678 178602174 259253093 997924669 183075788 202512789 278111078 204064085 904690865 78553076 206372272 789571785 421950039 703294458 577175901 35511245 828461626 645351864 699295578 531966647 899317546 364057642 552717650 945906506 698284581 308438966 58420005 322641957 588880216 429649927 105189939 173423550 63844787 148682494 242217542 72673794 479009947 586264862 589785409 257950599 263853110 249103447 300177541 331512360 859255288 904931518 168950495 861461279 764370721 246973118 30193145 883923270 115783044 146393412 6185216 853597330 264220360 729372661 725649112 391294047 548563347 769292923 284021858 976134641 970173755 387947207 589405508 503325168 585339996 790136627 781347544 609060129 319985585 514517980 726292783 796522706 447630633 159851055 27407184 275413967 678771581 871342635 896113139 354213266 719561040 332831616 647709012 102362107 781037903 21960211 576758302 806277685 729005810 945766802 477073202 638126630 356221819 343877186 526117541 404196128 932251294 778617962 946432634 908841292 526669227 205381020 96376257 566916522 279813228 93580507 165208953 628132496 825354073 136698627 892404471 647361837 490991850 129379291 305239288 506470898 584018406 803016049 493102388 471903416 757547519 994423099 533702923 361339203 370118875 628581564 496634373 663305435 23168609 765832762 501732085 906385767 926268593 593347272 302876837 501063076 855476416 944047665 839708649 828334786 845890088 802569182 441308319 542302661 39386262 509347856 582181609 939548472 253111266 232414926 871430637 739514417 870634835 538170011 593571300 962748148 230772025 672431829 769157711 783327570 921348440 892763746 474249580 361038809 462201608 295047084 254955315 384994037 324357489 49393097 513435115 39348260 528046917 995849389 263023417 958857149 976596081 579949728 631498869 356258873 586695359 759117205 470140643 611243339 184105111 895552893 387572966 397284681 364154336 119872242 803260613 316707774 402437007 244946881 594025771 416280025 151654861 186919176 410872201 604419809 922026484 845567162 248599744 128363569 471625125 378938216 577373517 240244165 833559152 508552783 746556579 454672507 696756875 734227909 499246757 847235851 547321384 745102293 626125462 522197163 715711448 523915782 524025908 672393793 550488323 657876692 852713037 624955324 978965928 542552980 607737633 856120195 242825358 533822544 633858658 518046151 182738146 72083423 669940971 344697711 413802298 120866004 21643196 775714879 498381248 309000622 794859792 891272360 965652389 861619008 691853476 370564546 877171752 431666477 55630751 925300178 757007334 956192921 575127735 725094054 169705619 548612202 305655413 647694022 345052694 837351719 939502303 357465506 330176887 961900061 497093962 428693208 826326833 239704971 374343272 798074132 994078296 846165703 913476146 350706881 869822636 955212106 87234561 683221518 127081128 885147663 185779370 541030384 763150390 271728996 323386034 13623955 686953539 774315223 430092555 46018061 613831493 961305277 687656831 63512658 347503602 328285982 491973546 162582622 808223466 111188745 442213908 918286699 976185268 672968662 541744086 6045374 410891883 392072416 902494332 17425045 502919087 207952246 867360541 967422323 322111283 841951442 776786130 228767082 522466922 868706725 756126243 596135234 506701623 141208811 733920278 998265463 59280632 806662769 519623017 129124705 337489803 120213902 398145329 305647416 420981951 628154071 926124451 781419223 437278803 33589139 880563751 337481457 849850461 398731209 593103909 363414719 207796672 830028914 99793876 393631414 695651237 608955593 173775356 302334062 191968572 984752653 166625216 148312031 414392184 699176946 32686482 540472692 177047544 377164511 843685542 363531878 6309670 273464326 137172503 493990499 592400290 922422929 176745371 802986886 455651065 826929226 654026293 799963107 242789079 90725433 10952285 944117587 168140956 635398184 373077666 661747570 935461561 743627031 846000308 521172274 925231487 315236513 570448689 893219799 947180383 676333078 156769733 580174302 642163257 377539322 470915362 493772159 996289119 208546262 467182023 733757000 617290826 686053222 892235771 464270254 157704075 563755987 875249217 750422776 468542437 783554392 5660622 695591412 402821118 265775829 531535869 505245357 597984074 30725911 911188873 959114924 949000833 967576868 76284984 621753573 778727088 262480142 503930787 710134227 96146512 361911414 461193937 596119924 42145961 198034758 788118726 150440395 988752243 97609274 336102396 49281641 288122178 951799967 816686312 608931938 658331026 870581596 354610903 892032825 646920420 990859071 420702539 82999521 574018206 841638347 593513288 897480500 982878201 424418485 285727414 190311662 665510217 491460750 133993149 208537940 766881426 162974140 311937596 520081425 685266490 369440058 355351495 127177898 685569583 129577236 593039861 405668306 738653941 945880431 48821003 311187289 949746059 364554391 199650200 956162130 640564793 407396126 14326621 882688328 889972178 779257832 870142484 360910051 99369520 761602650 16854858 112606643 766436323 661485089 456107325 484945909 134223243 131909505 929014335 124251489 991182778 79062360 392326911 364847099 438764247 132600586 583579289 816444780 636498036 83238073 412952590 855830130 72400343 524907331 807258802 217538882 122224796 148368290 790550707 321420154 458234879 627930552 464849654 541915902 557534871 482813696 27857036 890203934 733038936 564882152 541530029 266465561 991076149 778123494 234233943 642463838 563865556 694161842 225644634 939253583 595355080 400386830 422860002 458971508 632034695 212594091 540205717 195017081 530030096 395723735 725873609 566113819 616566560 640626142 831446366 303305029 763586333 416969888 777359071 35304212 40105946 811678987 246406193 723152617 300315306 339227033 263388898 62269444 997131868 495953744 701190015 956837551 104300148 580047952 352316427 975415664 242285638 37133852 436531132 223410835 114566825 510372617 934886152 470633976 867498151 363705255 371096082 149723943 588228616 756408234 389302326 583517349 240915181 58885037 184921686 359754386 555815365 513349971 466538246 991695628 930619633 993603240 529923691 274170865 80878583 37281878 828017297 586927995 362266039 183132720 946834856 816534153 665474585 679865953 300777509 343706581 961982042 281496463 959048198 718238451 182420291 197758427 914075516 358678644 861268892 530168337 397940381 702170211 491447040 468704518 975570791 301073002 800241304 974797749 199988486 866309297 57788370 420966768 126944035 364688723 881810242 243733566 123408210 43881172 227687197 526478721 843452460 719209183 75473937 832350075 408733867 568003294 959680594 807947694 778673600 963033735 54381463 174964727 628734787 60521679 639493114 317290488 620482317 957544506 922941847 442388824 424850771 433241042 941996595 97160101 481622125 377614630 768072538 215377979 172750243 607319461 721815296 996009390 282477651 222887882 572584803 858762308 805930368 823437376 641934888 424039420 921523615 61435860 94255068 772921964 782027336 136359125 479938776 199385650 805709145 367334092 454127547 722765692 915442987 748198314 345739379 990983670 124352457 217518253 48601000 449885458 302032091 724562289 684911294 888609278 392882644 15310098 784202465 315159585 450341633 809984913 670408542 648984479 847749186 32994752 926931537 900082129 359638981 829685607 18754307 940793032 310930110 724703688 919876354 258524657 607554790 13277622 131314759 180363419 188754097 729308274 135559951 462677379 957188659 862974219 159138562 597121250 946616572 345023623 588022316 358133972 644573276 169737585 922126768 288627541 498370899 247844967 144871239 881879321 45896194 56559361 303237827 620343986 459172328 10104028 798221954 896706517 386361215 258708002 188913563 586661365 207992849 848534826 74668267 338181080 128916652 301926667 563915123 488790900 966602027 997199517 439964776 904004715 719197673 964605108 250545282 235887692 136861637 572600227 336702685 120819737 734780745 264279816 383754060 129765977 894131329 640886793 914738024 572856809 941578956 892045830 710609250 559769909 419736512 922106773 871789242 650668446 204429637 461233100 27656031 958937399 650112089 853758604 578335849 387170890 752235776 831995782 228811763 405508434 799487275 15775732 693156504 781404525 600620782 942648527 946288595 927763932 723501282 502819088 990243602 140732874 408859917 50002016 374432676 10775711 569110605 980275606 706695630 751997595 692016655 474321812 473881358 271809099 990856715 625174298 181172897 885481897 850779178 664889932 112963933 18735551 778231585 50555741 478323792 464486831 306900959 779847554 428212756 184146079 496457716 653009630 979448606 288030936 82001701 253510832 993060210 778190406 939720706 738895583 275778361 850983583 846102976 554035920 452865897 391349678 657253571 843290758 301129134 729640542 323907904 140973908 83048496 187658026 508032867 882459729 793958556 259848857 748427270 386471531 789531522 628636183 998160235 858782302 656114522 679183518 451211644 44486108 7724578 544178856 606292606 132156232 190156758 996832161 416367071 353702843 466080507 221243295 655661567 501627743 189688456 121655901 631305925 324669397 809673950 227974719 317962569 213810329 594266692 673995380 763870338 728186126 509743817 348804178 536899025 403213538 267045169 488722870 280533066 998808190 884377347 721108721 573617703 32204292 575516604 530457319 289260972 473857924 795690046 91705451 164926513 615340409 690538771 706830999 573582583 12257195 143016745 91359720 26387770 415464284 445483699 167266984 635761174 543053907 902851331 493117290 279563307 147870412 39152737 503692825 341020488 796855851 49845137 286397458 447422258 793888226 254781143 889352820 724116610 585443638 873207652 177760372 111525838 279775891 646687496 251244542 263532707 318643895 486066967 560401229 169456988 339699039 280597729 232980524 126146012 888132380 154116723 993313255 828861524 813504771 390552178 807362631 534801093 498289034 604513255 194282988 702644071 786006177 811147293 126814660 296933113 884155303 686270198 829334858 799618721 269403204 739031505 722818453 910870295 691608390 401960661 975552193 840910824 678476427 433597089 707230158 841760033 179213401 768872640 525247933 425832496 587455284 357748082 886454438 709934291 680583546 35991190 347836429 822106383 460735117 415709974 502383555 39690066 510808758 776898690 557392822 618893715 290519709 587104606 79384792 324201015 268261129 507354586 910649477 523536490 411761534 245194462 266708642 382143421 533105627 442382417 317793258 40023305 892022947 219973996 656995199 9161276 585866879 399014886 293067909 979796949 925440435 142577759 850110135 139048920 197925703 680257128 772193775 368997759 452408969 37254143 146955692 640684429 263253670 421800022 888649673 106503375 141442343 314711423 698699515 691918369 616519911 910258949 995893066 711833719 279687987 245587678 253294630 721731783 340068256 374723192 654177728 685268413 365735114 82191272 802938594 921391360 410840965 404466046 194623689 367597062 420441982 903584946 300923235 557894721 648473777 755547601 67152399 729503102 933154211 829720383 535052870 270981645 886737453 718295609 185316676 269419286 355016429 252119313 873551678 842137425 815097277 374697277 261442914 419246580 462969192 957274805 168665904 588192213 359645093 829283930 25656901 356709052 182182766 541390162 700695166 463501655 647138157 434286986 451383337 592073310 550643897 717260272 545742193 369436615 936198042 315716119 426254739 782663432 942397512 67524431 362009438 972267993 680531978 719536290 379267 215122871 74344175 321601782 744306839 225949418 532356036 298019278 412230870 606053775 565700200 102752888 296952869 691055316 271670410 912584466 685060799 917403886 311015769 230620998 478952213 773048105 250707941 410175649 530080083 793607108 78970161 146391 748906335 61086184 817425397 902191868 230623124 215108740 599810130 249888737 662040835 966660502 173969253 928514512 766781924 599106487 924222045 478067535 174236626 130490576 825344639 266804782 652051513 540144016 350613929 154982805 760171345 316576552 620483738 131622171 807060794 285864176 741323113 790085 448871072 874438682 694686149 814192508 594304041 563758194 366631468 822928195 361299995 820270123 568437937 306554732 910551214 796543494 558225741 676656869 903507278 470451636 915920037 165719091 312763420 548232055 602764098 472197166 483243839 874164755 455114727 338076644 411324040 150871551 484292498 664006710 139386174 101490469 962750136 454236030 970095624 427771093 784106363 294114667 327923425 207126850 645511324 298838831 509587138 992020685 933584208 808493128 166283039 43345445 456210908 828353545 667531914 709702314 552557438 468252487 35631555 296949423 75552796 530581346 736370204 195219353 850255739 924296422 752572466 293496934 887409615 773823397 379152918 657913388 852528607 734912043 387344864 55985120 940190901 854866921 669468874 89961690 701696283 505988196 953815865 604624012 841853909 982818523 364418163 281289669 379715622 743116756 280438082 954280887 178396818 115025123 819907372 283245773 413005264 737473093 980055609 158650684 528934505 253765442 72526034 416591320 627403193 529494625 252779650 56053577 542182761 288492364 338947354 306657818 537518947 363924586 218180146 848397332 773904139 416485621 171026942 787869898 3096701 1131863 100586434 297832811 962036244 866646652 259173393 290169844 916125740 683564348 119214512 61422327 980848775 307979688 993983718 427914530 244628343 939041293 189695710 278454726 396089469 479381233 253325609 558070373 144900710 611300897 627522416 789280772 983688545 80777011 36595709 131009713 44900045 301984781 12040483 158015959 907252887 616402656 307437374 76332034 106335760 49645122 711536264 418160615 536960133 717646214 519337017 30186495 87269483 498219797 92631616 22492893 908591273 288963755 770790237 156812442 881471335 184506364 423082805 727214912 352240622 407345704 709888136 743723135 685545479 496323765 441855531 491514375 155293736 17977940 315275514 936573374 525047848 394842725 385482228 757372411 528602957 732917942 110865894 508012593 309539383 19688530 225715591 604255074 156762904 855764606 233545441 46980655 559036931 837846982 777608928 198294116 739943233 227662890 257719625 551749459 643182464 15561644 60791928 261187054 420415255 829874062 176393381 779125464 527822939 902476610 295386358 296622921 844010854 284332574 37020614 103724669 402072955 831629795 128704811 451969777 767249661 379742197 602810277 663850015 383377718 971130808 237098766 107130124 434006588 695893845 639876403 587592205 729096560 697379390 448418153 392706704 950190570 781708636 271639022 287128223 104064974 33956340 723594627 622108815 339531675 775356018 520670191 142145001 119917421 353449288 31805185 618301843 435724635 126541470 183094576 110290153 930623639 981416562 579896676 513439646 243225585 221049436 691331160 938204820 42501987 819938821 523153116 333300112 121247921 278364335 462734547 307202590 150786707 977627363 197068669 481885068 368132782 996424889 67528756 370446092 54003421 936971843 30093436 115071864 495184866 44299119 949772759 838470790 477280207 484701130 631711921 998366228 336581153 835523995 231769690 105618381 158680442 471460908 437372352 944639440 972307074 699404692 234673138 874771661 841941244 447107055 990917577 40867130 915344920 961214097 42849502 288703572 39098643 627268549 870897450 876440848 755120125 284101358 14638612 82570089 416093646 933673496 570651950 854914682 599996991 161103589 927470146 42007839 352737903 243562121 655356606 752132377 545872314 14383799 616938714 257412065 892207702 44319849 521935938 408237984 518222522 270586852 573888683 976454317 38562264 288231709 984101984 823063151 622158988 613259460 612963252 841685507 99009172 864868705 853694927 657025718 442136857 842495877 869949574 220586432 679895357 104918424 924253436 838923956 875966265 172836935 908991942 20011478 741148105 764982187 517586531 47744363 302878662 241782305 218391866 296691785 438748034 822961950 584783840 205049036 222777260 303526710 619121379 317154855 914610770 989720926 713339807 508510718 364322212 309591657 24661138 967177572 956849199 614432079 66929083 931088648 22634485 685676321 984478652 840186564 430168423 664502610 705074933 991314285 811355829 777177771 938825330 344677566 939326279 169275544 337852758 719173231 270501919 13080973 786100142 685343452 636381414 673039079 657532376 951268695 819852609 266617647 757784690 888652507 654153510 636826695 523051900 106870085 394798857 864785589 45193918 932726655 199841737 496884225 41127798 82743350 642868663 376898839 601568363 822836786 946042824 288582596 330539258 87960403 447595541 520284413 316075781 958525860 437621 852630574 821419780 556340994 422104603 774197219 446836210 780725391 404362542 729729111 681411919 440291813 29650891 436706539 193730471 371205501 771144744 49132015 70075381 558424690 40218260 902403632 25647087 9241403 495522762 389187845 914649704 688411801 354300011 151311565 534895752 375140742 384235794 210422787 450128856 51217752 971017615 561895919 848017780 660125916 383673396 685414056 994688147 229005876 554535769 502753902 443554980 334888153 923676692 788818932 118898341 764098623 940819775 132246377 578410998 649164392 683605270 280402006 393909291 100331919 85227029 736563761 662318450 765710260 435008588 408227449 621119780 579109215 797195317 535857933 41052490 902920152 938909167 390353994 706081613 506145368 172667272 47871095 986885334 782494614 203836902 571334805 46427150 345960391 33646564 435076167 742178264 22881246 372686011 543155574 294192643 571206147 61404851 39693705 428523590 432358022 426606578 118701963 744932466 192856586 791940148 769999315 689065407 135895684 720439579 297350798 46228907 656041542 770404785 613443877 261684473 462363025 799859120 370826737 489173431 24920886 793213283 684452714 213370571 976256243 847742017 585280670 997335953 890300004 389831032 592693534 535252005 488966687 693002417 343110556 340154095 176631357 469382308 475558480 994627355 760118917 795502068 767655671 354526085 350043551 389541707 157100127 848419042 598334817 890157513 945330965 800787940 950171214 367024886 134830876 588574605 80856037 740220429 168667245 535878184 636676582 984854416 297296690 604816513 740983920 645803697 693179794 863079283 341438671 160904290 737589800 339782625 288870240 609658281 432438872 442585688 782637615 524554372 502356042 509433970 180575932 105679447 755898188 364878072 479159067 686463986 942254199 985864231 576905063 606025262 803637781 395340078 146189201 484568360 383550183 182376458 426865775 391862435 558052641 966754218 993138744 580598548 305220025 551905242 48194602 866893263 518756495 749912741 260481211 615522762 726252797 371963250 509893612 456329888 242447621 69952842 494434889 11644191 503453729 227983036 919536437 226771339 87663287 686103868 34568561 419306809 149031117 453590130 658557980 559072618 527947287 288977222 614645048 463350074 859317440 290157630 102864970 328955399 231566980 620700633 695118257 468640879 763154347 377396433 722460142 211879428 263865284 640306698 90435883 176367515 13234007 201508302 473062084 702956217 7202891 154268072 71892703 115133963 505938437 265307276 475740248 747271829 77150694 655866483 349532804 983167451 696807420 760702712 920115593 295282765 159242007 610476605 50704508 714404459 585000737 549186125 740933435 603728272 599283283 156189001 599460109 630661878 137463952 536660301 234123934 762014760 953633124 145667879 633127622 860756498 231323122 186348941 306141900 489654528 597859720 266638900 634536549 33913673 111813820 354535455 264071458 614702296 770165517 169996994 791980270 930119937 975287706 4183610 612227510 542303894 236289431 111409162 643917952 360233063 988110102 97905018 431423388 365862820 995584775 486784880 181577815 22392403 374238681 942392760 902217376 743269396 655342165 164304847 760254842 480125111 494730341 853294262 132080985 28726637 631295478 163884667 964967461 225336938 645690701 44708364 185084091 560370614 902875517 267630328 960233854 748642261 663265239 277985245 363492044 103161586 211759095 182885295 800881280 455108600 361316282 853875568 722028303 127718620 876904416 776838419 147724836 927581914 393338354 530451354 910396004 972999314 330216909 337274799 79137298 382858150 674136477 680569329 276588049 250653284 408166106 129363989 56836792 927601806 81274504 177305738 336532129 227638447 686126770 800837321 950347417 895711862 261308198 73991371 632159824 510756543 981415798 75120826 168342728 308511577 971591101 584008401 36921301 91749344 540586930 103343094 300635198 975653913 340180212 693563535 696420334 526891034 343912521 193697979 442988862 553832065 504723183 712190593 636947097 510497025 234681006 922506284 265886168 386897497 273593011 695896773 510046621 247855000 888336323 746024468 309059944 963326745 673534601 963726383 619169196 191557396 318331878 583100497 549313440 344031048 207923866 959677013 992802311 312257183 305089634 53623600 627902040 728724344 381006688 134932877 349649173 968417464 746445121 979188786 759527386 317398493 379385522 328072396 317310778 663068744 542894022 945113306 405564950 739926666 594757830 111862440 389387921 815924029 907726175 300470860 721178775 462004119 833930340 164571384 87572270 968750716 279757520 534741634 114660365 233209851 232746246 786007321 755277063 215126009 745256300 91106176 757794023 747715292 492988823 711203198 440881923 964971332 126831340 888250288 671048805 493272366 980082942 968430454 916318462 852167637 71888955 467259994 219431070 211064523 987169936 244054331 201341899 832001572 101055438 845292541 763298966 50028567 92614309 72793435 23456456 796889843 935822465 684412197 706903667 855246176 970476677 594138456 122939821 829796449 737507229 438537592 395236531 9756822 768384726 670898438 192818493 748423501 715990035 548764025 104698331 536525836 985178612 739352472 758707091 535726926 60335832 995411485 335478619 6159985 497322659 777881860 768758362 998976026 257277321 394585239 519363094 185159397 812112749 322743420 327986448 506507076 774871834 94638706 205681775 404495639 556926326 317538289 975162593 795715246 891667613 960514555 722539248 331145048 600871367 725173661 50829174 529225038 560761197 761475071 173556021 822258589 258308210 489722908 672469498 131407036 92765824 654149197 1784867 722557556 762386613 407065039 114931326 256148513 149732222 722990761 302783047 101581620 459480835 176362620 157992442 694691407 116772572 831998306 262240883 406895450 336512093 306768417 618383142 105432817 997478322 745017898 983178666 957107746 254599226 908025741 335088786 377674934 288619095 836098144 766560803 300175095 361984665 377420677 497244517 507006197 9198469 987813789 617257413 964088753 142954777 385600707 1485743 523914880 59920691 103576552 854370080 697910141 15072533 172446356 603165521 380423532 355589236 406625360 274040295 787145520 54767102 424632603 340625117 102529815 731761032 640967839 276160206 823199089 594730665 672346888 6582111 685768468 601648170 313812804 607441020 578026077 78301159 844296251 745786033 59051407 838776042 866111088 749129581 599303628 937672181 176634417 351829660 658975897 927000484 878044275 507070883 861822057 206686664 802650564 337035759 333866793 702812908 933070499 297906472 345076605 7107133 21723832 536494066 219243704 192075673 326148034 551359167 935666492 643611962 770201450 577950604 676929600 459973429 77881729 835008649 293056284 315442074 350534021 844883960 440990713 836594056 123048519 630828293 584151332 815543116 636885622 218882558 364372001 910049443 391730832 830727735 631908885 359122846 35826098 469810960 664933895 195805987 200389387 554280214 755473016 312259637 104746217 680541724 414515594 234042190 53440510 14453308 171131040 511731634 220034644 454893312 332036594 798424017 380981753 385879157 494506561 823036580 266585838 898312916 5902810 355384766 108721793 66563087 112821072 96855519 349519158 505429398 341701026 380549082 418470429 464327961 105632697 28020399 487048439 414446555 822593362 918268680 709360900 574349999 168172589 910496913 715495974 940026005 125178997 227544154 739452684 838251837 159599888 30383497 853969801 417775982 131545149 195560331 975245349 60394446 298634315 670008410 587053228 652295271 750116536 793394029 243589199 558603840 204941780 912197778 546488721 789688315 998158918 833686812 961813697 851997365 457632299 905638959 58340695 887253490 65051144 500656709 98840505 289119966 722494260 629990476 856161718 547193720 108158960 196476625 875380875 614896765 961606489 365267278 681552550 364198143 807692621 714725801 37544744 709659233 385730094 83988982 640258349 894197414 97801366 95488027 902426026 962043374 119645109 743336516 47813798 767333271 382801284 892828838 835179503 539365816 930424632 370715590 925211733 867122130 339916307 540866155 882393375 403608983 537383204 510016714 142480948 572352966 557040452 661382010 428813420 485415994 662779764 529435486 19211905 424623079 63120192 535694608 133554682 637108481 389405281 944528143 756375696 311620635 906397230 180300677 351275370 909403673 351318001 46786750 463252304 537066768 490480377 199472664 92357596 966188085 815417419 990403317 174093274 772638535 981723760 541940935 595798733 790939260 996965884 154926828 504172546 825580450 863026344 755294315 999326175 222024934 361360355 569801583 380950784 582869497 942528037 822346820 552625964 100722207 740828816 242478506 343252549 997639298 324524074 109743122 934652319 157911982 297883574 605325630 407070408 418974292 270297265 58310765 462259993 223643156 940799834 487739451 890900462 18083169 784824965 829279631 926394671 57677311 811386022 713445816 7051623 704319469 888932842 782184230 910339449 808691456 248482599 809916679 344131495 465456366 110478675 625792960 439241316 408360625 625305721 758778552 818424333 441454019 436866361 336423976 826881754 977966469 834711433 250554528 947397251 109595975 28955832 816011561 980264527 804465255 711266753 970134127 709592965 114575254 633893046 797691894 427571745 194973214 526335865 623208115 759854855 798806150 445642190 587859397 369706602 561168875 683325875 781456196 638794804 985610640 824541400 279155080 702226868 372514994 619177626 888007794 619430526 293148624 505492402 189381615 805645430 483509876 519994429 268111874 178813263 670177129 646803922 956388198 431618014 952324084 787414567 445914549 592309157 720635100 21932746 43487779 743782467 912418432 525248141 405119420 738855897 489685084 304153591 2763953 879850858 715850111 864337544 217515716 857212596 866656353 265006568 162985893 152758057 841476465 551116995 354839313 586690819 345492341 653021388 525567341 608479534 241094040 864922326 436751017 689731040 229579184 133300656 735539389 274343084 586880115 618045049 109553256 167944662 452567710 777425993 838804226 604962341 540195099 893745776 804991293 890416933 36332818 386792333 62482205 845672860 347350330 842626886 638949750 412793589 808977930 619423389 257300863 452710759 571827428 616417584 253531675 326301287 196762533 371467618 412262111 721671382 43404735 548266595 586791772 192102979 663480077 11372518 965470293 247964660 859758310 516896326 712706101 908147210 796449203 769306932 215425303 610619131 542618007 31841660 429414920 794020922 119906159 277360961 122361839 901063775 309188562 735078965 497206551 89127437 22049712 798606229 467859762 166211376 83027715 397057973 77623321 273251703 829414879 596542440 631885463 344053053 527350328 699962627 557175296 23345054 637953417 899504337 869886308 807332902 770013649 394237734 493476935 951256412 331472226 54562809 576597302 858722851 901231178 191692233 605868430 449819090 659214582 892890604 137648574 334539881 681511400 188923562 223561040 798615171 306863343 611377661 710207275 761329362 630888010 32590345 48805585 603582022 213290893 234007839 808566715 122193678 682716810 743816229 439748526 10765278 550342388 987117589 679999747 940765102 136264432 30594290 261061112 205992251 496117040 656936363 734494863 806361754 617526279 455169046 265331956 114284406 619751181 231294498 408441392 278056807 352974709 812349392 6604885 174249457 225671042 692835376 396527788 269480437 771553770 352060504 785003529 123721424 170928083 112959920 155054950 889945833 423741679 42224553 832834146 286014101 493944836 390034129 600099596 657115330 513091942 961228942 768295845 300743124 956216613 267185494 5044605 223431276 982086755 453269815 824298467 122826628 895006226 458442407 329627515 284622962 119144659 558556489 243131967 11850927 439982174 261945853 949470603 410626150 495293186 755131070 301039466 104399500 691412995 821856570 635809421 788352742 46545304 682245176 579037669 428703137 909909930 204228143 94424402 986405874 654858357 504399336 890024652 503592697 781817761 368153675 214454655 710569404 30114211 346799207 302861187 301357231 73162189 147495462 879148278 413759790 755933930 722217638 952257216 641040780 510193687 693350598 290750261 231423360 155926719 471143656 447700850 229866518 989119988 716221822 862617084 46574459 370132612 7620628 544510026 761188189 378041297 852503537 157752285 209193457 503132146 249458883 257228597 416519231 110066676 809999341 3210901 980682855 288210615 608291875 311475070 811869786 435981451 532779779 364119183 703993241 181450613 450276626 30582522 199341699 241703666 143599005 716448540 623976845 338323982 580880742 842857927 869328 664722535 909929023 306424463 648647871 666923114 893562970 106432993 542259880 687880234 534224622 901742608 551964974 804805104 787880045 626563422 657173413 26104443 478550142 815177718 994154071 540455971 559835104 974141202 673303660 572929847 938552223 532280218 17456350 722397365 555221195 469189169 708511446 112646774 333230404 438500789 756636227 625529719 489928040 38240585 405888667 534278641 132830969 429658979 716752495 458053890 260817738 425000756 634355393 584374858 821648910 491164415 61468889 988929466 967392953 509871087 480141658 803327714 401093796 977354068 961076339 358494279 119184265 656936537 161682341 594617338 656447803 291775200 85044915 141453743 309974981 870533957 235254734 413170544 667042838 789377994 405952080 291395433 36800194 99473101 922360346 337095521 250247074 19401426 761865459 833867076 392046648 938055388 50315737 822498794 974131779 857750393 439228428 449098806 570770578 223392755 209157489 17204456 198449384 593288703 259100798 78451702 566653046 547412854 200030106 641622364 775938478 762350318 602289124 184264232 210569385 763648802 975533118 979434283 361735147 578701447 526307147 902224317 966103602 112049135 707410199 975063058 409971523 384962915 541891893 502707695 275938277 530173791 631543434 838849704 875262639 758200685 83346754 527926456 848296922 47938710 707649656 541354550 97173392 59709421 789070876 722146101 196875738 787154269 763000119 429211882 847403187 138009723 106176832 418058798 911570447 983099807 740747269 944914437 297411082 746852234 683393924 995029527 764934928 723108542 566702575 236359169 734270823 606828150 417034901 610198932 991356114 823602926 440791748 690817980 541812308 542437287 876630739 320798367 231299133 250744169 250585169 111972068 996276985 110392454 792607973 537468553 950243995 647666206 263432486 681899722 883577608 943397434 580942913 941724907 34363161 177229713 241596757 412798663 200189662 837630884 816136563 542370164 637584419 190994200 13278274 720365431 892118793 843670863 198615276 511320492 318336831 294577386 598705454 111593284 493478871 682187415 318483624 308441440 87057832 680425379 827371068 367067212 540025592 464760773 605902841 598297834 499296685 697341593 929493792 672851645 954717146 652842170 98443772 40028924 70080301 539148629 425230174 479231934 544705630 182805148 959254283 374316741 623992323 952119978 675280724 941528625 329824805 178733637 542254225 754652911 497916446 671394892 929602607 861731336 839138612 459265303 589991519 832946302 784189752 479015143 270390569 336529376 233785418 189001299 981404793 238846273 744927093 971972307 693598629 608258767 404193473 358832351 853283298 862920607 223625312 24840 823247800 317265435 675863763 871430156 856092923 65413465 744336709 728572198 101425601 620896182 444709776 198772149 3444033 994118627 672675055 693952366 199854400 263039084 812343171 101305650 307383646 303124367 61176610 714252308 812287114 914452249 60760860 363938282 552424052 73651059 447663026 824644727 975586548 420981620 2343713 585495172 873091396 317048155 134449072 454771007 829858447 946395109 460418865 349992961 865285874 980097495 60862833 649029315 118547893 962303486 737815905 476290691 316308353 767552273 778089881 692068818 946354460 762111389 141434196 547869344 696029970 162809970 885734340 255680456 120970498 994860178 388094581 919706118 471182056 229774468 442822487 930883942 677151452 716587286 751392812 685548618 381667348 493936189 28573060 63976841 794199366 912401786 758331216 574371590 293952668 114112101 965921939 457601367 247625507 205422054 683994115 63081694 697197043 125291030 464270634 552670875 872273368 638563822 263869443 620420408 919415676 289957204 508280479 578959162 114390946 5655272 783081855 802156492 719767781 981599298 889369304 244962004 762776513 825068097 855072489 302371137 324313465 221158646 685914717 643970739 565563639 965134990 871172859 227828621 794304333 945299460 184595093 744193799 648146360 358505816 541125600 974256296 576716159 46917232 243638742 310011579 16001279 572996195 557449562 157709589 320868997 49904950 105512110 359955720 693039255 488773732 995322819 565414506 589921757 182266885 853463898 76847405 145817995 176149194 861904755 798001230 129545703 224241394 54628709 635826098 616041156 929158039 173847630 338067199 700787107 374224060 919325371 710463440 58328663 359067932 757903394 363621898 40122098 129356736 355212559 44588426 716050533 142125193 181514110 437806719 857374243 772486067 662575984 395722986 60144912 693546836 483194122 656628381 944765747 255567213 270727952 631148611 474993379 306598426 729728132 972905583 979958601 481988276 749653857 187781071 816108236 855023572 470349902 168321958 30266174 915244576 723210091 12155430 502106643 811378288 8269644 373650729 7891967 753199933 228560311 104917293 850252173 19516532 872918211 830291322 784857901 519878461 819787264 631975718 872955221 531295 486840755 419980066 520842001 551656245 791787364 657611276 469072359 778674599 2514025 548979387 392102251 521937514 432715699 298045083 836399612 558986329 750170287 975151681 766871055 808966906 156228411 62007096 426253937 936718116 950800094 202957392 579672705 430849049 347784297 918262486 959328965 468222748 214430756 327828436 4377837 227417173 454268599 45886878 503289531 567171674 328635862 796371295 279253539 867459232 338671430 237903896 42134376 566850202 582427563 921656520 381695582 434629429 178107171 683284604 857489061 745044617 973131729 873519109 513907112 884507617 21571406 611544164 581753507 131314024 84241963 705339185 437335894 211951540 429913940 6686514 949643275 486144429 647519198 390904376 275709352 328463295 758250608 373926755 294367514 373209256 997709528 101224402 832214269 987072537 954757624 73087603 590491034 222572531 276973485 165121478 308151354 253770809 238727605 915636579 876349609 935722690 960872229 958898785 595207598 620222644 104547986 533536478 444839333 76734193 579698140 871927245 451944755 107054234 292621429 132735830 674638097 705770684 585043658 685129645 946430571 942651387 267434158 991714316 731777017 807533598 817331933 250492555 463095773 965061958 130760461 457772082 368260550 917010911 486254623 846116393 130596821 437669113 802304856 451202129 387444523 49292718 481519706 325122876 252765535 604417378 797457318 691527815 294009309 736164153 109284906 855320529 921095314 200850236 826829358 736308357 698161466 770967768 168615402 502601094 517949474 332301018 911998557 508134674 912836078 978245264 577292395 887013692 581813296 783508652 53064159 938895398 910551663 772889056 879761859 950175301 194804948 807140121 765142173 545400551 627934836 699607505 469872031 355335867 361002005 820160827 273537650 756958849 895177341 372898962 165294592 114143441 211297380 835987984 104237992 766852563 379682587 375423014 994377636 899228215 197586076 589588271 109689820 501099215 643337852 613333746 417611093 517492394 766632363 572956663 639868987 974890117 498826589 709650697 336696370 554017070 832625319 755600114 286928656 424805195 971575708 766981279 474436468 847864860 56914560 491702164 210874036 277391989 411160196 840569823 115321470 122815026 203949460 465596552 620432287 522809414 153956731 171314899 958437275 439462142 738427932 410272413 205405241 767136287 88581101 734506057 260814512 687061350 715994068 58962000 734311641 259763507 732670674 676691214 861785157 582752508 205320322 716183472 22757939 509416963 640110154 779455960 824457383 715443663 276455938 602618727 575599379 160195605 946418965 212841146 501596241 357166764 169931994 712960797 380703205 647968492 556989159 874952062 684697553 49946591 930737674 165727969 973901384 847300391 981379417 697788521 730486787 616808343 199299827 580428429 897686190 958422406 60718718 315284725 588113912 949084587 966341119 948910922 789766452 708508874 238958383 562472425 671588108 835564081 234301574 872221601 945322611 177907501 817082761 537969074 995207058 417626512 52562417 399547769 729671956 73971332 364674414 826610291 737123184 586459565 803391131 33576989 136474136 31925456 243541839 628227059 934510724 413021141 613290788 598804708 36248912 171145033 286301554 762126570 759112073 150407621 120706630 130225831 273595033 509117279 575166712 981348193 250085304 161365146 683688879 482120227 545762801 833696459 159756788 414664675 841496433 776616761 875328136 959796401 927366650 194364070 955586846 160029059 211336012 703994329 659242919 519457732 733547459 872748339 363221033 526984991 413651296 41830483 528638010 903099072 70313595 739266763 263478362 95516184 169175309 832689460 483903515 351465924 207112363 583382083 638195468 373666561 585752144 886099985 714275134 583041748 23206781 943224883 564471868 103914081 616576036 224444079 472934250 493465814 366926895 77845725 232243671 633004749 733210048 973256415 131927492 497293681 828176016 479741393 619814242 857910926 434401149 48415623 945340116 610363868 371486044 755333975 297295379 677181543 802850674 149835336 560769958 691822066 844359493 839478844 665589873 95734202 403407929 836190102 744005209 561228215 327025028 353434366 584825661 142119293 200200473 997779442 613882874 963069286 838142543 978115018 275808980 119479541 448092779 76482159 767162061 64018960 1746190 171574983 211575643 435189962 6549783 258278627 82139720 553982526 179322913 737149117 779252786 22043275 243455078 399004738 90681593 128572765 512041812 590553212 895532045 466651026 813120482 880489633 948096597 769345038 848196677 511251294 677004612 368491475 199379345 242253659 962839060 648192211 207326758 15833743 945288825 847216688 198272796 882267134 270599358 344466351 178141511 554287316 571456949 615935683 75737578 895233875 481930512 616063160 242074293 717830108 703579361 317780386 891236333 589662227 374197845 378954106 592635046 989588025 135150543 256815428 188583450 710423856 629504207 260421021 978601100 301263223 494682606 518026999 199160015 43236911 749803219 140152377 971454131 644730100 186517839 833139856 92291982 35561355 89435235 88257778 127048112 897459432 742498227 679768134 748021084 887014914 142295205 629175623 93239234 495445779 89952338 950542663 583581807 452151691 874866748 12062261 150214265 292107464 477410968 339000808 710011690 923220554 487822685 571377147 250446329 863183213 521615990 136733335 772626586 717726900 99547306 389097362 820955098 38707396 207924342 471843605 978095891 689687308 259934766 880520129 469828941 633701879 928329487 775727053 336011426 277121753 752968229 632055300 708900733 711075223 794294184 733209427 607296229 838594285 102688664 359784637 413783403 485752749 602987473 481091695 51744598 910226950 751014437 818084041 134149720 47295841 492268530 553417777 197329148 412133118 513147473 232626359 274982632 173420771 526172490 695175571 686670116 809863810 881106268 813475351 411589044 404703778 907196282 260489516 492306123 715187738 264304783 63221793 177778327 668879820 166360344 194846048 992174228 682567594 534941000 702665637 485261766 587744000 102837118 630684225 736381779 536815795 685977788 690940242 333390845 70003538 360631077 570958831 651103851 666355826 751167506 873791065 661175399 501488143 664709771 559622551 839624699 436350011 333874201 837976141 533316400 594414034 497287886 141851979 171907455 610664551 497136352 467268135 583731919 602525489 411194634 713842043 754860862 604019941 288781026 245390595 791656343 878355424 649918242 326290625 115170190 167015802 389476969 344268424 803768991 736838739 139368489 683439732 876478040 676489689 549031635 32005942 132069835 718173339 94343830 151819138 905662480 148295825 760828911 526309546 216478578 566532232 743054943 535269143 217305340 812250741 541252474 813367326 790992120 414150621 172805366 986493001 958827670 12009717 929500472 933109318 151898923 788887170 172886058 541793475 86093729 296013609 874610034 803917406 774545557 329673697 21515276 57110409 977365392 93526570 477627964 478481172 331256018 736039866 109998429 693717137 99966622 265818716 791115208 17352587 995630836 66443325 170671037 3301730 550317842 415937516 188441291 111803871 200532778 96564138 217819458 725733235 235657325 76528575 381549274 171972214 785345180 533822034 461484224 298021516 745695000 513158051 925768828 783605904 294562825 928031308 88964282 269095724 7102862 258615288 249349156 974445470 488306631 19898016 445441249 951671163 335058772 115230682 809555688 541155378 364027305 319450138 895079826 394290841 520991300 369275853 170208692 834015495 477067459 773372824 963466039 317820873 800271115 343818394 165183073 741353653 562929805 149873208 980243036 358792211 679509354 484845511 466788931 945782712 1687371 842371825 418308148 912567475 556726650 132156221 742803635 640038602 998326997 264161601 538242853 829055218 753953068 161892717 699994461 130682630 748097784 355548573 950085012 68123961 468470441 43390533 917648549 200248529 677497579 730874305 300730107 896370347 21011437 79128352 819850886 965192461 777334113 856479803 625864746 983927185 191769249 693307209 171089079 200327705 326919691 201095816 318160342 616251100 515032215 483378817 301914347 61212710 914465461 879618365 939564038 154438940 655264589 152388553 67393358 856279561 981011343 98619516 943814890 748163354 691134163 933799889 737528634 423292262 823565757 454992795 675840212 159491965 819009134 649303811 311259149 935583670 147729227 680308876 764090269 944200762 493941788 821552273 895029586 918935944 136477580 859586789 68352419 465312328 75738809 155351110 507551200 513223506 340569965 549605825 456060002 260706550 880143733 159429523 691561312 559407503 8816348 386305194 629233312 854089082 772708790 283722550 154585722 477114534 46801548 635179308 72260122 581872650 505029913 851281912 154059229 184510860 708591923 661729390 439324307 756972919 846763997 516446628 554287006 324278106 590980936 774770964 771751812 673906106 585018757 741638320 198068087 300438654 647818272 805838477 276839949 392009834 158537273 622710115 62914412 751360411 732176386 729636345 951407482 822484473 2671894 731447887 485501518 102215093 310883303 559228190 458964000 118022695 434326466 636228946 626263014 332811634 875920738 153698832 536861127 293165049 966824252 867287917 82522177 937324844 88685995 30969427 36036524 229963012 201863156 943444826 420718842 464898048 843416056 358525680 180208268 19454988 563425156 190369903 106458736 796243375 552421726 823627787 312020069 628489679 791773058 474997215 833892699 670702069 101724108 19113550 707927175 682854507 244466135 345105018 362004522 700480333 898019444 599373459 246561782 313534410 884792510 497984002 383752473 424392314 64307213 974260000 380292372 916140811 639923008 515584556 958283889 13307150 392970282 172917284 328130091 677848271 259794418 46269479 174897152 521096804 323182431 932550558 550741208 887357235 269984774 482033443 182870930 263975641 427343213 727355319 33719154 686066311 881273384 728610591 325523054 466418923 171067536 768052968 764925852 494292948 135268112 240876693 419153258 949591728 932310330 330181676 634540970 444495186 967011778 518719601 155845152 296339353 656083298 939237176 710235443 422510198 672572787 70446299 435718071 628799250 896330061 215609791 279250089 946472582 697196367 966584655 269190739 762491774 834010256 96132714 813534171 80262286 396756427 388587060 220917431 111502380 613828880 985971497 946288721 923717174 701056671 676995650 838748279 638809885 63206183 800139500 732048475 586334581 989523890 945205186 467168501 296302420 295160926 606329279 617414950 589833439 863604642 421106402 283677749 646590527 347793308 779247538 757694530 541330881 931800672 280346949 769826114 204702160 332330773 295715362 126292558 733419991 429908627 673157546 213932341 674708654 161612342 728510005 411968229 860731053 615965463 126344506 716577222 961186395 903142397 241225601 779231808 346513959 509922153 45659087 926811935 416935843 459914562 291359601 237002766 786771167 744096597 810428027 63803761 900406740 394054552 71384894 263817067 866817560 142632015 325067481 220880911 519258651 900111822 391709200 467740950 127662947 864157800 989597111 327608091 590165529 310604652 836104645 286538172 67804023 446777597 644596960 62720521 522254024 795539107 341573378 74851362 190953711 173245448 553826775 918231697 351693570 661345638 581674129 590804011 694742960 73334855 999506868 283844893 282678168 136484246 883703709 546175246 444974098 412224787 974179347 307995002 380214273 190544269 362874923 197279280 845907270 584669529 616252940 487365887 44683080 743838849 381674030 965282047 275976185 297198059 222367205 631028677 620552093 392895643 102471635 845338991 791938308 997291165 315470193 557913826 26893842 999018714 924120140 235605390 86462877 353972986 23246021 550266364 458376476 914792204 324481112 209155978 46576195 670796277 867492597 8588816 317384772 200542768 226908640 1827545 799897715 215679954 410019250 904147179 306788151 282645723 399494937 203536719 533333540 914553729 143507887 282977719 107935121 592063415 475395900 955440889 777343811 598728717 56886016 252684486 909117595 631705468 303940252 570162596 318689150 200677787 214290545 78846710 429064709 987987061 679423273 28001943 85584661 302135913 129462188 598553630 903605630 468785094 485067134 752616176 279558627 320176288 217170383 361594255 912130366 130996077 970624248 496308155 959535482 862248811 417272031 309816448 229223186 634624568 38600947 563303730 113309764 574525278 441693712 954940370 653670274 267662154 502475396 452412890 797418223 263585646 168860704 182207495 34111300 28564186 885288991 184129846 448853 39479905 188677121 116417208 661799649 832230498 833769192 314555125 559155161 551068491 757949272 987044338 392838692 692121464 520885528 902813932 785694982 688780153 480459809 267267156 528417105 26942566 494462737 5385987 844047210 656124494 682074386 639149439 259088167 112759429 328542755 550710857 773586911 422420594 172700396 915786047 209419044 115455881 90218045 850356927 857965800 63478138 7156462 390961911 970977423 170840131 932270728 975864608 595749719 300028237 950713870 517786534 59454392 159532579 823005994 910999536 979243712 456079765 88460011 26317284 95989516 569673840 962224960 64227436 960233298 311239264 779353962 362889541 168148226 143108117 852483504 455881577 305133712 867625159 642756549 451437942 642848598 710827228 866123456 443276750 35005032 694638799 543931885 931946889 631998493 774748263 64840142 833554787 786224755 711872036 711466465 111647118 963968777 720515527 315564348 838864984 232366511 264479493 157614283 475510166 833463111 548731784 885294646 708316778 681424672 377329332 121751628 733858886 481586332 120112299 242989574 174820246 189956311 435051444 459774556 325482223 555200858 648092787 803814200 473030873 846254118 260433538 223622402 6802646 150238287 358176098 440548694 954577287 466525982 201649865 735093865 788996521 131373266 394635114 316995072 857684670 595627373 908455772 178963887 882270670 449171384 126343296 246739338 252179593 882104402 972605948 246690630 661600222 442275822 160214246 423900849 658326782 58249852 167915907 303734456 644556347 101515496 423305435 253907755 250240461 977274555 461219354 714638716 385165756 433705025 605630441 678554184 618937171 171735997 321297776 511439397 919187114 912273589 622629631 176574804 260934663 610914207 157711730 794297564 198496582 311101083 645174129 576982590 944157228 392029894 42126670 9771317 713047471 409972260 747131189 455496877 550086455 400487517 789095780 580923328 413947594 412798580 852018691 988248000 691474372 471684006 791276063 958555431 632946229 97964009 848843580 536913414 304897735 627657467 157408104 435422801 101522440 237849435 109563353 288097601 420896330 214047742 166679740 324077654 985692344 567809883 736620334 488740484 355305342 533586984 580560694 679535642 33671847 272418538 318151261 562137613 494504683 191139004 342709637 49639393 877610338 752263529 723034071 866965127 626982589 289774085 317803917 695856548 637981576 759736491 340021478 327729567 106984374 766053172 107357909 679695479 77085250 881432489 758829477 669273612 473649670 325521313 963182848 524929539 920676829 148462606 497295246 359811577 299791349 927874835 486115780 392772911 37827804 81577811 97154872 318982800 266363424 992836781 535165885 464470878 639589590 41927938 547420809 625304471 274609884 647795738 546087304 179244755 964353509 198505885 250707286 100309476 680602631 619956438 139470699 862254647 462534799 507234455 111297903 990171053 857372179 14115555 81711685 928944893 943781889 325916757 984145236 826941354 162464235 42522738 770310559 76002695 558068794 133396206 764528145 187888686 810078930 143388677 165613295 303838032 637335164 881578043 264068987 582565165 513801813 990572454 242627962 898136814 493753798 712638221 261258979 654672069 758482861 38689539 129104787 849958130 310810109 301817199 178804712 715970582 255406211 71862085 529621808 483771669 333977996 505589153 182601964 605046855 699155375 677151304 338456562 362264113 712048802 121454141 180599983 195604432 634394393 60420395 61435310 609009536 816267626 873235068 888190226 155250382 694199989 613026900 794385118 645104315 510808788 410240561 310013544 362078303 818173645 555807946 502452077 520986849 727439870 383049092 912903772 678079599 392222982 724824740 441179499 259328822 428795570 255867062 541476450 390461688 736053305 199816511 937184125 772948501 155692575 785679561 574554719 530564395 404267306 588222336 761776671 713666122 189977498 574210892 263488055 819016743 796240048 113389401 873435980 339807854 101327036 735141835 786019434 799717807 990327759 822795077 394156310 619057267 916658276 134844748 136644214 89602785 449800363 544658733 504212671 595270153 572881164 164009633 887335023 759479102 215963066 671862910 815131533 358727003 321063548 63827949 194725713 964348024 937797199 595184037 313767594 609557842 760524623 405113811 112270971 433925125 733827074 414208752 789753952 719880371 306793772 882754219 272185262 728079004 360238493 116038835 801517694 217102898 407369978 562347306 325031397 666900812 891597716 102469861 227212503 261980309 832912226 973786835 359807768 771837330 954189360 499713274 584814516 114300017 842355701 365220941 40743873 3352160 760919961 353925984 739149171 630939442 950227975 638430084 337843777 775534939 587439585 950917905 679543469 633876723 303014174 945995048 854760645 802180328 966425388 626615903 545259783 868878638 947544333 176911350 561622917 921262533 41218346 511416136 210982898 283081473 696080306 463906544 364419069 772860767 686408637 183314444 581362514 332523338 715467259 653342387 449397541 574814521 769255488 840163825 36419267 306845970 857915864 177854214 665245043 97560098 68781358 915326234 963584540 565777288 266969497 708722302 588935779 331873007 872561268 489779429 902545604 839755063 908492919 375468820 299457127 594380534 757928810 747103987 492060570 118364358 15913245 672955101 958855350 238690007 118620895 586496189 12829284 645051502 19559848 169028547 772726558 682451628 898057028 276625554 816969275 548279632 632775257 326527991 197654280 851151041 720116878 302624892 652577209 262484586 363437198 772194 491115225 384205454 858339127 879074 314524908 422604359 308027763 557729385 922150157 330342035 951068116 336972325 881381127 219412030 290735770 848803024 142472424 703793781 96729108 74304954 291284531 821353264 932966571 889017870 911437789 864420984 163686544 138045796 558441241 722752111 193054696 778783366 373630809 596725456 125023056 316993408 859593448 380128048 249616270 443043539 47847789 232680466 468900695 790783351 963045479 235549063 945815060 242097323 363654466 824675845 773844148 853579106 972640720 80446112 327694555 215902957 979145638 405432836 903825740 586679565 903310786 94569081 839371086 401529631 372600393 333451790 934382124 705116158 304756896 823737172 946880988 286434940 226397169 285661469 919604581 587406799 583769538 525570740 965731064 550994934 905618213 663770198 617331258 783654114 313894603 47356060 815631862 945969784 221537143 114558753 310361529 146132058 814979997 477647162 227610958 204401803 771822272 14133057 18575190 1019847 471845711 805202243 960871327 842003435 110795318 36869572 677653548 144051024 952365889 464798403 235087891 395845616 188226878 394616781 868730015 448499322 416763223 884984540 969935165 282267135 286512761 267999497 330494394 985169780 59305348 971761690 815423065 772466841 946409946 502900506 932433778 125156235 686231188 698857339 678705448 470527476 908307452 794921370 820499610 269006689 795989382 188352097 616931653 77492755 661148994 840625714 529501317 699931478 339951714 267732215 87650867 368148927 618316763 50182807 82374492 27848079 54170996 545254005 732295736 857340914 936669134 587353717 362802067 465119014 822607592 249870909 341351729 989751489 42859842 386535980 300978685 383948064 347666245 595305898 399592046 51613927 89332004 200671349 458640857 183125086 118878091 488274662 646171119 837120466 723346192 38424993 737873513 95100016 860556762 811523584 401430626 811775509 710646595 267422075 993386033 94033258 195320429 465548937 348668218 549739408 498628308 573086231 267843174 584930083 810680977 502189468 920979450 50735341 598387303 613406129 838872496 230162338 902926353 352289523 833762187 262103338 407334677 358852941 415706025 288771463 192574577 570354172 640414009 382194283 315491077 404003248 751704127 591779205 488547078 435301280 868036884 260601441 206747175 576863131 123064620 667632448 932169346 139002535 935997276 953507941 183618541 241617373 539432963 340367878 573157163 646064447 712540195 460758264 438129245 740259581 663977368 460902223 538282894 7453590 208435175 883088898 437286875 392494775 948276812 744774106 595100326 311633918 298081336 477523921 888850671 352006435 967182144 191990298 994662029 448934969 796442018 327836932 608314473 930420283 658245115 720697967 614232263 39350730 186888935 832629207 314767532 129796171 794713671 186587049 962241440 147682637 239444113 504668977 86029555 325969366 752066339 944221169 649341910 486995628 159860343 878813180 627824911 500618851 613562458 740937101 907007583 721571955 262349762 127070434 849347657 523585209 663623735 257974660 309221320 667570692 7470330 824321660 189265900 578291090 725299390 238630290 691460375 296304909 553301320 965418171 640938534 699875153 70529348 106243690 401153246 391318889 629880809 193106261 158224650 667263911 745436329 184672692 130089817 832057390 399032419 752055090 265252507 623202372 224191343 277961116 741986381 754900106 345674423 791875765 353940816 327453647 511339511 813189834 62967378 668042560 61315327 73055019 532462868 190512564 415650764 935838091 727823466 931719985 815154920 62928941 393334793 992767502 36508542 904051185 486782757 313762507 679921188 757072990 663371230 360054794 811988984 466315479 562254182 149904233 147268559 37736515 235156444 406112726 356561522 642307900 760867533 22960567 681434883 18696178 362350115 802686918 419280055 359570514 700353539 616520169 885693302 897105378 887474827 36870700 177439467 979105756 949473370 50484505 408678382 716839147 297387990 913607520 953051716 899319516 482692463 45036662 199219429 836937965 437357320 535390478 631666327 163972926 562137865 789873317 29718580 483450827 353111300 120395886 332664507 827267617 292863938 632586746 673351907 12748509 187284168 210798687 225774714 340237704 321376721 448351882 33207191 229497721 909741204 13305936 491971587 381552956 35184964 1354886 993461502 737078995 354306863 277654469 901066310 70851930 841790393 984406758 594495730 113649600 152257287 670641726 87802351 210747213 686180084 180245696 637457460 111765351 713153876 670349101 133498153 187135933 768936458 600749181 909536260 787183706 227867610 615591955 180229296 850936155 619077340 851290949 175009598 291489441 403317945 954610576 342748365 433225124 393554041 611555113 666792090 724277181 769294682 827637074 474391742 147325338 720272681 726308401 258627849 188738959 789393662 568546646 395527564 196654796 213741484 842710548 532891412 395259628 954413381 504210988 405076827 796765908 877799957 222594942 790776132 652232106 155818537 391482829 102002915 867449341 700750606 915407077 786779892 40944657 458655523 603766199 800865411 162896595 13273667 839770380 28166167 95082615 807256122 185008206 930364230 187163056 740800395 578823517 933739139 208266909 665669502 47668698 589877437 167749149 78000723 922553923 454204303 262463375 7665470 314633924 763028592 137888024 778805192 314307484 116727589 164814095 640533764 752285449 306902296 371059529 645495940 808826807 709198245 474856011 721571857 468394659 374958298 311479621 636371348 478107469 222045464 82292568 66094987 468129077 571253082 457763110 991852655 678718802 342049712 857668640 433912210 935164754 415224274 783191209 556703036 2942170 651827795 352046986 518372183 972589457 205612044 205487935 645521006 239562446 987374302 58789739 666418165 82645648 438924440 189879489 581714574 562172081 921141156 318383042 104724210 986739824 323010917 628797138 874106193 564425528 652242946 939916723 309413397 322709443 338046953 946834310 473853737 915477853 78731574 673962421 38781637 888489359 309692444 55778041 615433582 338080355 849440013 509882286 73050167 303458023 248046682 182406275 622757029 820970467 337200076 465689537 234237179 558192126 407255657 251273226 567860534 850653281 152254631 188418750 519643886 4039088 991103993 907440038 611023702 399646784 860577582 468002193 875725340 681254298 637511212 986322309 808764380 71870257 671354664 405830136 577685842 106148980 510268091 411499767 362952860 601123789 581132394 131142135 688913793 89979847 289549011 55390531 867063442 174691462 923605499 848485217 425919484 90695232 543961057 425223989 666641346 302301368 189198468 340803466 452871622 360438451 510751389 338638567 524184413 908828065 549363802 797908724 874503950 535328957 177028040 467497506 664867743 468249056 189845252 886864913 329068572 949013538 97922251 163946013 490470388 36783766 25905477 839297526 674556247 320949516 175755513 702731089 857415434 477107264 775494751 650291361 648859858 428419015 500719261 599799496 354103872 211080740 504749614 329478199 473084001 930154544 834851453 998828588 498881736 89381132 796722738 40734875 397167747 197538664 896697918 696995177 205135709 742611712 928485040 419246337 371330142 784345890 514594722 163165148 187185688 317382334 876554069 211693691 826891695 632285868 571237361 764712137 410042455 509372274 778219438 586390928 287387820 148748896 25594402 775215695 114648429 154594205 999337366 27477119 106348111 663098229 365950029 68700391 86468835 956908557 612492928 454888484 448759721 748359586 762926629 106622400 366031704 114924689 244454965 918055923 666398494 609204617 488220461 712816590 794835991 4297330 218676982 681966935 63890355 208564971 577660997 270300466 459826864 100088914 833197476 597764207 605938766 913689279 522013042 913780256 225033051 959730937 650594245 834570546 865978656 510939957 501234833 240541214 428013242 934749741 264018409 386817464 147671422 518523959 122978781 332353671 108659258 755248322 801213064 630814100 157736045 566624729 499475201 424529736 297783571 269706747 261841253 392791064 140521380 883961891 358386096 8667169 175520498 585275075 380325369 645101249 491284652 612575862 683040835 124034478 542425625 657578153 216933301 64385292 12429968 884376885 982880295 684906491 838027834 898711136 930936934 83818362 409714787 595373990 60898638 463279838 546074743 503717219 938065537 167147697 948192549 356357871 504702884 143702852 651652279 833979559 581148817 611285234 164659320 443847009 397991339 3866047 362493 484797239 334659614 399615986 769092658 305873027 1622667 50063669 24026470 686378543 698348565 40695027 687570851 952144384 909874372 285115451 658538864 292302293 365102193 142566737 647649587 217354008 570673609 116446817 20230909 124410943 34522374 453389472 962344648 746323980 764898329 212696220 420584521 584268979 862216730 750845783 755309087 679065206 506553182 393348535 814973226 7932 584817037 155646487 259836569 175591742 151864283 27708312 798937697 117679563 474349015 608833661 76232884 340988334 746556218 274273567 344146155 501235418 41370017 52094297 172605180 122047362 329224444 629528330 735216491 753473100 47303155 319275140 844976439 742960540 441539253 807223104 937145508 443671516 989126656 636928394 456911423 317962825 699582199 648312813 793022383 72080980 16808191 786551622 578531899 979481336 92473139 853310945 253419715 673899359 604662184 583821383 50873848 846924529 550253983 803334468 976944657 242246814 67579092 465464274 42309665 379356239 789895764 824910152 697517446 475467866 677274126 146841647 76886901 355554806 765211158 912747145 153123345 180868623 647825248 186080603 96783422 654464244 681808309 593978309 887103895 677057572 458275333 595993936 574503690 836024296 721429391 193425228 775131193 432953422 255300865 120388789 187922464 238960025 282573024 299831121 940598222 688042925 460615253 436046737 189488469 941162477 126437422 78757219 481703612 276571877 335015891 907024512 603376725 647589063 73069048 980659122 995765693 767597805 268597966 543024467 432225501 811562129 960423550 353535510 947562713 354725658 56074156 28670858 711154203 690052041 426225436 172343574 482222186 545817393 922272129 883351761 199748049 442678882 699877664 204158232 608745296 999964002 770354718 819425083 875378134 781976474 525743384 667388760 210146842 997289507 670263624 179599039 92482247 414472558 254470893 689452896 884200983 174481359 83606754 944322693 7729641 470770705 504423189 24919079 244341501 709468294 210225077 895910360 82707620 445405748 499654061 68735075 146434263 10102838 204756270 213328273 257699041 262194024 362959763 615721428 352883178 803701668 784437205 703919857 572851303 829859035 559470049 513311217 326218889 652926985 463130522 136894026 203856963 710225621 528823641 178867799 749079090 855791622 690459137 420234151 572250567 255787303 59877358 144617457 638980566 761168909 663248407 992780306 534793664 892013736 862558010 499852979 753296752 336743962 500455377 159528761 918736561 736130863 972623375 651193808 516567515 273473562 106052334 19902321 534624937 268250530 270120665 20815985 866463881 172573988 993501363 232983913 102818115 481985352 903471601 964395378 336605603 605610753 73870932 789304679 579522062 266491053 663559120 873539088 637181030 144593313 251340904 303801608 232403355 184806053 840964209 524266517 109260109 262753119 122205613 255302307 297091265 924918700 598075748 846715923 760146717 617703399 515468336 865627166 953021408 873124876 236649895 856211796 498341317 596332720 422245460 356813247 477687209 511186861 76870157 791466619 225932934 768583386 777937829 555832256 264935174 543666333 742458358 194029789 632860148 37424073 440670797 597740976 899951804 141663197 935038489 35325058 158091401 80565845 80041775 253159041 605970129 815097605 435423234 179515214 807226808 448826368 778691220 91039899 310481699 360585090 460260642 390666992 709268760 351763337 857927157 11480444 590876073 223041561 72541356 348280095 886842203 386231271 280683636 783423151 592761676 520440636 367215514 760908302 563824831 161725514 145671979 783160980 917722609 209229465 401657425 941351993 70874461 181620276 899724264 843158331 885283530 870996573 378845732 37820529 441683954 488894571 249199608 477406719 472517083 280883605 931382958 467631941 314876108 800997104 480896743 925062321 856604534 790940202 288436948 581576350 944470969 853748945 744536061 952143368 29992393 758830002 800143014 618635663 374653724 177655291 502984214 819600023 339906686 243315995 374647690 44134787 643938063 985909348 60030836 175380904 860869375 557387557 305202406 160059454 396076969 169331681 791387846 433272057 818779497 93227587 287698438 279943260 273148406 363068200 567577287 657892621 300952261 566604933 207283715 276397213 370783578 942220438 865911849 371614219 867745757 539241692 371276175 596668021 442526431 375166024 268619917 896161273 360409517 693701141 199807109 792265372 205746190 569885212 362570338 639180615 663754846 700045617 30006716 919280414 172908036 201981696 263675837 730906937 903677856 284057255 760697435 14755220 264821638 449609285 338964773 186478754 956926436 559229431 880981152 376355255 771654027 437562443 950545121 59382066 718110586 3591774 604895248 279114086 956956969 301837035 128047368 14399638 476766922 896387329 379598982 224244258 452429565 875800383 714184797 635073410 323170716 124467112 211290866 856748368 553758918 925028148 973651771 319784632 707080 784819093 984411846 516448500 850743898 2590967 533140332 141876899 840103717 581697387 579885304 687226595 760909278 271580364 177318619 503882788 861427151 944856148 646968431 151651014 824678343 384067199 593413530 118296759 506348376 208856118 752574715 992678330 852641767 878286699 983862334 192020527 133438569 193299051 561163416 466577342 124127514 756907452 154483314 803024973 716488488 473826713 239280194 733311570 345366914 930144806 302472581 470171286 709166028 739570905 190254172 548705730 800592470 304242130 387625147 383409208 179029348 273946192 240051310 818179622 602260114 276723866 897595620 849375325 487185784 619147651 936752584 117482874 547721585 11930094 87868428 369723990 732530417 650295488 165884234 770442455 609766367 720600413 86752463 39686857 19819651 266309583 476116526 600749081 122682409 859249289 432507826 949374978 790563420 346408498 899966453 239398329 627331745 593520652 576073141 56639590 517374762 41984707 957368357 307039213 393917590 240427428 567641989 485340231 671931733 755893777 874628924 583703518 958538903 958611780 475924169 197420182 414485374 627741954 89181337 929023152 835023770 408788409 73871609 613904852 916186012 618551029 744181802 526642992 357588520 694439298 684439885 644836812 164453232 734159252 456396188 655878534 821535146 955527171 129650481 99082102 604808750 964468780 473485060 654116921 944402472 611484227 331672022 128676653 346577756 535333818 718339310 680422840 779089869 970672194 979202253 28407238 261324265 263750398 440059052 901084343 622569560 919291781 745605464 344386008 383037725 331596317 629505082 103901639 670220459 599164301 86002729 140703829 323221339 374129546 268273961 632782751 504616556 797193159 38410911 21655812 50350971 790624438 791762918 937487149 443823200 172110749 724144736 957819888 56793402 465894535 684216547 855388314 566528651 433420647 931951818 706915778 346070929 477827929 92047663 571269399 321173735 256687561 241243885 867801224 219896267 181476662 251602757 784810090 669676425 310281447 621165999 914266942 342392817 242010404 25068516 155046015 820140653 587858720 226619737 265721269 573787550 808131115 562126261 17122146 355929901 250782068 926570366 461886582 338735769 99495164 942904208 827328397 995576303 31313962 382648067 619923272 932668255 894090930 311080276 283113371 413190039 172640880 766006966 215941587 592542524 214857134 391889366 306643286 364174231 482953029 405055082 637137205 253431035 282605557 622592503 992318370 708947005 275149627 171683279 604012938 670295366 631090717 954199068 772875349 983884417 961329607 189572752 202533007 764817904 246206519 543492393 157866972 470609291 833043828 671437543 722652932 156410531 134487134 368962450 511130553 549943897 904714031 134582200 329853790 261349488 369826331 561197179 645109569 450466088 119251642 464417757 238070463 7440936 406837509 207804596 575679999 673130509 876653850 571877136 191164240 138821180 125477019 496074925 628600778 823997358 72252309 132703545 301248195 444808621 421462085 607222066 412072445 405253959 413915307 938274732 823434016 483130127 988629109 909418947 915066808 415119360 336634046 394135066 139540659 726752332 649331229 933695535 561608872 123731353 78858531 62698537 361182908 360592597 682807371 920134143 596088719 801674025 311978252 682414681 96921095 920607619 76413744 249531015 359165189 872177530 566345432 498345534 369061759 251451160 965654966 201737140 132972821 165678528 63687199 978337792 311033569 256146809 902861668 551754782 229107922 522259738 574085835 77427134 434395519 457020173 905401367 554440397 285096725 676160362 206221852 680619960 858608600 7686165 806360681 671410862 876395612 342613381 632353130 587610226 815000141 328118096 750126804 224692714 982569191 707959052 449766365 443349083 236279816 49900781 246070176 720380313 71481485 844465223 520881502 59638196 353043049 264320217 205700447 374679784 342784547 964038295 374683797 666161298 928372190 696966 188055684 392776134 398093471 123503948 14068163 33891178 688281352 612812818 17085486 231527960 58810543 634946307 383657740 809745897 51974883 885055430 712637206 343423638 615734936 811963470 79529555 988036933 670732790 76684196 889134669 286894890 356041961 496040887 592774279 252249 548625100 178642689 615300510 91026007 771276023 785376591 815433415 909372389 758796292 635627212 109706768 632543784 707557918 793739854 722369512 313766524 959171288 224510143 614054850 134984612 858502593 794391592 801727186 464227015 461060682 65796883 241286993 545262532 594600609 789677750 973261793 276172110 755427749 501359048 881205629 937046321 456468405 501431819 675738558 561542390 531256033 359139461 353847828 112211477 12631550 402527546 420310190 727014806 362723268 153435964 880107392 550068117 471765959 761041141 398782620 682722157 511954880 319546718 310037578 934338030 680928528 110736646 788231667 218788014 218135050 833105230 343474640 271373690 573043679 620858129 746471177 22640273 549218940 31475017 149807052 125280325 862355500 306147170 662867168 310330031 878160130 778600150 544874551 691568281 971677326 213864678 821020945 269428594 732588703 940573180 155269792 575933589 767926425 741576886 73104925 321673840 389978680 737339563 862683067 654447734 697219717 816395534 354975026 676939355 301610501 716799639 884922053 342262653 804420557 998770692 895838236 238634231 3259232 241544402 715034347 778834002 148160166 466148335 668541750 897571588 167523192 283699968 246230151 548083139 133886785 212755081 594468301 392939701 13767826 602084067 895575222 411822654 904356842 210951562 226835681 20495772 535928437 540666282 839519942 701268019 680103796 486704098 30614566 909944235 158227960 499463297 216148069 761681982 98606197 460813041 342195599 3298718 783174904 236414433 747200156 728361714 884618370 354400093 391471432 213235049 642955143 181755121 141750653 344455197 289634392 728950486 813855469 17233734 690722345 870649438 680707285 174103876 310019010 986276131 478126235 354539537 3473649 557280325 806959864 34061662 955848273 659251768 687205411 434959562 915369461 71387017 741811737 531873194 298295844 490070472 800027573 134467466 549448046 924765195 609896622 140657080 845962009 415108834 859254355 963194550 811809619 320945103 801141417 97942513 47383335 828624508 608127700 560489286 625580166 385543690 348186517 465125247 765089528 711945014 782939040 962555832 397204534 960867640 234507687 702248503 255047166 756735 257860079 305790632 729151306 936180061 489891025 519793430 280467487 211798784 294286321 315803628 758945367 835258049 810826388 324766354 798704345 667715763 361757536 994412010 248052442 126058704 982159699 538989757 586188349 611734114 394199101 702739189 281922304 755594161 124740306 757279691 292510161 991981063 913121623 256643642 519660217 77755259 89412089 876720475 253002683 413765356 118938857 830753252 988444172 876448812 310837653 275261625 456145840 915183507 939057648 280370940 266047324 807554472 147694772 679821994 161183408 277821323 949757393 735277904 287573337 365690817 533596972 859584723 172487245 210833531 960655576 14554584 570126659 632381478 444514846 965289932 875098240 141855195 70996077 677666114 801379155 210619837 691409269 684158188 189816733 91078011 240811001 749469151 643873747 141955568 511959826 977550849 789850986 597640845 686905617 802410441 17445502 282782343 611811394 936852813 271504949 631925284 124962088 12994442 848327295 32612224 980095412 50035648 967405345 579089595 274634986 545944645 977065603 843285836 927917980 304745324 439728770 242706378 569011105 45447770 807323453 925874256 714091013 196374813 297996376 806282145 257206272 642321158 345391265 228866874 941835926 200189023 145416311 357643714 360438785 711619024 778964036 41257865 994096950 151072605 620924438 315640002 808800008 919796845 218773876 789152024 225259208 856385717 241973077 353087851 691001008 376658763 223191254 87162734 667391470 157024691 902158756 142766257 950336516 449850223 214076693 126578670 44452976 284640873 492997531 640280910 259260957 900172501 87847554 929293488 652375527 381560469 752206247 691511266 366274584 788454807 415148650 347962343 708442741 644848350 73837129 63729585 540250925 477997504 529917303 891877390 679559019 878717549 655273145 557731815 691411370 628078850 553797687 853625853 523281483 320234847 20193432 829795253 419689783 701880282 426845134 542779084 638129004 753429108 577722824 903139606 165233528 623855440 477413360 480747104 849609392 629989801 259360904 87779452 856782697 877719046 169518217 700108288 4169387 128821509 905601979 528981370 217168066 371935039 542842171 940880986 928485145 249853634 355524146 877286472 753728955 842701310 495384472 178876987 946296149 601229269 947854855 977327739 813395540 67802682 150709011 394766217 234836754 773448747 591684925 275152737 963869965 330027952 703084790 968627525 779364145 429492237 89117529 756646171 627746274 715446391 589887918 168923147 548911001 951958982 259151777 387685017 324666164 121763394 718168132 180346516 571190810 858198315 434445538 32338723 307311770 255747335 952332062 592415864 19233969 642096270 352655227 129956571 296873449 806064427 212407004 271595806 19665483 685923663 846595417 540992689 632036373 852826150 407825947 485795115 973334664 44069164 534082135 182309170 316530758 775829593 296432918 677723135 429102935 793572300 909733732 108139457 487321475 844888286 155719264 69106587 163887496 703656562 322909799 449079092 745406951 708374501 312708277 936242791 235018551 218211740 938113988 280094830 463648474 233216585 296732353 467087860 661248965 846350185 653448779 474460283 636151881 475724348 167115135 782243476 310707597 306185641 722637112 948416715 260150760 358229781 133329090 708960885 291693164 574001924 156200943 138281740 336463865 965638957 464001651 168748963 29913201 285549400 612424396 776721375 214245511 178938653 447564335 70069282 301749353 676409932 185458440 912252336 934528832 148461892 977833294 627509919 843166729 942433459 143953195 362836377 531703325 338023076 657385834 189874852 391250695 417449720 710218275 918499227 399634401 810312778 709923435 118181162 377548314 814822301 472729376 520641560 846622364 914131062 610870297 541524342 691032342 659455769 284007095 348614345 457127869 800223078 323278487 143993122 393650849 272915063 680958774 566884480 682802693 84566708 886087174 582877203 416751714 891882781 746667744 510940598 527048469 9524601 95337663 593403543 218451882 947106234 190197934 592801631 396324584 134923004 203294270 113468283 845813012 937101856 781431219 582535467 26945568 702161649 17432319 377932644 871752303 295661538 386622563 208338731 374761224 501921128 848000578 344715742 635517539 705002995 621708408 860336982 96635247 978217081 127692882 110855226 641939988 649687932 390942181 324965685 604082056 475801889 524798529 222599511 214828957 941812041 941037152 267102598 104822724 242431563 536976751 6612245 923711335 402875809 781973624 206037318 587167573 338586170 595272036 668560426 344283870 442681479 749432455 417542661 814968734 899710064 600811874 47580637 110274906 48942701 228532268 296363788 677172478 245221135 349854769 312378675 996169685 419055276 80759107 505786968 946033539 307734014 722686128 761526257 923929578 857715146 488125713 553780636 476008732 996366842 257254641 134693736 263534541 291796574 200530771 199990364 439855095 932375891 196270858 648231658 110407385 267096069 757216973 513204796 776980865 347650455 300298051 890840768 322248088 557600150 53567817 735530664 488221485 748661877 271122078 450799723 282518789 444854941 260046500 870549722 709808406 61506378 433158635 567847027 441928824 529622114 681331599 274395485 687602830 776338238 245440201 331485223 375617678 998956520 949875451 957837690 796548068 175717251 268595835 537563905 556474632 742123809 411901066 145133949 213976943 551525380 683342768 305232162 55356701 797700360 340058586 355595622 939419634 311516196 475095264 118243796 758157200 115603558 360247537 354008040 769461345 17700652 897541659 755996313 384797539 439065019 176837857 286430960 497278349 860762850 888237058 75935397 641904014 568250531 276404481 705340370 643683873 119875277 258531603 246018023 529663205 391148493 723067808 517456192 169773896 215041888 588596389 57468627 437598462 397189950 787188929 311085975 83267195 610287397 888825647 813560424 317564570 713762111 522824833 726004748 261073503 114201636 905776892 459541757 454637294 842834296 518858350 713590192 167611410 738844441 956071963 802175650 650425678 910539952 369415823 361582778 667465828 357583728 11952291 580488696 338555476 552421359 863249673 808429210 894810848 63906217 99640441 961515663 576118275 512667644 845773369 560794355 259201426 771951121 111439593 377632872 370671254 891266473 108821545 393014559 623243566 717097011 478633410 533079200 427947767 46814836 337122927 919493204 969053442 275181622 763285605 266141770 470097324 149458583 832987932 807118372 993776451 539227452 205988296 417281602 521486231 598483233 728106634 539671421 939179234 688279145 544461549 401091294 366691899 435473452 892739471 398919955 561160523 173701096 442602618 811656569 271258035 387892171 863005902 31999514 76683571 199858824 914056374 603095993 772858660 498703416 624260321 749118846 84156650 566822653 647961811 900524628 61915966 589637685 237731570 393472645 789882319 198212268 525178564 696041482 396645556 23225393 529677455 505447394 931333525 188017557 147860566 926882907 586850258 202940605 25478211 539278593 323194820 587430483 526087019 18830641 225966576 936211116 276227035 990137945 751748014 129805380 518482784 962437179 477939244 447826822 903077637 490533012 327903829 857699039 179162098 581428795 787893559 201292569 984169237 413560951 152929750 454323828 270320425 471535663 570145477 907989572 45837303 890968562 409085039 8489943 787790788 546810076 827658081 966128826 592928314 171277481 129319127 556051332 907389468 588237169 619900501 720102794 173836004 36487391 138539417 643798354 342594106 932566216 384866758 497933675 197148901 950930397 342490609 452926907 537423615 468914 265774801 966375089 342018882 732365002 841347483 826420845 634338492 977270405 191999588 831511430 937493756 929045554 711119469 535974060 2831470 616003670 253645283 505289421 889708416 88602160 965769833 645280940 410772582 10247097 859906791 717112375 764871866 757588805 456735406 136692451 482468531 502734885 283626311 66158860 800927668 811059596 390439997 501532687 997893360 605759416 814244877 628258018 283419735 993681842 865526158 908948507 471162905 665175510 724909931 836700991 174345767 745724791 767977926 192737529 825485066 404759661 930059840 551104370 786588896 707417610 394454731 489330348 446513223 4716686 641206426 833957890 116106342 600160891 175999811 317892702 691562092 537919037 69261242 254691519 859550418 469063693 741105786 689403265 558465832 49527376 486507818 490666664 870523559 598823930 413077399 90962542 811034199 468180249 521918566 533459126 93174391 813679986 997951170 19632156 958195640 650213499 513667769 92330727 310317296 817819388 143086066 678269730 262315184 75734508 991698491 900574595 157720160 933709152 56689224 682976312 988539346 879414559 32647178 865145444 855287092 541094490 933405695 39118011 313623480 688637701 492928441 203374342 925233933 864610509 372442986 651073474 230086748 923353213 817281428 219157235 985574205 402643062 808562652 785306918 388537050 104346791 498340087 571805831 500104173 445646767 269155612 338838624 473891867 902740537 781843500 776741491 414588526 420179022 463835750 949156647 500582872 527261251 245351862 518359545 898640883 844608694 822716888 160107901 824742872 611297126 854462865 273747240 574446452 346785326 24003481 342766482 356155595 14326699 719236372 881895863 331750387 677337694 497704477 757349278 314783137 310599481 256172716 277360336 252852398 383244581 73656829 909314391 863820113 627597400 906405729 22177127 682646222 147485882 956182527 634803741 981987178 753963782 575450371 665766757 895720083 382599427 427226201 594245035 462322152 322491296 756274252 258778619 73990770 999036264 780311224 350871277 780999363 569514657 886738968 326484889 865990779 715104129 540896751 210739388 913844775 767817018 842568041 177009028 636124654 248886328 381857016 938450961 376154235 681729360 200188248 513030045 537266027 575912788 666754944 343766655 2559593 977691914 142949521 318054760 959798552 746839817 443751970 973116602 26911025 130758241 962091955 470219427 917458037 855254685 33440143 769192332 280749432 433043985 983410511 634647345 920952014 223317959 79478600 569050065 61612388 298136474 976102918 576012070 895389355 946739791 884310019 202480199 756124647 77825143 342817762 111587631 286274070 697917323 896013635 959133456 435788706 205249261 11040952 473166728 360616209 645767795 69007147 110515557 881799063 470252349 835868036 230524040 893701593 142400816 758686409 224852490 420488818 840525574 682089665 578197781 988173494 599636494 179932677 78275584 446225388 434396000 454001974 624797836 136679250 216217010 596078637 246203035 885568256 103681478 452874454 873006218 563075073 13312244 225802381 591135909 860493494 656676530 228499339 810222300 237346344 910738840 593810576 387307982 908780269 947837413 571181250 919156991 109517686 744337 681857685 214332548 342805151 13582875 274087628 283229899 108277595 864609044 937047603 365493687 400254499 415489858 373856144 534321940 743489757 133774557 161800284 874207097 398198279 49747174 244318821 530527651 124210377 551503596 888949602 580719985 649745686 42661057 274701296 450286484 152091568 330803129 743555467 2975707 203488448 682845771 655436866 971708967 654123755 11739438 677043971 814864353 760275874 711690633 181878338 691827560 628131922 146953630 463568957 125675424 389776320 161973314 542413772 556219025 804214479 783492372 356398276 858981994 301070159 223267464 666005557 987600006 776972927 154721384 401529712 130875108 453231058 390421025 647747970 123147765 414316403 964662701 974942469 128792600 576694644 3200045 728083658 257375081 375675618 755060362 821508773 909796737 528281062 665906564 85587379 238997552 36662223 291323941 882940256 137867734 347164523 687490769 694872034 114733165 345514513 218329513 347470250 196449403 673652091 845251489 426498969 690619346 972916132 113690649 502425144 760188922 115370 68392531 820721783 295738086 8968980 385226250 749010854 938179626 675835765 198103547 289304908 644851498 977462743 40139215 705716617 942166532 74887167 743529616 273978959 508111894 685348935 827539817 498831518 914163368 798072888 608084338 285311226 556640649 589580153 35507695 149532545 418469099 675216886 735400596 790547730 764072702 275342041 247574795 25824450 790194107 342035425 262035232 487656388 523447915 329136927 4337683 676177420 736962948 509521248 1528946 807430123 50977628 662002356 598080035 975627176 949474731 722208257 838765920 919393339 554362013 889748446 901737830 102692708 366130872 549363207 937137037 659195240 133505767 70412939 504234300 764087065 509241515 606358910 389533327 523468224 557157093 980978281 505755782 786956202 562908616 260296240 459485949 598715515 674844893 662080052 189055644 200682481 575697396 211982430 74739203 65448927 717165361 955223769 395717413 863831049 54813067 127958600 354732190 200537569 913974079 93712551 515156638 285768876 754633127 845868007 255984442 535249707 209694847 357045127 558213515 101230599 394239407 630990711 728763493 753427529 995839577 79134944 950207471 661359597 988189443 718957220 31555687 903185819 353556520 769420855 617622835 672020735 507442534 821352779 742212966 709101324 546924874 203914533 133709845 528124659 70194107 190976103 309919658 431733983 844752671 724478610 970148242 842692708 849623166 427481619 102665351 867154317 553050225 472822271 576992421 619104631 49066310 885028709 865379414 849573301 276162199 703881747 247519701 439041281 990054791 80148713 684140149 137017635 118763449 235563953 271640461 438419396 415883092 463082647 834458286 987387447 587446962 682611682 728775159 35390775 30290859 313633609 178972441 971999037 954731187 288788343 171524331 853753801 689595575 549350155 882508762 84345100 302006045 106591480 959841605 416386220 989867254 128852149 628646565 283995859 567527926 463703689 112108841 53701160 170215478 162424818 174893229 483694027 396434640 190768201 737749200 184516360 383343771 247674149 87810850 910439513 963696504 802385016 637536222 407419799 939781904 252845495 16638631 689273131 966857228 707319696 165592878 445035956 820969112 332047370 471781980 379365173 497112704 172077754 222443862 900959664 967145082 182845012 975411311 333376381 491995614 427914435 153490674 773560903 593194428 882767845 542370507 242355289 521378279 244289955 175623524 972187673 761727498 855455190 662224716 990014803 417110926 273966946 432258511 927004793 840514250 276457496 435134978 414738193 934182002 959333992 85083631 724752968 740005139 309532744 99930635 96220768 809205810 854524692 663560941 336471924 192017105 261968363 88579902 204125944 63141863 210761163 424934005 947692433 601188819 775082105 261876347 407014822 599333215 336235787 250435451 273757986 302833430 856115094 719109262 907685428 891200275 143087863 230923629 986987699 801772538 429097806 412476502 569350047 459506849 745765506 981590969 69145283 693492162 566751690 464759004 478972809 624609848 659002320 782205611 333923678 16592548 715233082 468337723 576538798 645849300 703478545 786866924 41195927 524505286 536225685 262352231 71848481 83053304 373439458 911096625 135518599 98611768 751888945 280290561 962309499 198965091 612452650 834083788 661543907 719640596 572131328 789628119 634558985 576443756 287105269 258603933 967374596 653681509 531394001 206568048 489837101 982071033 584680329 65985076 771926737 945973508 436333520 552812712 549029471 681348807 520955827 126194072 245967800 300279584 846086848 858835389 198227552 794236085 569705879 907754057 451455815 125308082 409097516 909017290 676847590 387016006 372170668 245428273 103729804 614401690 961054208 188378824 753176177 686951341 569539493 786375483 775293636 453738241 571059407 895415300 302516164 608548265 883853179 467921878 924646532 118487365 119860804 130092262 463306517 90272998 942318137 925840315 575171499 322234597 664095531 947523592 619434513 673280039 768585685 796594968 953898255 762164227 146996678 617503934 491094148 95501588 474079620 799189248 461622504 992885136 367083822 41595144 728265283 313793551 376440172 533698186 865933508 18733002 307698454 954958431 832509453 105991960 921852117 884331616 970598431 951418730 666447861 933974571 463813414 960253526 348032104 349468247 494819403 729200024 29886532 724541245 483749822 22617497 597724939 746049063 578863771 925376022 447436725 324309915 332164479 554889384 272724780 291555850 304158596 464149119 715668325 896432328 420165257 183160386 249981867 243218581 510964181 707588938 564772453 323271492 435400581 925034326 718631556 963477919 937189401 407236529 896113050 701514086 56964078 148595412 925970416 960861050 815735029 869792508 367718328 475200806 88753721 247108474 420586981 929238858 486927870 275091450 622228093 480580179 508531086 879407832 265379692 909005914 710475041 913454477 301604489 798673946 830836618 239891796 516210144 462876289 812617157 606050205 131949422 36894665 207564883 842341711 471639747 225677279 4071312 853663606 487636867 124955028 309212421 381746623 966066914 647211291 501746926 650148479 38199324 78325100 390817834 117839570 136015155 324076103 462305855 135554537 584137300 171079981 528319019 284941711 877531590 549378795 171003325 465983518 635917539 184981385 874159874 216016952 5343167 578585470 409321811 304282406 793084357 640315875 471748075 794671240 276894820 864467000 473545264 666997484 860297065 873758982 408390894 521875149 605215849 780772494 372270852 533494600 721890520 944887008 989563150 647673288 479199976 528407841 750872561 128308264 826523331 844235958 188050448 744601329 887894362 851446484 315989934 801420092 819133221 765617274 754513270 152916861 1922363 172659145 349000559 986334466 669204581 695710708 899855076 80503638 451873913 205589878 941242750 569885597 905240959 747506656 887099713 394778886 631806641 275083519 695398649 731155989 522373288 210867230 189551384 989071426 403416078 281509142 285248971 708620250 2878569 603990843 402329612 739028693 744253711 289876047 688295458 536168084 355063079 792620534 779899340 308355 573629548 246193356 527756365 712393916 627812439 883030497 732848822 624947531 699542904 68952020 95463491 386203827 693037403 58423548 25080036 416996259 940699465 229778126 715691311 509407479 482674567 361445257 27009669 960589659 169286418 735293943 543597578 231044150 587806635 693203220 404557785 214040577 443244088 8957370 873813510 149628610 748403363 312390379 287626194 208778483 957135907 641395935 348152390 340938640 309481005 782494942 275633092 798108265 346369476 29367191 292516618 761228097 681197813 691343842 400186968 244010320 180243845 661944254 602910630 950942367 255898474 546417873 709507177 569528288 704171088 457449625 210476030 140430465 117524868 523960472 392457848 104172322 600390598 720135704 928629366 750403414 60034468 441815267 49243415 775484703 120200279 806740828 863145321 384904380 673416906 183543331 56746700 608187264 383275855 740702073 367430374 476951583 35843666 573150261 633158056 300179561 281575284 522840069 985969486 462313835 452054404 906625497 796553654 438229735 791935429 861028926 976008925 711929760 232052943 967234270 741127916 923382124 419790546 246211762 775120394 401788019 185214894 94178560 948083605 769363038 662925394 53232997 138303533 994300821 439966501 77005958 690571593 299131643 452088338 793469981 892102156 781308202 672033069 80108810 970863483 698991781 401550282 862603944 707622448 686796952 155866927 517058136 31947369 284431875 524299308 961895467 770577234 746620939 188437687 211854032 279546053 433052658 864983269 184738285 383797502 607170115 486741898 15711698 279551524 79207808 71769989 569937404 757389664 670958718 250154418 490879146 587429315 518962654 619556364 343534933 108979292 795581702 866050650 420486378 986553617 726967800 637406240 485976578 799600212 724711294 437572423 839128904 270653960 362125890 578126957 467167541 942238321 626166035 692320790 97800078 507209433 182160444 356781991 158630640 90567586 908138240 112187022 707547244 266841883 358172421 166419974 93652270 682799940 411614113 23048844 57836285 768050893 662090189 119284892 172456065 732714549 585300026 911068938 67126262 159705155 737481384 658000220 569468329 74939362 376408487 239965758 309808123 658670003 215873125 610149579 913538124 226644767 5493793 69426229 600856600 869580853 998255833 223102642 545941628 577238648 967645788 976555528 316250851 61504785 139073520 332608689 934060366 34431818 788448457 483963278 427178638 55437539 225607854 580351417 818572963 617816069 237612240 620181623 731167199 427736283 563935552 240680669 727770506 510832122 537611044 505223088 519039074 584811033 186951941 469046633 613748916 703680541 824949184 518008676 204486659 298558082 609258261 594862342 190920915 574014803 626262790 277128269 57949261 588549209 189219235 520575792 292112375 446839606 926649527 876368925 448855077 120579262 569590882 590258988 378859797 821767268 467389961 498828781 69312898 650927403 328394123 111549428 643768701 209464592 892136191 406778965 423679662 137798736 343843092 579986429 572965650 799323418 227290154 773513034 681172133 363612976 69585089 247548590 648256006 828546398 94355983 64438418 874755641 924075683 788380487 828170381 683127858 967082115 71409329 860832543 286390540 401818683 111312408 272591972 578181576 391828113 554416542 363591786 646538897 937281832 612145742 475045206 712722000 893014390 938561164 855832463 434064432 429571522 48908656 419391843 919542225 545674703 523514654 997070111 84048867 224284949 194931622 268676294 525333420 901116633 918169187 652855070 942612317 135024241 998376005 669711315 10919030 127719754 388582688 613518760 229198654 898238625 169016930 551202961 585506184 218926401 359711915 45641113 507682550 580571376 585190706 913171312 890897324 492886243 914747944 294672207 56288394 573869061 937154111 740116802 131199399 675377567 89084984 811857750 912327709 2587177 977013340 231902151 99617998 211025759 920932137 458942110 446558915 302053242 108834859 329274219 886087404 125538234 175384876 455074983 690180993 819707742 508669945 900294869 847632005 754091195 16604521 808647717 947096189 647275625 124042859 425643806 69567162 289028034 44373985 534492051 904956417 543679856 692034446 901267223 409769558 968003936 648990873 304376342 216136762 999679418 823079854 937417550 381915451 312653410 956093468 762115710 744676950 226647246 988741805 460195811 748671270 460543992 599655099 956378483 671819856 924160207 773298890 626380609 979029979 673544750 457072005 873431649 394833582 657320084 267059554 715563380 225317104 463168158 847185011 243810505 445417563 733023295 380043803 306105182 787552355 657214967 319350076 485601764 18293879 145850826 967254774 810453891 848188420 161944614 924665848 603031947 562386143 732854341 222276734 469157125 138852760 87513433 531938822 887746397 378480287 612837019 381106256 417740368 186346203 827252694 274337420 850091167 953658016 601997091 760556587 603263546 448943492 804928776 270419051 297302294 782122186 352666693 360597834 126341714 983767802 777149233 141618555 24310940 601912249 520416574 358524103 81233020 467804782 802110381 7733278 428458757 190048198 242833306 682296862 75458232 641817323 623672876 359081644 368880448 245418759 278041260 137030588 924100110 291833114 230927236 744190085 604027624 779327158 695111437 679463355 518122807 393687516 277413147 124119397 894510926 111439656 844426415 623191479 186621639 954055806 208732388 594281378 129675578 431493142 652169598 541705603 774811791 152480270 154043719 312797144 147013238 738370521 270136360 634590952 305925192 104222311 931555327 484212006 732334059 77967359 458113350 840570532 514405515 820945020 686703899 406182260 601789411 870428408 136462942 7587732 812020710 413193468 733570969 442759801 18758341 869024961 361345801 148055241 814835429 415011920 349497538 580970737 486000530 690678476 802517541 509024987 790137324 402316670 486131282 280949468 782336358 97732799 544674858 196189381 757148747 986542459 649149644 396493465 374285055 863732021 113773484 581604440 449427195 321548907 862409156 42108921 920356014 391097928 621613655 43137497 864495736 691964644 331368446 531555712 324862063 53604509 372210612 94780963 510311636 333834829 446632547 936759569 803190760 179872351 213714244 534228656 627032340 62952036 887649596 878325239 141815961 211621696 47416015 397482909 482832600 24511478 14104116 418231290 443326294 503115437 578204878 250601969 395548355 427946126 909443862 257069467 851543656 422182432 755459859 884688371 946288386 675492037 267675034 804857590 502673558 159630611 697791575 686739155 25668880 790466439 446418119 313435073 690982522 92351039 204966861 492829037 424185375 230830292 229954425 88387510 866535185 496973813 54137444 350534067 724104103 305636799 555514297 453731207 844077348 553912609 396384092 389521320 58827748 292181333 267809084 955247470 486007226 524224930 16520764 529254046 184154266 460826022 92671765 648997290 206929575 93590002 108312711 993548569 807225086 795815997 599118554 279207350 600362315 873954216 71269804 699443789 883606764 753709902 604627846 624404931 982878971 610955514 15319643 722786169 655776987 654109082 50239075 429409161 139000872 553590204 571529072 39206835 804139106 266184631 18904267 688345771 54893710 792398791 258028679 118537702 220786834 72040045 416614497 27661560 26211525 496760297 14033975 145003837 333847272 268419926 474472042 798726212 20972608 384895013 378680667 55894855 513856481 138378619 887395929 383599007 165413415 596402103 52984703 285015698 526774601 701786740 178295445 44367105 763244762 952123465 320852746 576701155 365049610 327952880 84449326 856558119 205460976 294083831 119095950 503625301 691740943 952044529 559158200 65456855 412510094 557032507 697655836 435941077 121606397 764768266 966083665 817391625 41184230 706065084 560630506 849654490 720582188 240477732 493369436 881271104 148930671 221038938 732188379 636736483 780348140 434607407 282415688 203115912 201463110 802150336 880269187 353757041 245649435 20551321 324638698 258376866 719203529 645334601 847411156 725354652 174613186 110643140 236523209 333957652 390077121 775793221 665582690 82157593 373128408 467712988 815772355 253652044 799200934 753215348 804058774 176902823 176795092 204535699 448450534 67032868 945030734 189956898 558894026 758303654 914018634 891183882 123528320 34044538 555717803 714559715 967083562 491079940 389217928 896535160 480664701 817382631 711636671 869969362 548312675 732131268 492526823 573130397 746152636 698971530 933322629 44052120 432876631 50033458 958291907 542026572 925708078 308825806 80036735 524277665 791058091 992510732 87601419 821499746 368708777 601165703 517227583 776382363 662028118 652513340 474308652 520935764 249254606 665887773 810491673 946865637 873257502 265928958 912815354 646592176 524098961 97401675 218344709 570186986 496615767 963069266 417006996 97410098 754728022 301666360 375810004 877639505 667831449 584268179 51880931 904334114 573389944 402873024 926214959 106728833 543225897 672293617 888349228 873443679 500347803 855863929 244099879 516877127 593642873 952980678 533690394 853872232 374668038 362485356 429288590 893929295 753061058 969324551 19151996 8832846 984233358 781127196 216908957 472123801 687428849 238698859 908525925 111356386 251317443 378217247 305943247 726765864 871310259 816139910 160234814 694263143 749910602 51564006 731160679 594799162 43178346 767845098 987056488 333596610 937970524 930346023 618921173 534344168 695816312 308834450 749668852 230733058 549124952 423880386 821994836 404761185 178810802 892133692 570437172 654828914 788863469 459513942 499751640 570327726 817213085 99188435 986932504 898785810 939561314 778954571 118096566 701955540 896087408 784913968 996385694 571206456 528542223 518473640 464112677 675770564 740994816 663310398 697931772 586928495 59239518 805357069 915186422 997399616 484509748 371617097 217558475 698876622 495631136 952976486 985766883 228387748 838740517 261305502 241776697 79264176 862125318 398089256 162457460 854270478 106733197 350944202 420789791 193980602 635130279 641861502 449188377 461026573 277124443 118922480 267214025 473784083 45332515 306779614 709025596 290049174 370735077 413141569 348510509 259645465 350037100 415234231 280440127 379032270 854397279 615952982 545146579 987503270 505379663 655173787 586904065 541750870 200733753 689636661 234487533 174381590 828201003 455918186 311428767 309200806 204214912 218824952 150961582 318448196 695361157 55258466 126974646 900461920 76616528 796890076 609145358 565343397 421104 398319508 81347677 639875917 67329335 876331244 569461692 706756891 953435757 496500387 807501584 436646068 166819081 54048642 437725200 173848639 838057261 104182764 269867920 550184519 113678131 699641690 675438637 717332643 850473034 294966194 89358744 979487513 334563086 458887115 298119163 669481500 550212501 783297352 11355680 307183793 918857870 166466052 519292114 750107927 121408060 503850689 709524408 574547889 576150928 481175449 842361049 536616489 497193769 734950089 272572208 345536651 600124280 295743303 810412102 483396114 676010933 54498229 439555404 980003987 20921581 259651235 521782535 445473116 305758682 691457033 754578713 802179775 416803683 964029231 603530059 522340510 546569428 893944249 965182461 9399823 310512000 340637479 355100347 743547162 281708151 444204972 599231183 873970414 302853891 214118022 819196004 644367293 360278259 706507730 377139823 562555884 890543777 559164336 888777737 247420030 696548135 788613864 761283358 364759581 672385339 959028338 545879748 898958179 423888981 798167125 946241194 62769621 754686796 505929069 739026652 115078089 922481457 315513805 537898076 985313053 941390544 558767615 214892139 482064320 676071435 546523201 146604399 1642244 603185512 113912689 392645363 815115722 989560195 25049133 493330694 301672423 52894984 348050596 438984888 663477443 549672395 523037630 573745977 422708360 608871864 398172253 339505972 434576823 560284174 444658319 134389371 332824467 331006575 842892843 277171565 591232946 779377801 232602562 866428322 496688074 933022501 212445194 800465300 649707564 768329238 314402211 516582158 137283525 604741831 174452028 533117150 196950400 311394320 995417466 223937397 724029232 659237908 956132197 88860099 431011630 145077179 999270389 598565384 884604543 350125856 351030663 60460402 959564692 306093319 237650007 490047912 87505807 130159915 947322014 171241887 407626968 376243967 497500890 933789172 85498887 372485451 944819566 613262325 635496844 232303883 695716642 145080364 211265638 587536489 685337523 84142597 764361145 897760531 775198823 304920520 111601752 3789096 178210424 169056194 137324980 847744055 948811600 275667101 434688809 451761565 242339669 283545704 447516933 703621237 239679065 775627786 982975710 139086281 226081219 763595541 487521957 309392357 674801499 110111889 662113520 464911984 160072947 13992770 496981451 552351463 368074785 512761370 408527458 332615525 348974036 113398730 190362654 814091108 66661840 71136798 735681375 684507258 905379879 444979124 854201929 155348796 597298484 780181837 28971977 742112945 153568066 756963281 265633567 669905614 724439992 397899780 162108046 111563186 677346374 270845850 190423796 863599914 189682373 420904966 809277945 864280223 36067137 153150762 536569515 509272675 58771213 250082616 12817678 382019060 945560112 914335111 837331420 773847743 697390156 62720801 889071589 27216433 219858688 670316017 756996257 51371404 761092756 557091426 990330922 977495384 480273153 456603420 98887087 278593400 781927201 710930520 807493099 341599225 945413237 70663496 998804178 482280063 564477827 733935052 91300583 552184598 766017959 225023986 714479232 408218822 879496054 589167225 655053027 297776426 976459563 745867462 835531589 9090645 260992378 181482913 612147651 195036291 194277738 46147997 3761350 981932495 333732058 203333593 6287694 804354258 464565541 251637836 91168527 957949405 188731685 557561208 529980670 823642650 498786872 532394733 183240311 891218062 835134113 939991984 307631991 241574744 140115615 994489497 298624853 787849738 339904443 208584455 252266022 811980958 84256065 873015561 905718246 564510954 472052768 46907057 870328393 252677417 621676451 636660635 849514243 758224227 295434148 65964969 306503748 129144888 993853967 690530236 104457868 240206825 465719717 822562817 380506272 802449010 474843698 225358827 795397030 589878657 296665791 299517887 142326093 127888722 497366076 369712272 344536455 228495685 531885088 584194928 295106726 42752740 245535265 462456012 961343471 788218434 146493164 280074601 248245255 430856108 936449138 153583596 916691587 895868408 60979593 321601810 823563831 633810826 450655764 259054618 241939415 414243861 99410753 672336203 806524593 607492989 642588200 673920185 793949688 169597192 549397404 109136931 991772769 995129772 684236552 434391593 823906142 19412417 931591100 580248667 221538505 293613543 378222243 383402453 820934488 704941870 210000906 675971163 401986294 163780061 163919300 840499666 251931487 668299979 297657765 407236633 933175105 778183335 32020070 521813634 655948014 929747705 571737811 452715916 933006633 89718390 524730623 251798121 592233814 51765780 996483649 798948380 853268046 893591435 469992721 527402080 50677138 217133693 814563077 685407656 363286131 106198697 364792814 773286405 825399207 633361410 494752649 508453385 563466689 29136852 57648220 228712747 227223741 739855826 529432769 947532795 634140370 414051200 19777891 952965160 348617697 872873185 41646188 808416667 54951469 300870135 585916189 86387192 388013564 584389985 585976287 877075669 768417709 490455585 577032483 944820125 347890740 461613186 403321488 39610069 388979172 137176818 695889231 156416715 2502365 712560375 462290562 280736702 623399004 212242195 580052320 831464539 463844841 118699178 859822498 846795717 137795811 189258800 980873392 171218805 431472781 190338816 247441065 146233144 607440527 817719408 298400231 120967285 894558813 784000463 28455186 113863980 324081032 156713338 631281734 688256155 814442131 242773124 973313017 622992082 510360772 643297847 477126937 834342223 389289851 885916329 967090249 256774499 297034278 461657625 99615862 783378147 945368323 30359092 155998374 956732193 789683453 582050294 947477367 891545190 835944718 689770239 267140323 566840666 944241197 6680677 295637601 292520931 172798348 732452355 374612327 82468159 183902339 320426816 283527412 867247498 355197687 496519053 979444349 464290474 526982243 724953628 341310556 828173049 401357309 469019485 281880464 446883168 473137477 156480567 244281445 152939440 308933710 263348653 393062056 38450114 742733782 721515049 572516097 772213143 797285503 202779493 169397492 107700615 2082048 465731922 197723104 582260770 910874815 625152713 674877589 803489357 824813193 906858423 964337674 611171384 209242906 298864945 307646547 757402537 176083733 440924786 381997108 437910945 701387895 446620680 898078515 91181716 109842121 406288156 573699969 439282775 60123856 53672167 293438367 378966806 212931966 225110174 698032760 83003706 610235008 359018261 351628588 77675009 458606391 34898484 784205790 265432174 146222733 762477661 789682860 607574763 808335563 280858885 489395925 38351603 971394988 31270903 108094189 682043748 691411419 979483738 736206054 435515644 79077108 985165181 76433071 898813677 205358346 649134327 892802852 381771980 573134322 767090608 873824764 437731597 893531737 773256835 679928070 517086655 179606142 837360673 418015072 415744029 84772902 565890496 186374304 771355291 338662432 169271672 444557302 680300149 116574879 271914490 897551444 179477606 213720637 389149793 901590045 437966335 500301139 686472834 110434455 616817218 385383942 788823624 582371498 120273199 117111276 497608379 545118161 634920247 721256592 417229320 431032194 989922618 206983189 9140523 427546857 162703736 92638085 537767898 39084175 849579712 910071794 395261002 904897674 661811471 303305865 667508257 831183311 334868164 150323975 988385612 895126781 662147963 889577046 589339365 232176148 9037338 507712619 556971848 373430953 538039933 790628996 811028799 437335647 963161582 729306066 430919944 901637152 239023529 349389214 816422096 629117153 907280125 353218725 847712790 327417570 543611485 308900067 631869182 455380414 737482695 314552709 104596778 197899790 618039413 155428808 417268610 627123974 856135968 778545545 661716507 995641039 689521724 803096475 614246895 90295705 724213179 731795890 595593224 533058783 956449433 902012113 327716583 1250359 132042145 3639207 47048135 531058065 706694127 594898940 273519069 908467457 609569297 601145745 773021854 451652196 591948699 244440674 361813702 804998754 245679540 11938173 280344612 462629117 341032075 382993896 791978465 147628590 557865809 279037772 642083443 94487553 644424933 925641996 406808408 145723651 343230845 885988282 55900731 157469722 99269626 455959669 5606984 846747520 782433417 117220185 674574231 187321480 841213949 139833819 662895846 800071876 97252192 613953466 202587690 282107268 581760572 390538017 42771861 985963939 148627001 178620097 224019656 792712230 982201698 378125208 878993495 633090148 693202802 211997561 95516417 681169341 372482480 555131527 290099323 156841197 502446031 742044376 933564756 931035433 111895143 642435081 19148329 967550 150153392 949616615 38054417 566146352 408615772 461993983 789658857 388474354 647937172 249107768 502439385 593570479 488793372 752084628 788594497 879990675 129995654 255882590 433579120 599433777 687057045 180188785 146335711 577927586 140466061 434028409 463323475 346148535 726287569 455473007 848161361 832483261 497485367 107359125 949443027 725032489 229948411 919984348 536208605 627274559 403306409 433458062 32444123 717170250 442719738 234666588 255124124 384466182 757957199 803501278 417128790 17556536 43411738 817010132 94930424 950720342 49981164 551292779 138117283 52844211 809296144 896736734 595616443 395661862 641849492 781015395 848052954 384939917 86883054 473164681 873333034 561629593 355909023 200152086 609904799 160696828 887741809 542254213 74999847 852993410 489618805 173654099 358354864 778960132 723355329 358442922 59890110 747371081 236513378 74351146 6423755 288914808 801625308 831129719 10627383 870921376 994464536 341105192 208113940 339255266 702811128 504307762 507097418 145711587 123158493 38771206 174113070 101791390 374996961 19633859 389420439 631412085 456453928 888025786 692051680 396372427 264138510 462345154 609217286 966060795 39381811 339246450 658289049 584074777 654563280 187345464 956184344 875503158 178160022 150730177 917646071 589177910 361360487 553368355 436925386 859867696 108116380 112716277 424847465 958435530 764652752 812061554 635857177 722607612 112105054 778929602 759239888 896080831 637092121 247092932 872983296 850478967 649414060 101994327 158089593 14896975 219491158 959349836 719626334 148057242 341316278 697527529 521470284 359880394 151710204 462796046 855452441 69328598 907769198 315810492 975900108 328117248 63809191 605760960 865770542 249608739 745999252 916998739 243365474 490695925 752837400 565646045 651917149 225814920 336154319 652325192 922852467 411476209 497917482 263901403 698995458 327278791 225769967 790666665 522728918 335265862 820011977 198609879 299456704 974267521 721467435 838513873 500417858 527736162 448303266 165680706 750316351 622618767 697755618 417012342 104477698 840942491 723881502 699436018 928146301 997999680 387829256 248605981 728888175 516162593 733399282 860965650 999187496 996281145 218630210 506053552 968451593 283649695 480456192 76154816 717980106 749253225 988593399 13636684 578168723 892480206 802933420 811143433 818216996 388658362 331145885 156160691 251115807 357813177 744754620 361400498 561344832 145642973 448046671 7820758 757504310 548756064 45156222 758886648 577702495 400931241 296625785 867004373 677354236 334134297 380531683 940268822 162453955 235104205 831917465 682907619 702236058 443872656 589860587 660568571 818794372 163393901 91526325 938865315 288605915 276209389 680000317 201872427 982803667 635387302 94760053 476435807 734164764 634181273 900520680 332206868 979484536 13726412 696594959 847992034 143293328 918733172 111437949 849653170 154920690 308284745 458822610 168989751 200618054 862554647 759897509 247566104 616802460 596405532 843651241 938832698 626969512 336434068 756426240 37375102 770398657 258141016 142548093 667272385 223849082 806086860 821419806 238240609 152584404 151677382 242849174 867820173 835139574 625013560 256020771 320930364 232632238 953520079 254260966 430114165 985475901 581561743 308016989 545182962 892035848 359108542 541263454 872370251 369876644 191260972 314343019 688024163 83775350 27963910 68049414 536869384 678312707 475336317 761601765 746714677 111470641 123413747 735301637 965626887 985048477 515980617 16632020 416184058 343919724 170971349 896768560 545734199 529395145 858717762 863209286 906395234 781024864 731506840 943402920 39116086 234978649 975407403 416977623 181482941 163591096 876478954 978878443 289425307 694221447 750801419 770229747 917491484 44544173 350937599 158778082 895912380 321520095 411697159 697448686 542160178 940367293 380949149 332655972 579239781 125096623 224881299 594547926 714774553 347274342 616777329 173756921 742205892 233448008 961719626 291106646 548388285 959530235 245280019 703435579 70617523 713131858 886055133 522412455 411406772 475040699 689896987 555406279 669109220 707868911 465310598 301854548 690081305 497601935 158723952 212392137 494621925 324815928 849749291 316156491 930746339 87949881 793542237 97425472 137916749 414391242 67575931 876034674 716987329 75193653 998404363 935453364 523920256 904660230 608660086 101665225 609244310 739212830 110118446 448671427 832319567 443781190 317458364 556387125 765039586 119241782 664608594 53603070 486498521 832513722 455374933 875847794 445291633 372340661 373874712 478598729 252410750 455506779 883438756 532289976 441195942 304718152 733156068 559576499 228576583 265999594 284044897 280631181 684837115 897322666 159811835 881310297 773774424 331693536 940734692 539066811 886197050 730798797 604592420 276356095 960208030 108553392 907710167 486989639 740014084 88831509 426492043 797400993 950977654 169156430 264883638 303990080 319757831 563439361 87818849 463495942 437387745 713222453 643754491 610360039 780464115 914268226 654941846 201463106 88097819 699780007 387595741 922384500 996842529 447982146 57273382 330246589 269363583 570332975 297324476 487764493 9981512 988316352 607939865 998352654 217562548 512646615 937523319 627259224 501892919 608164577 962636630 673620611 789554347 69912068 660594730 829452349 937874845 79998899 464363141 877989613 998146841 537631417 360892190 562021672 21156947 943464638 774569525 411663287 734212034 388617840 693869187 480623204 907163950 792045978 426087637 361905754 987081620 367344162 739125198 218700539 208664235 21117780 256861586 925507403 35247636 536883671 213871264 90015071 801984546 108934077 96872446 712848333 191971378 633872124 751456085 643713849 605363299 666116404 524384600 333515158 786752700 741898928 715901106 213906554 180221242 473551197 618978099 93869472 338088442 443140822 584725959 880602393 949353915 810364741 540465945 692240784 665248581 725432409 28848714 957663610 743628436 731207702 589209205 356181611 760397252 109526091 375657948 803383421 679883109 102580748 488321874 819863073 362606954 683318749 349823280 494099542 277277512 45744944 954641546 658209684 804346213 712550078 109796092 171754780 895321467 68728042 557550106 141280938 468655187 551592226 125618758 517920631 968108778 973029892 906886451 493080229 709198807 600678948 375898522 855874621 324062622 405764959 802639373 652676614 212226375 493486514 464249139 568687830 521342470 646287698 496206661 231332138 579077659 464594227 77371113 915720105 693725917 978550405 771593021 681493495 602696309 397842821 395988130 699622546 154253161 912811102 803413813 551574476 298716374 203607937 865372905 142362934 572274986 928209536 697561919 498877978 816978933 332774979 584595168 330663952 575233464 89235007 52647966 360321705 789035837 353758716 716195881 442976946 558310101 907548384 364584798 623827997 514285625 548621451 485982668 41883202 998452117 153653974 972053192 772477157 969497260 343876912 893412723 804198294 517639327 678617177 786915731 265617865 651240305 537901536 698061680 214614811 874903994 164638796 745554439 678671463 753635800 950180460 509921002 447884887 401725691 743547162 464821758 862306720 562740165 960991910 167498015 837814257 540212549 195185070 590622102 79272499 925438071 535273610 19360942 874813732 424505730 442912040 541175753 738129975 486401465 616376455 76221419 339242549 769093118 85137425 510618107 769702102 877110108 256283175 358099067 176038228 21102769 795783617 741176032 523454256 165192350 314362051 808610559 177114266 490210818 172610020 422085586 299531055 907711175 678573862 856130563 451409394 860179353 296546490 91984158 746537127 657272716 210290869 450208067 818803792 958279024 680298612 246348054 561176128 633725663 934707931 65003328 504566310 356496560 549831478 965496768 220137887 627868957 993393958 697134897 198666182 25814895 167979491 90948132 93700291 429482732 373611894 527652826 721403624 324022200 757896331 340807648 469414638 216400241 439712578 305046782 509040855 422680735 217155536 981363740 143513227 129809947 64578068 44067228 35142668 157589332 373787580 844710333 653375686 22001999 883053033 531818842 534270745 336801460 680157484 290783498 4240322 543925660 670042814 894049961 189876367 369565612 654203562 746725979 631271474 594616138 454268252 192175184 365817264 735094499 335788479 549018789 439573766 531248059 275926693 839936843 111162365 549490710 482635249 904628463 509393441 247338104 773337269 52861291 623274808 854079787 425223642 223303640 415901151 113880165 97800697 207751871 472398450 969418517 942495581 367747037 619174472 75967607 109856866 880493777 831394482 105983604 905558919 99406162 283780618 182361661 376639724 670320092 69932438 779313752 40479082 433594793 980952223 12213201 766946847 524805867 461986395 630596481 490004519 597642161 702986131 115980922 45302211 700266119 226515479 38486903 510849086 113035037 791902527 8814281 135136084 185622889 137239856 31845959 639698505 695696545 659762747 530733522 616833614 978576339 943001292 553419707 965451637 78691377 929345786 773454998 607539787 446020051 382047202 786265657 596077708 821480732 160973753 615755510 786078247 670002090 552833649 818205947 463889679 295247815 241552386 515336015 705186141 418542544 495383744 104712760 729441394 766278382 81146561 668887317 592505150 856218674 373261610 771420209 587092782 910189954 967063942 615733016 350131118 282788146 941107014 711372785 697703009 865425415 60648803 323206461 540126392 117979780 517444304 39043431 6582570 624572100 732501251 721575866 235500062 507543986 848150614 244569745 921862753 468541822 580251657 968126466 326704892 1784001 958517622 170508005 465051653 139620268 685885960 943018316 2878811 914480330 267179247 13966257 409338747 577324884 882316661 413340355 140175197 462488315 983464863 758770902 578840764 114100221 703026155 672221604 383984931 672892923 689246479 714524039 919766109 333988859 414844884 170868216 801199955 893879810 28223781 35286724 15250119 232590333 118457002 696074203 35400374 743768744 211351054 306564487 328972794 735549410 462579234 177269427 652354860 322559728 330230145 754332996 158803437 988268625 791173299 435176613 29700875 551843061 504381 838496748 639604065 40052421 252557080 308613417 386502595 584293937 370656494 524641837 402839925 648926879 342647993 951271492 978272678 445183952 884344395 503786406 10366386 712517957 200289855 99682050 427951105 954639992 609198230 468619696 806551564 215968965 410126002 930579027 621053179 29681363 838117010 7506001 624883526 131454508 46573746 107864526 850173629 609190959 546381900 117625074 229928210 834171905 587904232 384603818 862574863 549503692 975139710 198000030 421150781 452293621 514380691 339132959 18475566 918638354 175933159 673700212 705264060 194494679 179070142 690742594 386877676 91225875 799881480 451503404 707966437 836351727 861238296 9550610 213601212 335173487 490358891 842858781 444351181 164873506 177002072 262438111 619251576 299684155 272203744 936403813 903260251 470847739 746059269 373137979 10077836 487753043 532946944 759411903 838070589 923336167 855862907 711847271 17305020 106207682 364924934 129745656 613332269 628572732 248455414 786273087 401558876 163267825 452811481 511681955 633362274 477838136 448584203 839831580 421996751 294247287 425148105 256763238 286046421 11818946 686860818 717866652 358945569 147512765 293623488 937633578 267378365 613203273 107415872 66043996 714447125 213729901 312217204 429958532 1874957 105562435 505561992 54060989 329411749 240958564 892673699 90384925 948463801 783585049 441892434 125740872 789579147 438532626 351710385 656449461 288392318 154391427 513598461 225514373 96304665 42286517 512901260 264570485 647009302 129123631 629623343 975231720 291928427 115480941 312241737 473908551 275238671 861630918 704073857 4960610 748675684 831192416 500042104 384715955 342622130 833631185 900379241 354000850 4394778 306935285 343943203 246713581 233124699 860599434 194475953 786970338 32326896 731984598 183369497 658429406 310399036 226232431 694828623 734746494 976560424 250744104 22114965 848232071 661335059 408160917 402073199 103927189 865342329 411245019 236926464 295069766 830779037 533588908 740247713 998180191 981339301 50411436 980317155 813657305 48863741 306456627 488484628 851261125 650832600 198167113 128187947 171370748 344578397 441193831 246643685 962038044 114352356 40538536 664523694 779324097 788045647 232777260 757773279 649670072 629461120 464313286 490291872 118161539 56374165 85414186 574393887 569500998 964458220 493347575 293739808 492873222 914006820 399588045 428975456 319577155 589930128 865509835 294519567 332043507 704569233 31979198 212297143 658376092 754359974 312711898 517680541 33463703 38014180 927083627 701171943 618616646 910298435 771604347 863772620 431194606 932073155 337212432 313568436 605817543 295644479 669596061 725968825 919963873 974468195 424200667 377139010 422557238 208874681 712553780 91030153 975926973 15944067 472417273 355424748 679770763 387811767 524569008 578920848 323558053 525399533 234426812 262418218 456654739 529321273 991801280 381856027 196342714 860852427 296784783 250708107 527171311 832022641 994964365 864557963 827388472 436935142 693548335 637688607 3308424 975655533 781865915 779062234 73103102 445118718 348738292 22877721 370398365 973137654 909227732 236416609 361896428 849147016 216638305 88815931 791466023 974118576 449324208 277043912 189325902 648074651 923939845 252786955 948029425 923411929 279738196 197016826 413204738 932789706 146881755 921941744 23986119 59718805 673104972 470299549 674868011 535397638 290532787 487874704 576648913 126047871 813879499 477502965 30318716 69069169 812229596 15214153 52582919 373158375 696515781 417406255 72036190 32784274 648623641 288168997 884849331 119046923 675232069 828285169 578729772 841877380 363859028 415582423 717816331 381324834 527180223 734155326 214381423 508764458 123604890 806239500 49042309 643878624 185659417 495888288 19815084 410263808 819424984 199841075 404163864 416354557 550922748 456714575 408391658 537276758 432375999 147848127 609738091 31059911 10333980 650705863 601568434 74753504 874908094 771729811 719081011 946014025 658085824 707715565 656724354 698248005 639215057 611397194 58129148 745216015 84090356 9560191 296162542 64387518 968915639 477328517 325051288 288085436 233407888 25640619 934325434 796095216 204703482 741199744 312624753 927541754 260446011 608600472 72134310 136406295 39671451 279182529 797159970 986659162 77474728 869531936 662593850 472467495 215188574 654315733 217249701 531281207 80152417 763367995 422686635 22736802 87421672 817367394 340922210 274508758 57488598 437468287 838776018 816573437 174699850 689286841 857236203 484052065 71738773 439698003 790734388 814648633 735785952 378986277 301853058 585963538 122976853 647172473 692384561 197470814 206711425 828742072 341065675 400469464 861987291 354847090 788954496 795283230 26297611 623659851 926753960 747918762 545014395 362451067 739056034 59100328 436356411 385731791 351726757 605603739 946895265 778061602 446667281 559521497 396206879 706299201 442854496 335763272 476586932 753770105 603802973 413355586 755518217 427755567 208119270 182388017 673884910 449194377 429336000 457012244 74426602 393373428 884444085 498100771 231857873 309262199 248278648 776334153 799411271 858456938 708975495 863467383 466202144 526590494 943888624 387006445 602362738 345586322 352019847 25283420 744395870 990143554 365753825 523965531 345152916 595151985 577566074 857059808 691759605 991510042 10014692 830904846 360289809 752827635 242214709 82612139 856836580 752351795 537836783 441315289 893129180 608954435 857065526 556495437 459039365 801078242 196687708 846252301 676899737 816225838 184993819 443304217 705752540 504904209 132093330 349042240 335633957 848027463 389930353 82381119 726324547 166368861 194504398 234505304 608994614 719578386 644025446 179050993 157985120 728536084 936760663 767516994 838901475 295599156 56392332 684712550 101164561 902394337 161592455 101455486 399606478 237800282 552741572 346972669 765439920 470705548 988806442 272994367 302841045 930354631 913346461 697690517 416542964 177011519 320315148 318437701 841685537 3857349 30244446 187230615 716712574 158922672 841221338 838425709 855077434 603222716 301961619 175229788 515910622 501478106 977966719 442953002 7605086 5077528 227099267 417742585 641131990 979121457 371447825 114801903 604356379 251004419 740921934 523432716 294107826 660770959 491878072 704442228 698287493 438250425 844560183 482805445 470086835 6616213 792815372 940274583 669035602 697094720 145029748 928980418 475739426 630619409 846642993 399083009 6453215 339426639 819999514 254937362 108237295 12569759 237931326 864139617 544024484 761401793 303194711 753111391 173463851 338808555 56179072 919236244 991507327 63274004 320392017 102683862 779650776 221543512 695983028 462835572 911450397 361109417 965536906 265849425 601425440 432284475 75948283 134778299 114380548 442657411 968105980 739062487 502783334 849721604 393377193 735709567 788575984 797450063 64367482 362551694 120977415 195649079 71963160 624136851 447788909 958690770 115747232 820888964 126394545 691373933 282804988 21045182 665161179 277205304 544908223 176395399 500638297 571063 648563741 59266168 558580714 366210626 943097800 921567502 529259947 55394340 923008418 86464287 858039527 613565451 274771107 471919741 944883044 871619048 384988240 892326888 502384571 300291879 921657758 797354440 122079705 462143379 878533457 613000232 606250177 236740870 677800482 536113049 306507688 701596468 455103122 587369156 151753909 946418578 428587989 549579075 606937012 513556257 798080564 735377876 38437130 973989736 285363797 27881327 812466046 82150789 565430487 967258089 620373781 358347620 45553247 919062127 718859776 481805497 34571847 121553874 822235329 959428269 41988788 550701827 152211096 59616510 289949640 399353797 819721463 62835046 667700703 877196899 327914291 984996992 638264134 382913600 319515206 14218650 932841617 921923749 161195314 461149584 375428253 859764593 470429744 936265869 525786178 627479968 500716803 197273009 715578323 748498303 366384281 653015894 951048983 317442539 659920363 448460403 142355097 948678066 271518293 524253330 505987862 309416089 951878283 141766968 373055998 971798136 273284109 863324936 824965760 71744338 736023796 978107280 744139266 655595541 180304941 991271235 4485497 806742665 159955398 383121588 683887044 443562071 899823347 252472720 831341340 964917052 895626744 153732919 982831660 171482728 786938054 672998271 190949081 974679139 31409533 473188373 102680340 154152670 365014500 423319492 567350975 990857149 721290949 730247495 951023260 297749423 372268168 996270510 379186812 269963990 443763983 919069519 533284048 784615996 546088662 237810839 548743327 226803118 339982390 748282687 530966730 977251516 73794573 440455845 120174302 574752920 746979887 935817551 406298760 627341169 872296194 245443616 640590826 266337326 125891933 354602533 68143403 64713724 715614028 540971779 528790346 393979637 960792538 336054401 200784478 93408225 729525792 478451309 466466496 397278719 640217341 483424695 381248176 51686882 334369078 864690220 692878601 700591039 168575236 953681347 773572112 926244326 301553512 447318903 227966255 206142385 537375497 921983922 607497279 926077144 713419469 275375662 484889962 662086290 284960467 928839931 925254236 597263093 122694274 841984709 460442044 66114199 991778144 931347871 911734013 675948546 765727688 402393307 647436702 724315480 633583770 20918438 169397470 475742835 921950643 438664942 435323941 42119895 943081291 858543062 443789349 158151475 854104 764769833 694457241 823217115 362037239 401004667 279547445 861102115 241957667 177589483 545775624 867496579 904085191 644021912 638903734 835254768 763811738 253148286 690199869 836033585 932544938 446364675 247233946 82941725 613269643 690335913 75401714 602163075 301521263 870820985 191302562 699209474 229677473 890291551 269426686 903858709 100093573 563302566 799020736 994738972 519295552 9436490 272443992 444401219 466119279 283381551 93905880 806708064 552167398 495393146 747133392 53780919 846828958 554804950 2264737 405557864 668984785 981203550 694165805 436092607 205521834 110683618 427238310 763052016 339369423 970309028 356281639 228029237 225796029 255289152 16469160 386053197 621348490 119645270 565701133 847408915 554310152 560800959 849488443 951186932 74562102 733239474 226216824 457076303 399760383 896372576 432328930 920122842 328888580 595022435 121555494 989399296 185385995 911041445 545602606 527905315 110801304 961801180 154030344 949273559 204609250 666663013 831792192 433883467 879776201 457210714 978115849 517628744 97415917 447801 926977780 551423669 328295613 686879227 765242194 122616258 798666384 868188955 275907624 208143063 242434729 708492305 124095535 390043842 673479686 869635328 170124475 513175638 639068305 34258383 579473552 694979045 234429549 214759517 335875846 665965635 870631359 406147496 457186270 766869007 803712368 178490102 245821243 432548644 807189144 266616570 154531332 808011126 787505822 910376037 242962475 544944973 851061277 189382303 384635027 370719833 634813941 33855962 660323235 311828951 387617943 585782055 316144018 479445993 627290056 20516145 920698713 143399085 907977828 145150270 308280553 229443593 477430805 718448953 597827224 537234725 68007447 760065198 201696214 72387718 221284697 374576448 858676404 601266368 67086537 260739754 775025641 80285513 23820116 400462442 162578998 283565435 158332392 61377058 542773016 327523288 398371522 28589771 306277498 923268817 358483559 94339752 721686356 352355784 405981143 331848040 94266615 796191879 994588140 995691295 698989991 487274229 495213153 164412387 213621868 956443543 391356097 231111748 342140272 341609764 348455981 673233960 491167163 528261026 276926080 672547403 94287130 645417688 546309376 943590987 268545558 150435962 565561194 448908025 931087903 147450237 339421186 852524532 915239160 604967422 734150264 24791773 207513739 932169468 387873926 329674267 298484574 543353364 94875196 923478370 297826666 584953342 958772925 722483126 936229364 103713018 260966459 141195925 803000904 588884476 32311633 580395389 857438166 340892467 611151232 598301630 449652475 884838585 673621035 8452429 133754697 684378703 735120856 747699184 253720391 33780872 877078734 463415536 530449483 338372367 831713087 207005938 963687243 694960480 449731591 218809730 769572073 426563365 118981176 901279860 45114049 613411528 926368898 708219407 19926933 490054123 423989202 353879141 715111244 659811170 336192534 181595734 56869088 539366970 242972219 638632241 842119672 110370158 136632181 504079624 655375342 109141790 707338272 883098816 846479558 364119684 463022777 120146633 625621374 718740872 465258943 27828457 898290938 758025550 208197968 529223530 914970574 433880351 464533148 636479553 396017866 873825141 756876601 71354258 386474733 395793608 183271039 879801109 479479842 23155928 550282354 946360220 874189385 79588971 871761813 382731788 3709331 755984015 684741094 483465944 647189899 96125586 14762797 45058367 168901280 899170426 581218360 719608408 421198600 195332427 918103393 248648519 4117139 75694709 236573142 457654040 516849577 713654193 324305654 827320040 52897738 501736089 827077056 968138235 97841255 636893424 25429137 535992931 922212894 793878175 61469736 579911867 696513763 229517349 570636572 747807822 525367297 989788612 108330920 681635333 671937893 633375922 855397503 100747428 180794746 665944065 9554067 805775667 51714026 788736869 739697394 305172515 339072398 484957343 798153439 979011058 293367189 90093772 675327432 938924783 329251738 973908491 803998229 817405852 877683593 349790536 432629792 4533242 3227073 225564478 583710758 418967566 329303426 386728178 987295149 77915674 533223374 89246958 547175712 527865747 912813232 404537826 793617269 284681413 542416255 12931478 470854628 361216884 262741021 352033691 249334019 869105567 380936926 850221225 71118609 871759463 30868567 198355759 932528740 354129589 346767098 610693890 935934566 850216857 288211883 386659012 175438573 348800961 275015299 628244521 599987026 196900819 773912334 232206273 586916304 855871869 274409010 276034103 894755787 715439751 115842189 805137672 258350664 829561261 733887538 682428964 32114083 865096334 107875906 354837466 787670607 433058451 839471425 33138960 627363775 826922122 223830039 307184636 866040345 645566868 191948595 880741544 148318246 880131448 599537533 400350446 675558903 896107534 131247058 357969084 902191125 915372542 353222562 46137129 850545192 926823897 18725967 534948312 887800196 203393862 649210935 560562683 823737203 714187093 352432999 646937134 760406926 88390004 621087024 814164167 65508953 733085912 917967136 492984087 279372338 676521650 778745900 201885786 814706194 540815194 707201630 118054683 572785079 914525359 521108304 950215149 782090358 628895789 583153591 714389082 149655841 959091571 452002972 588933739 935583445 101667739 918922396 669844679 562022149 461478796 15594749 290420805 430608990 831171799 879127135 618585803 65542666 88618030 334941544 38157981 256328587 541728723 999602449 315999740 701051969 813392922 277004937 908297321 449864559 786065637 852753826 197531080 928596470 389037615 476396502 752665108 526555963 986026820 33781354 926156881 490044612 707243012 475121692 597048660 34619269 369929290 329660514 436607523 300186166 182337746 760998851 538384424 82633452 920848291 297991279 388293891 485866126 882766701 511133932 895834731 835542757 549866314 543192518 760750124 854126869 313360211 968565026 455814703 59813265 76054689 746999797 183807404 753354044 695527430 898716059 87323161 865514343 19832210 164293856 462424043 658190715 472459441 328616956 398753274 826656141 324512527 944389804 712303062 683062859 876641633 981822625 980214658 452024576 625185248 393221395 709437075 872978953 975078587 923776325 768338525 444773846 516167177 379263219 513749934 896665840 340371388 432679080 745376644 948134908 283416480 432676542 694784359 73322095 714992289 889788760 637796331 982027730 656900320 243847190 219676237 325178026 370552862 577595874 838218805 655033466 601727622 202978416 913712868 153661846 199771131 29538617 493666832 913682987 361431509 665292535 724144611 796847213 747363186 112452701 582176586 69138486 613189246 34999924 245725177 644512847 661824975 519222044 140190252 728535646 203589410 731020515 101237467 32564774 175781585 570490671 75390377 845499682 571378874 24578420 899896261 863490230 154597709 706552972 66034370 620827133 815097471 719218971 861869179 778814594 693189993 181413756 954666302 922320347 805761813 828298076 82287734 103042223 983763162 727993024 254651893 550912200 659906914 108855609 140737126 626229327 482204430 194324456 54318529 18599154 798726149 9832706 11153837 845786160 797479571 76889471 950473159 536426475 958433096 927624267 283676935 745526585 23255894 455375829 540636787 241284012 791280069 137403399 626274704 351154207 487923616 193011276 597348629 538950298 271135615 438942794 571219799 575845737 866285306 447229010 626930095 639322159 939027511 181807177 600448855 634751303 655220459 156074484 903956217 976451132 699047920 49629052 650059714 789593445 828915950 826403038 374383739 852522272 736249456 688286841 757946401 211861750 207816352 239771948 162264919 657098598 982746865 802258905 924849545 461327617 611610690 830237151 230272000 440540542 686735913 885492704 442082131 556455886 345844135 465221744 408039212 470858422 130021714 228502669 199575968 764045619 987978688 676277640 196014360 169169184 95072963 683954572 843166360 457835434 846002704 932636056 818305272 376920321 536822301 464324796 136339252 718508132 308445928 973159852 540596042 677262065 292558879 825018470 830519225 537325332 356859037 202826423 240197757 297359064 489204390 58611058 615840000 762803523 57780610 139040619 353937861 451398237 209302960 214906283 6731724 764532207 424894030 995779537 275054839 866562945 880623657 999874432 706418265 352546181 257189950 419511228 823092377 923583747 493093371 652360475 625602841 459601289 165683726 107205939 103963688 507705658 956454884 948465807 105546566 271939105 561500271 397499295 42318479 148286054 278125723 765114684 198295618 633367069 126475148 69030148 100680195 545077683 935489254 280210452 325073149 865342295 901682294 90713512 737685661 664228421 139316039 570794411 904443453 974095075 25724963 235896142 634895619 33195558 251985613 902543351 679912760 717985525 103207618 956178182 473870717 535322590 640172580 283965865 853147404 568835980 670949308 370044969 495566475 673731497 676256344 296925318 540764700 982633551 887973698 44332733 230453029 324824421 770372085 15308058 130191012 383401279 435111532 70627464 628993156 776420354 650721641 806469841 437689856 293754814 277955290 616980034 521476275 247213380 631036647 346117150 480483128 729395372 117129584 740274537 371554097 105877824 205161977 870293051 353796127 333077956 795886437 34244465 575037448 541673859 872381597 555193467 329765922 651741469 536925570 361340085 277820482 318565518 500919159 674673359 955233262 272938850 894102538 837247319 248980853 18436761 325195314 400288120 647044795 811048773 812802133 720444424 862713081 447320039 28370395 321922500 285126961 134215704 166168953 807316781 790104365 858307777 507468119 554425748 41562661 915822755 630400546 59296552 511402984 423773677 114642230 136673179 283180913 444334543 358918586 249892216 425563040 608050867 176808856 756593466 591414882 392856132 188775373 559479544 756838006 906029746 543686383 417180692 615490765 221708862 515440246 872390653 480184438 153334656 211561097 246348447 829553528 671581022 605955583 803388119 916213858 422399164 41363519 863252660 24419666 236033497 327194073 266814046 695121939 168832072 803280180 151405651 498090459 329431020 520920924 639360897 761963251 336570096 371588054 473302655 931571543 830953040 886129867 204946085 427834746 716737538 991504393 149643858 425703080 68371979 177993092 241731715 906114539 219608862 272925888 358066375 286385585 557720378 2188467 948808532 201198490 863272428 119485222 337335061 852585241 108561207 481023235 548393705 151851478 54580052 37602933 732277814 779402128 598078855 609239967 463535817 323369180 279465263 27254101 56191770 510397883 821053471 876690383 423121740 416827205 147066408 589337225 63008233 584367648 651137872 610133374 866996342 970875997 797544482 890896396 339488596 783374828 477583243 470623110 294197067 329241520 955311360 321315852 275729174 654190893 989665853 386523265 178091488 38306360 454696502 137193908 950540514 746940978 674678341 229318709 608881445 44348420 914010555 751993441 947994668 595994829 532347013 766777014 994699034 556456225 99002141 406403609 478667750 242046478 432675594 786242518 182543625 768307977 133643972 511380199 48368369 360027157 804168056 241602478 844643086 846523411 757292093 708860555 918098669 915057158 982884411 118273383 424406928 943287404 48968772 919057634 112298300 175189871 692206430 11709612 873647004 582101970 42306279 948893168 727416344 294811054 512908244 872297223 346031936 753399175 94237030 759898015 624903540 507186574 310957109 463334360 316564293 262688832 234347991 414626664 510201240 787933221 860192786 21468904 487649029 504465075 51514278 194284949 990245757 44696474 715913568 171673734 231720957 346279189 543756971 328952583 349427423 547917534 584155613 440103095 573559797 267966776 146634600 795555928 361048362 49659261 597486504 147740038 614874105 489606673 164314629 262645238 963414496 388526216 666275248 281319152 939997181 785633601 764375958 823942110 509588676 946238728 857162820 584667993 722963264 295322442 285013630 793475962 796191267 333106582 562965082 799263655 484463630 986280283 934386728 162460321 548003099 817050234 101112707 994650378 157396921 864872548 581361059 576927238 261283860 649911441 865778315 684874549 553563742 6399874 351051860 419313845 831337985 944247244 92528834 435917376 770820891 422575154 76466923 472132834 277076781 507797332 511139491 138480986 170213562 369783715 429127798 843773304 909489731 921079743 566816474 536798377 11717102 183105997 847876068 528032601 796622434 755275501 108268945 283719851 435795917 406764554 779867209 609403286 200211041 122675388 806292313 911718913 134967178 280749935 55981876 107021639 732948564 977221761 684469158 781342505 267489084 340534266 493385107 90805329 172231296 93331318 33567220 702171891 739071128 366271880 379542179 872013913 967253213 238602068 482504376 746895061 813988726 865625712 452649287 861898564 375127291 660582788 883272920 290258087 202535692 796074616 207348029 768773711 128195114 854513969 470603086 793167580 178426360 685695935 734250879 448704709 965912142 71054907 185822494 804799401 433080274 803305269 473033403 919627853 42125145 166377183 487006989 148929649 849121663 812391250 412495745 243104264 31550731 329756605 133786979 155191334 732693562 17800197 99848349 523148483 510757445 401032259 976196104 721901621 966099642 295052352 670983287 847917959 275286883 32156688 867568084 124176680 71265876 747234460 945184662 107637568 175906784 718916329 542705993 497109274 750792248 883557919 463066037 360473932 488903941 248433398 483652753 522040881 808357747 326704940 398487792 432925165 226287283 591557650 970251966 639891928 598329691 644038126 476082699 800281355 912305587 241146544 408587836 635957250 947820633 131760080 211856228 575410867 522204304 7281604 237458131 416652227 289858845 100346230 981342910 811088206 843431430 648940456 9391286 271870381 435088837 324638632 46214957 788429390 471666579 343017534 633895732 643417823 302433781 4374285 546358545 541707016 197453780 684728349 409555154 213160242 444481601 30495215 641072727 206048198 29227741 151028852 428452263 449362374 832793425 681399102 133800551 998828084 517041648 817657298 852717404 326945232 329007448 530781288 63226081 74925300 975563538 921271694 929034083 136300353 230514197 969814652 51853181 451528930 611502016 789399534 295092090 95246753 748670382 774810415 661988424 141333037 963686836 294888762 892593928 315335605 571107753 610062578 81636948 270493701 902704525 666493628 390647569 641555190 317302315 944704217 813251237 738503454 648312826 503975673 892481952 808224445 523460736 218162818 434488756 787913617 520341153 837231959 301703939 552156995 391977624 813547685 608295570 367017355 11801850 229380267 40035924 598639900 229324671 547642689 951121820 476981225 202267783 485883501 883708330 21262693 540525788 261168946 49409549 513986678 131440414 940428373 364965978 754850412 714769530 313646305 606278968 819567689 162977678 523262412 214273155 249016742 535121812 300895463 811887872 99403171 319511762 551658953 140394250 794586045 654750429 221637223 838284854 671870858 636897828 32168012 551866214 421045530 949464399 390312347 385605092 976869455 552932674 928891421 904279091 625879615 829560483 301134034 540600779 610223398 700813965 972059862 151575037 380638368 164122506 234785674 480424625 47182596 832908596 674625745 451861370 670062370 48978692 544470316 247264953 781625678 666451125 378974306 230709759 750620466 410704054 875095803 230135835 84971177 813837647 336852588 466518549 358835014 409256492 533734033 156285977 916957944 781346634 432310052 894131425 673119365 284178530 168954945 655415489 150438247 239548310 843974269 329735890 734728875 388984201 473436977 58626041 384073080 463503339 978629174 999134601 392241312 147415411 753146816 201624953 675284510 545026201 897391480 765167569 899118006 704081075 112140498 107430355 133314009 341101695 102077931 726523230 454323515 544659418 338364954 901481533 273933162 83329234 166798115 288226488 732714124 147315450 679212914 581606823 519544762 403863450 744421835 905789015 526237041 108709894 104272647 910384832 19990076 974760262 905840081 119059143 348356917 194191945 94993835 854478176 618220220 306171163 306888900 646996806 363517422 343645835 338136167 656462800 478964366 176014015 149724095 792734782 81890490 130082824 798639811 561283617 842612579 475262425 640742137 2510060 314907859 394339060 568359074 424335046 37667335 639123601 415465168 673204882 71075654 889732181 55614484 547075585 263477382 802826514 954283241 843766521 635731724 645241331 551850989 836908132 274976860 419400051 579262167 274213356 28048614 397574496 902892308 811152850 918129198 860415550 548970405 407871616 652361883 879081607 751478290 854198176 590981108 610833770 525939084 491593869 295567435 898728803 423947075 882160993 260191634 579462289 210958150 20684454 424344172 357172657 674548347 557512642 438021233 905115967 279276079 703257943 969995687 879070210 767106236 724569775 44653157 368732450 787162752 740465483 872799809 753630423 525444458 632246891 622885731 876844760 254833065 389839637 541313117 662710398 283131465 837737687 394135128 525234480 751161355 921044989 404984210 346656243 710905333 176650298 690936118 741309587 839596581 709992433 623084417 856997184 731667593 88294680 322378561 939869571 23575011 248979099 70525521 968423047 361987875 218104763 926013939 393373442 960941198 746873567 103204704 446043628 974594105 281920112 97882758 63003313 932820293 105083812 871911209 333972935 118737165 83997736 200975497 30441750 820528618 814398775 332132027 672320127 850003164 97619498 816376536 334799135 241391033 27929559 390626136 282782173 459805747 45079846 156790434 150374021 806524513 897571041 850970645 155970524 835404178 876620268 312523555 649257944 350712011 417400679 986621305 638564273 678266124 449487668 650666696 725258445 889720032 647563080 345791208 653600397 679375867 112108731 339323300 745279723 813717077 545567640 554998147 929187191 600783784 845177134 22643928 343836215 803961798 787230639 474474015 47204649 812511745 135257509 652424206 692363669 230810797 302335241 725783137 530636844 304741163 393921402 738312653 304280375 551135418 362856508 865068549 325717438 979302953 492075507 432660665 108162212 441834278 382265275 937991282 183020019 83486613 248411203 459004435 607852801 367131495 846206877 30200523 257845301 546229067 866890699 24981840 978234134 255164674 934600219 852278194 865012493 747670059 39251996 815222645 65208132 246936032 757065584 776942125 949848928 2093025 69784890 991022267 311344208 79230023 206877921 635527307 66232976 264557170 755574456 22688350 867122754 605650614 310242129 650635723 194377247 259108986 727435298 873571470 272923747 434971707 295762428 596097408 848120441 513894079 402510492 702960215 322743864 269588611 233508724 239371632 882915507 315194745 471175413 656161314 214354543 882919663 75833968 12185412 995950520 813423547 823751027 228838752 476158466 803090822 594321188 596030294 91636551 393343950 654425019 376453890 384917596 412938500 856924884 142748341 143448451 374318318 610606903 101316594 991830440 745473313 714228423 773812885 80009651 787006317 372719200 673820888 224035422 183230973 839438930 659403372 349166679 730326654 882298897 20543146 847374543 667685998 80481623 113533081 751959361 459055058 23827779 626777230 465413620 283039054 23576859 704551573 830643491 507731477 845337754 811636314 887737755 146063406 596027848 958094110 902400658 868573515 299958492 201516437 989902618 807181986 919606257 3811563 528925586 39252546 821200714 348968006 557542612 148860497 563866756 915026212 8801518 842749160 109602556 72545105 393958 173261290 551038253 958268053 778458570 664375755 624190641 357166414 508888427 591622217 374608583 295435758 422230572 406469125 593023775 778938806 478356664 671599441 200348502 361151250 169073602 86164305 899125867 556955516 37309549 531934403 516939758 397926517 855264274 4736919 890343978 390128818 571371605 299259393 995400897 983877976 866014937 303650855 117773762 126138922 411263242 952895151 509561515 549273683 472701489 283736647 143487933 590827395 132618517 798100162 419111073 450396396 738545249 863431138 601650762 314282337 30186959 303131451 436931670 814366021 890038365 137562671 61360638 61783419 356983879 673396073 379743583 977577248 230921449 94774081 953709777 866217848 681728983 497558191 973675707 897297637 913004871 53728659 310253217 918500808 608676057 359067783 189532933 912741659 906572498 964466336 999963478 859932050 524829651 309671840 728057438 135885040 99336023 917221165 797381232 659815714 1944240 209434145 574968271 155593272 455778300 413887835 509641682 405730104 839971964 973141907 48865890 544029371 721636797 263900413 135407689 241202549 799321209 699516371 953716873 703554900 290509368 408539238 652966320 148347500 255835390 236347318 92522997 656051780 825399423 513847608 908232571 844067216 364918466 637112425 307873817 143193403 871637098 373205515 405716949 118960680 182479631 228854786 3473810 504262975 557531803 795192220 250675386 668889909 196792885 710339013 210979224 916454322 343321909 443281167 674804197 372658829 22729638 7793765 45740356 216879632 395703453 755172521 34375151 23922259 761180474 206951647 175300875 462346727 708479767 50261915 649177121 70287268 144282104 738162482 122438776 748281893 945329647 792165984 153077478 649448189 19633384 742534703 795914084 526929952 482858423 506208583 964489543 252460527 822777808 812151104 527018311 899356156 507456149 449393803 572731527 143863448 326565729 456853724 391055780 475570629 349732815 686762929 504930786 515130109 541099373 127510760 110345652 219216540 13188896 496711272 240303566 95863255 89190931 65207877 104309117 255405548 248871508 21194616 164571819 569160054 577263525 696713153 77922322 203283986 101439424 228303771 798427051 476774980 41513393 906265785 889628905 83157304 940120357 102421438 807731711 975972518 381685806 395121077 473401316 769606869 705967974 465759150 29147765 569564202 890885184 154972737 331159915 938785407 624712668 498737264 691693140 336979712 564223752 343456037 479003125 359161036 398365299 896723116 855278436 217280182 77540979 644111686 980109830 950709081 761625793 263850976 757925200 341317947 251902862 219924082 925736301 592771064 383157066 359178668 952707115 580637736 635388798 376632978 440562787 85484458 99685697 921511378 309083387 162007020 603849737 446559041 606626093 657878253 715987453 998941516 46583741 623486566 717896496 554404128 915349215 73356911 380563321 199260762 72210379 8693315 303765425 565304071 641396738 580120027 262567824 20338637 887867517 438592052 729054658 173011678 486775784 400032443 514820603 326825310 328958383 81699372 225998962 341921583 493894792 813934547 413610244 335503856 534774230 786661991 613338652 455517830 803819516 616851919 626765630 615395693 104519027 566971468 878670575 445212694 18834693 355205452 501897537 347451913 956291284 337415504 312442268 609111385 27691311 170434908 615449855 78126665 176325768 796245835 478603355 642317341 899252580 270708315 603765305 536033225 431051756 921892236 343621734 675805201 747595188 225296659 364811879 707397037 854487463 632201319 129531338 693811050 949905082 772554626 221443482 457841144 654963435 147945839 975410701 908418145 899840928 940974694 944264897 162205303 692065229 326481359 471407897 744614974 719213604 712919933 838163521 25518072 555447673 470989764 896540284 489151409 707978938 410810612 278365439 416209563 748323391 5122465 230461685 490408794 297020394 922539749 842344209 596814372 972001669 944389579 860543849 961267727 367730313 480412563 663070726 727575584 523994964 602023802 673859260 184839745 972142894 933336137 397205797 932729352 294808075 582051355 322755313 418457864 668585059 263172578 807568365 863460041 346376800 158149469 746347367 115976861 912001544 591480606 599417021 255812674 836620639 815242805 854282015 212462016 670975568 807301110 713379249 355711709 580489249 437155558 926571275 613674013 100403507 628467483 241626880 516235245 428306607 632221911 125332512 641945099 67026975 329120629 422657695 567908348 155063985 16595930 578258637 215982721 230032300 839856969 807970037 95097874 144148007 592413006 55766326 47074981 304428354 625215741 570246200 820170594 690598334 269827688 586787039 421182983 450881797 307587859 131224561 432629243 802864365 593148445 965076107 805110397 449476435 354085345 451024479 182311966 518286942 883017000 949467386 116655727 374483111 980382292 511273761 310618110 45875863 19217742 585491457 382449028 759926492 396221805 114841808 148548474 910514487 759497795 141759571 538887246 585067483 3237156 618333468 260642798 590851509 78407648 10199916 550918605 521954091 64159543 620091869 256794902 979595865 799571367 407073001 422466638 829189947 328899084 454003597 376354771 648665011 18818933 239741125 377648882 159635519 371857683 686398309 942461300 776493883 733629734 796865141 88179402 387121891 202315687 608039149 601678908 573920986 455143065 184208241 777136013 816055865 156050647 478738693 857271813 948743716 494246825 450751206 211182252 259642535 721035715 315252082 229049237 108984277 201390514 998558059 885892760 787144817 496670747 42700646 194182339 821906328 450143687 658471559 940735498 654102904 622811297 930862911 668210187 386478 763112174 482709171 524223086 187100551 826427006 186878900 302262205 481240959 67912426 799327260 461788142 445077742 719197873 809760093 326270486 796239381 558819465 575388697 866826437 861034206 567103593 940004914 154929203 627557935 671286339 945799934 572601390 741699946 630379843 307359772 352213781 97948001 288639868 606775203 155626532 401683719 760725200 304183565 374089706 808283085 336247906 368989817 248403402 70408538 321569260 954365284 639116704 915270456 672435753 287965266 931045137 864907025 546009480 54197471 799581715 218371183 430197082 153742694 903272834 700589302 721490289 722041230 199668641 594354702 203594810 359320646 913096548 746885220 102184491 466481964 353563095 856647982 174491365 375183366 639776346 124465140 223076293 852114887 377261714 213425561 899686250 416716148 7808720 226420596 734518521 527970698 491791648 204330934 176068077 28374406 686232185 669534667 20008892 47850412 957379161 727239896 347240719 77513812 659121694 81788468 53406881 627150832 792733534 728447395 891776292 916102231 803557301 83884186 254573319 114412371 227047630 7197238 228405242 607379859 16889716 493566619 15268840 667777424 322552078 280071896 365031436 593733118 44777277 534773003 760331967 979365056 396206774 147618434 247829609 271029714 907147403 415817228 574396151 501353655 587136771 25180992 897752023 600177743 313578039 917028902 655926681 804969095 837618916 609987891 774556205 798078121 570846342 14826242 480657015 24419558 652719278 944139765 746086428 325124654 518801800 259617841 303645445 104832960 646570003 512497284 427491710 916654620 468877572 905490877 879010529 164901398 359140493 698623137 362779747 727124164 263045106 389245263 424117453 232715737 335433150 168318 248126829 406300772 425860316 2233534 373013370 94175313 427734765 60233421 15974541 402322856 734560382 639010878 157291879 629878209 990370466 379044595 478148711 657281321 963715431 435915876 922954707 531542380 552705621 215785301 98902417 659131363 775155707 947604904 612342855 445476858 901591763 979269796 129512866 386912018 446220022 967318624 884679597 413372444 611559624 621006807 952373708 516095258 207406520 86735819 822788971 670383048 264454547 507984065 844418823 188580725 462750754 103199910 498214320 852169701 374940382 173702250 127741599 542863463 216277014 69496516 762315161 828629889 793169049 445828942 800879995 659017933 911187327 362242730 216951688 835519153 978526694 132499171 338713753 220224253 156273958 494569994 824237529 976825606 165185185 443568791 180970867 595964832 195880921 229267152 470491035 397856743 291202974 208067942 5595052 86359101 189812036 34245697 720484037 49168287 662836402 220371604 652137979 492156060 631962046 791349861 224735595 627937028 261486058 122577190 75114056 686652961 46058452 225484245 276953336 835722274 84149699 421660568 79685605 867434186 548411590 887192814 371167651 743949380 13929717 552064992 772384336 963338707 846452748 711154963 334657339 418823915 965415147 447800447 784703541 824689040 650491445 107168788 422998721 838318575 478527071 833890211 382570364 975702206 543247991 641283477 896161708 611095756 945506053 581715984 628110483 362005899 919384496 31885034 340669641 805228144 382444415 837414943 580719643 639722444 639477047 977351367 77250461 866247268 242916373 786228271 384841006 11019194 611465585 263555584 930139459 317670842 642832322 867421251 412431987 882255067 312911997 153328837 539049613 615289161 51091173 772929131 751067125 805325538 780732672 865328162 375573741 55439137 468861124 268676939 585014457 131330116 497746342 529151907 911630807 297322550 524876383 221460296 948308901 117329665 828986411 924946714 279269263 53187870 617305120 969450708 546183948 461000107 650582096 448387719 380893622 944137625 843025961 234839258 908883677 137955717 341317380 325857127 363894144 456058811 816250933 371536221 120052839 255058088 905900945 82965857 248935998 409148077 572180831 666416645 150201024 293482791 455764463 612650093 856223644 75378576 384385956 39298206 708833981 135147665 677968571 289230270 610924956 564163375 111089481 598397427 236790282 537667345 619081557 588226224 717149066 457273867 357244973 200675628 743007419 533926486 91117059 421137479 390613189 894514007 140811263 449251082 29813628 517933560 13255129 461338198 201783212 262032803 572379458 135954122 363440285 384793696 975334810 249728608 245963056 539462424 297150604 628842214 792192936 436762010 380386184 520221901 234467266 746553417 23234052 377682091 495921178 466201694 634232749 715194486 62738802 378265471 652336168 294152021 604660360 566372750 636129280 861127567 182359422 571717613 196134115 134859557 814956325 142327887 941542118 920732236 463010448 48768116 717592392 866331919 314868700 56881771 565579196 678926715 610714809 307738148 301810450 903318358 651205936 772560421 227211291 355887397 839195234 152420664 321084432 437202835 676809965 534977269 71029272 897321249 36303137 571995849 968856219 206046238 288766778 505449089 442946829 228823206 752910278 797894687 235184053 534722427 652984505 946066670 936235836 884502377 317092393 290579789 761858461 208951986 774013706 153534457 829444069 868524943 438685187 413403281 688601332 228004927 254428574 755089573 970852084 112293678 341728887 921272178 152382870 452948268 659020414 58013418 593608463 271702944 247955479 57870016 295001838 243812950 137369458 121634736 465108023 938582959 709742173 872825667 315895787 908941655 179618339 935482133 67740942 655669539 895378822 500340817 305798386 764758012 815007942 418824264 150504128 458715597 4667512 522628500 838761356 409286228 221132551 851178867 777098094 285858054 285746823 957602705 122922315 950732408 389526836 711998974 494390761 997359067 352088046 182559874 831798597 499291270 564034408 558414410 76115771 697554400 466456287 842565829 864732156 609586042 787047906 210704380 840195219 138267861 878912156 882177172 897039940 213187385 506984785 5966596 802660849 168245473 824185046 716835167 791354358 625504830 507363416 630363415 86577312 189458869 557469238 985509640 497621767 567305447 822845201 833521898 620056884 602133228 93982881 95133844 880470032 849410730 877259772 121009164 706003337 393974137 283501181 507250462 987506801 64231374 624335166 189487948 207566730 966316062 394216492 313324794 933192169 296587896 905874865 395916118 852600231 708654560 254800761 992004952 814786977 772082483 43683575 558795875 158171565 672229867 512686496 512566780 189156073 277658453 689913934 881520252 262913520 931886018 857799956 184311464 110432680 702789315 776207577 319454479 387579837 688492274 351657140 252969233 581595558 974596750 310396509 931733023 119404248 823418017 114871126 938055491 91361799 819569960 961603980 868492842 325731021 263005298 35498561 523524261 139721187 89038631 832327544 494209460 160847993 909738003 844859401 614717671 852597695 875457428 473176214 836110759 693052626 112020794 342478384 881451960 403987761 379216256 514857608 840998658 877077946 661599748 207992841 533825193 211174817 48351580 591894015 70569339 861878060 792801110 623062679 804398203 169466070 730841206 704596879 423345806 683799475 430517325 596321654 926770168 31649578 275222362 230499202 572047209 962778921 835373021 719434515 268794271 218070840 213850239 349679746 335245365 379861428 162110993 247674885 340885275 444822644 101777582 830612006 57869158 47496539 65368157 458942914 727042997 445319769 848998565 180593978 282341519 492764013 322341778 800620879 460431142 888940297 322014656 244542804 543906837 998855083 826668777 534844798 243821820 944810350 705117967 482184162 588244631 927502119 344799448 5452447 972645308 898321315 201750621 283421655 206426690 220075193 183264439 239828015 725096918 518797793 830761036 586375754 252957076 574303087 689245884 448053112 434033235 603667456 610420656 17641740 899035475 612786940 436258925 785987973 545782519 752460196 17887794 160849843 35299252 981929445 827393801 228339302 300341249 944440769 236180049 273447407 814272873 968097432 782919396 416860690 460348370 930688588 438035377 253660075 498438830 897073776 752248248 536121157 252276763 39760608 988599185 424721871 338608276 849220022 145209738 427667135 559197573 479492488 48373622 867405263 72395258 674116085 975421126 511137022 947619422 620832468 575226449 67579642 176603074 629309899 687086873 899907315 937026114 234660908 311307346 451045889 372318431 178712357 708310722 340952912 27260595 510601026 205606779 453836054 955232636 426181412 425011445 903817074 20142566 869744906 799469455 567476600 97483224 382555380 308534348 103021806 261492467 22539876 820283403 538853328 368267210 304783752 861239863 860343338 702493986 651103091 718369655 285404268 73815174 187913300 249160156 793147705 297958712 654757934 766934689 742414652 365198792 370585814 566363368 7902569 645582424 640578130 688583314 699735123 797157473 494267665 367135932 660533063 954177829 269612835 266323674 203846823 729041986 20457926 204370110 677129379 714553266 635806624 985071709 296420223 812859052 428404300 762252796 658747655 189578387 189931384 434807119 327509380 972595718 25880528 298267480 984577596 230786732 296855196 533016216 588321415 790046506 151126563 419679003 930603986 826638582 846574905 544119564 809962737 873188771 375857432 99255167 416497743 687987347 743339226 171959669 972937237 202486516 770677676 34405272 539315304 379048507 464332197 660777145 128675112 798906522 147431926 503651082 401506773 685474032 646047617 654355312 459171704 511390082 315878890 285720372 539873318 621432483 626571788 19485201 724531090 91325765 429073774 932778102 415599623 321495516 587345730 438270122 330062056 302427019 241585546 220304260 730318876 58213839 264730408 240056100 979801396 266183258 35189675 800747748 86404124 656269431 502615329 902176189 258056712 454450753 463482001 225839329 779292720 576155118 905882997 791101747 321569455 385509429 49288419 460364897 413706598 454661289 110347069 738570742 513785090 177605678 688883546 41422355 3301212 570943835 236691614 147758254 915528006 904201821 149023763 345796321 391766722 82862702 155903452 312744025 882100195 223163778 458637640 726333689 542281759 322739934 198918547 361758920 155915452 878761416 741147127 167050413 727967873 459496873 910858759 583312905 126514175 246374300 927827668 469992483 187489884 84280758 765232617 755973330 50539967 509151558 62286076 610193922 321582313 237879566 849535874 363830841 1597059 522350109 99057513 618791448 931430872 119114612 843877973 179599448 83331945 33314396 898809713 344039569 934506556 703240482 627741247 378021877 181450387 679617383 120700003 60672308 617120675 138801076 763441683 878061245 137447000 35096422 998474675 809652512 371323841 368004566 155681295 170037063 900357944 632490617 597660823 104673495 538116794 400775078 185935899 50852299 291394986 561179952 127331865 263878010 979354149 805937303 96400751 885564957 710396103 478137152 666328077 552778986 475339852 47500082 43303174 916580946 496129291 740054554 288000342 254757219 864909270 437308679 928115433 258656757 80791721 857764444 715009035 849330784 58268009 715646750 954931373 537036106 990913515 813817085 707836032 657903741 609949340 465299373 578489660 942526783 822354015 560811146 357352385 440642241 649466911 610197079 295700691 242720988 685657840 654696924 288488411 570108987 360725988 367518855 733194675 350032685 630622033 829965431 123491600 954939084 606804027 876253794 754901042 742987706 698799971 195500244 65047292 294904801 200429469 568915838 696403112 613479213 333654241 450540762 136578650 295265256 139024175 880310448 133612757 677514342 972682563 142646722 591335027 219045922 797356839 777148136 769543715 226281366 520589575 966630637 411063362 369712697 679142107 41513457 945795936 502895790 807630916 233971343 231360482 292631215 901820956 12147114 816846156 83326958 624917242 361252249 959476204 2695987 482926301 982704131 83882569 906973569 397619076 434660350 175444663 646395419 666834297 83305229 852880804 499390555 424344222 661075550 533292048 498884956 448971981 259819896 879447911 947891434 55463286 285527750 534130618 631722496 298875587 56421638 294275728 273342367 683886742 369866732 405795840 99866397 264927228 370861041 208701072 788947714 599400570 867819778 482572744 853131773 534661387 416600025 272941151 81800133 241713492 860682991 620505390 319266768 54143477 551876504 517194194 545353478 411409835 628068417 261588293 421511715 675001170 231449880 492698692 49215857 698426536 640174947 653643627 729825857 534468751 946159464 181343410 826486630 859006776 450202330 850427586 394936751 899510792 533424385 680077969 544514178 933896295 637826634 568738933 637114169 675993784 409583089 36156154 855572890 516699668 912710295 352470466 423385517 667536149 251243398 605776693 612475176 116631891 613857509 979758779 21551177 852168252 30528029 906618850 693151623 872524967 523230269 271536879 464760459 527700158 3839667 495543103 396462093 420339911 629975886 373779917 539285828 461654434 839764064 935413809 286794591 751864879 899345140 412738401 390494064 285995571 470880713 105775562 370012295 294069329 748938829 401331250 616532524 994650195 536705883 454702128 674082887 731562662 899076491 91837224 811270151 392238534 317203585 334934282 43508308 528644976 908395089 140680936 142826687 44324137 470608290 125285532 183165285 160459933 836861593 106743674 213564463 822514931 96501974 59106937 919189567 610943808 269996950 970806511 369916787 212706800 462923894 305411589 322781037 146524593 417063168 199367226 443485161 486399177 44356236 587248637 634260466 561632313 806227684 259363690 302416794 229710045 600208236 870619634 765429362 377961545 316748371 631102144 729218438 342345067 739333905 763737563 441558688 286987854 473565905 62222964 585751242 687599183 576584538 531484228 518504331 776753862 397950189 845719904 50506468 712800367 168426532 285574956 780601900 466895921 140091591 313153794 307463275 613228865 501199864 41141359 935346676 736105268 749824951 473308836 921061156 347660423 261824210 910046414 385919204 868779332 208847024 370988973 271523121 933177036 480095866 542986869 949178466 85693168 745175529 937549930 22551636 432772636 931202673 245828684 122722317 458718333 518546766 279899280 1720098 248635609 596224572 916162890 810096513 215863521 227621555 90499232 872915221 615719159 611149069 536588365 891238158 95667257 252707710 311896558 677067004 88088741 729779418 28529448 391019568 461224099 599800866 20551281 936488299 811662357 480047225 250262414 674303948 22891872 749039330 983542447 473991750 410829941 937570124 99917305 953950851 805060833 378126412 228123469 565037149 906070378 66266805 48442682 77766047 179566132 110497247 255556679 989079774 642748344 934343980 455850107 78488211 910254473 679199457 335324889 888083257 333773916 187810127 794969599 834215095 547326562 259614788 404619374 281872323 370528687 447276609 750779671 223116970 383245089 871290276 230289136 207460889 324066760 659168030 536438249 604179591 397065325 535633182 485404206 106276844 502396235 54064746 139441991 967856408 393732476 658081591 525934415 160565048 31248445 181311481 874777611 75401499 500010115 873929342 727806278 740466457 565267793 928587226 924293796 302753687 622886009 16788472 368456783 382103043 182316381 350163116 264947439 889116278 996213490 401944454 662160236 579789454 34498865 874800170 461389687 311612341 541987821 913526536 682870715 902593746 895576427 845806723 964252224 181950245 460505801 555764808 608856009 824994724 226125420 506474414 15596397 265049350 950014630 705326875 586630102 629899976 874270242 910878689 92518304 789719696 903756210 626130947 350870715 791832133 120532477 475855956 555922104 426324684 527963192 346019242 20374099 451896766 888938597 367281695 661322868 96035870 717587980 227921498 806180732 650016090 922459482 991697611 67123780 31920200 396640818 547992344 957578152 434415571 183911747 805494669 182543831 228802951 630448544 586498460 561447891 127463500 743032697 437422861 741937835 665449873 689344787 505772343 662485157 546532095 963102566 864450884 109563035 555268126 209371066 505077630 291899230 491755261 937396985 393713298 936631722 398592399 705790844 141868912 373322873 901001544 609747235 899582352 972242513 810472331 796076085 802429083 670527607 587967562 183015551 812406097 711033790 201579740 261679659 555595541 33090583 475690696 895706872 214781249 818409153 931054173 965938137 621646127 543443957 692158684 432027440 662991367 507205861 705085376 334433640 388674378 540473327 586177987 896414472 417023148 318083953 488329055 588372508 864683965 988156696 889560573 689777624 508259360 719792119 356227741 737099390 118424491 81382799 657549880 414788546 912905368 856965155 164665450 930170058 795460752 742363270 596699837 701731703 992771937 60351408 931938734 62069091 74014778 670169392 72964002 600484682 46291065 80383285 851946157 802428376 374504644 956824754 195605955 936213513 438382771 565479621 38078859 929429576 46596270 915248375 182190573 822460573 194061151 592925 206774057 513541902 433247173 117693466 401587239 39187071 21895358 271701589 287520113 388298396 879721336 574987155 871660903 440932695 147191698 691372651 520433745 210888061 254495099 77264558 859844994 506627608 676630378 351030131 102694315 814261983 102946957 337533864 104519421 984899082 220772507 967595243 82880064 833127631 502980712 35628535 179481080 79697524 824165689 547092836 255671348 183227515 673283818 510891250 87777108 393893425 548541894 795307563 771710899 63907040 265814034 431589094 89639162 237323077 335965139 686070251 297695949 937573842 936884889 896836148 77698067 986704854 327125279 519040475 550431763 790388887 747511476 924605471 133368845 149352169 54459826 920502548 295561003 611302327 905716252 471085129 887266032 375779902 367266415 569307630 165663695 703399826 331087007 55392889 348277125 212311088 300161375 605352537 340547060 584611520 230654952 340102808 25734301 75750222 541875560 243859198 794761134 391297549 940169786 49717511 400965498 387121805 928234885 441885384 438400240 84237981 170578282 88593795 544531987 517294497 247639235 308752143 74500702 865294095 620062111 894376529 674803865 80061135 322372737 47388117 79075817 749328881 670952009 800737300 148777312 30370114 8347730 819346691 105368523 360770520 150990382 63136744 991793221 439094909 372174436 39773178 100303117 802917640 332931189 647622628 332824450 818369008 482131640 997918859 936593866 907904392 457902206 142011391 427670364 213743652 114410525 78459763 808856977 909978121 679796060 888555974 829359460 395393972 579031909 879345725 2896258 880873818 302343601 292691148 532472175 309617899 804688632 494234798 309313694 326891680 654574540 677400595 627383485 623635134 523052626 662383729 387165623 811558330 462638689 220641614 360971169 213449452 675114601 979867635 695115552 386088619 334173397 567440584 374513630 265989702 826982619 863452049 48755112 757018934 757357698 68488502 74551920 323922577 2300406 977084618 993652965 337742532 111211350 150148925 681140006 638872992 376007231 974241683 817863843 839641051 376213448 715677158 672616820 496225658 287588344 544624098 28482360 798729426 540014360 762822759 813869919 214220923 772024644 479693769 456678938 117239819 272396903 382850307 103470475 22607332 540664320 486739988 770324343 140162174 912209001 406039687 134863230 529550813 461549118 34488479 264095258 843146369 263512147 172468950 574112524 494042434 553286972 890157049 183744821 594628006 10777403 18533128 851594158 736716614 319478947 152867395 299570584 854221842 913582311 149429797 547865056 496857517 660042441 277219889 763004321 974886337 144819370 17388328 273449876 351995966 465726062 211914795 893578456 695551332 876291744 969629353 270986893 987423016 500642824 914097273 561823476 618029512 660222666 480707209 754539154 813732720 628093514 658242165 378417050 216248090 516764927 881083313 384502613 897210722 995346151 858541180 311488710 582598504 136188137 83027742 850825383 406645737 618698361 286296704 360667128 387850253 388707381 771620802 255419309 126228125 366949592 780787866 656171259 494388984 429843447 507374360 546521480 632101746 603696969 761076037 310330297 948923424 48617573 176615540 435362300 368461161 835056573 936890979 701043826 162203100 796563278 778124315 142334553 560825677 106689585 860047773 94413419 736419624 422284462 635889356 81544465 292819229 996063417 953638294 930060193 828302966 163590341 999348598 549063646 612936479 430285181 799348215 730223918 509205916 250392186 134558200 858926620 979212785 991109993 863830926 978533913 499658809 133783047 727907931 549854665 269426751 987778881 721178523 944187852 266558038 978044518 848099861 713161858 963026817 433348160 761583392 468664105 106220234 552151570 357327254 888343362 731659634 813066366 340757486 30061735 470598986 811605383 905303040 886260516 516010441 2647557 372736708 617408083 801578227 827891463 759922641 192050103 379350556 954778156 19838868 284010442 252127581 471490192 506651244 346138706 978326498 768147990 795005835 11734038 523727804 111692530 203182828 25023664 747664098 277461039 765506805 828636518 271967971 165953019 755766841 450128655 245124162 296854112 498020173 616259573 88128320 371260993 644319542 749307501 411715664 839688294 84528214 299214938 306923222 969182421 604596933 943025351 98525019 789007853 120973534 359182270 693056214 764695118 522272162 779045707 696862836 333583980 718235581 440554831 587254618 249304286 986659046 80984692 727032917 28332935 821420983 484451603 125266837 841442796 467090901 138482666 51981707 403376567 498147531 373723461 233188723 966384108 263259435 102670757 660587257 233065048 860912632 59198922 746594408 589896341 741726929 795711269 101769808 332383892 184648676 731146580 402798389 233890832 366070517 144628249 18845121 488764390 990381964 567271648 288428605 265214380 42671292 406263270 360105087 786155095 730505886 254796641 841600243 221547803 406468048 850236443 127323005 770735809 429171529 746939915 23723839 402579433 34326365 212669624 354126494 750290664 8565892 488032387 207696712 98453508 511448270 617483325 707948214 590697384 868528383 87774544 36839027 67743508 765819749 532721900 257304553 54900982 38242693 463153711 226572413 267264384 674494286 856969229 307706573 638660084 12917713 671357229 224689529 220945396 938853190 915008342 929978341 711264892 508466305 133215317 886791785 279273814 569327331 545677784 221531245 132486880 986671547 909472221 624121970 595688782 807831605 521244036 790350312 395659709 415239589 294942445 535104396 935918921 132716420 294132564 742487586 178544140 676418127 654798229 489666507 50441793 150449325 536723261 257066194 588214531 548465979 678049720 210690040 199586220 257915064 532925711 295282410 435964374 941736414 693415494 162924343 232622060 114316931 4377477 948973478 840951194 494355872 795748285 208558529 838818950 224101037 818151944 138838632 92869462 581231807 763648848 530744099 862152416 896797280 513114667 445338616 953178779 723174009 100066787 415175049 689900832 596156126 982041740 93335489 292678392 431093018 476640594 736202146 778787494 968816322 229502155 896746366 486469661 926933970 364780012 158897091 720810951 622803368 701016968 859297338 137731748 219243611 643576465 439600957 474745662 238155829 8779165 319644263 873240367 1988826 251710577 795728971 458783979 904750810 670435091 298922373 489760929 912452816 933603553 208966306 311806152 20746212 717246565 372935309 271757108 21444031 554633026 547010827 158928270 826939209 192085830 28839969 997719036 321904226 266414437 604521327 626617456 657082220 455715809 82151471 860439724 966488874 96654342 1236177 958709166 835752259 210740746 563980089 31788403 421771599 657450490 454529363 297997851 886282506 366016776 692341684 453410684 83501567 262249515 419067883 545324775 430798368 176329416 487819020 423183312 244566617 976011103 937545454 402445714 846719245 707889797 407385597 222204267 839576332 48375994 748422211 891532549 224550222 387206611 576820233 168488864 267575427 742853838 635813251 519257364 88143580 442189427 467590005 762162190 997918697 952154526 238100356 743490660 575211518 644572677 744301929 267342515 494585407 774800405 739312934 982103522 177407864 56306407 226873312 851854891 546764473 719747376 3619409 147671010 410829673 672956558 757724157 515864993 315779974 786675693 720272135 224190543 328082372 594380737 425669598 360116855 566996462 26691646 902570956 795721225 998832049 656204118 366151639 206883390 242897472 486171546 823715558 383926607 692235680 125994776 650839906 950626978 464118919 7709550 330314736 45899250 573590243 7826020 318330283 375072151 220939103 917246368 624773161 805016447 883590021 444405559 73375096 533374209 439190199 133485856 980691066 146341597 810909360 828416551 802199539 570253315 183123140 415465440 540150941 308008831 477365457 945105162 794911498 926768660 236410715 823603683 673293919 242588874 110949756 230168926 204493065 391299136 460329771 552530660 346251365 433624769 664697421 198121725 595615517 446087031 786914881 656126524 836118877 793515931 423390731 758463131 461520601 119492279 945728580 204793386 424877131 971264406 641453857 721425095 21557781 812556832 985174733 815780855 944952184 175722843 973114575 199029489 545758565 492759046 21376193 829287554 445879257 884404656 914678202 749163037 107643019 889965826 83360292 489126717 563267241 932443083 348749759 483715987 686664655 940637324 209354723 252625252 805828726 844551095 687971879 179509479 771190388 530481404 141423746 665053792 99657668 114112923 87065377 739345794 854605858 758843710 774844058 661179641 616164547 852087054 955737277 629689280 256096553 46802510 860282625 794404609 684557596 868882598 376043545 803791906 517839135 903513923 725816378 375689052 166691463 313388680 871475771 250078188 116022628 596760361 218165465 413963650 891697716 803855883 454231629 439369719 237784174 339016787 584424855 54224325 257235431 768704729 273326008 535618783 706904210 750348966 759315979 108811972 324662185 582504873 73692012 589732068 394442388 903866709 191891163 301601854 754524087 181955918 946808758 404747720 460280727 806207473 705812284 747757512 165486685 587172175 739745919 449828409 967853837 624981121 938228348 706758144 296222776 124118281 933095106 694328475 594626318 203112640 865898794 983917166 657990543 883322090 389263469 912830015 634918230 859776984 733399379 508035757 411597067 481574200 487068705 492276549 548166468 248595629 914185526 517994601 860258648 26879266 995514058 892091126 193010673 593520038 223047536 259334025 330785447 328033211 691977521 942045802 974539510 696079298 69811155 305826479 937492952 6418942 31545280 454788465 17875477 748086389 104212902 132408405 711104162 79809255 39703645 759144840 34592336 78185355 547868152 685872155 233970917 765651920 512460479 955445643 466732386 27860921 809515978 600839994 872526365 876994303 979254356 142510125 379955523 312938551 299017198 904827905 270080027 117782162 63874914 735731776 522070614 116601905 171855521 753631686 437397062 12492053 34807210 547111538 323049020 794346090 837136912 318795195 795439635 881037099 356927359 168048282 166220991 151829074 849984356 342873683 109543452 410916003 583038985 694057440 215539823 815138734 556764258 2264092 821539538 692389366 292181577 16441103 191409613 987434291 179480116 944016325 949718807 208355416 865987941 414152432 538855278 259372056 876137515 797633252 865634879 311448761 691616736 445522630 557270177 188498308 926878166 869281873 883503111 359649370 946674589 106033494 980262403 724337938 7241036 899874569 456600127 611486286 20437631 968328024 726971747 654391853 72396490 714482321 43214413 72017338 627959709 517909236 657333452 732192818 541222335 739742348 509338874 590784465 145147400 748823097 598705831 13076655 901544455 468945921 775480241 809331268 196978028 840101059 183581367 76475892 444423738 587637899 438815576 236246033 85028137 350878441 824756766 789656718 923370234 72993319 444815778 639078525 574640661 682276340 424797060 506838015 92811492 738261205 89934412 422975380 739990532 799030651 459119415 234296387 238370089 298450586 331448447 242449826 543284091 165695204 743481398 961835373 445815796 390389863 711385860 114064878 572794217 430585496 390824142 462401240 251676330 699766522 760990990 103986423 756289977 846735333 417424380 264575579 449761715 646023632 584706898 757468425 639106303 641239982 66800401 322504658 369363938 535801684 583609146 299138097 308568302 550481684 25800731 625449390 816430442 828074550 51158954 250484383 132646480 160200277 212342699 663681481 217557425 949719576 955514460 848860210 331600506 393916437 82569672 867469221 11310340 185409325 299571538 957349668 650348093 13809074 658304721 372339820 660803285 389475575 437847894 938829675 632448817 816086598 853922185 98521294 931576155 429382056 8834876 746633531 92892139 990038054 172872751 964292255 282951393 758044286 876638092 182672350 851233143 906833498 836469120 35164598 313365509 245510180 40863578 248186795 38732981 345172031 811807618 843400150 586108003 829843686 951545473 537865157 512470072 143085084 814006844 390229645 847090377 835514307 688759679 922311457 326906560 249029332 489537810 508901860 809514631 356096038 323191487 634238218 487277747 88269966 976767573 228614181 926567301 864536094 800343066 36978083 536354855 15534153 280919566 100981339 274912444 421989731 511322412 511904758 724954484 821214752 359297901 821274706 953707477 559617806 118284996 458963406 486286624 49319462 642297763 908929384 629247025 458357445 203676220 885116963 808573929 486914178 655550018 703830051 916105098 448945289 338932973 665207400 717668195 521102520 233505929 177304145 81008869 178569269 548226615 988879569 326715004 282393162 312803056 812608928 269866506 100382707 242711476 76506970 222386120 188343528 515592302 899408369 376308465 832358188 507191128 226055756 294272956 628809832 748418238 212602002 550162562 477345344 625649494 504212401 230717792 404432176 461006224 968701228 952668867 380615458 679184508 192381595 610496432 199590191 400716522 726482595 947064718 599011690 301708668 333080599 145565068 496274292 605777119 583990245 12796910 273339339 602204282 330407547 240643051 122384323 722944165 30199554 270332104 937365381 959023046 510572285 592914069 602385213 81620258 690359955 318041631 760866555 56260230 317374456 808312987 693924367 844251019 756794269 674158661 842027378 789224875 878678079 7814226 336452201 950424147 370264729 868437555 645219817 265330088 870497569 283766109 598722081 962691666 639899421 346518743 770318982 105258541 299551570 33152428 851282463 324856497 436375652 342281529 918824715 852277701 789853226 22242855 849075209 194700961 962114950 231345544 694710829 322453334 128106536 255359273 929433343 761114049 198427088 658869472 866762954 860295738 251497474 482291036 444050840 253921081 378192719 346880912 537128155 808733268 198455087 565680489 915635406 922612400 594907064 227658330 20004446 215238311 702365906 95167151 30138950 532481929 666776691 99315215 379999782 161927813 14186864 36160370 449840437 720884188 554282696 713072909 843256073 758051386 803691688 43470840 528430590 271124195 265666917 694557943 997697794 828855320 800105930 742493917 553081581 156545865 343692575 915977142 747953717 774287842 55708776 392139136 91669429 256355562 773594964 17594056 124129240 290685075 732274714 405709061 929418148 392179698 121829428 609192406 433726651 572133683 347764155 404623034 208434063 756324677 143976051 542485809 43792223 741632276 193992766 177475881 374643516 769863014 440162896 798786676 956868018 706145726 758198365 20658719 128513620 359169476 231885534 436617846 87906218 497459154 726962315 943038170 928332347 22162856 657509349 928016807 261211850 227245446 823355462 427488773 969152549 778671286 718647131 789485774 371470153 58098802 395177811 500381891 222775759 639509918 628953538 131545637 761155345 423080163 962356141 846543553 32831973 548989730 576015492 957281339 344231605 931631548 688765067 588582466 429900015 621661653 461880013 919640208 765856544 874519572 313016163 225788926 94750749 965352022 582678454 740428697 207844937 926368868 195134877 713149037 263526631 890200290 804432314 934578423 781707757 855759096 497330992 787405574 415094316 294697693 478739747 915090816 36089025 890350073 501813113 575919269 525648293 51525912 45618159 448841743 80309819 831845603 946959769 69943424 66816088 703610024 773930172 294233172 657913745 714766712 588723249 942576417 637509419 328863456 707454471 161222686 116183903 881853958 364109533 991589440 930517574 144757314 403532759 97386580 920231231 643656080 12228319 428910029 419023319 751216618 496600571 702843172 654841343 195542354 430207419 223142221 334937508 146312978 64630435 788901420 63141354 402305446 307402589 645065976 419136337 30386533 729552061 809355852 288500499 281529826 214323351 122145095 627074877 980041184 225324627 114669903 299741133 988932190 390357024 644280981 36086987 407933233 813142789 530801874 559838165 544534626 51453814 635904953 441328715 50907206 483386663 361402447 355271637 788067651 718632214 938305687 601022431 622342049 988255174 475935251 487763862 991477035 248656848 596398835 798650169 757195189 492707778 957226637 187815145 561859217 120210286 987343938 228339140 550615514 63660696 848000130 504675459 475299771 790791461 8750076 508864708 241245459 906352505 598867602 962803578 942675392 306231488 155279914 608627168 916924820 272369031 577708245 37574855 918726739 852898243 121906002 80675681 539146298 806465938 680278318 821856591 348645686 125744302 79511872 143227135 235578773 35009778 543498076 636663017 611024361 868574932 358103129 112264649 236943632 905995063 538231910 369458304 935054622 818607392 71329909 865212305 60587057 734243846 378670815 183315283 449822425 846693449 980473430 779915764 758042779 796911816 462937962 727584047 446006922 555046806 659327822 17441456 356588204 152327112 141175694 313582759 546862234 940046306 501020076 631494837 432766326 762997437 153507288 301306360 578098185 805840572 468143593 760714233 230798580 211432736 673144435 354154386 447042501 980921121 374988704 994164164 246596799 81693155 903854311 316745049 118026046 687012051 984416097 952543715 227946333 209141817 971052182 303009004 15798904 419276411 649870797 657083900 404102090 691001951 733790245 229953937 423801630 826382185 681664974 985728615 683421616 522257207 973315399 147791923 223532240 923121034 40064578 754431050 405805464 315905144 226364649 95378954 386353859 168213758 340875146 809012023 413972547 955048366 117453515 952530709 245511480 648792034 907795626 842708441 910668748 860905781 927221174 253294033 878764616 782214131 198103830 160357811 630081305 293141255 66146139 364429820 583607600 483795760 714811073 231873206 404859675 209336546 238632854 673576776 297799910 792999640 416631800 67675560 342345936 749935447 119692891 685032858 591230405 915342176 105132317 951405231 601964824 272707739 709345342 600506164 870427231 102519483 553220076 277782046 935565852 352632904 811813970 382881664 894210387 292008730 774879269 411095776 76721847 389089951 690700917 456303780 167297765 547601646 817725854 39519792 950051620 556855645 401458100 507184364 400226136 525700699 70845139 20822980 190003131 149032870 891552702 884057638 360540348 463068423 651212004 15664549 607970194 702307794 337796617 18003753 362642133 830427807 426123573 596915281 97822735 71737538 737929699 517740958 723654707 225153671 371316733 49645216 689354914 508324002 649913224 254922465 548852948 663246128 886394488 460994021 82672011 294299890 164181894 684432716 992149697 583780936 300997261 700477302 124576973 708997539 84082131 667926995 180341085 431650755 195325956 860759590 415831871 237078888 870422003 840439531 375719667 12287113 533295700 593303051 915127928 205707186 464828929 546411742 306618146 749030990 956021462 981054258 870116781 174765743 637558909 479012861 706742159 202118725 365716958 357504555 804156589 590428250 545334800 964046178 136024481 74536285 777642923 344979461 592009670 365047863 788503975 26936440 697594425 320805938 907049524 297140579 625703911 49365214 814866405 509543598 298901984 720528320 798733809 356634818 86667751 895651800 428439009 956801921 477375621 14279307 987801219 798603718 749133104 553724787 541754875 958019084 952231940 373886414 136232789 255948164 498131667 853073773 379704633 684681184 558243263 532211521 978161583 125024589 153874426 312947512 871345206 649705416 189995295 308581658 118766067 187251614 504264351 796487324 308852658 383620044 709250027 768784524 993401560 212062718 787680298 300000060 225925727 298567280 445350818 748501178 986591789 184967503 787256786 331636817 382382433 854785401 523864544 131947816 649745417 218850232 130742975 506091168 602614424 716359345 563205854 854073207 442548618 618301767 686621948 818759933 951902402 459977489 293955242 22818689 761033408 464427941 774704004 407264137 735224950 559170940 570370158 801134217 609794096 227482223 541682834 611500022 81147626 886516925 275787919 45402518 486754290 510899385 571738904 704610227 860900586 149063946 50052614 736741019 268989708 34235493 593836620 448407251 381004752 629193182 7890087 998105778 617449185 185424823 886404810 615322336 116412992 659238910 633005145 581291776 304227911 956362374 831481401 938830096 363675302 561357334 844072146 570697087 966041826 751341805 591894700 535945809 233446470 156229825 672637278 113762764 503267453 542861995 464370273 708265507 56940345 691736411 120031492 791825300 547056259 305140153 473886769 868457861 182347700 342741012 245043870 819250185 416329228 642462934 481921506 77341305 38365205 682456820 446210242 434932993 583692706 213191897 768685834 68265193 564817354 360385889 185852840 271636402 311376341 900011144 473717727 868520083 138557392 596564234 298978896 993812766 327981971 126120777 146201973 952386848 88278303 625493176 526321225 472000114 320047441 687489895 365140873 326376584 263549499 736133568 992554310 871809621 565292484 949375719 725783046 751695143 799241527 445823055 535481711 783556664 888345352 851722037 134903915 633416095 798648293 783859088 351464555 127020131 73204912 255396717 477452010 907649626 144349821 466704736 504140876 237554314 30969604 95463944 674685531 928850311 107570578 983934153 867659679 318230306 591646401 137900520 831322067 281882820 830552093 705106461 752412570 728099998 625762239 593571444 998386659 266064495 284140907 285400973 864197282 244778170 734484925 589338961 545592283 172949621 40670072 768149367 150023832 615449524 64586523 743332062 804811719 17049704 356258697 999051718 877513113 802401496 183324541 886544083 821390370 296480534 989366276 19409398 246551157 838128588 245164556 842578179 507887173 900788215 820706694 748200532 874709274 415623701 959358865 883948076 199498941 92764619 822286252 838962524 347929529 968883607 130568351 35179811 421326612 772543553 172227789 642437332 153122639 973088377 193613839 819349570 141021079 521084999 657394604 694429835 156644579 650101432 676419064 873945527 480669777 819375615 243707201 654371540 740226016 914674534 815717144 400259038 818944556 795681595 64384470 986250922 477893767 788305547 862959584 954499310 982184377 61947495 81148560 425939486 978970533 265191921 193704289 107076308 98662129 398288757 253796177 456072515 980919203 936481133 727744307 911996658 768020728 667086354 809586146 536800461 884958638 169852599 851736709 137663031 93558337 482171048 700698728 829260258 308120814 978475944 526734082 87991205 865564111 19353293 559155243 148750906 682376113 204637426 23968167 685817472 22060125 272264023 207175856 863966888 259456078 322101679 250042149 794370207 513935304 422050357 886138682 270643021 459677281 704460318 686462594 594057388 160068313 774176915 418049055 470145364 591292826 790892081 99153884 221300268 622120099 132829257 471331905 939605194 886662982 726494817 785901198 745795247 487871933 332908219 85925283 597241163 572312154 505371121 255379500 439867379 286435822 98808679 296222281 718703686 301739656 628054542 173028402 447688638 14138597 779331950 290602931 893117683 364958795 659675968 933624790 220156 855022299 789585540 753936188 275593781 786296448 162647724 891093260 790867569 377434593 795059970 503772273 24706779 121801465 630398597 197138665 106038846 698238422 485754014 809860021 941721650 844476126 674158079 374692052 213023674 952614166 324469021 672285039 531621261 864195804 51595676 593393129 496026843 27629211 621425270 318986290 168150868 952936223 288912258 425716236 520068915 328715189 905995809 490130397 401949016 617690019 733677459 461631731 632550272 583169931 603831858 492113008 334942012 773304757 236642635 257387523 842161028 290183771 363841338 325348078 298744395 626110880 665950711 558696660 886068872 430351023 126944397 470076362 932548235 856051835 967045743 425085155 624883876 625772643 681212818 788324857 501896960 674996268 87082084 499219930 30786561 351696764 566347533 292230604 445292815 186564262 71742617 170587430 656805301 684861498 871539402 526377084 309637061 423838795 132702609 775847992 815725928 482282592 765794278 884246505 268048720 329955682 260272716 832588008 649635125 138575790 832808237 118919130 751897371 391011464 220913714 484800850 704708767 239794536 12737389 151494449 540861904 682811916 156549914 429742097 456211455 34315455 884051659 648705826 519751468 612177532 953736649 683378481 686223638 855115869 649719096 993320450 431821713 818006420 361050355 154634690 728940893 64558829 269311828 817760159 32118861 618604523 289674949 429517692 761028479 895065219 391712255 124217422 676330745 778808556 66636758 949010381 138171158 142471131 375007688 425712435 815438971 110233813 683221659 662905391 93968499 757988613 513650923 263239005 86545878 860319982 827901033 599095069 844094654 932618204 931702928 174392502 988134735 391892720 98946376 341713509 799969175 624799928 941438402 324180608 226778652 56529065 885029497 878479250 698311995 963488864 560119909 820422367 916882987 167501728 772954106 366740075 585538512 407557039 192165932 652078976 607763260 313623765 259861468 784257062 827733325 184421794 159952145 376490539 532006295 717507348 216946532 962262052 963530858 716822036 324436537 938312491 92373866 636013366 372336022 738944284 507430745 237961991 257778449 566273738 63290706 882074217 111901763 948852806 342117795 607078841 799809886 698536117 965980527 380088696 945944198 847391747 38320065 623302981 68812906 422098331 796764086 824622051 877981407 905013249 987305686 893763570 670598759 459165706 583544892 282048210 53337154 819107884 883845822 358547968 12007402 580853183 846098943 192707374 901610812 121251209 204295037 416634024 480587421 706170596 243882081 75115024 901995072 748715166 517518870 401244237 943743227 84041093 374701741 376238533 392856746 275478318 910686079 987907219 524460938 957126263 388776667 752433709 369319228 562420296 334198831 666721359 464447726 718686765 964578963 355280315 150064650 872860620 768075302 873006230 135982395 777821439 97031691 895213894 616884994 220872383 249864463 68877568 208194206 530883302 259459428 832542358 765120935 818038026 695275630 480981666 831348884 220076000 522125551 427093287 194210298 236185443 187355247 385897835 125821829 421203848 276513317 248160051 379438537 227521373 711594498 318151176 655524035 43542606 939654364 805511614 173234048 662995143 43050151 840578832 1594482 343948112 41527065 901089086 245598515 112639219 72826001 699059975 301334122 47327491 689322828 160620743 983450076 606907975 95906685 120292003 862079717 626104882 614443879 631175366 126053906 633188740 100033406 399829089 638192072 204970654 515487926 819030894 53271544 872814445 345928791 104414202 205420407 686328288 838005901 792494780 8277933 263933134 101993750 13813503 803664735 211812419 574549487 660478338 201373504 11769361 423827076 207676852 396047267 399623080 830767078 817969007 375140136 855844981 253869171 248984300 620351764 32608817 879982867 453069586 686387748 398292985 79461518 781019338 124362829 792961887 21894781 880748973 69202679 353430806 190786022 269081476 304618672 550417828 467133076 788870473 685255424 937806355 821751276 693617871 183971667 815595197 436285635 756619714 977770190 327206015 239401215 668069959 679848754 668981808 864745368 784152687 309722252 747211319 728070182 382533340 893578843 418505517 936614163 326211220 884111660 378953378 837599859 157884220 105540585 115461094 645702330 502550150 143029338 832828536 859653260 434947335 225908983 184830273 262068554 707397080 82704659 332629820 104319373 970222772 622162151 654161179 239082940 147352614 592419074 913625286 816172036 428298515 694938897 202385346 341903694 384498455 650364579 655684248 906389618 239697525 877892017 1433986 786512370 385121993 159775941 465178122 550856322 24955649 778127308 225966768 963616303 860925664 586092896 549785444 844377697 35701289 501562358 324572837 685675901 536822589 38241127 841257290 990239892 460271335 839211081 501862467 692631938 681381729 688472795 898259108 201976903 131005071 652398137 255226193 44658762 232638610 406843172 864084344 717790064 163763213 737475357 732671685 942362275 11105975 698610974 620742671 694018082 876045268 475737238 34851580 541925811 534938788 391586556 875068055 589166939 214461224 472604243 517703106 41838499 36391318 828242627 222315401 598989296 621908930 87601496 634389201 196722554 618914064 483854742 690388577 482477025 369834911 289500856 751949014 559604595 361300284 37847850 890688935 73721321 9107430 159065857 232401555 825734104 710742767 132379788 114942094 805674207 883961066 579272573 225840082 491997997 572409340 250929443 31963528 478017802 822392936 395832260 991175347 741774432 578649876 604599660 700721760 806175146 741806379 690740794 659320528 216919790 92540036 417774303 438171092 199201395 174146917 851136009 7982080 91786740 99217692 662317977 847439270 870365692 192384035 350784427 380817 174552206 779942074 564218589 411676222 238027909 59640408 246508967 913298390 340338073 568056746 536286152 309035016 551958421 899839291 38861072 227619610 40741776 359661140 383787132 313388113 481636124 313217403 92410313 796821321 971103614 404722382 628740021 33699297 423075423 961681447 706177486 433704520 723610820 946530195 688515219 879458261 972375794 290243980 111978158 965765260 648987580 59893112 670436516 666533106 420697445 953680736 613319696 588505444 667365438 446222646 140550926 626424815 487489220 56391257 68164923 851220173 781523119 804337395 343763676 214312938 209011414 495938894 918148658 887506308 78757437 190064490 591671227 616511123 504168755 590201306 749952444 864330231 390287063 527017503 296897192 850277068 791969068 397040848 977478974 654122721 682437374 112092120 726396905 291442300 885490298 53928531 205246379 788503342 176995098 478549506 76466507 626916477 423134606 616106348 498716893 315299315 169620057 846505349 393457471 94392518 329618358 991093804 991118286 1316779 286000027 492340731 208825350 176347525 411412736 712902418 457352541 229934639 425199671 151045065 11925649 584657771 458729919 447474401 609571250 487684356 787409553 107481830 845927728 162584944 385446603 84822220 235986527 304948859 661603145 215469416 337299061 809334052 525358791 812757158 948350565 99079908 497137421 362340954 781594870 745960034 555657716 357268121 523513373 673464696 219886751 405311035 245264209 500303045 320823971 157190198 35358386 19950844 800521895 241579702 100035761 942995590 727589677 408466224 856891188 643636280 814323442 985117564 922152061 164197251 978665262 763655469 780898326 322597442 443028758 223635600 663072951 815121911 439946646 705914562 361426709 93168261 225914769 79101721 641859712 751413291 221840017 40647310 422214184 581013092 41743862 432110354 881858627 45720744 90647699 471324993 686661078 880422791 711313759 456988834 419586320 410933608 520716133 612589479 465246401 901784649 410123108 751641892 47597981 688816148 469857807 776741419 885508398 44554749 45122812 241812159 302538914 425682263 380836718 774752628 909843721 162006279 475685087 881876499 587050416 534436755 632665142 239152132 618927076 53388028 970367029 713732489 756103029 486154645 555225442 679189969 219775921 329410666 232027266 705064530 250942554 800135732 104263179 620557011 104342536 110937991 274514052 758757334 754604384 524361318 731141284 858766468 977132329 485224818 972013733 697570637 324567037 878944106 431725450 483504742 413214349 664874965 250224296 753794371 544247869 973208660 758268916 140735104 516432703 136716488 88328268 483438274 252656623 834784340 147310225 140987894 165252004 413570466 590929113 489305770 999939830 894671359 479132628 368467880 600725333 245959497 409493078 195363434 316562087 610144457 343517091 262704958 217707116 143117684 856376683 959941153 687901827 926105339 25127630 593749018 996103526 964418028 432606016 529282084 53884957 442570778 530901455 60108443 944201494 150888118 628841373 231207153 126104092 214191927 232389397 541976742 28693185 742431858 655456589 434574707 951261714 80748419 566542696 117191397 975302705 701658963 969922314 752410263 488676054 431831193 794466338 6398849 649692550 625439303 162850310 266992118 139006127 626057933 628642738 546217925 151971246 512260087 52917947 806814466 572985623 777460739 779883872 968517381 454350443 388770987 284606199 12539642 833861587 288065317 695393039 556199656 54281162 529324730 950862873 311491018 350766441 999891116 927509893 25117837 637741442 214518808 968626121 367625401 905348001 183030678 872857227 585166890 412593203 244366096 647246702 200056212 666968832 57621785 38126353 516531820 252193559 215049778 316869540 8698115 993638892 459002871 955690609 945345802 573537053 475415871 765540444 487129329 253387446 380851635 205579062 270073781 753741845 561334536 589944606 390252977 108269278 152154310 538061144 502667712 885179878 513383059 583836582 587513353 285970858 329294989 185325582 575550467 922240519 833401630 786850836 560976390 162526958 780609761 114005197 984994831 771665092 29855931 269167064 938407264 545825049 857167192 419560403 50022673 533416841 769815313 154566401 291393827 211238042 631485823 983466349 414703018 492028978 530509317 678867650 463186386 261335565 989259195 848927237 286645643 681552461 218552593 419550059 562708669 839096209 611664617 89617568 321922964 399955202 415118082 620195604 832685786 446696723 554762124 288224551 690240897 212578628 324990059 579904796 306044786 827950215 269834284 979737740 268816541 519015206 936248035 974672000 365941012 207826531 185261538 400783930 886362590 362712749 479300468 168017718 526431218 578100808 772780882 513634238 409715612 218802253 946793779 247308023 917254875 649497985 430210460 739243174 62046342 683654643 28138631 998346182 764900452 896574001 842005804 290812582 502912076 756618174 841120108 497054494 743836164 545665554 640598790 12468969 765758851 466070975 456645059 999665562 13122830 628695141 422852366 319461762 652980299 294235770 909859436 188834298 636308351 947923835 884770494 546718851 987445036 462274239 43883201 237560458 536681376 230327882 434554946 234606395 442601033 164615400 660281800 71385090 492483917 332359399 968884758 831274435 566113321 17561806 857313894 453795459 756466069 389054923 779939505 216007058 54891406 97432534 667489961 544919249 114212361 711431986 708896606 175460823 146098992 149384099 796065384 96805248 75988729 893180616 437620477 342186551 434953813 335196964 825639092 13753104 706031850 948164383 874550103 359511879 489719565 37094887 839791001 637969711 108789246 129227560 383898680 378632375 656821167 280952747 557101886 80004307 650479505 594382913 586262461 955359999 924608014 127975174 180752018 838390596 405497302 653597238 466950365 585202167 878902722 755487529 255622108 848184173 27487977 664955382 367006999 384296198 855555720 240391854 257312248 21941892 355308533 105908622 282968648 866181868 417788421 255295103 706527523 177388049 471051660 202180464 864985153 293257030 521086459 453675682 526557256 324702983 515647424 197499425 322793008 523794511 304157211 362057872 668437648 917208925 899477782 992686582 255352881 350888572 613748460 11470217 272157889 251196788 805495934 37087091 261367309 407346555 839426325 476481235 872951333 229727376 77927955 549755239 142742423 930506364 303384067 244262363 909165475 871734507 866238382 217523532 661680867 981394605 202889246 776949504 521056787 158593379 628295491 905966078 295290361 789342431 218130561 988949550 116109149 748867279 518849806 841649573 813212986 326389215 236705714 651888175 22141000 162322384 439625600 46476436 108960850 7017238 961835821 716357853 330760011 28043650 673592299 281216221 617490019 736056250 921018818 536845513 635020624 175191472 673070661 563060975 635389161 973930926 842900641 986457987 868081150 954606083 133266008 170531820 329456081 319970906 499545474 846054148 951152189 671951543 982199023 449075298 829927134 921475210 329669799 128783557 374824537 979853164 459222440 168010546 646900670 769929120 73962976 192924856 800216577 587730952 372459667 517546373 515507955 647780893 639838796 145699362 81158476 616400666 777410859 741551903 710072071 274296184 547567099 894221051 717742583 122659980 475895508 103485290 990440153 602752179 36141927 520476218 977266198 443572108 803632811 101626553 953634736 690986642 814275938 821538519 523289458 802853747 983396980 619724195 420047998 884805893 428119457 12516822 337000219 511458065 127380310 615711964 530770153 101044999 527559043 990497473 609564410 903810811 597556558 662346662 116607486 687014572 488776097 259115166 609684898 817399507 915917273 543533191 301056016 542980477 820844456 695183193 47445211 277097226 120865549 562254594 991419705 930386241 689130846 793325512 971728263 891116169 458069255 512601157 15375170 700187207 380975186 643232393 824705631 483780696 92132091 639711764 789626141 539147740 296811159 666342957 75839664 655643293 976180796 786989369 624070939 948368260 896174761 941656852 518437695 230774035 683977956 883805609 218472205 587627137 67165126 626077437 924121424 891399956 941313425 604056076 744625868 951709149 478339896 86790381 516374242 7564349 660891023 281145016 582134165 920534864 403934908 620685251 187901765 988776418 721002956 136641865 596133909 172360533 154750346 758013079 12884373 34322886 637590372 185944589 257465363 239324883 914253055 193949398 478780669 789284409 474603065 514614059 760856407 634634998 436272514 265198130 169645464 722401165 604941775 827811271 352346395 278505739 960100242 840033134 663431610 794972796 54509455 454371263 565048500 474733372 465539711 426781810 759737212 176737875 881432155 298823882 32006394 545536507 711035373 663785679 237506962 805446372 182638837 542608881 261200093 604042961 14386794 509530264 880375127 605031413 162951735 607182143 219392027 807110095 201217547 86706257 982341007 68531518 87775272 845789875 182541173 919408516 330387461 226433184 470947194 548873143 728661334 797365437 762159123 269227154 992888764 740809319 358705442 667138427 566721917 274930716 879344847 953806326 822264420 814665699 644984186 38935643 495595450 428124812 107040195 518710561 249345468 329782971 940255606 942564880 661822729 739230232 618530767 158724055 822036157 629100130 742941393 935134674 384645349 952681060 618613684 73833411 513999783 18105523 175773537 981870178 463926953 522485413 525242819 401624790 206815578 693192012 123654259 992852973 285123268 400078530 595726800 699308472 850546996 395555006 964148466 889679000 25173586 957909435 429484216 704714668 753959526 514983614 590850228 945634341 446379574 276684607 175210008 956628618 507217523 874082988 104645563 157573113 413683426 803333416 350710513 336180896 479481355 174499959 851369704 996019959 404552325 658172830 634774894 254617134 479086372 416511466 769362056 329580509 489205124 91178990 532977518 118526379 115346802 426133524 269667053 339619415 426944543 974535879 781870229 74648277 318632198 205352886 94157923 742423463 311826188 261486943 263825058 198846588 338687368 898302002 837484843 626118447 953875440 126705647 351305255 619842690 960769709 289127640 945573469 614632940 653210105 982802020 407031232 201030911 551845095 990858375 320120488 215428490 338765497 222558894 693583614 578582273 151102385 219977492 656310956 701479838 126341426 656627018 840737321 672510642 838461705 827878515 208874314 629937627 846054034 228700484 124597213 156300954 183468432 690596068 9813787 76680883 837539480 113863899 645120478 983985214 390217952 236012238 592717369 547164006 262410930 424564334 652416863 25232767 915650816 719777543 528261529 844299295 467978190 653861611 269257344 956723265 457769426 851097108 642274208 585178352 569591720 729008911 79527025 543236098 944512314 535522519 996415449 563449127 602126929 555479755 391611403 27770070 885894004 374378258 300251799 878395994 473205325 107696159 890949764 547082708 738695561 865279034 210275325 675321371 332309742 512819014 464766480 661783389 575368384 213142454 173669149 459031224 462150216 103065207 215298277 231112908 193766446 728128178 99844772 871285003 630950890 717011673 720717390 802799476 764325366 359633082 284775317 997130165 568657309 39405414 643136033 204046358 809046570 627259973 901857368 16665621 905510896 391741876 591008499 192863475 266875718 668896003 660641932 438616977 99999266 32147096 679701970 475570276 680985930 183257810 762535684 352835479 213835687 650325927 950221798 193717670 222603066 729910369 334880624 996385930 120708935 28129530 803736629 115605386 141465748 640768266 390819817 678004171 460519376 205530510 190656468 131568069 572347654 362564766 429664569 45383277 787653803 372850260 673006265 124931774 742150740 550120863 795537016 788324739 158347101 994559783 753492389 325392007 242331662 89997357 279771842 46298771 432882298 801843232 228363880 641369260 394791047 466308993 93868958 848855711 88516636 903572902 517587835 597893994 675277384 73446088 700363032 42529952 65613533 800230228 811491522 517041380 826772459 239547923 533128317 304947534 545129399 533279567 33615814 394105650 217844773 705607848 503566347 496336296 18350932 15185162 920836392 16929874 265971947 557596266 550346533 556005472 257133216 241723454 186620164 756498019 852237666 300365652 518422590 46415948 362817831 626974756 73060685 935600964 57708686 785548186 803184769 400050047 313753324 511320088 674294331 209186647 153258265 380868560 414831529 288716115 5713583 466643810 919826515 777094034 421948379 523634422 630987963 614799737 400923697 6160640 341898939 331617722 851693688 917146009 304997835 66344185 439419187 363571225 508513327 209716357 560356153 735779210 716959625 606750454 79229414 750090442 610586122 101167733 608858057 47808790 895720531 792565792 186621448 71076548 361523042 527523809 464433132 606831721 52857721 207270618 528471923 521416564 552131371 389706873 178590323 707184979 648509672 515600646 344530439 50552020 164796431 999470461 185974806 791146665 661662400 447062453 495224101 972412837 679274761 763843739 357210817 718689590 24516327 830526635 857275076 450695606 794069596 360393834 5093554 327490917 323403457 835387488 979536040 575494294 349087451 540318847 616055664 464859889 615610326 854301888 673716426 771573195 593627544 43883863 657443296 299478819 905376906 153631910 365746844 988240441 233875339 231328054 331330065 943838260 943640674 893796008 58653525 771723129 640320205 672056878 467303069 688735696 752509259 941439435 252183970 884746269 993835888 795248821 57839069 689192511 481555923 311905571 545729663 446393768 633213958 172542456 566765711 424146916 707986265 332628169 866127092 430342511 356448462 36287193 505725331 580799175 408849479 869155749 161640065 756581574 373860911 176771327 287611701 363976804 730180519 374053329 574240280 272058002 486209829 51986243 717579821 878974905 445005969 98237419 539351872 254588762 918600827 928477362 375926369 994603436 761980546 3747111 841299974 930981900 47463937 968282609 173443558 608009956 636815340 848491175 967255170 484142976 529598317 524452120 575689697 702493179 119849028 490621245 835383313 21380657 471238887 476277517 651545610 883404222 335423253 434396700 475761787 2545664 427272601 928758019 985074593 127401797 712827933 703669032 498293728 972514354 600704271 692824240 739830158 29928779 536458543 449673073 426547151 305532678 576312182 443867665 220590526 677718882 606701135 22148246 59971214 373533820 57433498 428048409 872355721 170400281 491052595 661812838 209257066 694258825 272700321 874118584 305236292 202489546 512829090 115472811 895676203 703928969 719222023 967387493 446319856 801690652 247278089 793921624 396111886 974755260 360893586 950784643 670235718 445225676 139281635 310468872 256416801 252422875 609935156 224076050 698536171 138456428 501048321 981527303 592097372 333757092 148002221 12569444 484547536 56581183 165432113 778935045 442746977 724536360 994520683 457302504 843447676 739757906 946716267 569104834 986591436 504096207 203099484 413973442 796279726 273570037 120620657 800483133 205650390 81239916 236958561 791526633 373895189 69572430 482100766 544379388 293010423 421505492 803769159 851663400 733068433 476290426 793585091 610338689 187414110 168604392 799776793 539572351 46955174 299100503 231987833 409676255 425728802 807437856 767800153 220895195 389877489 302390036 850282204 114284321 360974939 974311819 529559764 909859847 272481112 286524488 95436583 138488677 759125990 620981858 31685876 928059729 953198426 201528517 58859905 416479476 451185837 487035929 586162000 422483797 451990524 16811090 5560248 221004164 597616328 556529499 969336509 994930122 973434344 294353119 543387006 931164542 316803743 674711776 989990192 679962510 952011584 355547476 855136296 550932108 284726679 18616686 725335027 718479230 475902782 136843506 282910119 804724324 331733656 821964799 756403030 531450899 795921046 702267965 558182043 770329843 951034001 951841622 823270068 777614576 414963204 337181052 610066715 296575059 580319598 259364374 233450190 798384115 680619200 476636515 367463598 836740321 658231370 886864017 920737338 344960256 281234501 390582163 800925565 675296282 167877356 712328981 945023588 86108052 814010896 896650301 896765002 244056913 647264720 23941312 878303307 146844567 278452659 270160804 4429242 711445087 55046609 477792939 273126582 421835549 547814074 687484424 521724113 182808165 793087273 792603447 380722159 677880871 884186123 546300890 191891904 705361972 156838133 668161739 513641889 31053117 831647170 585602435 806570495 6495773 266893036 400132312 597269660 634630993 200991094 644764942 475968739 853787299 577101281 370437181 928487454 746199951 227593066 500940690 948671166 682991522 472924334 162018777 484643135 123227222 898291387 384652205 172200191 890180392 690076885 956210161 723885412 658788249 723272937 238838808 717612868 433967096 637808757 249514420 844467290 91683543 374215641 409571862 735164940 961904048 367437600 70736821 845460173 989979637 634591041 815035283 612866726 97892848 104518571 97983131 963219339 998693036 476798516 989449213 825151902 347287867 613866305 855919775 440746712 750084214 546834814 475145066 727401749 250287229 701502833 512119955 828407606 562436924 335722474 848938993 986239372 173609355 681666081 89024511 578170454 73476691 844907113 140853192 985366991 208084031 190761192 628016208 594596126 189824156 63623040 631924488 240154965 757928336 129609074 245167681 366011762 64423359 666271421 306265405 479769962 301739835 349516336 430229669 399432944 657350987 692539197 434265936 26138840 644902397 164113255 503185445 315709845 920277317 158991506 303565483 410190115 36102235 376567069 360143658 268557736 52731993 502635069 914822938 979255772 747126731 61982154 342181942 777809666 285869724 597145180 260605425 473603685 385729247 233677152 51361026 922468273 698754302 435911568 636829423 722335942 668074201 122348932 874047095 158150930 538627702 84826932 427174019 365023574 840203339 303734603 529455827 797971355 29730058 430814720 516337657 107367414 395642402 169712678 230280667 438970799 465865571 870853926 749908141 902154790 804177015 424794031 972076817 377131774 725472391 338480836 436310029 68405352 467045289 542623447 316986779 334034600 892315457 655491696 544491804 757543284 984521358 867373553 708683792 112446613 910126 786289513 507878771 254716020 668178286 530780600 208486032 628513913 100214501 508801219 250107147 306707374 448954348 932307069 518786001 65658345 78186202 183737201 266042151 644548630 970423906 198092849 608793174 932943711 863409867 519372145 239259940 549155654 810559249 788219270 218645258 495399375 903481274 841756494 949730454 149085240 29513214 521093038 621834318 782253248 803275086 202466946 550012529 729215994 91322289 682137538 248306994 462689356 300007714 405291270 539820712 186027761 289523567 133351937 535214027 183368754 258963680 741978057 890479368 141038424 358839530 119503733 359330028 985758064 265006181 418543131 943824805 377385917 25185400 276624485 730980947 269059777 216092222 575860176 728726040 808291377 840469820 375720821 357337834 644696796 425549809 364354438 334906120 75496265 727751627 440809282 71601474 803678257 553257356 498236540 595973544 886870365 742830459 572791980 180637655 60278282 230741858 618837533 916064699 229109480 591827631 736163066 733022670 716177638 757903089 751581045 586166260 454825298 898941844 465539394 46188983 303650830 153013314 771614759 936108729 943389427 179631168 765803566 922638923 687766228 966059122 500477665 266814960 875039297 880370552 867178434 113025161 679541054 599442805 155318013 422056857 217050605 396892491 201078489 111013986 960185916 708113062 659781238 709052332 115005724 552763695 196022804 209249971 763393439 941679534 746963883 980547890 101678526 633948633 906882588 982224984 245987978 25516492 976445077 991974409 909653855 249741021 347605580 765638653 955118317 851278431 269587668 828025992 482164500 227250125 948534130 822692015 235654139 651875503 967314985 88699232 387296044 687713043 543637851 513943444 209487869 767164937 431042656 782958889 977099227 723138510 367717217 275020032 382088613 714361655 954213181 514873351 434950231 36090917 868732366 759944242 646539715 957612081 531334739 179423972 890010310 728057896 914497672 737611253 588956846 511956054 362193976 837782407 378732197 925036329 563651552 66701456 329250222 162067566 690438551 146764544 818372050 563615936 786511520 198782296 751720161 777725011 388138379 339822315 909952012 921241412 726173159 310525354 523070505 656695934 718431796 183888396 437125060 707413248 671521492 124817803 907365753 330073998 235496483 809719952 667162436 25527629 88173543 68907053 494482148 777706389 263976122 74871735 674185534 651035105 162346499 295280158 924276934 292805825 858047731 344582377 978669443 830803487 937904388 382919117 466085358 266263806 579857752 240797283 180396087 777013935 718095200 221513758 47821921 975258744 619924820 716262729 689957998 57565520 909966071 587568750 547105475 893459823 535366283 493244541 874739654 611658202 242640168 339702361 675051871 287222544 393172558 170525216 767184415 342017930 385531658 964375970 467270715 425287226 946510669 804208124 621220737 290608615 181643597 620327000 887328301 877652751 776686851 262227176 427532781 215267863 531864698 45915281 70845999 20091688 631513395 848891301 132764852 946523453 77789393 13833958 893158056 338913518 270229370 974052317 599712146 653457717 478039998 317971843 559956140 788700855 268665258 554810086 596032935 19748756 550482979 997423746 260185782 486340261 122037201 993168048 569936343 88433312 701021060 968440735 756349773 421208390 222060142 822959961 340197259 355709634 329310735 409488343 637935864 476858938 50891473 599926512 64593382 375089282 647583401 328785823 77249643 450503376 640517429 103338660 84714268 732509392 512613881 90643139 839962228 937278962 808650573 897136980 659269320 205123887 800760760 6750375 332461697 188485274 31197558 697006474 746247841 983473962 788596303 711276576 788452698 719847827 554261789 140196919 143880987 208681178 88394160 116562990 799121263 750269223 456913413 262021585 474067826 588612451 751121624 435498878 306031654 250729137 90648916 954493200 508250326 819506857 378838672 508642969 329479414 517343176 183205914 398038241 868083625 310842652 949726885 886214989 256980858 114156302 410322200 965837498 861436714 178033748 814602019 687156593 632227706 687938210 148851794 140196968 701851909 836313860 845983540 213830260 440291557 190914337 941845551 723478404 261730042 954978630 642701118 399367350 756909608 793282089 295118491 547291866 915973903 739975261 416226051 541222525 558033534 610462380 701607699 926320165 459242327 906690028 100805687 847571310 668302334 724151830 360933308 660682718 849679595 831068889 698007615 610382068 473017041 156397443 738748625 204741779 309735040 551367841 331748486 631695342 187497496 600251009 156337700 100868635 468641731 55800222 720607643 847615565 532340787 844322863 740738284 278183077 427760098 205888828 219737313 468080250 706789846 569098084 659722877 215577041 93104576 755310749 850016143 798557495 219323337 226663369 795558241 833227934 755433282 911158096 203586497 3447558 298644876 679442667 592839812 748559150 684249246 898443428 504970331 994357837 111162858 155692567 358401176 688744335 293894547 80609584 599499464 833927000 357785936 590619159 668537482 400835588 576663942 480796235 304445477 753128975 638609204 33070101 690717511 964792327 680906612 16207258 820216164 358989590 640099637 805372964 739510668 514341497 101989000 582991834 502566620 719033097 780459704 252922766 586597852 253844529 211130738 138804712 446828616 799579452 21827215 737183970 7714667 880638997 255364737 418983698 489925525 917846435 47231806 478699604 66223556 502507441 419796699 216642712 294455251 26805161 35551718 410253515 730703322 191884792 823313324 293719222 457114006 254811768 284132184 752564792 565746772 22934956 296110262 930332058 637740550 175452267 238627684 308568281 104355526 456791380 597132002 288301113 356024121 541220806 292959099 778927042 240876094 485748358 986010219 626342421 318061940 338661113 740723804 378984209 779823288 618674656 60773253 668049895 485071239 392445691 381668030 709287688 68152800 953354691 505993636 204109128 829412831 931735908 883066670 650452682 763574994 898843662 602318975 673379745 359028568 777096110 512805314 103353614 491780843 985378963 271864048 695494459 406979746 51898192 685349396 522796212 38758964 742981953 910462918 535933003 614561141 871267865 122488323 630603200 803517437 552637746 872116862 570384058 569435363 57358744 56997814 213858175 376028160 126744940 44017843 330444743 549350679 765476232 897940231 357200586 45461609 322138550 952504258 623968441 570779150 96873037 843458083 335815557 622562344 48648971 608205197 219700851 877015599 161841261 274471001 191370393 982985731 852315419 925274874 950591597 786172579 68431918 236601647 70919212 889591992 424693960 757544908 851975996 838183628 109088602 903992073 333024054 516322955 957151012 521700000 775968415 909379743 723474477 277476480 800343863 585139539 789294478 628318031 152868846 165129476 534070628 539256661 620033675 580571123 217344082 725990249 179945836 684960101 108074568 595365120 507905401 94944908 974348543 343932301 866402019 234750644 912863699 744560410 756769491 191544050 419461647 990058236 453246828 771270580 764197801 247411529 648716576 53239681 47704477 372574050 384246855 597148866 571376187 270285639 611555576 954274488 456841829 29826639 44302747 796231827 699885767 251645816 27208709 593358017 640629116 132274209 141854311 968125086 3840920 992896388 884663846 59565617 606805751 482627674 862116106 758569065 840819589 328976977 806875840 921945332 556608750 680901097 582921470 604965629 769289045 28277739 187985253 626940969 662308600 447032349 692533051 985702110 828102375 131803703 746716659 180168814 30335883 690146593 861522145 5906108 751074846 933913523 727378422 232261677 221282085 368915277 867784821 929354386 771077118 886476782 165496255 475473524 8918506 675802648 3075431 19098929 451057328 266954051 177452256 896099223 103407653 577838896 683634551 32205760 326756260 88385056 82058328 990426165 954770656 668107120 509736919 521761697 563818463 209834082 967999065 528903356 895441015 501206429 960327432 328804353 779405867 992789024 825818250 546087000 609842777 643788340 741138195 54617841 903038310 674624532 184659605 723456564 346950371 119747537 316251471 447841877 23320400 981067419 119238841 498881921 737413353 373774369 642162544 339950567 106941719 836082683 306740665 791804054 377029765 381750205 858396677 756925556 281890607 930907208 469797669 177115636 379998877 200115584 628444623 315452741 962843258 588767024 398649809 224938378 171046967 564218910 226881486 756969035 713519197 316493630 662403369 202880305 428945891 805415946 492587859 215800918 438180405 722021064 151413531 982966161 142082595 996652293 56894171 860611664 765068092 239727068 331587938 845753808 994502878 284989288 257053504 620089551 825100498 62657607 610638199 523160826 746135889 667543242 530880562 939509489 842777470 222013028 757110334 545414028 61479231 844059892 95044480 831374671 89004458 241986330 785744582 584384985 602210663 865812574 566856068 223235900 410301056 500608383 730297787 641267530 380761219 114037583 169001639 637315455 392813283 912276124 990246220 17264718 530638290 120753857 882849184 229322192 702751624 429360796 618461296 87630483 477214489 730018754 417866793 90003552 394088141 268447340 191087912 215368452 96245227 688897731 740779730 915012832 269250582 124866270 424058049 79429213 76425505 917066072 982266728 900286498 207063311 229703489 197716468 552610198 974351915 461064611 500443680 778600526 308305002 740262077 61983920 725404581 988320717 306353251 845117568 239947454 400163177 618690950 936055003 668865586 625026545 489516458 640288635 256904993 435549504 226447485 533428445 47292156 278467003 349833842 29427607 59493104 664125237 278770484 959686570 823956005 576311840 646663397 792983765 903812587 587227159 912776139 732036727 919222281 993222323 216346124 413267721 921139922 497268195 918355497 972715714 609717791 242989233 170889443 441086272 531922687 7876631 517422317 641581587 954437484 851510245 485412758 757968288 842436997 155683369 169811835 731967380 420546479 894619644 801210982 156916811 612777352 59352502 259639490 144028904 509089512 489426717 602649495 120488548 166786494 120516049 923697149 69958211 713219298 541106785 455072189 925988948 438063390 485029555 546703381 894648131 619606403 911751919 39094296 194207370 109630700 435930109 699231189 418897760 511219391 398583072 278827791 32394560 350876868 957182424 63994219 726272402 256137614 30749618 222476196 219436907 549850285 798695945 640074729 665604947 83503819 510819330 478016414 446685002 495520592 784403784 947633609 556754607 847399692 452037972 787422601 314795382 427466829 293489876 731583038 150548155 209417129 39777014 257404698 778323587 15639908 855525288 816312713 679066043 733417977 144719571 698886168 938759224 659335060 145881167 522507949 1202077 828867733 439666911 313448399 520801054 637603285 281338509 2141612 887145089 622135726 612516566 375274132 752411104 612726312 526821123 146875809 861498054 146687942 549006759 568176675 384133369 942553727 431771064 57625013 508122501 467025607 336963880 836277017 242301526 480216176 310539699 667570904 495100735 379412246 26217307 381704310 333440820 430671626 196250857 474451962 661903109 981036571 11806820 913921064 618633170 51205454 310530783 180882163 115386276 74455041 812498921 106005016 74618088 824519729 782237880 211425832 140088672 407797892 457893621 276015973 908505632 709855246 540946620 209420913 549098017 406057642 81901243 488849412 747524473 338437172 856323940 109557012 435521 504576558 452040512 30255740 240205937 317375480 383922491 742414020 553891541 196986249 795505182 338707692 741627424 206275139 248296157 235523103 281988584 395637625 395433571 363326111 422508014 941806602 845435449 167793760 844732033 637849567 695342603 550055024 40114946 502513597 888998913 572858156 785497801 344842837 310821398 842763323 441777314 329499556 411639339 512278792 124618421 562304585 419298412 732552254 252808630 732632112 689070012 821257399 895577254 502126916 827666175 180980083 273891648 761364549 119932093 526070606 99698086 484970151 310132398 842068734 819569340 748092832 605252097 825017336 803843659 569577247 279964039 824290352 898430137 235012041 846524445 110027217 190129558 710928611 1690588 192101834 525785794 885555990 460486403 366886728 114266350 750737678 393713926 865305772 4557949 466136949 258940419 497192611 973456424 100398311 296888811 345381187 921397784 459150827 913632189 660439421 694394412 237431948 431607428 971510959 856571273 154423594 621058148 615436030 76094091 724363055 642098230 1665913 928284688 884895550 743955076 665926001 946799630 794053491 465272330 477878411 286139989 355473132 173235590 85983292 924924261 924389472 689996775 457440711 189581064 145354960 762287859 345399396 150996891 408842140 244037176 558279598 283156983 470533257 113336418 567128883 845860066 820045825 254271176 251026908 277358100 224025028 630792743 101235632 915290085 278523967 682167936 45506903 300035638 754885233 532867622 3089647 722190564 46380500 421563000 565427463 646662712 63447427 512411244 201957154 314326684 995727890 601999416 947908203 356781787 590401731 461621702 575368452 334022339 359670095 591760166 713591242 868699805 288152312 644947582 830932159 470882318 968752159 639614619 966747173 760365281 93602873 26592689 264717923 486538730 891102455 605389469 266197171 143953640 193393404 581697205 97280482 790178234 790918818 311601069 618744154 276503467 424878151 646646785 216470816 759346235 180263545 328510980 565936667 171792128 623499754 750809162 188725305 18923630 806369531 232312961 934791016 586465499 876034365 432579580 223023406 24483880 910365075 935759902 929994200 661028463 263228565 927824317 880023463 778718962 88034550 633671660 1713048 929804261 353103274 851967855 257761607 322188007 352566881 469912757 583603528 977472380 77528990 991186291 911689121 482816380 712345322 475643422 405408979 869462587 371260200 366222272 907671535 591066003 964662684 54419969 567451223 501632851 356094701 960141037 861780173 647863057 140245702 890721707 846411429 256584696 179883792 960427064 424090859 299600461 737643117 270655523 600842591 759940462 767714507 513144716 421965253 27030674 930639413 775035008 94758411 567318733 964585478 320941508 873298777 444101849 232417685 800091563 789472443 839647135 154016016 187180845 413720352 520122118 968210790 405698039 580909504 269621530 171173581 153352574 635977114 772959059 275414320 966253019 764027969 562922173 404735911 273080154 70636083 632940746 956403997 168797672 416905714 565956151 747537265 328956066 442792135 570536787 426604627 95867621 330620538 947584894 50504226 884779975 271145638 678814810 216140243 9942979 50492879 674640422 371702367 206460108 294979513 857901280 487056243 450519205 272667240 103406958 615542030 960668092 683988325 491678544 200244053 403972290 956542722 833911309 185969073 103119886 498572433 682028377 111845234 575286990 706667546 596910943 921830354 320495843 676963201 666095971 234239912 21005475 315130085 620424391 591855545 59215837 307265248 635244601 249101547 350169321 74601544 86161500 672728393 30811556 529166671 868434505 701700420 691110277 333828165 78487990 737275546 173692763 889679640 11075371 963106791 2700927 161941777 432105393 458683692 113113574 412880165 684934880 96529454 758498907 975116772 351726379 279470398 655572766 713193011 831198692 529803009 852026788 429872401 357305007 228443529 879661190 533918083 546214118 600564366 974784295 631526244 799904110 944948933 231300871 291469808 837230461 579119783 212813140 222112332 391865114 879166941 141214731 507344060 701819387 574611603 467915859 338745954 502887019 187169543 365060770 145168501 525528613 880850030 357613829 991454923 767090833 128422385 611263486 140734466 905478048 858224355 838408000 403999267 73661592 94975438 173864615 171980232 658306764 39682172 178259702 846969583 935366894 182062679 600033370 945432279 668829408 115582200 573110169 367768587 337192301 235977678 827779132 598585681 616198657 390527468 815326120 415602751 461552996 762987037 251535691 290118074 271584562 658892631 769815734 940368420 189201559 32680096 68372855 103774569 800703633 549934729 246048134 697366364 111036288 761247517 386755122 950135642 529441988 142152296 501799661 975886864 76603180 414402290 18788454 743242093 772328010 511779045 180552516 470064903 772913339 238577807 710512315 849519005 859564741 682138243 773778263 815951369 125322128 981078251 6848480 395342095 609593662 855914191 200821778 588185927 692903557 27242939 594808873 496736967 762135886 783009570 42898703 819085681 534116674 997558400 639044087 615090970 79915975 393986932 486596587 469537727 471245064 219202876 602728960 855002026 896508558 801374721 26958670 179155951 120979414 22778072 506487852 69345928 590852953 234923049 642878250 847534838 20237925 727907475 352607981 135844063 873465669 160325218 140749054 168618722 605891740 718031837 305835317 444198737 266769693 459040261 571145707 619774845 342672711 450777117 979177100 676111165 802753528 505385536 917413011 205713013 425218591 30359636 16477531 352753216 37924927 323502691 173404910 951525996 136106982 407774842 577334808 571915083 621572959 250419676 585565363 970357981 249096500 540101453 937131999 806864859 521104301 627431674 771323710 990835431 370066186 213856083 940697804 848125156 31003644 767010893 75184431 123269560 81998350 166909425 324520951 794411039 872149062 891601920 474811384 88693254 441222536 478357208 3973451 136202224 368174430 762156451 700698691 478690239 846718171 203085749 319228898 974341809 947465101 318686735 190951373 174493802 526278632 813317203 320819489 475627243 673636132 534600885 481645821 30089364 243111341 692522427 400298131 978508796 645272244 241797227 795040140 460483234 74605057 123016559 900420645 881805622 775585377 439636860 806734925 432093479 11330739 320332126 920526570 167064623 694153111 593797888 346659718 201425738 1809755 756832860 133976987 131748003 86988352 714665788 22297120 862837728 56973329 759397126 850084884 197552267 522774575 479449826 939974777 248710728 142951879 91614328 827746601 775031056 606062843 951103910 704028282 788439587 314807797 952674346 913525657 633657773 959945157 489682459 388171529 450401805 293515017 145211633 890470369 563224341 564159608 139855701 652671349 622258955 323259748 8483223 386771281 394322434 543428379 360982306 852368424 694560023 599242545 440750276 796975393 110268765 802003010 180138264 712735127 550709849 653533700 523322117 674648235 668473569 32013733 45090633 314602738 33264862 665269784 465653412 579654357 467055423 23879236 464290297 782643182 740562196 38899902 345232670 642849701 432138717 165559555 267362121 278484852 336990840 91180317 958770455 745177193 824484101 913890036 951142198 529371466 476468320 155995181 97879511 124600543 511280463 989630342 121944392 702636268 154581254 341006093 488521683 705566513 202505006 342328486 735714384 73614179 695626952 997445814 938088814 527686763 360876950 295186671 38653308 969955915 693029955 201805408 989437076 720625650 307881668 440747554 392289293 916438792 831346487 202738672 902531037 790729991 898820044 528518161 808478958 530639793 133258757 666966417 619486954 214965235 592069001 572565943 160116426 167784036 333034679 886083993 535514141 215963717 681668197 236272991 805633153 831142378 53289476 858254891 171637447 294033463 356625155 490256990 464992866 239321951 872798004 595912848 877945545 915487102 366817490 871177988 520249968 541072204 333954269 469859652 977117965 276193157 72941055 780048249 497793562 265932149 888061343 542985184 773004732 586306834 61014758 766085681 194087657 871032460 263637153 401414091 675336223 186313291 347665419 437694498 980064939 729368019 150816251 66239647 76682126 661538918 304144734 862108362 1096815 666536006 430905633 540184030 730945371 569971777 261333522 389890690 461287159 176243103 157071630 818213340 826359579 84315314 506925237 409853392 579795630 920960821 430655650 865857455 314643355 636199575 353024540 40478449 231842664 845586261 173068810 115181037 744189959 256695794 959904336 189418866 187782318 806058390 375648541 36627274 768872183 677825425 674823045 528874682 120283512 425161301 216974900 876291986 818985896 78003711 659180597 245762850 461736347 658974694 57318342 986605701 592363255 275663355 422526492 622200492 213880467 966572414 979932015 72457241 46086743 549627943 273404358 102333526 349675715 645196779 859712824 462693741 666425610 132432547 813133056 256634044 961230311 643574326 524915892 951931008 789569136 302990403 223695004 526283046 25966521 812752100 560094962 243234175 798515602 862091956 39847281 390039117 737632007 798212683 195177125 96192545 170735624 839538900 509292649 879748103 116501599 304317912 346871588 564297329 555132572 780490445 952844474 443750795 309040087 175970217 561786564 645163892 353101570 819352134 619772026 637961299 264757977 980534718 265081197 340034721 335255290 916929179 851387100 682434921 543921742 953605054 970337378 617130421 136689273 862426873 701716086 806755848 531483222 241826531 594323615 569557922 229795215 126778032 627137161 453796342 930722099 152768445 452359154 490318929 113345218 860381927 932616318 277521373 288734672 634711234 886957887 864670570 518610037 903335775 494004150 43322008 3965790 774471244 14539694 574652493 517524216 262966330 104545115 440718054 191345092 552591012 173383536 522860272 983996743 367077858 870742365 289193373 661271157 734170423 237728610 433382335 737028256 464359510 447784850 994173786 172320989 310561006 774911424 86634980 42999893 131064095 291656517 399372992 736256618 275524175 34421377 223401506 384209278 257796048 450050637 716342049 346754512 767559098 621719378 26375246 628750099 290034586 881634459 2739627 175993397 388804407 941999181 334721602 227459229 824688198 694747208 549484382 313769694 988726823 637063062 668284452 417310876 757190559 791506473 644078801 55750695 455104522 501226975 553798806 796125165 448868792 265196433 378057988 782038445 958318197 713458961 335314160 354993711 232724001 609812711 500470111 462805169 928500423 150597764 470618101 465292397 465621636 405800035 221227072 298412803 469466400 18929732 793096055 225893372 88043749 34126846 630149773 622061448 519264368 328805723 138722221 703840843 670685868 401877474 333289161 604654781 312870266 388915285 433849180 722604092 897012530 434789077 492201620 684523938 924350212 886895309 611886012 791891509 777425909 613105096 191084911 262020060 220393210 335890860 420346440 979701320 588291239 395141188 175045631 531448694 805644078 891475009 672292547 585254745 446436290 952484598 330712855 278336435 150623011 607639524 847845380 185955630 112705249 631535933 702035654 224723969 188971008 754927024 78627120 110431274 197718790 540116372 281588049 56804940 735478172 837757517 37437878 30745655 826152686 275737232 314416356 849408706 801053029 544271232 968219956 800553650 467767217 175946864 579499365 105252608 163277702 340701704 282073646 867421127 741067399 733302171 453981184 668036659 617587276 60780923 278565639 621116613 764144239 550757353 960822660 480967736 679862361 631687719 416763571 878623236 702782239 224032094 920866385 941243908 173162470 952333842 560728408 10004057 697016230 614397856 296918250 946624833 42258443 219026763 430672551 830373513 123643321 194510011 979159640 199897739 548222581 78162244 239077142 270319307 896063718 166059325 153737666 708392238 682969247 837507585 244528120 793116618 453989897 441590087 469899736 675060878 265693258 209423816 548653554 496616264 444325161 969679458 845248287 691320282 285523654 978210372 877216775 526818940 31974620 922674344 289778553 930919831 530147838 501792512 926017853 27950266 336465110 151936436 628484125 798152317 659062115 949837197 459716620 993218802 962832724 687136659 74210903 145729861 745608581 493945455 20361487 231827547 542048305 432179923 151611542 106239908 632750764 195731529 489808940 756831708 329068337 100626844 862698291 4288780 547651025 738490059 261840460 643507986 710986770 302476789 644930267 626995553 829451150 958373743 434200901 384383063 714287173 829750114 483797832 516348074 176890210 233206232 342672481 944197893 722127699 371779448 158421369 570165358 388995375 890824127 231089583 998900849 643484419 430791984 645298777 469389729 492037037 581741208 467421192 809168900 560420501 611584218 720960845 64788570 892557114 115847474 46212603 774128811 69419425 637287892 647373810 984560830 80609746 381592677 556090716 829597626 342267999 882745574 583756881 672520085 546200845 958150798 780710041 117547141 806734387 994571575 183267497 893118164 916155412 501351614 957426274 575825212 354155662 688572296 569700904 17118959 116602503 356779918 35752629 227936161 176467674 60676116 64413440 380731955 695474229 464480904 607366329 747010356 898405926 211174001 95885918 594424044 118986892 146433498 817531800 293314691 661155365 970707009 770629647 150075191 548047509 122011030 223784309 780216736 620765961 384623245 53252849 351818130 248847923 117504240 198696559 41891301 177294992 45073972 601200593 479304926 632189109 851007227 685400038 480417903 593691491 796169889 114568461 501833920 327412178 912941395 673248823 854785466 80574690 298832374 653151533 290641277 400317695 705988254 261505185 391031287 940680991 4209528 136041657 819342103 790270095 472686257 327508815 80599815 936084854 414451165 778046255 519297959 297757074 105878021 999212188 411702051 91309834 603608890 359343366 507538069 579651872 488912816 333364802 679717162 179670690 588516924 121601023 973086528 921760371 969784622 375202154 935476131 749665780 78319067 220126590 403233759 689981581 600389042 537932531 660374979 64491887 766776037 147278760 77901012 170371887 496759183 671766925 932392886 739921878 860461181 684619983 702710711 171013466 999333413 279017388 342950384 828611034 885029101 689456773 893302602 861117852 448028013 864631687 624268571 82454485 501444387 428761157 851972927 506072473 407309998 35512074 246848560 884045895 237511159 1453679 573030497 875857558 847280514 484497655 91546037 446035551 817228799 397837875 742607562 728268441 692891798 596120446 558080823 279604981 256489991 164207728 893858243 824787102 857084478 335962856 196144865 988537644 102047225 79755034 376486665 25505963 548216362 232154619 735107039 268953480 462813265 976633865 685142307 495798446 418332357 774011352 694357751 340813964 720269022 739176514 681860126 406363797 668294971 86607890 485523069 333388945 229602930 364700324 496958575 342354704 786012154 286656158 850404734 504270229 368530329 298596453 144400813 744515731 180987469 691540526 196026087 956715992 263754608 59831794 568521080 170481848 967290999 537490474 555564516 15007399 363730518 476228988 662010750 598336951 97475022 808832043 190965996 286947 442192571 763639478 501438237 340594599 69854904 562386352 787714420 198113051 361412896 932807839 501872577 211110552 160555640 105777943 240496844 575497626 711971407 361355431 533077500 875153228 370403160 69572270 531454024 888459529 239227087 94332123 462884106 485856005 155584774 112118007 640165522 253360824 325697174 205844289 229356371 542061944 979887066 730001876 760696323 24443573 105982416 943822813 83774401 364382822 886153889 939300268 72514024 766433253 99579569 112137626 232592674 399161772 344883873 639334883 840490620 488169351 932834731 256836736 855878885 645057654 661569349 681059193 871788421 243319849 49127975 688293598 229065815 961557601 633304284 450581584 143781860 186167013 415901857 307063302 612503800 520173400 437579633 145229104 956468344 33604855 169544924 764375394 813218352 722036781 308207821 855470872 369426708 678696246 975473029 392109158 187706880 754648471 498250243 90894529 340633735 492760865 383919936 461549280 391508260 675040515 368637358 240825877 826585604 477458076 520460950 196143630 634460514 476107597 480412838 777939594 229508474 493344978 487299770 114973280 564960106 23420939 7713862 91596320 351658784 981669018 308603146 556117584 229763051 68860939 395865445 710672498 264535359 993467674 21069386 688279700 462840917 439158335 765489140 696474224 698530626 54843886 353489897 65814211 391791201 291142551 498367481 851031616 358520125 294203335 235093841 952612984 110309819 249796211 495068381 887227595 181569469 404573533 649155853 734721887 422479336 258743780 260597228 257425002 332009654 674353620 433556533 374543762 465579245 760169040 106398738 578409555 705465671 722757363 20900429 235246136 746585299 206805407 287189582 897419709 243618040 194093907 345039119 405427757 761735369 52055019 362914763 624996422 862549885 630025155 150434081 416338509 432626876 610897074 76832954 956398234 723209761 279480958 757004420 913281852 567838184 403059005 645944736 881518889 800926973 7892060 753275848 258053874 724258036 60307426 470045775 52640015 45244594 126796695 982253037 785334713 972614874 20901142 713473280 75001105 672875038 346299213 498950285 228401915 248918241 279248743 21184362 104389702 629486868 547301407 634426526 854626532 463811910 192643703 248584233 333930794 288577597 794908481 946551677 778701008 80964173 26868364 395964323 940324620 150838212 937191250 744346535 646955623 562385811 914630037 683218217 567652751 345381223 531738546 629315371 917733673 351785911 660326030 825055654 314077982 433016777 350723738 129174854 910474299 659233606 945265773 187642061 652807929 126998458 387177773 685247040 90764787 251487376 157388423 155566386 41315209 692026704 506955702 722366533 603376014 598169388 639711579 659861090 73843627 724651609 557006118 693721150 154217713 927798922 623593841 723303629 818343227 91551078 953254489 67141398 765779302 560176749 989378597 265611594 190797050 301970906 345846962 138623454 60164885 874103089 226375964 627110305 60614050 55847913 57441552 831082500 732006170 900126954 328037701 658427689 628604900 403386968 820370603 469972322 992159619 895783393 104104081 176863434 30995000 971180938 195344678 149996865 191725286 214972027 520321065 589303861 838387183 26834116 930988704 881331829 843224873 921029616 463139954 932802234 254535855 880761575 501211374 53723512 161745198 78860785 223559151 285336497 701069216 539747320 5390237 646328104 814131617 211314055 374559906 160612995 394402707 233801467 127683200 126952866 804980908 969706098 510835034 625125636 870730315 447184677 755105669 765822139 59178194 492298688 104854179 381416085 423239060 309559633 758893273 337467000 911772157 635864663 765725366 111023447 363511016 897030288 117275626 350695912 241400005 385996879 923239491 121936514 677994090 716654531 490889796 882377537 48340471 913731832 821365568 630912270 359875976 198178762 990386838 270255310 782245304 721978049 617122188 676724105 935982663 834987282 882553091 4906660 901603446 759654737 641679744 893984570 589078022 310780035 690815338 88638112 826328372 506424904 225708461 821389111 72110631 125116143 265640927 505879594 630328169 570526984 232643647 934949433 248612352 188484794 117150433 164162738 692538023 209530773 276547044 780321946 943837518 724683754 638435002 487097326 597887198 697213081 571653276 958903759 95380337 291699470 268632816 57498383 281182461 288364214 99604505 658060381 875818951 166527075 387469621 189209903 684483695 305682337 576698349 50615776 340450140 350614484 183942660 457362577 514502468 276202276 156981528 591359227 625608940 374566664 374226276 622806202 722607426 117378605 807001399 58973091 726478978 489288935 539693612 640423081 308150132 806320235 900436225 916881140 473372383 322129268 362161186 460127740 992203288 390488757 868268515 228921055 502316682 101029888 242186518 693101255 958668824 136322136 743583892 263342388 357979371 270791776 447629585 300313617 626159540 613080778 818985193 125845885 94475232 981812843 290439624 662235005 270993615 431697844 62636410 930292294 115479394 499757513 609986439 278722607 561618861 225274021 198854908 896511859 921144099 258582177 447093252 934096332 838876236 595529803 814558211 419744966 121281025 704005021 519309680 761669073 911118146 214845948 329776027 169872953 35514361 448907306 303755842 805734521 716384519 387355843 939315039 587132707 470913554 417475761 518425727 651861881 290460501 765220010 358897734 392565608 227145152 376111882 49673307 286430206 219200991 53749041 381110358 801749330 481119170 971428637 833136386 688956040 279395493 13671017 710714697 648097368 75137234 645391113 326426447 303939200 345851183 897969643 689817690 239405423 12072538 51459160 763122478 492501876 574296125 274960443 341083339 94294634 753055640 57243545 11387571 612855940 777891537 184160757 930058474 127597696 431083731 532804170 316154470 880315857 129553014 331497617 747976742 845897335 214302928 169419106 209632072 58497279 91417758 12183244 959615724 570088119 732378897 145105264 57339882 728909915 413515736 451216082 979188759 705236731 50360938 732614096 267536676 855828787 874432442 888780992 552086820 72632038 102806218 231928038 721632264 238730037 293918682 992037203 950799013 101634664 550476678 377681007 136877463 9872373 264981814 556239587 512042534 352509140 87382520 43175277 817160806 185259231 61913971 718627824 534173800 544896564 766275891 562824589 676541813 78582560 323713033 997659072 848350673 282103834 730228435 997850697 205170408 927568823 787674784 619372298 406386945 198458504 193801836 373597173 37934298 509552889 689022340 589706171 359142821 778824760 539529811 78827892 746520203 323481567 102913875 628543821 398529062 523930007 761530263 103351328 103299926 345922503 128725808 359763499 510189637 173682234 599630561 65475687 310862379 659554570 949083997 360790067 612686789 335679677 90741288 524386633 800223544 986272051 684361686 721670366 874329594 814276519 153196311 491147456 661247977 586712816 367633281 675568359 217668838 703569844 957793726 57831207 797900237 543738948 472481805 495307304 487668448 583857142 533207888 400818918 109337729 358481154 989911585 77341304 353494349 878158604 337003182 502301342 119094351 569673962 637552994 881797739 626726671 67514996 947411803 113214170 357908648 339699612 325302405 666302447 377901603 466918893 436569844 117506601 885030654 445035031 545658984 125365359 447702881 838141639 944908398 425541281 832347338 148495942 703160917 788795488 489315767 47040700 224405025 576542135 62435478 295573147 569751021 68771972 495950381 258704571 593991762 402381148 261314760 630486028 612908563 524602329 483524196 406663421 405393947 155645324 874014453 690977886 581270167 464755143 574296996 910581307 729889646 690535742 746737303 412784800 488754713 539599012 418653282 954272313 977479619 774574180 854767640 263247302 959830957 416869106 521071706 68844216 248459588 987764252 315762314 766689202 525908655 277767683 609072905 914298633 166078682 663010880 216996453 742754929 751435962 458540396 491772473 949557699 233199594 491449941 823280011 171526200 895589191 442220485 862578907 491166683 886208556 346761577 337214951 89271556 777753004 629367599 88809070 970506025 268961189 228635773 750449569 113042920 517718837 507275340 656459557 950850582 374728491 450454097 822236609 965974519 40777456 469430779 4746974 319914941 675985767 942219903 990589115 399645054 288650014 956609973 184064181 242545107 588292179 169814119 485308340 830701871 295749307 558502816 81018664 876963159 851760878 636992886 793685088 945970794 418960003 660325486 896601104 649934672 739227039 315057649 314561500 464400812 80452162 596853340 475151419 912299947 425118072 249304051 223106970 443738941 806113107 949094722 79141814 995651327 572684247 11665812 986440142 554783900 447108654 324976180 158489335 852787910 58136302 684566325 739626067 922250104 802272376 473814117 646650488 96296035 135505526 497337169 805083974 351477307 900692984 583992681 609294884 785006791 410479341 500573911 978768238 742920967 99719822 750364914 836793802 65610651 477478249 974848781 995438434 63790834 67358162 927877063 518245342 533239211 239347912 167750747 421351671 449943825 659618274 627483323 93749009 479294438 318280954 19797678 761605304 30210326 329289333 241647856 886498967 928992331 947190219 413286615 37934027 583516758 560574794 942363321 205991078 716331075 847844770 120315341 595465333 805042777 965216748 505744608 410239138 74968463 669924244 992260508 795632491 233571153 900863005 839705627 247716650 260729533 287093780 422692217 188612590 281251334 572903735 261169503 607367808 442167285 301644986 752212448 813457029 962464570 978166020 894866050 630553841 433460085 478150406 668438610 586556733 373001612 716990901 298134265 395053588 185956112 856015311 25805839 922485182 359122465 280621632 130251172 298093549 429379034 132801340 912746444 443330349 720019712 424302362 378790410 744006224 965506864 591489963 198996938 609812923 97683679 414047064 741211630 260610773 85188325 222918391 139442645 162834926 120032967 619005356 114987633 322845492 871681077 763974536 589744138 265350034 330457978 893891101 114669158 774376907 709077427 275424901 354975134 675043921 357807963 732271502 863508024 852014369 310224215 326517371 483438197 566412743 317198138 13783031 752677974 22040944 530636994 875699301 607767199 564724659 221084514 96192045 795782788 83029800 471302273 384761154 678387443 497402300 172505765 109464738 110047845 177654551 501816436 319500208 303173447 680724659 920516773 272840489 600909460 909002458 391539866 817650919 777043155 859861321 969516443 581556696 758206259 405617127 427837960 116296143 274075195 304401814 442698357 921487157 955761735 865738577 909909567 79859314 899964763 944997303 692430949 317174991 388765646 339965128 72999003 681761270 430226602 597455145 487480358 493995387 569564615 554028271 310029818 199663917 683548680 312325812 240689533 906709929 77080112 339132341 435483099 687638043 480278747 223372042 141840761 647413085 767605011 974539851 550877402 610899867 60623233 490360590 804739352 584183838 186049931 432739995 429441820 713836045 804236795 101671184 664590975 369770848 562059847 60393892 33113562 873608767 19352697 234145949 774529949 353881336 878994298 953724736 34523440 669367623 554600942 363921467 429878000 315980260 619213736 727522607 103854261 754947816 69958208 455086639 638777266 906986423 809273983 743582443 160079882 274637339 812750227 567454614 295218739 959648157 353088275 180359223 404612235 37757721 533522765 174872503 921571077 230547265 463221133 597936841 525451977 522058911 288334834 259867342 230831698 387771813 772120225 649962710 62049627 551744975 357419542 227840325 180656671 382292999 212084141 568232968 421358165 96328970 407550584 520434268 754380590 313652922 728313420 875553608 275088915 896137716 338777509 960185215 243839515 433956509 676977631 518755838 655048291 649355401 506232791 820916826 10976890 189911564 602704661 502466756 922500903 723337912 894739706 193279318 644678263 932766726 576156327 98906884 264754774 550703745 94681526 942121769 158805469 904171499 784517372 95171027 346998383 211259725 2214219 498770688 848405091 897406620 553145565 139197901 911740871 253567957 255246817 400332840 422247515 474923999 62883652 143096979 19539026 581530756 301372898 935467252 378861601 157229972 663639476 508478105 605239892 441064811 812327425 538449779 255392958 739502099 315083715 843790563 59032035 255538953 811672747 487463103 221421313 465062092 709857662 398313232 590385627 683045522 279291436 273629980 560597428 778365845 57392159 535101476 565109998 115797733 606169301 531577870 183745485 70610825 267601387 821852988 164984197 275275631 454781006 828033076 205255566 582162017 464789233 962183531 624553125 374101701 525345819 113155441 890482722 145952888 780473119 983239589 629228832 276898331 401407182 87496012 784112444 676647290 423926345 573412016 713139160 130402745 679295383 389749517 788161497 671668514 916229020 289924208 495673064 490316583 615345505 532583684 519778494 754081394 208497022 612037490 167593090 114921066 977693713 661785692 190631227 633196178 807530342 420735722 516243961 440944690 134782183 193965729 229762444 324595864 944760819 706204962 28680163 382243017 520975922 224810088 818964185 116654599 929450385 994638620 589292541 265785601 542219809 528017735 358172897 428911397 984465147 905027989 73127803 838747354 477110199 713150931 467287107 817501544 335344537 930126023 596061235 34261459 650633498 24411059 121998822 64564287 238687806 341227893 238512159 556926558 785675991 820916214 66265334 218383724 998302231 353258497 518427409 517763270 491085219 103929077 118040174 997323260 433866695 892513427 568152704 665813848 957081760 817204586 228543972 785810147 558295142 666910794 697277543 916008693 666927278 12969791 627242583 882457019 496673024 155339996 481710287 135788915 101671634 820095338 212667365 531950621 561326384 248740007 400090296 349442350 249534272 52202717 198438536 867162938 878371327 216985861 973717278 165903257 995929462 142459173 84952915 732272440 11306906 191700165 879283339 401038959 196510722 201742942 104238998 610371251 488404337 617272881 505222971 517464985 118632250 489786668 491127153 770402187 888950695 946300450 355663698 774603946 39653554 82296103 402348994 421297472 99729715 563102763 181576148 589052966 542043694 89935803 827840181 827572940 498420450 295194919 822286128 897281664 404257256 764540448 184381144 919002776 119923621 641431442 847910837 475632494 388138947 569638886 525081177 101031599 818774726 194460408 962393904 192169046 582775396 443793540 786450440 971863970 34595727 838556918 522817178 221871917 500293862 447983332 154650929 213169171 824142195 970527625 443000975 975803209 11873434 703133471 693066068 828186026 68074928 235770888 989232597 315837212 666947982 692740828 43983280 616503013 529205613 799304683 741756532 736934487 311254929 667544184 832945435 619345656 768064773 569881301 962920679 14206545 544033197 875763863 589228088 922532741 857173808 49980590 202731992 620804478 701163354 432593627 282198984 855930878 506102955 149875649 8045636 1678614 558163154 263230872 346459143 315346555 495909389 426784720 778303023 808265596 561616051 656731928 520824920 674201216 778935182 873893336 920604514 28058331 944216135 363633252 786230733 733445725 992037220 891245771 341321739 946518271 518337611 762374163 370029393 196116020 155619379 877464385 32653689 521515462 515561679 317162742 273547074 79039622 691110441 942729152 142215232 802603796 88579302 300668705 675744180 150967267 909628883 250945744 782461898 250004123 1785989 569470028 312827454 565789346 649090258 296805118 642227726 501849306 806156532 293555964 93914978 392930093 436807890 584497503 424508639 901082725 771726394 339910127 875597734 540602220 989003231 143886549 496248954 961734343 631050449 892664381 47803390 846280240 675393819 667484923 845554962 308803130 569262377 159392874 34778114 589669988 149356039 2773953 861068166 883348513 871901893 35956561 247548515 729267622 773718899 231906753 265507213 684484915 35539737 736155820 115748175 434118497 896304793 964373011 681782700 621336321 486439018 465678686 66086158 730157511 920993231 250523080 990088708 48557539 677819981 18398194 833962590 23809780 361423902 939348983 558113365 124661693 772505647 903242735 922034714 620654208 358207665 34766080 100875043 230891992 340686181 540442026 129835032 19644500 327994182 180074800 153655426 905341156 918554141 360018943 894620574 143108854 941112389 192775452 764024836 274104397 461618714 158359306 940098824 285297337 230859914 27942435 245486024 620840040 730325465 537951169 833665524 906461820 63766496 867594625 815643614 350143658 243752829 608447417 865713030 554390891 452856743 788027924 55556923 78604496 234903147 478835750 828162225 173861977 130179751 408267675 964035556 22374509 133012832 928014991 760441621 565907947 840384268 592069308 530803706 704243384 953798429 656609868 715231476 3337028 460153139 523624545 260560945 355615640 957837157 196402216 689755115 50024241 390458749 296607095 814072531 123062072 808344624 233863367 926113086 686253460 107259844 197827624 659699907 40961575 110365100 632065542 203237557 956674278 344403970 90461164 116465995 557771428 587224483 200548252 566029275 523536310 666104564 14746831 230954264 681737307 209068767 510633643 642475905 108510263 338999503 845294155 609560941 98728715 19861080 591808798 64564227 278635795 568913928 176916245 340244843 355905182 190256688 129559669 122577654 35594079 527707411 139627263 221382932 111133629 274317115 292059265 947336701 846869032 689523199 699715799 415769077 618180866 383816388 513380737 838729405 505546760 486374519 953197525 67751913 66117264 17377507 618113383 856164532 703353073 325525981 71198885 513593579 768017688 249912052 621853414 283669890 570469127 747470275 916517622 195268394 963403370 781858254 928278948 453498855 99473767 783972921 116658275 576345385 339557078 747882659 8080334 642877985 813563241 532765764 927995897 6538738 16356340 47569442 339101519 999768305 779420299 933654561 191733351 414291184 84295549 638764110 419097407 993582000 832992910 302186315 528929816 324845149 238672884 231745982 825505850 247121754 812997276 430167848 102368005 445097196 734768116 399729476 473014895 52888030 624624285 723431989 590431352 914799394 572114551 893418632 253449618 699756096 537873040 520615138 582135417 78706084 972097716 722264233 152548794 774959776 855303353 92125914 387096139 644764152 224735281 544754511 567311285 53185956 510717053 41292902 775165851 428020969 697396716 436779870 603909656 917730041 220386345 397509339 553556703 166796127 866135977 723498179 20284846 730863901 998125093 244553391 145403556 62126543 638549426 790968642 433086465 844268660 846827571 262863621 350623118 389168742 354120546 629592457 337155569 865051224 123108665 384266841 681195219 235472267 733859687 574939976 314086616 189589822 337381606 946033102 56376210 598346701 578434163 790680308 951480587 596767917 29665483 149280899 987813673 251953583 10326779 104897109 381573837 192284143 497849991 172905688 3523883 367569654 290324687 668162530 962891483 354465733 988411461 585904599 117662915 878440612 14710157 607929792 179920060 461364999 973456920 118048576 785922124 966640319 772338681 924885049 230182357 25739030 503900883 909544346 143163966 67339737 967130047 130503503 942687266 118224481 114299947 135184082 219898482 377656274 819562369 596342816 350995389 336017794 76084193 829913844 890375309 289752073 457100013 251547016 62301685 71607367 873960484 93712080 541947570 472247497 31660234 641701839 734685123 921366857 86943869 93813834 609246854 723756894 477691458 354675286 66631341 179931766 528948757 120336732 144376702 984942410 589672669 723614993 368468036 496580946 56519008 899202097 335550780 6893189 852545970 778554169 163278967 136585763 893739776 289252666 413948385 549731120 756388368 84150186 729215929 429533130 868037364 381022839 33621887 645164520 849164745 679117309 579854505 639570105 239091418 341157477 185712951 625307891 306318905 314184007 455233819 746517273 807892445 191167392 718323752 941872173 163792900 439725290 768662847 784465931 766097652 32442772 956073182 809769380 162350902 327197394 515489227 976569765 13501227 747537499 308900901 330929222 517143829 151570824 858440194 280592801 432551200 666555253 848206633 77070351 428933008 305727213 404237169 523344819 388316675 834166120 92479192 940233002 873843905 406298933 355536747 717610720 871294434 596144293 363249164 895840033 888217866 108314702 91305086 249662375 942319404 582177070 142496071 971463309 27742317 241736235 967969869 508742771 907922082 367567472 776810615 949533016 714171639 652647699 381769203 543113018 723225917 67950568 192588811 393708805 522036065 794289222 653384617 55097196 625966748 198990924 89820032 185388516 95348874 513599062 875434089 236601124 649969691 84044360 172206034 79798385 399839567 199135215 242360696 534555649 792757502 555978165 643154899 197188816 363825716 542085949 258066202 775688325 542890251 633467485 649620374 913314022 62747311 314514362 297348254 59068583 279253565 482175382 971365941 213646227 709187880 988410259 185959522 53556688 585122248 865896249 17277847 181287750 448918343 245922296 854452881 205649844 732191575 915073756 789294286 200008307 817807243 997659748 179077740 154079228 172567900 473025926 82278154 776331297 731604572 2076748 276837247 532904969 854130376 112852928 298891286 131916895 658986207 325405921 398444189 245042427 362378726 472057762 249127386 997288339 752156577 257027117 802886488 313057252 502774969 870557585 537077566 457373546 454072617 315003445 713139077 883420889 541758008 330052144 522759104 500087824 841252947 950804126 532240562 413886428 286125308 857615852 847299673 62645076 480151827 381559137 380745083 471543021 59723653 639188286 495205103 327137819 448535913 15194051 179333241 264711379 231899899 675239726 935624306 233091342 722430782 144255078 133854223 219632310 489376796 633037329 856410948 938202265 716355515 400293786 329499581 268272635 244112563 291998573 889550237 658678769 398335839 875146134 890348683 414302808 788218858 32660901 993323956 628074310 292654985 370409710 435491936 928991258 377469789 697929442 45351143 883549190 723777097 488329632 187623944 815097635 443297685 525831480 125504049 719598070 495063618 29745460 51897851 41307365 92022331 566748060 641114546 268425338 775817068 56433689 286687084 713205984 530675830 875572148 388802949 742931693 620798138 714574232 26348166 986515215 510189420 366097885 785626865 293816594 523794858 459289895 746451099 489240718 157611770 515268144 923585062 220209613 919941370 306650208 298037210 319493721 264670560 628329449 547466255 198914691 832962934 326035961 512946449 437472326 681394855 158398614 586459296 686714993 674535983 342966230 982819546 455980322 785947188 796160235 129140599 94552042 22165208 117771783 958016667 426746408 113037494 946514244 643424278 520933616 600581960 193793128 177603701 330579208 167698862 348396717 562489391 296742825 909808936 155741230 93144482 719000967 590345022 452743146 894703641 167515638 849889546 299603310 995896388 569624171 214342652 584490892 881124209 382144531 819537913 657423087 999108325 834535108 915919623 29798953 717938403 299473676 427502389 671844295 487477062 464827451 400957532 407589157 195508139 205126408 301341912 53065719 875101492 176976810 41315410 595025228 296510336 821153142 773316672 810343431 304401568 391756261 97851188 274179859 128382875 62904944 61685008 6750300 82786752 285242163 218707960 684592618 857305953 437088670 251769945 731812061 999645978 165068092 869842130 487106695 164168764 502065429 626480356 923862795 953768755 482197339 166173613 707201775 243123071 706086946 77692090 940589596 564463812 358954827 173373773 526757046 741391520 477481996 799629538 800690467 889349956 146422984 993518738 511854786 689722562 234978140 296721824 232887232 667414054 781255417 746602874 704960627 799704396 553011382 1314847 247212035 699289799 948698204 945323688 57192287 159005337 376905365 969047315 128729568 231299636 601836820 398479649 77308860 34255357 800358443 878483673 377541943 872921069 154052881 992560854 25808111 572851730 892155208 143097298 502872210 693871933 1787806 275000629 389702480 26316544 143247614 931207817 384314897 98904223 479735624 351654368 142459780 672251738 894397272 750713272 482110960 177521534 280856924 128292597 303367236 186914948 124806188 924201058 124646360 959389287 328799399 791498639 1190478 679189705 645366471 611931209 127298348 629170460 790326754 558323465 904594991 10140596 599977445 137959618 769125534 892170698 333580171 919591673 239011031 581079875 666355928 126118966 366859318 168401049 370079401 522207722 284617119 266882600 173110403 546966934 999262280 524193052 854685969 440780999 569967426 40448811 709703283 820108719 604271951 407167897 980552559 352676140 323382605 232814501 108775207 417545387 389082995 427381983 220735438 214762905 118310262 134247415 277402400 855053124 887044530 373541672 919464349 937625029 277787369 906121724 546316823 577180444 545086492 147826455 292239043 77699585 374911038 85023639 781002212 834593915 633607952 818914410 522283313 782684314 657870742 657846489 674623633 347555852 676286500 18204641 396967158 608041189 287232998 739207217 401983248 86472262 452034907 254995284 428224888 905464274 482914463 807171698 517087652 568567771 848944752 775866166 353139381 721312038 736567851 520411263 608568208 550211382 171396206 111050949 928028799 891298666 852087798 597052180 930289190 273242005 377560448 277771100 846498194 927715641 49013261 570693672 86693648 364320745 766795578 866403191 950884416 211187135 158470838 25637792 520208914 522949534 946306445 549610671 313674518 546933251 620699128 158799936 571924596 272681087 867614881 34866877 2464463 444826712 592812143 427654858 225772412 499526087 944308575 871446191 511051780 188069350 613150925 699089585 549142501 274291862 400823085 195448690 147837717 458064771 829362960 80412080 644248192 650263455 762461355 596437313 698408728 821923532 586132629 826480746 215903644 323053014 86906578 776387580 961276076 146802625 456328929 926952360 534876985 329638251 924301113 216265920 51868464 201099339 709822390 185405553 541488378 493890325 922297128 171659923 638361740 806497136 760078847 879204669 212196453 323843628 208350644 439497396 650263095 466436686 523328436 271788582 813400830 493680028 863940766 336418246 181717012 919355912 141257241 883437975 983911876 838647242 296071870 865444439 294647510 208507888 167610791 734424265 326547929 971400999 997434147 594369668 132289025 414610807 783538363 53165033 407790589 389219274 774152065 232665904 479802852 238005193 311608314 961914137 665634754 451513545 657644690 162968821 60695685 229278657 289155628 287756602 705396422 450230975 220671628 656623059 659362029 953618683 351039242 303067215 828395696 390769829 399939555 832150401 835986664 619751374 630676914 30267891 4508946 496603075 490410358 355771120 45740593 335269944 925635546 455239057 73816797 5235425 424994809 16913961 421305734 768258724 964589143 653277250 611751740 275935076 358538235 815858674 654272059 474733490 252476945 122608328 333786783 703195964 752649063 569253909 283711077 282093976 208979863 214016344 242878757 653183732 268519113 617187282 582845462 238927611 852941603 883406841 772572053 818439524 802180152 653835979 788674040 922825428 632739462 706702634 641973418 897992780 712448861 428694909 398735332 533169095 552997703 635149231 461027091 114448454 922868093 17368618 342787450 287505996 705179681 468737583 992746161 371931569 684461892 392210584 204596145 505031468 605151005 273234083 190561295 796259080 92517619 693072391 226679607 989037994 659975104 569114352 356691568 643568115 632054549 291607472 329357561 437148107 163514401 172096170 29651355 368659338 918191769 134257287 250212071 445779157 173198384 635233561 173308802 118834295 542449204 589888718 543050249 185336823 396937947 743994583 749059986 728079647 663660850 290281699 252811670 849465430 689201972 429358862 674782636 412170315 848269637 666315516 609147024 716866570 942677254 359274324 934429708 794493287 9133494 108866414 849969221 180406344 808871959 195742301 384529085 561503901 960080455 131432305 848157810 414049500 980626667 61529625 785317983 703240070 232396028 198790464 442574857 433512666 94344975 73368769 649646929 605904359 536085315 961472269 669699488 105535784 897347387 416930297 864247009 935347012 939411501 785885316 959414727 936178870 279710044 579197754 595930072 973582984 382618562 13700577 854319375 518297075 620034747 544741827 119313492 648736734 841378936 702482362 161613878 550053460 274435665 820326339 745996139 339890632 387287926 226029561 270565653 229377899 90525946 406581184 909056948 87267295 238793210 988816680 545264286 85277857 130454002 3970437 99871355 256473488 133960309 303363128 681745310 679358628 207591553 143946556 999190316 667743011 367126027 217983376 859857353 703884892 164998872 867833840 402438287 727405936 484176475 609014809 509456734 16847898 118509269 967410324 125844043 448157441 444421866 17974986 428645761 271145015 375474410 475824904 572490064 33575109 310717303 230258857 699631035 55182052 888668276 662974797 862442794 385949224 259243775 375539391 242744031 347031001 853810674 754706614 560087430 330964167 570756540 604713082 780101673 547934462 47192873 97519188 86517714 495369372 504712644 270476082 437041512 447052817 315430604 718793187 575256485 932843137 135207946 370041471 63531779 954303129 429261721 819563968 521233520 862602871 504248470 354179363 612436386 950960390 194397380 823239752 292682547 344402318 498228428 401537802 177152218 358888829 160120471 637318661 116200583 268230440 101566929 403709387 507673465 657717330 79111124 946042283 469436780 959181275 245474588 144282361 119258699 507718659 220415140 168189300 372470163 150843785 553873632 161068288 802832504 475035606 393788866 781479595 641023893 736542736 410479611 847128771 642760272 91165864 857438311 423734225 254955329 884997813 211391607 817013612 817084328 390212255 197564817 632350931 54653889 644810346 974648754 651386604 485878537 460862485 922931780 214974515 958893763 995497795 691333686 628505763 920782694 441924112 642273080 618457859 507399098 58411729 354266668 956015738 959599152 99891705 138583846 625471160 934517197 780600251 935653324 516179399 481995070 992879448 388236336 855320959 620746919 372971792 648754372 552969385 221373863 864128526 209297657 398912259 676475765 711411137 861918911 413831162 504508440 933650824 95034109 225223896 420250628 561946468 732180470 821378096 399343318 47600273 389761665 648151601 374235718 254435293 642074287 864074211 477652484 190074702 997720770 289369278 863191266 597794319 87235038 625983032 51846164 721524960 754718056 445519712 119685518 797481484 860306882 119326444 134371363 370484125 196220369 891410222 135521218 880665883 622419001 771829465 933343346 910518469 367287086 760495953 669677963 219333885 406741493 643894279 216478359 240553674 665416478 83325224 919474343 18853483 567128295 991003186 933263260 864982466 695908877 695072740 718680929 863267848 174922686 883739975 165818037 621419946 750144617 139843101 680339402 591155704 86470609 342550896 689280475 533153719 415021270 208278934 926085144 195231065 255863471 352238522 812659702 907777717 458469249 487231210 686240944 318040423 733352166 421653087 191966499 9175807 194219887 273383101 301775488 281981015 471684567 902909535 110539670 344830037 565881528 919259883 108742132 755683736 751816222 890206870 665775449 948891038 380802426 730669477 635072041 988529743 738641105 489281680 856767732 167500816 904619525 97612928 936083829 243199055 345732101 141558294 3749487 422558758 777500108 945022490 802485539 923744667 4079780 494078765 622472849 32501414 716641186 329206346 218544110 229042706 434281859 832155416 376397807 470628171 472267653 510667115 253517474 365054539 161178315 163785162 725975007 944852665 714534540 687684077 376738950 997418014 108164981 270239646 454414563 345051703 845819540 946098275 809317082 618315244 468662923 800143995 214764590 585948727 580326102 954919799 135092931 273410618 843842018 299281362 85212295 328790420 393256424 317197863 531110319 930583749 50126808 150911506 624497358 660666619 789569409 368928414 491172460 8898005 554407467 440134955 944119928 934650336 759269768 407696457 833829294 185377005 887538984 237714971 516924588 800312501 253482238 222675963 26946735 206843296 791997321 529671812 18668171 36381561 111358492 299141998 591543233 8679941 71507748 274084149 854050442 127107337 402189199 589371146 934613628 512721796 602308173 434482612 280910436 434056538 485828737 843178615 263949214 860987657 214873695 269479886 874604339 689675409 161039548 827554346 253156012 197018970 535771067 362836892 368030506 479109271 225920189 472944834 530346909 690655997 900741738 802868320 829375864 932520252 719225866 392098637 319063726 177222525 753466337 737605042 639809582 384884885 632794044 47166801 776368374 692390954 269597235 997117265 543757746 384631705 248612817 26863290 548478383 925510572 716487571 265884463 811329337 221361977 949815982 795715933 368504235 877055986 95910648 496131421 812537526 976122128 567624707 998982534 246863976 643641499 734613521 944188305 23486674 638260882 916521121 687644580 12029802 421574556 672446534 378258617 122235771 854808741 749425036 384894318 831476879 634127049 501981392 40530807 37913905 549588706 101835328 621877183 49538998 692098424 64125207 873526175 787016885 99380268 245921595 426305292 298741007 246669350 809215119 158104538 640444606 812508835 449217797 754446199 46316695 975439846 569231002 90416169 899790953 230945011 949694057 444684685 543623342 224138733 262005504 574065611 22892135 124688282 107479848 473294142 1605928 732094279 489191402 721306022 352134471 41747589 933028838 56532492 800481591 713415977 714659651 356558902 34502286 769730111 368947946 850699421 953155186 196422050 212273772 17768948 550484356 370057848 516901456 206129456 607739994 864608997 338987054 151180348 487351178 855559797 307987988 778525139 42264970 314449522 702536428 544424977 219883136 961336489 440823764 486413935 357239383 95836710 759554364 965716037 385869912 576651060 357108626 581417588 162469728 527701864 142320327 429059382 182846190 924120394 745728374 708702698 667165625 351535249 744402435 618915955 349291450 132223679 125794814 399548455 794797198 73651310 400706544 763269353 283932354 806189540 790387910 399189921 817624644 572586893 418644890 211267713 340648058 773891487 768857641 571621401 402817783 859330481 237312626 117506761 473158982 442210353 178976267 377225541 809174000 298977581 96083092 61153979 927494236 761391561 770086608 835793683 418249299 613255272 509876949 159409504 320802857 404336482 966623632 948492203 208893088 714477052 198705253 940925450 310431500 862639393 618251888 852415938 99484096 427812828 894952681 27713820 498929571 174646602 339393605 147838823 896966491 102854837 583319540 945463062 30311341 789492139 844513428 448343925 663647092 531789423 397899237 781991351 864787 167187258 448023961 222591937 461654953 516244113 823826991 571609998 833729865 531926347 883910870 835934267 881517432 225698213 510415003 785497598 447957624 174498177 12689827 836039340 96413126 762900336 211360576 579443183 653462179 275212115 574372003 574495448 472697253 400796336 190774086 139285611 544194614 145611893 216525087 323066965 430563127 42955334 541494812 472628984 401408829 84273391 926081134 939496174 289937298 256188279 951280182 926593089 108556657 149551235 616991009 804854399 592041018 279988979 256344120 427756340 733327214 300202103 270562469 262896119 138124762 928726209 449035331 908062958 781290891 433431163 735043629 229942644 517425971 748369536 864395359 372279074 951533044 421004319 682938761 186221705 266568929 148715267 405059841 230587642 946649199 138871123 848561831 276862236 881500920 764051060 417302480 686125524 681168926 278792116 877969830 796821078 134233791 778350886 222762810 25808425 998357658 934625406 591508715 375732240 492643967 509442844 366857784 554732804 853260894 109451124 402415261 446871464 410846889 162582229 883045236 260640146 721825818 429495747 630613854 319809714 644495700 570798581 726209221 745266061 707904169 999128228 789352305 801962193 994902759 996511170 153524325 849574623 293695804 272070676 935231851 554829947 782705888 267015919 136962616 887384789 504062583 698617955 561166236 923423669 930342086 701488397 199958420 801796468 993315132 478311704 71042067 17562676 910810400 822180656 883065166 885520410 353930857 111243918 899524473 764033538 586458102 482995370 222277172 602337615 236106083 871624585 84713998 91402126 207718991 349690199 365785493 321917433 109437054 491042709 386164673 269906213 499050771 145046590 439281679 281848087 556995653 146407878 613053671 987029831 969275696 369271449 866438562 844486387 151217681 741029469 336792145 644545450 637876020 649409366 74163897 39628601 522140266 278018855 623473041 18677615 769878357 279259499 741123027 194801174 505905783 564784618 580039533 668143977 502210139 623679820 72605598 319080727 154753256 567103542 959311605 235641360 12080646 722700672 630354363 294690791 776562576 67875896 599409831 295570940 90882568 640400121 359380689 163138454 137606073 511594633 170701891 909467575 14450558 781699058 287701200 93710080 616266710 614604947 605583460 978352036 921660914 971735577 449419991 193536043 75296900 447537739 644822384 533145343 390656488 999295660 795397831 6893505 881989887 220794335 335216087 780190559 236594725 44197393 136735946 976047385 314382195 875454349 778349846 155899561 239873345 28891761 710233342 354827717 369614975 370479474 159283701 2562152 92734405 186067095 265655924 132735858 753530258 720416604 819527855 329293104 519384501 851637831 62389391 156441938 352908336 231956721 391634461 393553056 842817978 301882294 768962241 567632667 287583004 279452920 70152390 910108256 951161586 247168576 89242838 741034432 325700458 294378787 58748474 75428486 214940712 732590314 539372721 733615925 442992441 51598357 824697532 601365579 415370106 342256325 75280099 573238091 798578554 958642705 995699974 152389644 497287769 282632378 691628892 372641843 524910356 87095198 552938990 339437576 115273996 237237882 416461198 862043583 286612362 142101162 256203305 916193623 620247288 416383972 893648514 955399842 373569498 139642487 85432484 435827377 411930591 664022024 321084747 712398276 52543208 909506210 183569796 72661858 2606517 271212916 838579291 549014190 279922101 823391686 298360518 788330814 866320810 66466720 895505452 178581624 780123157 180712059 3383437 969413994 112956385 154154137 831902608 241270909 345275673 990853489 404771827 703017575 747354895 393804966 793338668 257840810 386202738 975044411 317645497 915941337 929699472 673800141 22443862 276286431 447588537 24219787 505834564 931720448 607882374 637375403 545264304 587702355 680026476 588142388 435460963 851238118 834535496 472467578 874113892 43856567 566007225 950022689 354639985 53069222 103782022 548408939 818520372 505951764 167166467 171118538 66257008 1138554 530513668 547228358 32121740 905999553 755313265 66338465 332681843 268265224 594977226 55881296 341805562 57695714 779412381 950344254 514916055 881883800 930109972 139777854 623126562 714035021 974465188 263470558 523895942 935621699 112100162 106738904 781619909 865820912 936162962 155511415 821226405 88731741 26258581 435054528 292341189 480535627 377213626 361778085 401884206 800804228 841182828 649052832 327685908 481303934 419181232 891902258 49395999 81479345 484183332 72430347 5392586 649098039 614804118 926120841 980903261 619318470 979295791 494647443 126361592 98750521 649880432 87889564 312626809 262110801 338604609 927588538 763191205 168553415 276901275 157307030 849653745 24643275 722659928 752252687 366421218 94168768 342730745 252276420 502394442 952373963 519191575 287943052 53594954 2774985 763386032 840866358 135660186 239358094 387574788 454944217 717207971 321704562 428396881 889141146 213803560 138597066 139046092 830690231 172806823 640764092 468262656 948636743 514259232 452458432 282090451 356612054 773331539 658654626 352088478 700046228 713273603 613593293 624295190 306676316 968517760 482340952 767027927 433519365 189774834 892636232 677841083 774356497 925593186 403636245 372101533 992653641 559890592 692443424 991884702 311894340 168662970 18998038 585316772 683897181 593669282 458710036 699813932 227297717 948672220 466235023 880865086 809859546 425706885 446697985 800613261 711787852 254694764 224714575 118770075 414467300 866191835 340504852 479052790 198050983 579511694 640781116 443211114 719845782 328151222 130595406 82387620 314137817 8791347 355223894 651028681 644624797 280912839 522770171 427070903 41000168 437017565 671919270 152538531 22789788 382180719 65282104 166760164 788683696 624836837 412558539 759116977 614678539 76511611 9783606 261854803 376134321 763113619 78209097 32352662 809579823 316283869 659494237 57954557 686337403 80611563 948183161 321342757 331580334 598134440 210422535 348821457 50009127 248435779 123369934 684448606 918885141 72584884 115974596 727691454 64864267 770039654 611657937 545109270 909609068 344804139 499867457 174872585 602047832 756628860 25745270 653426550 671725935 65004520 737025019 587118664 925190788 192700690 901582277 906552763 695841099 92454029 653440762 859098504 428065857 240313121 719527815 572234736 182156940 764895668 391470422 991522317 963045865 224476278 993731452 87622201 955937671 953919316 707055283 276004901 349883197 837453419 438896505 747772130 151298637 846375574 132406968 154148268 523741555 658494197 226112381 287397773 418311045 312828520 306732965 8779029 484316429 378895176 654850175 989792899 735525429 920143625 857062038 957877493 921672485 480447539 614728994 223488178 646415073 2598721 47763403 469100834 581311583 741777173 442713967 897498473 606203593 355262356 93123400 610625400 141830133 519007918 30244914 321675784 275792857 290803690 874795477 89945610 720062164 992040661 118981226 493768946 328776742 839264254 215489645 438556000 498355230 536371906 164824141 858522730 975955041 547098742 288649001 284586450 901912641 697872747 81760182 103637786 175911567 927518500 357579603 977908558 888521467 631252230 539630190 671712132 9615249 81246202 921545367 167221466 32904483 204832633 352481926 804218264 728119156 652125947 981863717 651630041 227193532 940721366 919606461 698008667 14165211 457546437 568474207 819656992 879796935 567316790 575106408 939640486 246808411 990717681 746961652 926109026 597913509 519873651 418302640 88437167 102756397 778137023 202643973 535593206 117145979 433442172 167173617 247288874 55598596 662623456 64954097 588556222 649053164 74282275 138083437 42917928 727881478 203184595 7452027 976339748 896821806 986142032 391960109 100663433 356693941 920846133 474213122 153104286 827968052 495050020 640484973 875648395 783734800 838200468 526691604 716198583 503630762 652063941 773481081 380679270 88833871 206094006 75511337 264983680 76130710 179653234 759181100 295197333 627844260 904141121 139399478 921616669 630853880 543850249 572241487 766148657 334086308 783860455 440434923 538618028 689695824 481889067 921297790 42823954 669095012 459402697 27324072 538706209 638833724 837208993 778606087 896586937 752325479 290177171 802000639 638478211 155837379 683820616 849766090 928181769 370216928 128807615 598319899 791134312 766552778 446645714 531209308 411866661 788081468 737668410 132965542 908100133 581236006 706217156 843008465 854608014 618442740 170305850 189640427 401433314 703124441 219608626 645895405 669931952 352609634 200181418 873890955 133601432 149620996 583933809 482747845 184110114 318896394 354593564 305108114 331196114 1392 937714888 438610250 536295089 959963893 771094411 440830996 531316291 259366156 391882704 348777240 168000687 788180875 324125714 952153073 996508518 270752203 995743127 774818892 815397385 126489928 691766995 945645648 416136235 112782587 855676539 555068244 845652017 632901711 873164197 448596818 498860512 802124255 137525497 554046822 493647387 626316870 432874045 644646071 248241734 185662705 984686454 359407273 815536723 832696215 81555470 757269847 752589340 702184570 214971736 637544716 584158476 78773167 932163847 500362843 891570522 826104961 787993172 487683028 858084041 517126684 306308175 819629850 989353150 156879080 559116997 553707429 171379133 311460190 106297522 692884996 738532696 460983409 117968615 505367619 988323330 466726978 30671210 839929531 802702845 382189464 697262125 413591771 908048801 495646998 92385588 262762681 314845758 720313282 243950899 488631978 918366498 64182951 309465313 36061888 811145784 702856756 249569492 466787628 25047667 650541097 610880651 25918920 941009736 229578421 782222683 205588466 46541062 475509550 262117098 112025170 582458761 607915451 107785719 257087422 78246365 586821549 763387687 186142106 173176601 371193617 614062157 319751740 884911874 787324013 95654823 117771879 882308594 477021484 352501637 264776664 330081604 648233410 718248944 375270847 436552763 846631361 371498365 470293943 503519762 212823088 461610209 10101858 807428992 738344647 822299586 743913082 784084972 632787356 511282832 356774784 660785830 863642374 821803928 545353056 945247629 883445586 782351868 36922094 885489800 334023920 49720174 158180990 534805395 571260848 930551065 938916214 497203537 177454272 344963 460525549 191974559 959789747 650753795 68116056 68773710 676876443 384783532 970985345 620804181 655070356 261925802 857298900 635337656 449023774 329744031 574627261 52867084 242844025 36715183 438040221 669597674 128000720 124122625 349296741 928861138 396224034 74439892 547951576 530084196 677485947 335543954 661710556 154560084 479290114 317462487 537427835 785158846 356261047 264362106 887840880 94603828 681815207 35885337 701095416 743417620 450659122 332507985 954253772 951828943 579404796 944343811 937629029 780832955 1271077 438312222 220543619 403100139 597914211 295762574 98938383 733440232 485861439 152192722 483986682 987598196 795957805 120027947 218899409 833054663 259524231 825464462 785650510 275919759 207309304 274749246 288958529 109582306 531786563 488296369 815277569 267153735 675622361 781760439 466539867 32634077 138662492 13632065 571618585 339190188 317827482 778851390 863155145 435568601 372936185 601733973 670161567 722496333 206309100 702647975 576056418 508708605 609689930 528911390 903933647 529109931 800277953 285788379 596424302 175828455 741576195 422778588 742834167 555971564 855578428 920716881 42394545 437790792 474739023 732182523 945941473 397929973 661759 397431720 825248597 42345193 673927335 693864947 928534479 477439943 246206990 278254497 769956271 483894988 934446809 585265885 54488414 522125940 85140325 952826721 432494229 142320275 674243078 912494652 451504037 828819147 876217326 47879211 2636309 357177892 589767836 542175123 173828830 246311441 715447934 182633602 468538526 328365477 590929654 162996637 664766104 586976299 139696876 719182406 956411027 417231685 189512137 346855487 591809667 937246370 432243747 401818574 871595394 672869029 206948433 234581677 513211397 496161907 807642234 748883606 418554951 683335171 773445989 744738994 861570004 837670439 474437797 30662988 843527221 851791820 317467859 833901150 802833425 776070758 819932740 44971319 358821464 36160835 269071925 664686414 27256924 733986541 862073553 255204893 877553335 930956973 99619044 258068798 925167765 393743592 413405260 552596511 32776623 36862251 242984448 194511648 430050433 473401487 344009319 539517216 301693610 106637668 781887461 36635482 435519496 532812236 371843099 552924072 557722658 975110797 833843861 772691885 14254724 871624590 860200361 36427804 399187611 195980092 421256979 991842129 391801208 102821850 286461191 795733446 380117709 878363471 251200169 254559502 427166490 298270500 167691329 367840765 166572993 142765686 911279450 512033049 112435598 30551080 144316013 997743058 190326859 893911013 688171528 581343252 601876643 336729192 545918068 91164282 959109386 875054313 832911610 778870595 388546403 342017582 304879233 159007434 801023157 427060028 80039605 768385529 958384683 265883810 993825183 950927997 796139353 201025310 825881178 396763470 510875163 88561811 189267576 885836447 517236971 352388686 404824138 950251473 156104427 657109432 725779194 919366775 862263496 906530863 951369319 349755315 32941319 476960374 226806820 139949884 915682834 272279149 156642544 945163295 781199392 582059627 217540217 261436590 785483659 531311318 638960134 363423245 386743722 469674223 476230306 220063793 583462029 992640241 57818334 57956050 786677537 552964073 162278442 753211048 732571671 985450339 203867887 433080245 33399149 427568037 554901070 220471638 492257833 876097257 691485635 763669391 431359567 978349400 260523839 169754320 489625742 185117444 834517817 989197489 918896410 766420451 197362196 212538064 172650919 254466828 119985340 946157385 130126515 137422912 867722578 306162446 396111927 703401932 301345437 661360053 463828399 579955957 710151966 410831505 764984311 496047168 721352251 201212930 961323372 370806344 268466916 767929337 245211560 264833322 868702841 179294654 597581187 781265669 908823160 728921189 806525670 90130404 364389317 318811980 637546608 245664522 430803348 697777867 414648623 563667774 307182231 638759153 91087594 597754483 947615832 259213357 309140289 591760151 668643884 372001292 614325651 110832513 829834190 999069737 775786513 494104131 983286737 265482489 354943194 346178043 382190158 859241283 759750472 608948586 834351527 855227704 389934700 123321435 631339717 108439752 314683880 960406279 585822969 650666467 404783114 672303183 68061064 197153346 738593805 991510933 215320472 966164905 891815570 893537103 335586786 900481052 708838227 246138463 696261204 886684799 616192398 111387051 233857005 609691230 909325360 919400713 847210984 771580554 71027733 131485364 478475467 480545576 750876287 152311068 241905450 184311731 387868119 360966985 703589475 784899055 717468098 188301138 415071418 13120811 323493042 799926897 11350226 9909906 35177903 676296959 546855088 935978623 500364468 75602563 541264124 99196886 906174275 204228535 841549187 151270432 870002934 924746804 91048070 62410020 686331633 255572346 598882371 515280635 944488838 443949216 588911091 527369154 621459835 851856112 966007714 300172025 206689864 704688450 428838549 106550946 116573123 896892396 127657024 978135872 60873399 495146080 942569598 673019799 824900570 957767290 948909493 717870307 879756262 761413176 737821221 431938398 627214778 795675323 640805196 561164613 459893413 860670280 838533365 897662013 382545082 974332366 684747596 61715734 327446358 937758807 776583694 96997311 714725479 105514885 681407652 384541042 253233941 378684885 688891207 744777667 574685874 592460565 479318604 378114014 961160965 203727776 481874366 736932092 518753400 684964498 378349445 288598319 885984433 618287478 343290009 972010286 693529690 645772616 431516664 136474956 656721488 562665591 189252792 385120403 101349353 194970496 254246608 426674208 832981378 733502102 751854793 316362614 388888755 196594656 686402757 129120914 486888360 288969816 445738752 166720685 639378889 745401185 894382483 388240948 517747876 290743690 451788068 103615916 891113511 286402489 41281422 867465658 737034080 543843616 522854330 144196953 91654194 412870242 885567121 142072755 476876805 299747013 454831372 463136125 110681190 265581989 704034769 830407122 167961386 680852225 801465458 836284177 101608909 925899462 798386633 943332525 306116988 577047410 525501593 845214638 345708980 183351451 445169376 963441502 472593543 922573124 718836187 898085432 842445040 703801766 717406408 823978841 152733757 647718622 673932297 421255625 444751943 441779104 997226026 306951616 893160169 434076569 505264959 48420749 49236548 536273664 194069958 95275182 82926733 896345269 996615230 585447035 864262230 426376114 769014192 898592130 108664832 19556488 713280889 272806932 880084904 92845109 507370251 92051883 774056887 482686383 735649811 472757382 443514820 216077457 929752846 232080209 95625020 29601502 751347246 758498030 100825043 842088110 232987754 709819186 397868089 208310180 915713133 566566247 451513032 882583466 482841431 200831474 835544069 11115884 681848881 77569777 561703074 946531289 760163416 687179514 257211032 331558068 830509935 213332158 250819775 672367213 928567699 399805148 399952518 893512844 173678915 649677621 740600900 374853825 802725447 485297228 470099876 678512425 856291865 424456120 917218865 130389234 339727160 581238109 337421811 918212521 151481856 34393625 425253728 955522130 503247538 432862750 561843693 741173565 801878281 318362360 884766301 587533487 665163369 229679768 947514621 989455793 479894661 665671445 152639753 652720509 163265932 615460459 164653877 794784215 528646584 963676679 303301821 500107331 805432014 910465381 436212971 947844251 448643127 711022366 313052350 903875510 612125894 473492097 216409525 639338996 350339920 416077408 811585344 701235384 202789300 418548431 404170375 215128750 573814461 197999496 86340321 105103064 250845958 655231188 335028152 905169428 326389047 279718822 870309593 890903806 93572009 764031186 742927148 393547627 435047241 181795139 700250080 421447427 806271976 266334543 17493482 91484678 784204695 734593500 123818903 878707206 153995321 400657753 617573610 637403968 962399477 545075976 778286023 367703747 774362912 844777077 719125360 165465034 565584304 260239483 522565845 958033703 241081325 840782254 780098606 945201440 931878825 125672655 520038350 23314267 462200098 646477589 432639844 807537800 2427988 541288354 383449936 852303824 121075879 198710360 457327567 34969022 296853971 26788906 608851209 423998869 239072013 42212645 589561557 271076252 425874263 833349790 215806455 701464225 319145565 908181550 582587335 515164931 633965268 89968157 720617975 567681828 418608269 172377301 595130541 205981252 340564531 585842499 542904378 181505610 93055416 685816062 50620607 381727267 748694655 804163038 294515513 302024876 376582185 285254417 135692849 936006574 926600435 700049893 485090774 475739659 39590059 220317349 558224299 3970924 703112923 466848766 429897872 581181150 852374548 941200104 766763864 829425871 934422290 686472082 710313376 554849351 623574915 108162804 241709599 113084705 913386020 705057153 576563271 834006234 194051928 432906043 228063003 864489739 312556465 906062413 400588457 529614423 322448040 242767371 110182598 615406892 168671562 187288660 933100677 875867375 939329496 396638797 698446812 285883284 200559005 828257351 960304309 409022968 679206748 490739801 731395863 156220915 324557247 552070673 527239040 445171633 461350643 522366517 305748817 278658782 239447871 723411686 801219113 741851058 963880359 230635999 740599612 173880866 893469596 379091410 464110974 724532127 382858048 826536422 248368402 486237843 350315733 485044050 738959376 606170718 462459163 90573405 864570505 573383765 180373491 424760282 244307589 684669645 439453196 328990100 844700438 524792741 152008066 526407908 972857407 490544868 800691213 435272004 388133220 264696669 441792848 681836535 356952661 8769454 36038034 528269231 996361494 311258985 468498649 278582056 468372124 404471063 935387842 281969266 100046434 331542706 186063522 48526824 793388098 290862456 346976985 992694001 42575030 506294257 135351984 10113820 555453252 70090804 694363265 675045265 391473871 322085171 770897903 118967169 510526674 412737336 408376239 784769787 453820335 544500602 163708723 512611708 959181695 636944752 885913814 674131158 208534262 170097800 542608404 287179727 795127604 103582397 741173310 375204851 176860335 399911503 892757504 406006929 987415572 543308695 705610590 919313622 426909357 682344304 757802543 453719982 178845444 618535406 717537429 828688766 21064321 848730666 581787775 458183567 457329956 367319856 368396487 384071499 602247702 607588037 506466335 921950942 419921225 957651609 196503364 463261750 212832827 58613231 801166677 768683970 683602099 402495448 315037348 4656040 720949707 720033184 368703319 924934856 887692070 812586140 847249244 175485726 751820420 542229271 729673594 112823981 898762621 578103701 62866377 181931573 931854058 654192723 702780595 780666875 745933501 639340975 516802218 255806368 4149469 179017707 732234267 132971241 444749438 451408575 833204810 100650895 904743392 944788778 82026700 873160281 259223892 220651500 269472439 13271221 136428408 126270632 982453601 788633898 67879048 683888081 637680232 316577934 501424284 209375930 173692230 827985043 739888567 310922890 804391798 93598324 905942238 538214869 83678936 50270742 635680672 704375664 911838968 534023888 325510457 145760943 372041746 656429724 901115220 512560225 339182806 835952926 896274490 595762687 356158367 396152634 27748709 219723725 667078926 711173540 955622725 558730142 318408481 595972963 707471379 661899295 841458287 849155863 962070143 806459552 17435326 158920059 171497469 230531253 87801294 422748560 620955620 916508077 87230801 378120345 239810761 771716185 61513493 975083997 440943205 934268605 666338686 70502008 317508941 307788893 5670377 210515897 814808210 706353895 166381360 958342685 419157319 592676665 288911464 791193480 543721108 50439509 634314706 942843764 247183357 446947860 633045925 309134572 62487078 917987419 349244973 622712766 535411642 361039058 847318235 436748488 952747357 612877696 364372569 95616596 220619820 932058012 628957188 989468831 558146537 51724113 298615262 825277003 896663168 785956749 351936230 311214396 833889290 795880091 9916163 839283261 620660283 630175366 969505761 224874152 497670448 645050295 54338368 651577338 392422992 409436610 543843341 219705849 266421687 810418063 117971312 606190310 921441911 975428210 508700344 650640905 231392071 645840974 839878442 507187038 86482430 259492070 621211323 984061757 277103998 790287445 337894153 906878940 569567528 467636759 274578558 73060652 638647644 469969480 598778736 977537894 355957910 370524352 613390551 186709175 734239845 172919286 492498326 355586226 480558314 18754261 105167598 111478968 277404304 780459008 336418944 88918311 159850425 463409036 993510654 694116914 619694850 802291045 555486688 815718540 821145667 434677906 939130693 268474793 957138567 117408801 292541406 583285552 903865304 599454429 241680303 592283379 358244933 171407896 850161487 321301230 984692396 579226409 77169823 121583864 155227491 307501968 248891345 694515075 658116915 4141470 559335374 176804009 954429889 923382503 209186720 530530955 612421773 451199639 136014313 453672138 976562134 954221853 962274702 983435419 292820796 914156438 491838142 367521186 700257294 173131461 651249855 41077797 291078607 78414152 689288908 910865794 328995352 658947593 605320319 922884924 547000302 240673178 350173455 528209677 981524481 973229320 501809890 127955228 765664507 888031572 392215908 776945860 614490497 260102416 690591231 235076658 359671412 634178361 163973489 900003977 981209077 539596614 452415729 293448921 102016823 648469329 33686673 998316301 94803299 400692931 717226691 801554084 389624234 960276189 666989487 243694304 201940897 733890899 762608984 654031393 348421912 104802372 987796996 709892591 636473060 361110895 47339753 735382553 91618495 3126556 196249751 290776562 715977761 73835671 494237510 877627844 379681131 258886517 464867706 851176131 288974734 9491947 157155619 389068584 440734786 511907064 140809396 192454010 725232020 994231161 111706922 267427130 477997111 576004069 918167246 63986168 554284283 538557606 398300962 394522028 338051548 763252571 28127881 821056013 506312046 706833194 565062470 801330379 349790967 172944357 665692406 467209422 485220385 105218888 365797169 735890991 533839411 239026685 388371542 614820861 893717638 681700831 795593987 998385213 77053867 313134619 804196800 322117185 747581093 555645100 683977393 81928561 809386857 221603763 460663650 761284383 614550517 428902284 400707573 443570946 700919528 208642852 726035405 547187772 135171621 990872226 416274572 657447440 961015447 935053294 356223263 434871880 841400810 453251558 727609853 395460639 623110939 582187872 110249960 32885140 855934188 272765135 386155925 388671556 742148493 334981892 356935772 919892647 235670103 245070776 28326779 578775478 314255092 513653268 961705938 540632622 324716235 685780488 968665241 702181191 245890214 862869112 763711807 425546463 576585979 999896055 208544091 122500042 870182737 551356155 173871945 916778851 787688655 582987609 443023889 866514069 154121709 621211316 287954708 19277892 534211800 705466190 16411358 372031785 80474631 740922212 917950789 665514815 960051699 25133966 121933259 584164237 953844985 535844019 471984198 777343484 999797218 221325766 208381987 637919482 761304865 545119685 175861267 935472599 311942457 432811034 693410003 931913095 979605156 82420247 405611810 749702244 605439306 125331465 988009485 554822856 826852136 81177161 720815883 327156611 843722212 31963862 918140993 461650107 40123746 518442150 586355027 254753651 792494769 995068458 808942454 592691603 890618525 764216527 373835249 329472172 303783944 87218681 683255893 136402276 268164825 972335223 294898235 253812275 424107241 936208851 574477362 385929387 792905901 892022885 653529302 476271922 819371793 744666846 251198756 481525531 839334681 974984223 202722404 930116729 666768044 583572037 567661293 600762165 287132323 955127276 667710195 287615263 299668198 507091197 563068426 244339037 346855295 98738223 404888485 346414666 503925378 345831482 14578589 659064056 152483479 144770757 837269755 372008411 103405723 699960250 207478064 58825406 922026273 26573653 785271246 301676450 743089448 334068495 758772858 161034972 865264054 945064281 741916015 311408620 649812326 463351499 878257270 957561206 456739736 788719175 567072094 157080091 972649917 228811319 793628417 667721492 973133465 200056741 314335251 528912626 923703736 123593866 893685648 815580614 113605446 339935754 363615350 98779976 859722339 255123242 989808249 23446513 263246450 804760263 474712376 766997112 449132737 432211659 587462281 403331643 913197732 571712495 838946156 247730574 254795717 12520626 707457732 193127769 536765127 673012047 966826580 125923182 675098634 763230405 433378371 911162103 530787896 952478621 527854931 724649806 929746165 945095892 519809925 886281437 802156410 929535106 332504924 483322772 450102232 307606835 975943387 138646226 428600429 858483813 308227757 659623211 993475327 176300548 353832586 571041010 770164141 304229382 796635108 789383548 253414868 406837131 109959670 818462687 414871467 22359387 630486138 673715183 586534765 609992617 729758976 246647048 452058326 610252085 499054488 76168420 112527965 648332539 530870846 761326631 572854002 872475284 838254601 580815555 428564132 819561342 860976834 878034146 694297450 807315135 782154531 990709573 347290794 390362777 449804331 139752409 817326372 694432332 669499502 62447775 241611129 42793041 660549258 259444299 207208513 468522278 124894454 310897640 306782994 631174031 145842502 870373692 907770770 598493164 77893126 306129602 651571471 194779823 578175593 805977449 879526081 329169611 370698940 883007188 219043649 613192397 953310964 775501838 569732492 132839933 392097988 425398130 842694828 516204793 973587188 460648312 68390651 981269980 22054668 809096072 444310413 102841855 162526107 781785200 793630587 366974757 334741175 415754142 510162576 403054329 326821078 170921772 397522359 253126144 379545283 496932318 585043588 733122478 712762437 973274208 469140873 931358755 605660314 481554159 183534051 497581736 558647092 950409495 496849262 111337010 293692666 387602527 883067093 434425049 697030707 847791884 348522797 708588819 485033554 374304217 421343655 321175966 474441130 947679893 877841872 913957012 121520839 915000977 362401458 40080871 818020675 574411279 168750956 436421779 107600313 719774447 5784892 640588958 147940377 105895430 469223200 678912408 686375522 883646659 92200281 8174797 276515235 277051235 827369205 202800192 865429512 150999483 28458259 753941996 354527426 681736789 333499649 780031326 619720619 915173836 543650628 594911092 544708376 842809733 244298638 134456067 398431670 235086695 474092381 303412479 196316398 749660394 135297951 129422625 844566940 506553033 250532794 972994714 877392403 187685713 680240647 233778369 726934009 577351854 407691280 126240501 104916555 706912083 87178273 558240628 219008323 302936240 150045464 741853995 188922517 79818740 718606275 77077815 448501348 371696514 400488510 240292468 169935587 633708980 531984105 565703967 157748692 48909445 523993227 117496020 631284993 19368385 998839924 454536731 591438335 165548953 139569326 70331846 536266133 126268600 878842631 780208482 361351384 757440545 182849253 773355187 149658111 462583624 288106140 561845658 460070793 154588886 984285646 193471209 382200621 306404723 161641716 272801031 292477893 769848758 820065072 471902331 422553573 366441748 379641030 233304605 324516020 535156726 662921885 960244311 621429318 755896732 929907565 692200992 666623606 913458644 240156741 939208143 43633630 731258503 28874483 942823510 677056838 707192518 782222313 610347248 457648796 146687765 310923226 443420707 675865538 519527121 846968635 524919759 839021270 488368969 332583499 487345763 708686603 978240002 356341948 525481294 198922625 664934934 409853736 597328825 487709153 598982777 281039481 172893519 317054552 341807476 44987891 718067642 554253447 328102947 692291544 706754357 484109336 138683128 794710152 28531222 125188994 71354179 658911389 840486826 246557366 716400133 734347939 610731313 288290293 47369256 426094759 260988554 180051155 414139863 601415530 868329227 309574989 517462587 681800195 289274146 569746424 876243463 751124703 616400872 283649832 892950622 650465652 636656977 911847040 263993597 778249918 731686405 802609385 587659968 878837616 373623900 221834978 670733409 751572085 745621681 430304319 620816352 981744034 929499450 632161246 484016518 772703186 370312016 93731021 529421233 243043140 836929017 384978154 779408693 215167524 37347770 910808496 666987421 675720621 98532172 521450276 948078572 279074740 988504294 365729598 451647588 181415563 735589980 843321192 319147244 102986469 390906979 859288708 395660701 818963706 27606741 302090130 180540172 177307843 534719652 613586046 981226743 731837919 778627363 171519773 850570512 835821470 369630982 84894605 597840812 347340593 997954307 936429798 477357315 715739789 231884783 210357812 240205968 842886192 758184791 368628788 215189849 487306980 854329748 200557533 116757213 917484616 588025978 628084876 697949625 512143838 663073775 862297266 642193185 642720574 768755943 285413049 40286232 410790317 320566469 120416552 157341928 422273693 973237314 542388172 506038025 319588756 793260168 357402136 97222762 763955379 530759552 941366486 540043468 701011063 544227697 578215859 991178814 356574033 416882089 22285592 144937438 44460343 606340219 683417149 435348898 341638138 713866358 558024640 516684956 812888325 493366357 554690452 413287745 875178678 350217154 341383078 505887445 724454253 134971557 811013850 808269901 250624169 257399238 784825216 346291389 482702259 463286687 108511337 809989169 386965596 305356821 625468626 782743144 878449184 66221344 242497982 929562231 987848916 571482501 649596110 619595068 9932104 381878940 195890378 342784055 531953241 462811742 273088498 799363437 929316646 134519712 648669682 204564403 741751420 375491045 428983557 478004616 111231926 25307091 752788870 397524499 589599655 118632891 883924851 576200558 663093532 261488861 940228179 814918246 135108072 207778362 587287901 787692346 491577781 901768213 612038746 674187722 547987727 883998599 859394846 128904414 254745545 359480946 793332137 735849683 117036616 252497624 362623492 911461709 563023114 180378516 517587006 664567538 785569203 173192574 256258215 43921653 203455246 955481619 112440130 75891120 771923727 320919117 377372655 653265606 31363418 874622327 872782121 765064411 69844292 150102329 174318369 603702212 822182252 710361549 341454735 498409400 295100293 999139178 861368655 179496187 273596224 50152683 744715797 546224368 33694032 173162702 142064998 573846975 858397895 46913917 365044377 814373301 528396757 61616535 735284148 673937492 677118304 218587363 178445289 925582274 12863281 244418542 798886215 283861488 648290066 475599712 787796821 935101727 199643072 942512862 418099917 581484126 709153670 351468236 264995630 974979640 746639588 458434692 1900830 881944443 328623426 888278606 568200999 781480264 443822838 225944198 61138657 178952767 882005221 321315236 619626690 528427611 692908672 174737066 310084304 437227586 237082642 471250801 931669057 473180120 879121128 365143147 336763005 272586603 519170797 983617909 621810060 462686485 45483880 514284778 265473383 329469359 26325120 725032662 984406583 891227207 181166378 769868180 127825286 700080163 514981494 126643054 459521389 333761044 793574283 804329345 659794329 88450393 78843241 704134186 795843910 387883683 133660951 260778784 658028797 194833784 408342919 51546927 802131528 445794612 359882271 291332024 297127484 466181132 749473416 71723750 520630445 16353922 642033869 623051626 759459537 968860251 292749929 354034806 857660122 238651004 642781369 580578035 534097959 730438014 888771304 740063967 403910785 929757211 905602874 148996624 141036244 656405270 564423378 544776171 258613676 365217138 278932498 969197253 713600268 203905213 411884135 780802633 411722786 583208216 224232733 247744658 668260815 813776116 866351279 908529477 180424033 142691303 680942599 634044007 88423775 627231684 62194998 421718618 850834670 802413608 680925 829820987 234493575 601741160 257870603 679813987 357311779 117355707 751032463 798894050 60838343 255561013 111651438 827552145 643500997 284905598 673587569 153587457 511715724 537021264 31276577 335042153 270338847 952384065 547855332 159704295 690211302 987555446 926964274 784229167 532257857 397251297 920034339 803565003 799223221 519720919 646691174 663381278 961282602 736070131 157106984 828427573 81884583 170732724 424091107 232494878 838360581 948069252 79651518 560041600 649226365 619453732 575147420 601049969 51619274 428027798 791082283 636555018 464123459 330068997 601621125 591332152 210332696 353128293 282428823 846518424 738456032 559989330 315297753 17570255 343447032 730006927 454470842 903449623 307580070 454804315 414440599 132806359 777767986 527990968 758748092 97871579 847714502 316918915 937340399 724662609 190733823 149776919 198226685 336322189 244516950 222099797 183083426 860143977 287924717 581428387 652181198 776964535 808502947 103907307 310842281 248072372 590994488 556084332 215812664 801023448 507424869 354137009 422952475 72925979 725552613 565128385 965637503 741307 781238774 822555513 124258871 335630724 905207145 493745093 364064034 796201549 522062582 821049228 743111909 643267672 268695508 41797523 993851176 860341685 366233808 723880007 104127827 457140778 653090804 983959175 615007021 826654570 638441512 855475201 656142107 376265559 65676925 819072961 428100330 599240172 926461785 479396095 962589562 384726421 359759658 557626823 71559535 733664450 580182615 369546122 579527277 597509603 672748560 916948479 558232178 922499266 52762773 434489160 600759432 48043857 105274619 964269687 881468355 108973617 453627531 95178211 508316191 212198885 770055958 890519872 892193848 952330069 726828333 506917694 573560545 713047703 397443486 7794393 24116161 467540295 879198625 522686764 288665909 56883977 992846002 986520319 874504545 996977085 458202371 85213678 854695668 423789887 601152824 92684637 477887996 688055994 304050686 885051823 935200774 679247006 803969260 43212918 46966838 350460066 600231009 489956460 798632017 86677604 449870765 540733111 143544066 971931209 170582910 744569859 939062330 453149715 213020212 236766016 153817340 644321818 493399748 676220762 142471795 592641603 987399780 721838497 548315552 932975498 654911708 963959223 797239469 124494042 49547799 99506478 83005942 863816748 618983888 678382094 75709828 170734069 856199658 312507171 541873591 354317676 79435136 338463023 169406799 12249970 883314010 789266794 2781488 732499773 384734404 748717048 816016714 235434893 322057098 556570781 951628242 240510703 37871121 338946486 650802924 490435557 333563944 324960697 715261251 685998738 513814473 663335807 56895830 249052531 387783933 582886666 15544250 219368454 815556140 635266254 337863165 165890316 640744393 58489723 453356617 987482781 484504601 930741529 635312383 38129355 752391604 607293662 517765850 251345112 613971791 489600038 926926761 977010044 606071395 13646019 362584969 276155884 170862382 282740929 830788702 251113773 136846363 443450692 945807500 807573101 828386413 66494520 495538916 772386107 287916189 641186640 321114283 451794977 735781456 715986635 647243555 142755061 213478754 885615177 627652049 686534933 771309906 838462847 494732727 936977470 931998569 716766834 400177716 681175542 916295399 363328319 130011742 911926591 454574310 295160121 309274572 885072782 54752868 758470565 112766436 220953940 669222354 333939629 600170087 111717977 486984777 516206032 949137228 285764329 81559220 712428386 211289181 823725691 198564917 687423291 78511923 902987142 684299756 976780934 189861996 739550529 382124244 584766852 59493343 494221976 763841640 960871759 662505351 163585126 827568208 73834663 965767772 340198479 36303162 403627707 523173208 614361785 583579096 120047789 88937512 419564430 663715958 188275100 747788695 883527090 159458872 561031983 985669947 154861550 116904441 684151391 592649951 36683749 731204579 209195421 262350361 891911046 501701572 104363031 872121650 684378885 402178711 449602054 741595646 313463414 941845001 441695554 114740949 737237176 317260426 850789345 764809820 762806605 304041335 769430734 150874240 845751396 974185137 636568677 341380356 589295359 852442015 309957105 168292375 869087286 393571845 504589619 687253819 509675596 168770783 87643873 734109655 264587386 997595258 528594924 948735938 990061159 484429020 238058255 170505652 668347626 199170191 82539975 409117176 187376531 35248226 830621494 22724979 637543201 5016319 5260941 109482465 385928881 874289922 528042450 555343888 382862642 541610542 644235646 27511786 667748379 214293354 613726747 196086893 598242459 873509687 246648644 922432160 476514735 55091657 964906609 40181345 571506659 749616525 451977840 651979898 810803424 347067853 195293317 771804210 469834557 986524502 779758546 312656301 654177876 614682289 956780279 958753416 183929207 19387518 688991781 399373552 159839521 370690302 804483427 681904576 83328298 701692279 636022872 626149637 210655799 217488625 669861179 591657972 919603258 916012154 267416513 834159139 824091706 566705831 181430649 485017513 154735443 145274769 109259289 642049866 33955856 47930066 211821831 549380998 828455935 427179595 441282474 935606783 821063943 334774879 970958848 974283798 452159121 593016656 664270519 72857162 228339094 443485875 588033460 268215738 860745019 975999422 718820042 425117168 773629991 661939777 519918942 778235832 673072691 393238303 651077872 97101444 392123838 98326153 839742862 142395898 586158750 355361942 629632568 784495106 500674649 769166610 237383144 878139844 44726084 459375073 165173180 167065194 312237164 169990817 896886504 699118800 254122884 307421336 475577488 189331065 285152985 452775703 861061382 8088346 296871815 480960397 114124389 801413 92458978 249717834 725711127 275756046 826743294 962701589 925834318 7857848 355024579 240095273 984209560 366089526 40146359 209182462 308363197 220465020 252872759 492300109 119895788 540266370 816924762 318124220 675948028 205140581 477666036 9059690 198974389 96935241 543746288 796720643 572629357 440414855 873565447 79730396 769193181 123396502 409043712 140319794 661185055 766382487 50809656 740478199 80832275 373484489 88906424 423607687 311741803 88781787 927132163 535396289 530280685 620424431 222373871 626172755 429113642 124600516 245593891 662184962 435587813 202133405 958664052 883995442 725327576 949510979 643776196 330183041 771957788 200804650 170821571 590362868 563021291 245222839 519581865 26984287 915026689 521061445 802049688 498650463 355547379 53474260 91889841 906202689 276610795 835192952 532593043 156916720 594966294 824909711 583631848 946981714 455337066 499166850 30199994 525092575 729967108 627667950 68132755 46527478 498145905 390563677 123092502 78372197 827591558 693562707 588102726 929328357 775768917 426114248 809035695 160028540 287830246 91882735 330754783 847003287 899262648 686489254 315907606 903710784 837245704 700862891 744939381 170467652 981002670 892471310 562926253 297348979 31757186 985174162 10495888 126965172 501047008 548794332 994465339 421536883 843603421 374689735 289353462 173394930 517015425 405074832 903548207 932594041 744441067 123864814 238985140 461844432 237723554 31395890 974588974 307128901 192603906 551847827 720533170 580411194 669506432 770593018 494209568 936833816 313635954 687979421 854002664 617587215 92531318 69898154 364230875 40479411 101689584 882123007 580409104 758197142 958745369 343124380 748870922 108715752 753162668 681620428 686064125 322594942 304173943 57480943 247702411 485240532 396411718 5579978 245861664 908006072 387170993 217040316 462022277 267049531 894231380 549581593 445760880 591871745 561770493 922527494 327682278 25267688 354227959 680040847 421942398 566282112 982104294 326263604 143753505 472597979 902958984 23664709 491891814 412096610 812056170 764826633 601186770 654431709 170115295 521496604 732631813 401348467 266787927 454558882 227916664 144554093 555357630 520053560 283923685 695008533 350298704 279323840 717377276 560166444 270053590 43917703 974708072 607880376 494020289 698664795 10020821 266637766 983459817 495906515 381376324 172386019 71853332 550441377 525716403 57299428 413645573 737805833 995518934 516271585 214279250 163949354 297982043 925778271 663023006 349234555 68719623 896870527 739233806 204076052 494724999 779692794 676424186 275313193 334120443 910707935 183517505 949496868 526818098 702741540 698733617 907928500 420716627 453873970 113244483 522782767 737937913 604826094 876732637 198545734 18662700 591029417 531541771 809049636 177510328 404075054 763975671 362526175 540808698 368557335 781720571 348234193 288195309 675013157 291294801 187142469 166576943 402767859 701425910 355079020 855242724 431952076 851788306 716939213 723028132 621602561 685084217 282920261 270957335 42116805 594176523 639255435 982714220 584075242 620470231 241692733 394820237 667088266 129694365 681962482 289690705 404604603 978884166 662611439 820549398 78639532 617153309 613693293 741411209 258599546 934730143 167733119 182456376 167919872 177484192 604034408 472720622 131708528 168938007 95663267 240576595 365672565 874663599 432178548 481220003 813396201 881155060 285264468 1667939 537564577 483272545 182248702 503177246 388174215 682471184 448370211 737612812 994535701 182027449 2315057 903546541 77432612 300266041 930868526 169927765 662934692 135304759 140611800 801652295 757756889 337682701 686377344 880323767 991386318 609304327 639123314 993339712 916765927 447497631 95575013 398484675 72672071 309643903 999951981 534160709 621870784 517877213 317496642 466923844 548671671 206507128 308967063 613621502 630128928 621927390 915305437 953929269 732963218 171553070 782979044 709544242 120027788 574786041 862558008 911365617 749221821 897249787 644588394 584091539 207381998 801267489 909546761 930765458 662453890 59560951 462145566 582754796 57646791 873446710 977583458 835280202 185443026 298941434 23414427 57266337 639343566 572842615 127224892 235839042 424494721 733431650 619058470 464366868 95586571 361245234 115240809 860668847 633993450 596769483 334564632 726347697 602447233 96866295 167269128 78776526 521329995 782909046 217513977 562340597 481332962 725124189 726624201 438134126 221243022 363841627 463316586 903977385 517107583 664297545 569281938 643533965 485492189 256323799 634160544 400206944 788000974 394801652 310204166 475687572 927058266 600613094 785657721 630954417 19924867 169865468 99247937 958913170 683823060 863569086 243827183 788163412 732596862 446067492 421270860 782387849 423177090 868316960 30794519 46582475 131118032 873956707 641074954 112209683 31339056 986888402 486557360 615587452 484102933 739211147 912315282 503648845 914501911 302634670 672894291 56122926 316829791 13353883 764227553 860945742 822357593 367564142 884154979 593456915 986847863 622750728 823367961 836879651 258731758 23921387 321735988 699240199 959836308 825072009 233825563 122064611 488166215 744499332 975563878 273552599 289263831 341644041 154385801 243106413 653047863 173740210 200875866 99167041 178817323 693577688 197494803 800265257 91055412 516188332 476688017 576980095 228989108 989660578 652968425 828815523 675337688 984590360 524487954 35470307 789844858 693438336 338905089 337287396 353934599 273881416 43735122 148304431 294608160 573110709 342587686 904629142 222382141 265108739 962641438 167467843 903069147 522877548 347415434 929410568 99089780 436555090 630818835 855534626 128782352 841222135 92854764 54050740 336660765 608804903 474792544 58497429 592149500 215237206 487400683 544054881 836120896 475484729 527353670 108610012 999976954 667547509 591284263 797550190 489800850 293008891 598350772 332728028 65354093 381379123 24245371 482204126 842378085 830412162 630560103 243333114 353189702 647893327 228999843 657477582 610331706 123700038 270085155 249210692 438872611 474979346 345507853 464016760 894612369 495298352 822727386 164300675 818688898 264594691 158362318 205516318 170900830 492718634 812534729 621142343 437863141 703855377 543458153 760297471 118782371 754929902 815260381 273293534 475948314 913548989 806648394 178251401 685462785 124031 51560940 182181867 936243727 555472512 184648230 171279415 614203653 256012584 228548391 237991394 403749906 595541804 623005781 832603871 909760535 835076605 903731223 747891772 419998001 770866168 987530780 581562529 840270074 13761324 610061048 75504836 965147660 563654637 965098012 953444458 563051477 597481916 627511087 808402579 734416393 768666989 86058217 843891123 284448369 46633606 797148223 727351997 153076138 3459751 199643134 204065590 678428366 786043077 816735838 101051850 405544178 271498365 871957814 453873370 848572657 572115229 298085879 214291462 823979522 3078425 920424307 16609835 478567704 709263519 827159846 65456693 986167013 367337491 387100160 727117110 913538379 577171899 708028158 126265719 360229076 761665446 614146266 428471883 592180667 857730449 380062184 997336109 254778771 913025796 575339283 912126810 962577475 501403012 744291327 568312880 688636915 334205873 25293019 819396512 468738724 799208330 319195230 60403035 712033878 676626178 265921754 244293405 882777964 530838857 354858148 114381237 792012542 433874600 304290960 772646136 738107418 91417002 383602562 587061023 397598867 358955705 949535852 100761856 473100553 258320740 58907969 133489361 454876521 585161030 498163307 635972364 302758216 514868693 487192597 332581841 597751427 379500466 161757891 908585953 977220742 587437611 258999499 933974180 154289235 30513550 736996662 801005946 859389535 438905446 775807806 737741777 941904098 141057385 34555826 531151958 296258611 520753374 423321287 154652781 348361625 292364835 555429529 22983559 810728638 45107599 425031590 725059421 951495764 31005593 458947536 763654949 667646763 321050569 531438847 523509631 186909232 955679487 598799310 204057419 634255526 93219710 557476841 893084533 418646237 539383862 668692862 648693091 541782101 515395144 752556507 741489875 68535281 524229818 849852857 256321371 926620600 701580441 40334520 729886268 436862993 124118561 451591537 33613470 284288611 844615981 237777468 369542851 302247975 895034013 616965911 249155256 808655462 624208317 787648671 917104767 894373665 872178315 520978702 317237010 589106780 172534843 905584494 859210744 898442991 677039625 330942516 618238881 163234111 575084238 845063305 932141507 949687761 22878867 155158811 135834509 135974178 159559736 648899228 782208667 829878240 508875839 266166679 328717695 244548682 491371960 788887580 459580180 150199788 991490781 800833042 944565494 468994455 913469283 169775577 596649966 963657545 898061402 835303119 994803585 146322493 11217217 310991145 42910228 973011746 361051154 462305455 884630568 429850042 281338053 844758112 56559751 374791299 482705207 784423376 723071840 900720025 761578653 309217131 503895319 646654727 159776414 19912105 441098175 893887993 288674442 479002153 68564464 380320978 137558009 145817826 236445828 851317532 810260541 44621511 743122350 429357580 837941416 924234835 926975738 90894618 188789775 706220059 834387541 937515853 322416856 664959609 246035587 159178117 681030859 17979698 674147249 927256545 738797412 594386875 515211034 9476080 812525360 594035586 4148850 57822599 705352625 430407926 186252431 547358757 246226597 957451058 314826738 949231697 273392254 277436918 153982496 994209959 413507898 194822200 667358381 294653169 166279618 398876572 217907344 1001779 281761881 27652579 139405143 541621562 653059446 977128745 581001680 683139505 628139133 878312074 467101318 998743345 752417453 108503217 665428013 426290070 526748670 813527459 185413202 155000844 565497542 582572651 143068222 692597640 200561896 592455270 875144216 628178538 567467657 377042972 863411667 898110190 995824005 272072878 643004812 63070763 751990055 750563016 930074532 300172235 277289506 237384624 769200979 837339375 630524815 905134368 228929047 416191892 110374552 453188148 433393863 310711047 104099153 627050869 852723297 352208844 241648196 748198155 143376928 234467000 843897516 283471513 856530101 154923723 627426125 472413847 678052190 450604681 836899804 780911643 677706501 482213256 903665176 568904281 219413035 968248703 750473076 97048431 759474383 326083066 703922024 418128221 689531525 199044432 163833889 421096962 531439259 496212739 654369438 546299868 900394544 787485069 251934406 277408370 931725417 378311972 24266179 216230849 756092128 779171091 222286579 825494657 346673515 561820246 308987486 792333437 295365001 431580997 698880314 405433171 712210153 405863372 308533691 113651949 161465735 365726215 11186698 493792252 144175817 212169569 643677210 194376592 627895802 86119107 973838966 722997034 853599003 403335066 739213439 995793185 733379289 890311769 585191696 993043080 371527578 959361439 241487705 829376910 704825464 166358848 725034963 146309840 24859094 835044349 421719089 610096940 786436197 450427772 371978671 985060423 725303419 453305913 12001076 901265798 863864945 638519273 209340268 4559518 143351315 586219150 546348744 19597613 552633779 898579592 925055251 932581576 378467222 617415932 677648245 698639645 227275108 140519004 843593102 726536160 101732183 237195194 159926296 233121414 948954591 129721312 585614598 960363467 472305604 756697969 204984482 452987612 711631757 59656082 516428664 889103470 951026523 763399481 859601677 127934654 258896279 134166415 500821615 226669314 405260828 970532145 72483877 734647992 925753946 664052865 214631463 477273360 116741136 303494347 527816413 240349668 521753338 625558385 322937609 342499814 222393115 845584722 345145766 983018959 92779367 54291416 622031690 411765339 50695495 271091210 936361334 434154010 276108306 124104718 353858233 833666022 365507517 546885210 498960296 183463186 563503735 777242391 956479985 408395241 108503873 431763521 675301147 302095681 864510560 743534800 499745144 972630816 56128784 895798238 677015227 678460403 203841137 716793642 164107907 983008811 272217077 294537631 683734629 90365510 908940944 95843669 639150253 394596702 844962704 459154547 285421270 24662163 579799235 159770602 985094790 595174791 348319606 948206526 191358877 978237584 1280223 578701767 715118479 323984431 901075734 407818325 15626963 192389313 411813914 916389294 625375773 201546105 869393556 792061286 575888703 76717271 859102620 158973446 817872345 900901444 823817904 389599495 138044348 522676311 676754132 632578372 431848511 391093440 164075624 298667681 71483397 359964415 467564561 835888959 891705749 195108761 947535953 929215666 897834095 799976605 516957440 686666862 637971811 193737737 344161181 913578546 717133403 412876736 638003751 697693800 931362025 899334702 318645551 258046602 11870043 846948904 302721691 464962855 408540790 630531983 125573253 938899061 304293435 611189472 79316441 479175731 882610242 438059632 396456004 144865946 431019686 588420423 356888002 322048323 890039905 887325780 4181170 261811572 966892634 459098924 423056915 601698156 348223038 741049795 342052904 402773879 581142526 104224651 954704799 372089706 48558904 58746848 748856626 827175403 544178366 153279129 804631128 171762475 165230545 697859548 293971190 320388837 922356214 396701950 543334935 9897287 250098651 498129209 753702739 652313532 538948050 41959684 615346187 47959721 194293337 592650174 724821760 105331169 854228499 951446240 835444035 263808050 539375823 568202581 131638758 253593821 638409381 574100647 778473005 668354022 664824039 998089503 492236663 751678416 997000847 832156249 699230882 315129931 376636051 839328495 773030869 972727332 509472974 992517005 622200202 748828509 812516 146310052 787698522 483357311 207488182 877205927 948165091 95947873 899729283 706364262 425489603 850591513 833786022 942758960 237846708 976024948 689223 436926528 724353859 434096475 73798245 332868286 116438769 718313596 194020305 910333123 864266395 21268439 326763577 292279636 606708212 64864111 222053142 743612075 604759984 746018155 522318787 7060800 480298402 437805625 980490107 790939998 713777832 228300218 136956012 272310773 592310682 7713104 8118182 836123616 501093188 415254244 248361126 662430985 104549872 896054585 308572772 648048853 630659690 162759919 513057911 371468571 380404072 95360136 894425405 807262892 908173392 505570891 268324322 876072397 942721605 941605459 275199663 694382025 94289597 217491750 518944847 969463482 123708293 67357452 469432101 235926772 325680125 64943676 838203897 138055910 26233937 750279065 426542184 441525326 597790662 935907712 855589575 925562384 509600185 382299483 970586936 960795475 890253782 429642242 688874143 400106987 639420635 248676840 722137051 556758360 298054441 553961768 198218043 887800455 301081141 442240131 220155684 574479954 249796578 864044660 392126609 22514516 659361767 23584410 515953418 493998805 170643841 37814265 199739044 534425302 66237202 778187966 310493877 537472069 16764930 573336084 102842432 278253742 328129341 884748355 306442840 951994766 872879297 191498496 512075118 479520556 581132934 294110932 592170685 152650021 352586526 54550386 21381627 20830928 114547815 342852619 762959798 591406373 545712789 18195929 587874707 999708559 215439197 512870766 894245002 390860558 256348161 36769967 908356819 744585848 398621827 406252617 346415270 773887742 985718930 945123716 372720589 379732206 613692248 700034671 165985580 455803362 174814536 706741737 81933334 543977154 43467564 163391637 537825855 495563690 614821956 58636256 463599805 743652254 88374867 87646022 708821785 817886792 337334157 422046778 588897373 620785835 145769463 679607225 636107527 532844371 565659342 36203907 566044797 257056590 491780122 926115426 447257334 717167968 73362185 168782621 858910463 923555878 491915641 962970587 23436189 433857214 183700995 555597874 477349866 941893480 364012844 237708668 949087188 767437552 420852159 551715361 260183563 959833632 891929799 434864833 42498464 781209981 971280627 639980039 744113791 689744271 793378254 236874653 296973174 993271731 303640769 764733839 70987609 177645766 530267405 163080577 985018947 790146081 278975857 59443524 785041884 227719088 348773814 795031458 672462826 99173041 150439709 405759604 191043958 656345940 918860478 14319444 541125749 273764292 85621920 939717349 839303728 881787614 536773274 597509285 196494971 266020908 451684430 768858613 561264016 583633764 962030000 669330170 740688909 489511473 976692891 914992129 625440543 698571944 833228719 225286603 807044443 374568469 791026539 384480661 971577042 912952953 656803718 30402315 916717306 439973039 277046742 424414173 418012808 914736847 268026605 845917796 294476454 235453483 44181071 198787599 650340666 603287798 264399938 543254882 298632640 608814335 19255765 256059849 737151365 779880114 894098706 188226582 592345924 861182902 50797774 942208139 969029349 387683144 758319557 320031194 972523669 907050654 689966230 514234822 565542720 750230940 640234004 197622604 964920430 488086279 58978355 745116033 126845224 124005478 812477340 950618411 334069242 371467746 205172520 520531169 754706124 814510697 964127332 946179228 772440554 299525533 177571294 487977191 452802896 821060174 895109438 128206927 204068012 44695083 161521741 147173785 637112480 315518434 473926150 31067493 873377360 918757779 586210134 116364905 651233812 771845984 47147540 751975421 520906415 833885047 740207067 866588881 51557436 659898277 513041692 486330624 349718786 344296205 892514287 836716830 277136312 669020333 934759157 745043607 331341736 597649476 160580246 914850949 591512177 742479751 773429613 770883884 856759975 807632749 616479327 55371490 585819843 469876757 687553862 879672228 235386937 348080241 972139812 816904027 419492275 459192706 574622113 791900869 608059540 782844070 109189112 98989819 871406939 507125228 734962437 659250606 399383272 66018090 710386069 903156597 395889502 734541877 114814061 510244434 432525434 186686553 208193301 849634592 459192792 965936842 134208871 105302836 910915218 160377646 976049108 207127345 568652761 915102351 994097205 57655872 400158229 219563808 605427740 922928451 500395553 136044023 254950170 584681692 368203086 73940926 402847604 158246365 771383322 67527837 548558328 311847166 592169552 805907592 427638280 996071719 224225283 598385444 417084296 831934977 994711543 40657952 250369578 345753641 395674577 954240241 673961278 361339903 379481725 917215416 269403309 77848128 783396496 77124008 869355610 335257249 502717286 70161147 206006567 320054103 843552889 462170448 267512085 813355689 252264038 407689100 564255157 414956529 684048968 962914564 918120288 212495262 894470195 916524722 543873696 436746974 762660146 366162529 393016028 216668979 35406031 667767090 630703639 359677655 4283553 835283805 360597486 671475684 485323144 841904570 659101491 764757197 711775051 222067515 456250720 153220581 911041228 723447181 844558234 475940939 248806651 839267823 798679992 689597679 971215507 43506470 468281719 168689722 65399190 522842097 768341001 699378953 475514285 951671569 669823515 397348237 763206500 287263699 289589859 940589321 845514181 613095817 22528684 949766907 907973520 304112819 506095758 410604723 16554869 791035207 823520987 598789822 156242559 717287764 651230384 808242166 429601762 168239335 329955000 89216261 814603115 973680835 51484 553830145 153472210 426871610 256845298 550517683 806185738 2948212 626659419 578069125 366410792 502442230 931048410 489637978 659937758 840948576 125318128 556195798 428034342 304022444 144944006 276235239 967977866 850043294 501579009 840342598 25495571 953896895 112410318 850320107 42001509 218958066 367262095 232339542 440964138 841200590 70833092 124927857 742060649 733003008 4748448 100320968 985466850 377768039 902197431 62283022 332410551 19558382 210176410 464409386 911946624 843091609 514148993 277927012 906239808 497917475 916573243 908849672 390921188 365068209 136927646 372166688 494733126 36843710 683489953 34609551 67631536 140726624 41442362 331426144 843733946 177122421 234609289 895025103 676090676 750467147 484940298 706643688 207854444 933636317 90733149 585910477 858520495 78970508 20679686 282229551 985659764 259828632 266891792 174519340 370391601 492538578 949355853 755664383 732151895 881262035 691810312 300064386 75854296 8065473 418868753 322144098 676847614 17955223 310052212 225331466 685030631 805092807 521149884 258274540 34396188 832077466 650653343 204969118 713887547 798382677 618170812 168221790 800457113 119873591 573140511 508190501 888706548 484590503 827044349 820441631 291087239 965054646 142101363 399831073 689661628 873403789 678494903 564372347 52941337 14119222 223966484 372919346 97869767 358200217 427701614 766263321 565374759 517248298 517164298 358932787 611845091 516988302 630154425 581240278 820749855 662228993 394168311 737702153 80027879 550792128 638335305 109246824 871719730 221796886 873963081 532678814 3285527 174156503 145502903 21162003 700886469 620399131 763791610 847451052 1709724 82696530 817978624 119433969 168082567 409653354 806372791 626646950 85096810 66639987 263433726 202203817 885680992 15693132 593992185 168224543 526712981 381656876 569737648 721536208 856168035 733289953 984863022 598341828 174811746 291008163 351782124 808168757 475071931 859750126 628234414 964531687 770286204 660422499 376800126 211404380 75362767 278442077 60243277 659914568 924544043 925164030 869409594 62111085 563711973 267059156 270075987 20446065 710277467 995716019 566358626 201206647 389235979 774978150 439622698 129460821 703429664 503602975 838264915 878681241 378899708 204108951 551374961 658733292 815407274 984440439 158147754 650897115 570921689 673998384 462106532 116303682 621673859 73640581 524884622 465844380 200412183 839617904 71680035 409210590 243372819 518292746 498419518 104844726 919477907 262118610 846205454 625554163 939594104 345301377 184429712 982815153 390388206 828928701 29527269 392874777 863102024 520755353 15540455 181192515 91390673 467487105 181523726 109775157 497840375 95116284 173185779 578975860 511456069 712773063 13104300 580876926 882839267 858303599 151837289 843884083 676905068 499865338 386182649 942096964 813278060 15328213 903453286 696406726 87494170 274057715 583816773 693504033 888518147 228017150 950450351 127361237 633129534 375253686 545043415 569861581 335677478 218694741 424366181 120098544 544077099 590569557 270092231 37523115 155947908 938286340 780987174 916643064 882681653 607593228 475394137 170309494 314121952 723953062 340122575 474222586 571879024 364227252 825412775 703912445 188307433 825803380 467106044 505343514 293238592 977281051 955279245 746140207 250086349 53407273 667008501 832850831 305526950 421339497 589750539 676995669 141308913 458211059 624720728 177905014 545679796 833945020 66785973 547713282 788471649 152080451 908672485 417894125 578832709 443571290 991558794 43411014 647622444 797328431 348308031 60396416 530313783 868737684 333410782 988742876 378829209 649411401 218920971 544346028 847694041 532205148 67645621 672424403 356998847 750721801 974256552 247552097 820720809 376459365 715729487 992199359 404093661 138975124 675224104 531995892 189530467 345749533 842207081 392162207 573539784 337333136 980793182 765393444 374822601 386614912 873462757 700242881 507344734 222425006 905117282 721805500 295845498 253762033 349201226 772856338 407512848 559349342 79573288 702922532 927870009 644335514 733610277 23649435 793621963 81876268 562518991 750005631 390138132 823051498 54973866 53535054 668143387 938621927 787299858 168791376 888208804 562072289 174621207 458868638 556078275 88894678 831050587 407517061 611051914 880521671 617671321 402343957 475294026 47675941 980472531 972815583 726965919 125706837 698796080 365188239 612651646 967476029 382934057 25395434 555085245 636461486 816761834 297262361 919995985 660417683 160314513 949485558 593502394 437017708 351661138 302196318 498155279 78939755 427941108 267515336 28519823 359586977 506695797 865745927 616189413 791141239 58295711 347287262 315037511 546075666 174336697 968519311 1991856 598033088 64856836 791603542 863782046 4676282 727158669 47830018 575570362 193317504 375534134 295743782 603372764 271184189 193221713 675699004 305181915 115620257 148369965 846062681 961723795 157213522 156143337 407877829 144230365 108267912 94801900 921360359 41768724 346944479 531204754 946190880 259315504 286575022 416879649 958808605 437956822 956842168 194220929 323337195 832160455 372028745 351369770 20677850 294506750 430761307 558642103 509033733 950628534 120521684 66768291 808608792 158282783 643419566 86256080 735154276 751305195 172862127 453710527 822265234 143057878 33327093 354778724 554471995 955019446 160554753 595647632 78465598 825294973 586618469 40286355 128610091 104997592 87098051 221217964 818907507 27772410 102453629 921534250 499746133 855325569 76328345 948281829 636013606 541199875 65159596 144818295 676366925 528762642 4604454 443678890 710207997 710638673 53044026 343871103 916451771 39720682 797054908 710783282 227082533 909771219 784600341 807673324 239236247 595569856 904251353 363440966 429156177 127773276 650748098 883606175 809425706 40251935 146082849 512960573 635278306 853332526 40174963 679402837 724378154 118740809 292407902 415310380 736205805 787666720 796363368 285404064 526787813 599642010 211164877 193203616 24534738 892347149 250150619 188475225 103068426 143040349 563603960 544488211 341671418 375800828 948316121 734152676 287566465 161858983 233076452 54320894 98199517 922947497 818110850 55516839 655678750 931203361 157969089 270782863 824201080 297527326 317716441 996252847 228444373 395865719 321487153 320947469 547103853 668654755 685871612 859860699 181552935 899645893 616784453 421172350 893989264 901494939 189307376 286046058 920325066 756770256 876843516 764936277 206643666 900534048 242571254 246908720 705707657 59244431 18568753 170421135 769228188 101537171 515482542 414984697 782378645 819700644 576295263 957227724 711064039 693941570 911576223 715735803 244147411 672131209 570561414 960430132 936939389 582123546 549726667 280103238 866983513 135122092 610705866 716104245 469926221 42790604 724285675 10175463 935763987 252204058 416530342 472652916 512055494 387931581 886538429 353452149 600808489 737874054 615410929 988619459 719487998 362859112 874645268 155329554 119359646 770010188 81497941 274226510 278157705 238642199 969276683 112212602 700689477 775158622 39508771 146833141 496638820 844869410 688475032 831522811 866631613 625979816 280700840 46278297 936043934 797411717 825296363 672288951 325009227 158052537 385337670 997799678 304285890 936488133 309939020 930041620 308918223 960176610 598104143 813877163 477257252 207322846 76875460 737591710 696955705 492008164 508287232 876394634 342962959 38014212 882208197 392963845 323369955 160055412 620977121 875303724 787949416 70185920 560453885 552493283 237194924 870028502 456348543 876567088 751268678 946399717 78822795 661822930 816425236 911023637 66548691 767540404 481486198 630681079 727463469 114912918 84126248 683108938 591967495 136989444 404688019 302773400 210287605 739209316 128991528 527603094 677089716 104149836 219138763 700632644 356821908 395261484 636852418 70016977 350991352 916929171 402312472 821083196 877065111 230130745 710130203 728307890 569524559 374235 163817605 209930771 665775068 174158332 790429382 143378441 869805749 397479649 933124022 549903622 612124528 589469043 313801350 293697547 740186912 194822846 876300549 763212320 77878100 107117994 150688495 483367223 222107472 931619672 963650361 384089244 301263145 346096042 592026248 714507569 161745718 282610138 386971550 224363229 929321938 247419250 965498181 547725515 437813434 317246025 154397318 773756190 815383567 87140785 88406652 368574564 527342208 71816782 994967298 845924346 857956376 151487395 692027870 966165298 55414979 708481420 436629802 511604679 293081600 759389062 28695384 118844246 972950449 809223140 62103475 762296577 44839574 951956146 577573340 652686369 606102815 305847195 429364088 759091132 646150365 277374809 102677136 827634645 553483370 525660218 213439614 350703009 548333976 301396939 229455596 756274459 615456029 589447076 581221816 402826287 801662612 10604664 590709497 61307399 895362808 730272457 842663830 29656802 936603195 543490063 444533934 17310754 919544894 189035774 174166465 187757283 988571853 995712922 883992400 308075466 941630537 519144861 550542947 818633622 271866749 503939526 980017597 475821045 792543367 725515875 7145690 462775874 876503153 284479984 405043301 786129329 497132300 50886257 4204600 263851075 989181584 26111444 200245301 500442882 608811619 819056930 809219618 597331364 44297776 635679049 794645465 177906130 537687896 155401407 618299156 669549960 826655263 8107807 528089150 916820977 367600535 955744734 472036471 442494521 376774642 210826844 797361042 309318634 983738389 941604352 852324413 627020648 498450838 727609882 262123533 919141175 577425562 251710191 252931491 351897505 417101496 234956018 754187261 882717115 79858284 708854281 413314774 295343618 748469654 16747243 565736405 462177852 31271575 626077811 913185878 599890402 805127713 256473665 374628671 313915652 422709984 664937881 90352525 90383055 70385965 482591718 298449700 519719151 552268508 249937102 874446859 229010553 473757823 559993503 362154411 819974199 502691809 571984571 758985519 965961639 441945953 405949194 569607574 365461022 623842416 151913565 453256476 199561529 321394134 442337270 834163730 769063118 180728991 715903103 779998543 130186916 37595242 338867350 859720057 491877130 15647128 858010334 788772195 2119313 399031310 806757980 962195704 441633929 38586898 612350711 665840320 414411277 89178975 320714278 830381353 607841631 90621330 251983229 486232091 995455246 601165460 148395520 744031214 637883244 683692471 16976163 539357784 840962618 639032640 16567025 482551595 612612197 159328376 987394311 641112065 112390248 501962148 428402289 193145766 786412532 175028155 467348659 653706987 971934134 794062811 233908350 22985475 925459829 892810374 813905858 990371482 635642125 581643995 136162217 951670601 902832043 465517425 284226145 602535158 593437094 117399751 569869755 378672892 539942056 808099872 486425776 806919200 54084752 53970340 67242296 36600746 270688040 790617381 849756160 427498134 317221786 149704592 566019122 663232278 755936001 624985279 415091891 140865017 95016777 545382997 772450608 844656256 179075163 44558857 709870626 290840784 662 584749338 496027375 222314833 407241038 842925421 30207229 351694812 747075496 137762677 67432130 188561447 67346762 11606474 878831504 23872331 8395732 904043884 679648230 598304181 312749706 183230460 656285573 265805999 145852014 889855264 467382446 689894587 786478767 532215146 306081864 373501882 235041835 561459331 628086978 527277581 417458966 539095985 900764433 354160633 296571736 904676529 432670922 638253789 299933882 850092296 542295347 61748661 734731530 405836376 599243495 332451743 198532946 649388235 126673492 702879452 652898442 413819153 814956358 629063016 440845789 540748069 211104473 664735728 912928760 897475207 744516555 70363103 894840375 627294049 353728220 928044800 977370463 355033488 693579782 424820876 644379246 732173291 178786195 299045517 343664921 844549691 59464105 920279334 836172795 286324156 793200113 619667808 487531361 99966063 326783793 497741560 13185478 763197930 803723884 87923142 595247027 823936743 296395464 21949151 818318676 936254058 627199176 783969312 540494043 6091245 501120289 934401269 216608470 808898575 874683477 873486688 291866833 920254249 287692410 755021519 266640755 113477687 28957596 516335037 269933628 97663895 660353719 721186563 781194050 429056372 104113047 561598489 551025725 765012714 562283401 777405168 507659154 98029065 436425170 355393539 772650919 747179815 668840989 792736225 633795245 185878473 141417397 23124163 381409403 102037792 964766687 505723601 33691320 731854930 391854222 550429630 699733917 533125906 985002835 110454860 829828392 895452395 910276101 638847838 258560958 255010607 182239739 882469314 571076039 268201203 338447642 915249215 956019675 872905694 571649103 157243993 876976346 373915256 84496255 79636046 48089879 231814489 725861965 662017541 509016134 575574111 531505890 623419862 60400373 953297023 798679821 735614413 267206649 323258086 203887903 865448423 416711869 530507992 267478374 704399966 867817023 566752424 517781657 273569870 57593850 329103018 761598038 92369303 74644321 191910058 259539489 290048110 682843160 231613742 587569358 269787848 646255212 529174344 186828739 962807632 633934323 823456347 643152799 978702509 985509375 496110342 926166959 991782757 332969317 516710800 404549209 680386105 645055186 136407610 748376853 938690757 804559396 727914444 518841869 47796197 464806549 169790903 727817842 391222486 777489948 514646707 957992907 331408842 838464099 314559072 927176871 232969533 236623485 602528040 740670028 518609241 72360065 586413740 246622341 222944947 422443626 928036869 634446822 684302540 166650646 500021987 692463236 756773123 196814646 241839757 712067655 717551186 349192695 428161034 858826834 144748224 714421010 552341433 899041900 110666123 603984991 995582436 950046392 343592144 563017634 516785719 987364019 791357946 159571855 28858099 700385522 993463675 244456247 347769568 980147684 529303284 776587142 450532876 928474828 449659319 277264908 279892722 798899116 895268933 600759639 643707392 219331922 485289495 499558450 228745716 462054739 331349960 850638011 915548083 263260520 297751054 828178030 424786348 759784302 623045199 641018287 271662551 663880667 806741039 552140450 850774360 165015501 613101795 644016465 450198036 288964 406254473 502996163 996384189 284711727 813603528 567636971 912850279 621743497 194029023 994158118 42698454 285391495 502742701 99231905 826378224 634762290 341610878 591252486 812731635 570637885 950783343 755571479 106461109 15164712 735648007 403961815 269383398 278986281 618584168 724532427 480197144 841851921 625534757 87718131 3461140 161098833 742229487 406250117 842123780 414853601 82359340 302017262 103494737 442416188 932226847 650694299 218834034 879159794 261060040 575211319 446468395 479946290 38181869 304104444 75332032 747335334 981898777 353010431 137460290 745805296 141056946 56867998 276009790 564696991 652125987 676556421 257587934 154000211 257884512 587593109 630790521 667550588 943482344 567637429 670416193 810994157 878249516 310069106 820637521 836565250 737986540 452178808 514196840 953718991 550113907 981943648 986008400 128986792 522935294 389255398 845345414 88573731 860691844 569141743 628530478 705216480 243977070 16074286 940348284 989454532 205895551 437332175 409751598 630864039 264762161 395548406 251429671 704327019 223419314 297670708 563791849 480970893 229829841 284285361 722178899 679003989 805211704 144544865 175372101 274581449 70382640 819954847 920696386 29290306 255860001 37032345 146658798 448426688 639534877 864791984 270349638 591892550 353667241 776652280 935673623 742731620 762457975 968673795 345506747 331416710 147848689 828048172 953240797 67610124 487108719 584964403 681773275 550600255 775154570 349943991 647004791 371562835 68106419 709804111 495164995 744095309 908137401 73303558 151580773 877529412 258879640 723672702 419785998 796531046 235831309 331927421 800069651 8775969 57919654 138640801 465836734 547912787 430749611 14183619 811044745 942890484 666443250 916219184 14980918 212564498 64737072 118537834 863484444 357047232 198407452 825773172 221962759 765018463 993913383 628071607 469682112 642425045 545933934 301417693 90644090 436021820 659891386 551789864 66346465 754774116 543362921 892480046 853346220 200399254 498400019 933908354 704415282 874415367 825937425 307129532 781052214 313193944 868710554 492857903 537968399 172856288 447479220 802933107 94595716 426233777 133505219 625305060 162403558 721903246 986594693 827156468 994285304 272264242 212704184 925410916 438769636 342577649 596580636 524421917 794225080 550512920 414221461 437112753 285369537 13251865 668451837 85746021 463647840 599775173 880408941 28270162 649839616 442971066 945777333 117041560 399510386 414288602 91343599 166258963 773164852 629530413 409374145 69596718 173515306 647752901 620646443 838081829 863221707 132123813 781809382 719523296 550861638 412621533 374351853 260987817 826683695 361387816 908118501 141296446 158537454 356493167 336743229 59508680 43832688 695975879 278969666 595943157 363681840 309911407 95679656 72126545 979379421 348984797 563462497 691617577 722197066 542004112 230370396 474890141 905446915 629088405 259031744 290183782 396429145 553213209 376973604 924551779 271107341 758164005 798552208 339629152 823023576 985609234 281572899 916262525 530344034 434215165 455151652 125463148 373956684 336809869 435266151 147660539 479823593 3252535 584555365 584836896 416858907 195203590 997581593 412646704 350653455 708718439 106373389 836656165 203918050 691900810 326004981 937973647 284408288 380012756 491740408 123349312 98824733 474226960 867109843 681663120 443141706 14334044 604604442 129575730 485245123 800224239 464813685 15177450 673747446 626945834 53548177 628117881 378163892 660669890 307028163 622368188 927288503 736269432 341264256 911303483 318045383 743693439 111694100 967951906 504910226 843704822 205374531 446556225 692682809 115371672 471115704 188649844 4838425 332869944 223366955 915980222 814795395 120020531 321921824 349439572 576321593 744961538 547723932 165184424 201829506 546627790 785142733 354503806 677040782 50716354 824815315 276311775 956414787 337766524 466902684 873692692 583403138 321995084 355375642 690337250 318678161 264770043 107078455 885896374 357367717 91430146 861104087 60918171 269789310 857206221 387111469 851506222 182640091 317754738 548460237 403754238 941532353 331407791 206409678 46928881 415056619 82877762 926389039 63971677 999929854 546530778 146887331 388083470 690977842 756848921 713733826 714411337 826250097 900787596 512412830 890546880 539228228 304859676 793507438 575320084 245129691 69853114 547206621 524656153 272345853 868071394 641212857 337364848 411208449 186691835 411038210 421419710 139343365 242959038 219123460 559097159 248798082 117678596 715219293 48799692 886609137 184010425 867934001 791141968 557229790 185987229 789816880 963058060 619998580 820285028 867079980 168239836 344111400 717102841 873559946 717192672 599012944 414954146 318405890 324783384 981509983 724110825 58942420 295327941 833136513 529908762 553724320 705244698 874626740 346775807 763452842 186616162 211170767 12831153 955195743 511243141 990916371 397286237 353005899 74183042 509798538 530827979 143730475 143768509 703938285 127859135 964768207 607187515 744459528 448340393 621857602 915143297 432808826 908920345 992890556 295992407 514687810 116667233 149511028 709885199 148998126 569191613 21804824 497555015 22355715 711400064 485400074 146437050 697609434 320054700 994571867 330047346 984291603 254887228 259845873 519300530 814004482 636778712 114545168 974101262 135795408 803721813 440467167 159799245 376845601 81119846 957386714 326123795 25043688 439164895 777878810 768324721 637266461 415431531 957333807 380385169 496503642 800112994 338531521 822378401 863085755 532250461 727911105 196324929 776991963 509996626 601122359 982502406 819881315 282425728 635108760 779707235 491819425 985938448 393065531 743915016 878855114 166595675 40883235 76506967 113234285 797671187 603305212 610952431 518679746 269823387 167429741 529510532 514117847 264332253 184122100 109951653 708229532 358624837 7530129 704181277 388533842 131981534 901595706 524440624 538621036 461150980 339310058 267526615 414095616 382522737 200495815 389046607 815676929 664463834 909270462 459200181 913587035 41830591 268312565 59550339 834774133 226882174 821250811 429391790 575151420 848599042 661720679 540632743 487613755 426470290 140942685 579893663 685831176 886343567 657860218 50956723 240911265 552661466 737673126 728021649 299703458 914323099 176035789 276618992 58370860 51689344 129147228 632924319 170979605 143054919 395764223 837639924 581610226 213045005 493434015 657747336 476128897 673720087 916871770 63006772 349535567 187093266 402265711 300249289 104720918 398757993 568735257 796018012 74303401 276390980 376792975 366989927 912822060 360476714 677722499 475574399 896456244 786087936 710105537 624954772 74766955 811665281 754484238 495852285 391668966 940956305 904547249 194451570 646550665 635498525 341032614 180306959 673761461 12151293 298750466 174912458 557239014 960773623 946910326 727939829 582248090 152240116 331492158 485542769 460748572 760481344 922217647 595932871 425432635 764022586 653985875 470643392 79941154 520185244 546616452 155168637 1700843 661155537 663521547 682503777 152561138 558302278 886847359 478187991 499528999 286766291 283948603 977021352 309151851 955324882 472335645 798480560 384885951 791223199 252049357 389208715 44033723 427750450 2212025 35199217 411925668 214748188 41502290 997670952 20755940 408695257 260213183 127758858 637417015 330462449 552992350 977489642 130416508 191217241 529230965 660488462 801522922 267654980 699566951 315815590 727660840 533953593 36159174 251506156 790364970 731920900 64197059 182571273 100239456 280556828 792145263 416330497 484140671 505409030 415524727 516485715 866927135 990922760 16626982 615992796 636372623 929537296 630200700 957899923 839665258 499964577 835697694 368895329 259783979 876383481 441908757 27589016 934430619 131931864 649476338 146791793 236526957 716531340 306876369 967603126 65145061 139672128 865352301 802698636 116736859 995613553 389032810 666787464 596219354 878060898 9741047 164493705 974729870 55364843 642262928 795947394 385764958 19859892 863706286 325242064 184874541 790965620 349918789 305367530 10442784 996895303 756343843 968889364 323881703 678091486 777261496 245269067 490757722 419554128 308389928 824101924 650363483 859612793 714494407 534291204 745374174 379871920 954007166 960112261 684588133 175034980 562059617 358562256 902389351 83699160 721786837 462889526 634401841 922567363 504183262 438920169 125893180 258056873 996597296 744094930 140381213 150977147 260569831 815415758 178652150 805460127 669776669 242632271 17163788 165802055 796044124 32315799 915295411 141973508 449492574 551257299 160032734 601612795 567868093 236107146 595695400 117236408 21703646 367795731 31022372 968416032 266266546 969508113 524678686 778587989 822033181 544813132 29457671 117159334 294433898 796910770 387814091 632465376 676523671 815558663 155319320 440926856 998351112 855117621 890072075 880950873 883903126 401090859 715220688 822021495 468391477 473419633 417508427 720922252 484632141 974254773 216111034 203732117 291390153 290983549 316851939 594991566 6921201 427496714 499514358 263791011 359280939 617172819 3742462 585246563 56522942 501229989 968567713 452075364 899139020 432935321 327802260 76726877 277527421 114234581 973515110 879110095 566326469 124208659 80736947 87692848 428679597 380366171 705363682 194906937 690795437 697285262 206412362 73385020 123796332 800048348 97844019 90108497 506373768 662192598 696032745 743154415 677183057 831486013 762077469 438954648 948307052 114974752 393917209 659480552 126770034 305263372 626395047 675258200 963164210 987021371 111547056 243494241 49921828 318507726 941432449 756030711 125856016 18697885 370194311 87464580 469679207 306528721 426738838 80508356 791505528 788432148 12020526 496590714 890587148 39097784 984229271 712168903 65191847 844567815 893749665 297996346 112274421 358443192 291240527 213422690 775876678 117801500 200352512 326795125 282272190 104722524 771109717 61432558 2422041 635509730 83964525 544942091 143435974 94699242 974805618 755174415 436737849 258876515 584862040 540050883 136244086 518443168 432090386 861231407 378105342 579405227 955922122 16246639 588444387 934507207 892589740 393736468 307269166 772611734 986240361 639115601 703016935 132315657 451748348 390191419 581165925 29928910 185082742 341635358 83619857 695282565 97332103 47683488 501600809 976799463 823931067 253006093 612584498 402299311 357661908 964921248 790017902 631247648 266468783 722178654 840213064 59044297 267903509 60809935 251513249 173151684 758635650 856146230 74126787 239076306 765222219 571678119 4187289 789168027 75354025 474348076 987290154 764346578 594375672 395891822 95262207 47502775 352762084 475519787 642982596 949220329 757490986 258229853 77067105 99943238 829742482 220839060 361354976 300601765 366375158 596896857 826685108 120643311 264942220 70811788 698517647 987125774 231573556 551186948 139772574 711261051 849818107 614291142 509064858 491531410 183230216 720753369 677236977 946196342 412929769 440155434 643817644 92975512 285837566 869907761 666828119 681077994 75381147 698688306 914913217 314117183 174087271 500945338 606694895 147335384 555552280 354057008 809472134 532315440 59388324 553477387 392756568 298926003 121230608 702620163 731360787 207112646 733220740 709209326 278940349 362336494 80390173 893745431 401437806 599812974 619541839 364978462 308554682 345940549 280385689 459510898 427141995 443072023 866514931 694413953 324751925 395588607 90326370 153209885 193263551 549712852 47636092 340605819 534279339 526827936 346866176 912377879 952755372 569529955 235277286 460584925 592942507 593431008 284336912 11543544 444993422 207272024 595941110 993733350 973754798 828845638 535877624 12310997 662782247 466162048 19427850 65666616 237764845 708342019 759815086 280672874 899020133 849735640 62672346 59599181 181415887 444701535 18806263 452334380 357812793 30540585 823571220 400927439 472440447 972739258 567614264 522166615 424339579 995785035 78227090 298633142 452271935 193811505 934710215 247752774 534790034 338338751 719257345 964995406 529475937 330577136 234919644 693320254 654392285 634993755 198542660 168756634 520903822 720379170 146441920 87046528 18023090 800947610 687695949 88852165 437905096 194672106 474453263 324858871 79003930 855620909 661899919 245317710 857077187 161267002 438253162 654739410 147995731 701938216 562918583 73122647 647067144 705443337 306635400 350596576 662442029 400292325 491784619 961197456 227154660 22320542 506348187 289370413 577719327 588733031 864050588 217289165 200079390 141928712 278190077 366324466 770742310 855684023 259647674 987207844 63937823 161880346 681071817 737426311 341249646 261047671 729270581 427514983 739949837 500981155 821507477 569916944 457931989 274722002 739465226 994240818 344555395 58364159 647004435 80565859 310645669 436100224 943909383 110494249 20365553 120838683 266030806 57353829 993241580 986325588 217327538 528854075 935489030 233092199 122284892 83904359 76020958 718403395 169664118 869810486 636829563 988528909 32179589 147399655 339610695 6521216 436798625 920057412 680662800 555966883 355374199 651993794 968622721 543050256 913803987 622866778 963639008 57122322 227446444 340108874 628364729 321370677 975878256 883757742 996608521 460794120 166762069 891533405 186236057 46444655 569177191 669554670 464831698 8195919 378523725 895155636 81490329 628951876 707746394 620653535 272774635 735926583 396487881 256919442 481318020 620309261 421781319 83470537 791696772 644806944 563099572 524320222 783179706 149570377 886340541 843174728 718333705 750329726 270739916 335742569 662941625 552182783 847071302 798022104 491084426 466768226 894930716 62657763 573427148 356124145 303846265 334147549 560780357 427262166 913285641 181749501 657141711 487763032 852778753 426481034 38520269 122926166 53406734 512480801 353623337 756173397 981444894 475056409 572242839 630030144 394862816 810254479 213487132 854423836 860432958 487260072 365135445 426069487 290911811 223806609 553633298 790344252 325761000 802367323 536913823 770772924 266524297 566997256 343949286 315540984 204920064 493955044 705166629 349474481 411946225 495251146 218331217 349978617 280595042 364095287 629089857 143119349 399884398 589844107 136041547 789568826 162844599 428119936 617690986 169070671 85612914 181651443 150294668 879423436 463603237 575524781 25085105 692722839 520229395 666283543 569355142 186945838 36062568 316578869 697630688 821937022 449422776 871821354 845765121 791597372 310530010 723165386 406337272 766720264 299701081 429270455 382312094 510734637 405313783 498260764 965092298 649573595 323059897 597734993 452549958 302996164 541883757 378448992 166918315 80404311 648848739 484378686 340522904 724741544 906356916 627498334 39622908 533952384 758035535 414653574 346019326 853303113 580584784 426302236 66985423 343149210 70992294 677662579 788998070 40564817 145790964 430308890 594190277 73458745 832459829 948091773 126664482 675593667 658715901 716584563 911312620 642610554 459077674 24746699 749891655 773229739 516247089 755741507 832183090 146276401 750387748 945631463 832247950 63897267 994450455 24828783 374564350 884757042 417215813 753858604 491542718 988902976 501396087 228072129 816803028 190425763 621665772 842034944 201922595 169488434 869428068 643629420 850476798 374325826 758704403 943469460 748722834 582603653 335483751 821094836 646902416 334146129 385296629 492450855 514391634 524980373 415334090 821858461 908586070 548777536 984818867 710509110 877764059 740373766 832868048 167240846 514908672 562253198 825723924 251823859 846761959 771689216 104316096 879545618 192703112 810496083 210346296 729493630 736272443 849319465 395230651 644660062 425515689 813660982 370983326 444582 73146041 385731688 337557832 963794283 950194051 867773864 868881087 656324984 724235385 812605796 464959841 511017733 226176533 220700430 192886899 584094743 703661138 342113925 827872836 36534227 94239351 299374041 666019856 712608647 804111492 815948068 54920238 648860588 928381305 924073742 249749482 26776573 527749617 479934578 56827134 406807019 191754966 995984581 851461631 435931162 438199166 280003148 819927212 285717653 948264129 353999352 603189720 95937230 233581172 850610957 667078288 642052879 341234344 126630463 111102008 261245171 254571219 438711021 849185970 596173793 889640477 29973806 35981370 654883322 684583270 685333990 745086045 234932874 509039327 742706709 395181486 253046578 293263225 762217951 802512564 238397268 947319428 773325777 82848493 45830036 186844574 105941369 26347325 986480481 96760714 771852066 44932666 363519407 335733757 607830699 62296838 346303648 277352369 199219255 72100348 846734762 166669146 123190351 262836646 470953779 957067261 166425550 890327232 886526594 751193483 168016914 152374525 768288060 251738798 72067767 638013670 162260005 228561099 648123649 480012167 264541788 334049624 266967866 569899188 937010241 143068188 592329607 546354705 310807336 750613981 123389814 300058776 111631208 546144146 309155019 240697254 513517188 704310136 282489589 635127674 120453588 26136641 34333972 272619866 260350128 844456533 662838889 547899678 147912539 754173771 514733822 34782435 377023279 607379911 292871816 542195877 67121326 925630778 267655851 456463929 775226423 915514645 381692126 644261959 213976125 766846737 75252414 740450542 402180834 236332323 300094982 818226863 528299022 952611332 337616330 818046846 575410292 20954335 328749742 758418947 783340744 843091033 642573858 628638961 747489095 32870373 830013039 982094669 13746830 439942055 626542476 449920568 107434411 437473833 808482549 768092904 889308886 948725226 854133257 279536988 478220956 482295675 587881267 148777087 10429042 264810073 895647264 272595321 107147961 794106131 331668111 509244222 22026645 701317620 952512560 100897638 369787705 761136589 549275684 187399842 197270733 894951866 602625290 973311490 503500435 525146834 667726567 386007426 319402742 698606227 13532625 808882759 409513687 737876671 363396532 254303247 321063270 699578805 966804343 832339127 425742765 602593916 722538677 416228118 404084132 867815539 155385885 340083281 787292878 724756483 673135315 392193680 979052078 388622396 656513192 728588388 827775246 318111176 227696678 932614214 259533447 771713888 731639935 828419425 294346699 612582906 76250218 345390339 493439369 58976193 663750064 961336223 872924901 658908044 532742051 315340932 883467130 783257470 853125405 164712798 207762849 29677553 426807033 377673771 344163402 182504321 69376293 723573382 371728658 703693180 839512328 456605701 600919763 88145385 354267607 779768666 577770300 526650061 932469028 248942462 959433434 650100068 707130454 616303672 391433999 216212761 703651666 761983180 437932597 561316654 651028701 267203472 300157229 577828310 29153474 185072019 121521984 629215843 536453966 570579495 875091933 864169813 449373014 118472927 700734303 661383660 159186698 468587271 733375465 133073939 56693910 985891470 118678131 403970067 289426466 46618658 289138770 740372131 812794396 52620259 861840095 196925496 994737014 196444321 78971689 541592070 997247446 909890220 770125136 675911708 451104381 916860484 738452716 457863301 794025178 104191721 739285341 368355079 341682920 941450156 802039076 713131754 779970767 120179073 691253978 695885044 540047276 123387143 220748071 466614270 582933519 712800040 587877215 881026933 114065016 927302015 98267478 343506981 847847025 414166784 161810050 180465045 633310210 779359410 316008525 923018966 380477863 579065425 106096825 724725299 3808301 735889244 72512027 115301744 316779712 448023606 359058361 544362780 680013871 253982923 528281324 94020504 432075870 642338325 780373391 927145127 857308528 889391990 546747291 140105784 231350806 983649646 855697840 862666516 78660743 975614401 330286070 605877451 510685805 224589713 775030547 106670226 147892609 42335039 800562325 244273271 22251313 831723329 696672472 27233477 475434019 919795921 978913030 122299754 121480988 625916045 278114210 688969650 298559869 900189985 630202655 939779854 652242011 872166222 906400372 758273452 573146402 724033550 396853095 315334103 654928588 801063463 717185603 265738429 284774978 223186083 305464111 858996857 27298106 217835858 337504676 975112609 264132713 327389449 486823395 72324255 365167755 722416670 956445370 52152326 582831354 900121983 643330376 535709709 401831123 954176997 760963105 394156653 233452672 851564480 751397170 7592686 488431 222547850 888879072 778492730 648764336 437229022 229657331 405362689 263027024 449373687 840132319 746732713 413159920 192092075 408301609 504920220 375817237 466684676 148485717 251865744 94298083 733154393 599028568 975806945 493162455 59467848 661880863 297379273 172368414 676332808 4635285 158627014 796675184 435679046 861331384 290588470 32884658 63822713 769019315 885025582 615444940 349223336 571542812 514530617 238508557 665299342 12295637 686493506 140157876 800096971 961102464 159069844 711177623 383314554 482532829 228917499 795881698 498111895 808623444 525167133 717892784 997073831 889805900 978327422 979821201 238376458 895839109 517057684 973414224 474822900 463879557 609257976 148508493 882547732 331052784 152603424 75517034 800467967 248388405 83530839 90325040 217648838 270338783 663233841 29460149 71614660 559662151 251023887 666715948 84842385 511950607 659122298 754098253 274106368 386699517 103755013 660318473 734586462 84898864 145993669 211797357 559000250 493042367 464905554 970135344 254258824 583629917 965947059 823977039 857206598 480985693 134147315 240927923 436711497 667014732 9650967 982733987 976164062 359708224 235185714 331490169 9000070 918953841 35928571 115699504 390793548 697287705 618049363 821594320 919216260 683432453 61088395 460742429 16775524 956276526 554918107 371854374 288539957 818235379 551860357 456270335 715341056 567241464 961220393 799657037 343794218 513699251 390796161 748138466 971247753 68363310 90420391 964376768 167458814 408067415 893453875 916056003 275410305 767731567 999873180 375699596 195856762 905413189 635646052 196483506 979890688 400417147 639160736 224823478 570464320 124051065 45667936 678127377 84535639 878219059 611240386 506560308 643982140 172663547 594237558 185285232 477373312 718895172 126914195 704809530 488206713 731911688 470706540 478708719 897779167 988939007 177675777 114603695 309034 258491747 729146035 395802832 778643916 502238426 708419264 297593770 421803298 716719529 115083888 90945260 473014861 694338578 231037849 829559509 660011491 852898029 478789907 57611674 58377064 897074715 614661990 12752512 790099891 297745511 720978237 53408466 937838978 775173694 578465064 664307847 940798048 965329160 597817242 603527057 342733330 522676047 85289808 991683113 122611066 981831933 715520886 466250772 546245665 259615943 411238973 19426925 698637177 190234238 42106341 848718946 653837891 11564787 964914175 295437943 748799526 151608125 385929508 858310927 383116730 723473397 741464919 200106939 81753460 547147952 739610933 917668959 609804218 723090770 819656096 99239139 78648870 177132148 47255182 935841810 522046242 804379959 126640639 131188103 180720959 300954806 298655306 245101681 383931434 684873220 955568361 488174083 58145899 809883477 724466127 183378313 928880230 745207800 736121253 73473114 51723364 515631844 417902718 617098701 943150409 591148733 145536400 587325440 748778386 865748017 601326688 848105044 888714507 708579934 337637504 488696587 693869945 865649921 503731097 76753542 674370569 998453718 949081010 451311877 635617383 944530214 82189861 300882235 416759321 298096226 66607883 834380733 432705878 947671954 290993183 523994641 745857421 810972159 619488515 443822051 222008864 455336114 901551436 909708481 938766429 879130324 788783787 476701204 468366768 57600703 507070839 571471040 237568636 860508107 205516704 486229325 993431361 726703919 703702225 721487308 353727272 824447670 747526460 390014401 675972895 808731550 126606111 394102060 96574756 148825619 345412448 250695083 459932453 135109715 921006853 934960980 110335422 653675788 169426904 150747513 167522849 244605375 389450428 28917806 671178832 337401193 335537671 340501815 281439182 29157488 331292941 314814325 956741151 50235171 786920069 700796523 14287690 524394947 64440332 385208862 990038235 556518803 889172909 205969001 389133489 745783339 787365198 622718377 156747373 113174334 685202273 866709260 197212226 387159945 670361727 991291039 928258992 578282506 50657512 289841214 961223423 536604621 869641383 120763296 39552672 313602085 19346170 975017279 768998945 612068403 115664333 900331484 83962262 650323696 789107347 863987000 659318528 178236954 149623437 632834519 531305293 660701926 363318615 389306433 931751220 120625156 633636877 490074928 264219519 534582029 689161669 981943990 355269071 440840227 333641784 100390317 403461684 237913998 357853388 478952227 851574185 699529820 129087769 213276119 557464554 657329557 435968270 267875831 508026398 431603818 30384579 32094799 51561384 685035154 659741143 641570544 638360848 289034689 395333810 998726986 378785532 492760997 368059820 7213948 361379861 266096523 87031742 445492275 160086642 335103791 51044716 539100277 570495804 454902095 402568892 586830429 197090376 433334881 859635851 734578640 355075487 570689371 993249210 502241498 685553227 474379382 597477538 503876941 334692514 726380793 356680942 554535471 106271501 974556259 434286939 187415232 307760413 409208238 864571756 786105283 291221011 733163255 432836857 693697107 1711516 182027773 450790036 627992569 175491142 146255786 145033850 791664230 251732247 478027469 197285445 698586410 714254471 487119982 974772199 468376814 380506726 420581112 990770470 581869782 852489184 770336023 608052825 99629443 800880274 881523873 375639569 924394192 413547901 355239071 841688335 638015724 404493778 780854103 577339844 366970821 442930342 358864449 204316279 415943535 3856648 664031029 491428479 581786403 799747363 416173089 513129562 438331647 903545262 577667280 891927433 83129440 70884484 680635578 512952238 980702070 591644336 792115725 943102924 526803072 969581227 201425253 255414072 954984353 655505221 581335019 545031147 181543419 823409851 362904591 627375957 476083902 166674426 953516224 265621960 763323097 653291506 930340740 857615842 123953708 692163183 466857907 323861471 952476029 808243406 121851798 563566122 819137065 547418805 681519339 704913277 339732942 5396013 818707258 671029544 340078486 908767585 214801534 26694759 133331299 874849995 10428966 442087542 487290306 868860205 871011261 314293399 829408887 310654194 517713510 980040761 969766008 746828454 64203925 336209646 771430241 701503692 204796355 904991833 749280034 254701771 31468679 818835705 718087468 155914322 85789716 876227902 915621344 62659254 141084440 226180087 827154589 933561597 521164026 50885971 2526166 570079323 333158657 872874449 582781557 401518858 364252458 307120325 188074755 102861673 556597040 136701925 369645099 420044294 547746081 744659001 730630002 713506352 894390262 223490132 367147397 560756549 336758285 949304280 379755867 478058842 62617077 181775168 721185810 298187659 144070872 985953315 133970560 372046931 930157879 475758318 653884 311142244 499153350 557297431 685667754 871317450 985778565 800141680 195678009 245020844 97696949 213388736 226190240 34599651 137966567 5270416 107554108 825998143 899077778 772330443 485100584 291319658 907892812 386942905 222388472 704866606 688359926 471702639 309798015 557981099 843203643 572856674 582422296 914941286 599764951 316988923 430298341 167490118 106815880 319384086 966515849 219333484 64282307 56264450 8493243 773421871 24080756 665042799 570776430 156228999 749608373 694341153 112057233 785019474 34047091 403567460 214728783 402820984 236009435 9446262 208545521 575683327 722349199 961861204 125961254 103430546 535937749 293819324 656501232 72189050 681636539 400041332 325185619 91165306 464303630 259639202 95351041 29927333 942629287 427249918 666098123 139118820 461494246 455029146 622963756 293217931 16880942 123248806 6723443 338413521 412798528 171062538 307070409 748295422 342456070 807296414 404609167 211467833 517424025 116248371 357736565 587291612 668082641 523287478 486140167 434193657 408223097 381760913 290379708 636284862 198222007 840213918 530803688 553423694 122878826 708004870 466523316 652188321 323947769 153963674 752996478 136494849 942933952 464587701 196303666 346162511 618577099 21806896 621531369 841917521 424939477 468305695 889683010 719481354 312901565 874908774 578166673 939066523 355533598 73826850 893098696 456417173 478401077 265802550 27684103 526878401 78152919 615648180 699059141 192754858 424157593 997655570 289493164 574343463 9339174 490062473 940504106 311658636 867938711 493247997 577840381 863252905 706154758 722226384 407447754 14122175 683246018 687481037 190874972 686593122 830929292 83041885 433438864 395621430 8071935 272262628 944255499 866679169 878113267 608057434 970149120 84393530 703289579 878531024 695431568 831234414 303542842 114506552 598444099 324130181 127519032 482235429 348292561 296588051 468080981 618462450 401388953 180663836 33339044 15823643 229481405 596307161 84518686 338577162 783218616 289275749 165353008 43721993 451919805 581078909 119754688 393545483 540549472 675946449 283565367 981790673 431766360 5356010 323227489 430532050 350406280 960711922 236864665 397505500 794947567 718826704 737055869 834366692 217144090 484842122 923837733 229990631 533429208 119428410 172596916 87764696 477521785 54018756 847642621 520335912 275607664 549265774 732750717 709000429 302975972 104530873 702072703 387722822 701118938 751567513 493166474 415224086 91423677 958494150 836106210 707303637 734314240 568721196 969014596 900101160 142346507 933550702 160051080 67544459 296551200 73489440 475337520 63036481 224075194 768335783 308972036 327726855 147749572 744948094 99688133 25676940 83493183 323221997 697224772 600372387 676578709 824819841 323988531 641926470 16557500 373184954 297025957 49163888 727618748 782903929 606195650 879726899 435268939 498853058 835125857 499061261 672032492 261347309 10441504 6143248 343344551 373614565 782978868 823496033 351740626 973828559 689974233 782998260 295849229 499194658 359845923 829029297 287922436 345520828 468674740 287160012 942032239 971607906 607271888 705461259 134979471 246339131 702916201 344219012 918319644 847549858 171795791 233398521 515203908 968541486 571419800 295963300 747212692 31783033 47280224 973622213 365191234 358974219 222478482 896287263 310926582 414042085 421966742 401803164 139800413 750106542 187359557 358038352 373361214 541185886 135004078 679993122 18042309 758361912 11386194 967097613 773957341 933643712 23133586 962368982 782994098 615966710 12837207 806046308 630189524 719846358 566557717 563636085 873279153 194062409 921726692 977538081 732527083 964774924 237656347 220481462 158892877 900626626 103214245 846571162 278433194 223804411 546126848 747163111 888964007 137187463 459375087 510801002 610645839 446531331 830759682 433574228 374410851 665393265 294716076 953027731 892992213 387625177 842139705 274512170 101263764 389457688 304645047 452930588 856475257 356544986 911017695 892336304 924328970 951493742 394635619 443579112 323360574 520106682 475603408 943128096 434091149 712841115 94809514 894944154 446553005 975698776 370046077 149674073 817441863 199608251 421776779 893583465 920390007 121626453 360443075 818785581 637183313 735364209 992757495 377863898 844163767 20785185 583190715 895116256 848044821 647225184 257815202 509356969 53639399 220143236 813616662 508656229 636355503 64012901 968040778 300037968 925536002 856581426 583499746 145784722 254199412 558618170 393821118 403840389 463318542 177750724 184786448 3386624 737713569 63119439 303649583 422134460 507217985 995013768 285553943 342270140 383397128 998039039 520201263 723533700 356354669 846278467 66583249 276745139 640287299 679864160 560459355 287715269 587193029 531124175 545686942 336323513 347505859 196297785 16127330 604176219 512061328 423556309 895121161 65732201 88897271 553874183 644890037 958020347 752350393 605964011 759288405 805101458 446079394 597921742 726690729 61644933 451834837 617550556 662592516 572238496 996075548 21015037 987645294 951204596 244349808 630314325 154861252 138253889 563407507 162366148 897571236 21432461 149697866 569055336 90381869 424735899 843601691 994779502 938808509 132429655 617114604 576548510 631443304 486389322 933067961 820802216 335415522 193469996 949121805 737284046 980360260 320280416 283116472 702101839 713299855 668634647 928685006 230482941 244218200 407333170 712224827 701850045 151522585 857267833 544593361 609828651 922323571 798561882 487359361 696313875 585112948 849011530 642425981 776580766 101386545 141056699 825148426 495813215 176197951 372072503 700928575 411888969 409910742 621250057 478139836 483375198 510549816 574088620 772152750 505487860 55945090 127192994 784017785 149076579 988368060 525566565 779135112 861282869 491228823 142472282 862648436 605723467 418566924 951068390 337267000 925462775 149105032 581697029 369703458 855518461 536467848 270687044 895356647 461504776 472473588 714807806 20855604 503728293 85015058 409622798 414625549 26436581 793117549 337440172 169244359 994352082 138016611 172993516 560731457 427254202 179325676 973050805 857654586 486495098 30874612 614232524 829273917 536506738 402170312 808463085 973723659 942096087 556902600 933319649 74623789 161754199 753465931 369169962 317810872 903370157 705604896 753370597 716605786 269968980 815394093 165833511 605674896 559893739 616396390 570140093 606990076 136178409 318848943 261882477 331690954 132978956 556410807 172396173 248668510 555696891 692884862 190757372 226086172 245789862 821739594 374516374 637150547 725538615 899256655 289001721 504120753 996982126 312487967 102598222 339206681 105989149 987068764 875411805 701740506 873266878 661308498 546769345 536237645 171240286 70092725 106612744 798037080 804926734 175593099 88409208 441922748 727249037 715736461 403516061 852596728 955089645 88697924 610396270 808990493 659079387 530093029 10248094 633177920 431847181 191935633 830160477 531595056 385634958 146682983 125921060 884141041 585889625 704745786 708620058 452672393 134415706 184785664 188589907 315186423 781770013 178639637 508757119 731876966 917370063 702480668 290376375 425308599 580398075 195372891 235578413 771944458 642382523 870416832 169176840 350128290 23007012 418015555 387609882 94381060 405610225 104326555 47700696 721900519 530767125 890166643 390206377 427998678 227576952 704086387 95015498 273308820 34031423 807746443 593954549 179681514 195913500 754799861 479598723 268211199 440607192 970780329 305248425 275082251 900588333 593613955 689458974 565034050 575613087 366752238 433228358 37754178 392240972 911694131 403311665 601563996 608374113 703711967 428624044 411855480 158524476 628168778 685902041 344714177 820334316 697076266 759475569 289455366 490507034 158197079 889156261 961763006 191591466 157644467 801164710 757893978 622529352 297991269 516374984 574708198 411748064 782481070 461812879 532394565 254548443 778126320 416724736 556005543 573823081 138250108 638735340 387991063 50544363 689919040 790938954 902887484 802179302 455673003 179648467 636237616 421138885 351523455 482921020 797050690 213266958 527187889 604263033 168144991 991709176 988063451 179526334 800524433 564082092 192191295 465538123 358960352 711408350 384275303 797234426 123322087 439505116 244135904 929489541 182850695 813648637 125915756 722376784 414735678 315208520 602430202 323327072 282848219 484154546 134123021 318653735 101910996 115863484 374373263 725502530 623235788 591119380 522066323 357608457 845902098 570764201 129929534 23305030 135345258 623302076 582181703 709187077 620950656 305839302 813224529 217786827 354785150 945426617 452866777 43484186 666937165 542289498 347983200 355814685 304597389 358237943 95377316 797547010 83275195 718940185 174802961 379369832 307160061 645989524 895967385 224708456 184316822 27477684 380907421 735542289 539384700 79513674 855896886 382390092 870584931 705425604 731565004 444846558 901319141 370775871 406292425 129927297 463367386 786779215 701764184 148990435 874834863 617999002 677747159 252469755 914169346 756164684 137154118 788076672 271300145 592740981 621727366 234859074 435110547 744467610 994957370 552993154 870152649 477189406 469082915 553029422 433644428 496981277 159841214 125459966 61457261 350649621 148708115 967032939 28241214 742344415 652417929 179388221 429207313 661044043 931056233 603718100 110568091 490603209 915051717 869039547 326634241 248270388 905621069 745161724 606450094 190160857 194115597 775312694 406081118 760964213 509061305 40892472 258522392 413609184 331560709 721486277 193370922 77631737 252225929 311776073 190342998 640165420 207791081 967667227 870191603 886311765 436491417 533277148 829259963 797576905 145121482 955424961 75392214 642496170 706168244 85322710 565853488 486998212 93440957 330803794 815235049 92540408 563357191 752779654 434904618 730092766 847135590 256357939 433452478 97802798 671475065 182907202 589191906 824514263 130036813 439871563 737340857 873145049 617258349 291483993 664124485 813843901 188055146 122200396 899539631 918914295 377648882 610843475 835429174 581203648 42400080 950685403 309063066 6522943 294071218 285832236 62698791 744987494 666261236 720944152 85261243 245912380 108602413 244732517 407886126 539847374 180040577 10971832 26269863 243310289 394919127 162762404 258181608 976585878 277009113 578802629 468242758 51536553 379413602 476608256 351235196 15871408 198541187 465169548 892082249 486736455 838484245 521360247 978125036 783803117 856134674 894286406 802963698 172586635 979859770 421169275 486126432 933073767 975299285 504053750 912734323 604759250 160700296 779993205 359768762 431242566 165113329 286168544 702383298 925787111 780508115 529426627 122978134 435777444 612059806 35653821 159643040 7337742 192440864 934847786 512878425 767580858 54873583 719638058 103049071 990066630 261914184 114289478 995192638 915806100 202192974 980409678 790669997 780121791 233330516 707660287 695396973 755601232 864704509 734496189 135493240 633881196 659233628 763648413 125758377 448017561 246831716 795909643 432724176 715584163 860535802 990246394 983971608 125720722 462943476 691136363 821348986 99797949 740990620 921660896 246653751 421335277 98392958 609179807 468316301 939623994 195665817 397630516 187060195 233306498 738463917 753784633 283219059 416912542 536794393 747038195 443951523 557629231 968872381 424299321 952521152 843878178 944001339 632960846 60292174 487797421 201406442 349930892 806475079 974915461 744262129 452858457 270173011 572245931 491236826 956494087 684500552 121299287 108023469 582731281 8021805 939403866 1158774 438013184 129548845 289791446 2670790 785450679 492273799 384995073 200254205 100407224 504574662 510443080 215675009 632717036 840949773 709202981 296272525 136976931 955700480 265356815 192069122 449427801 953242380 782624075 34889073 824467395 569477399 942701475 240898094 127866167 380046360 806773386 756199595 996319525 292843110 348685478 783602947 159547026 242373785 724975421 425289458 247154419 230749621 132226079 32320903 504170763 478492764 289589197 332490894 556069524 460690592 170283773 519206229 614826340 572691330 940237287 838888518 320627771 867880340 942695645 893887864 567636549 6511220 331240923 857155784 517296551 480765614 199306419 52737066 135979603 842857279 812105346 131297073 768359282 355385197 621396808 926883573 438403454 470008960 229055325 780986122 783994937 487143184 602189200 766827515 147695581 861214463 61691598 283031227 402304257 349863159 236752310 858618309 171531124 752672073 876639871 798128121 986351945 441893365 997535090 810679628 873823061 704800433 182355189 764130446 238888503 320593598 896404340 851887522 158703459 33960820 509313069 466600981 660383235 172381718 853644813 302958462 651211466 947164068 985096002 605680239 508044653 311799598 125913575 536196049 241005370 5087346 921631182 659112837 289898967 134290666 622215575 336103731 971125120 799719796 181169183 892655980 981853418 140899576 116508782 887731415 908887649 566149121 708423447 97475721 243552320 340299229 642675665 24561824 397662057 87933095 244577107 292764228 646556151 251865070 866753855 908621340 701001110 874151206 635357336 203287663 697497567 683373170 113877689 551317945 878357075 670216705 462476498 121595292 186781433 388082068 165684498 589601497 479696062 949186118 157517631 492786889 537473008 732904633 993584023 789373839 974906610 913319935 97086097 629346595 754110802 153581921 124136500 862816401 695722909 542266624 846923008 243216661 88361278 203142351 641446397 707758300 401081314 674438407 342424688 755086432 565012608 627740057 921272908 386827427 60931975 192000768 346980987 636837859 290794176 260809851 765923178 774388516 688255229 925285779 292239904 250432587 795871241 58305279 552009803 789648962 778446369 682643096 65544638 298032573 855099905 967954851 941785605 581566003 107172825 774856302 213360962 904640867 246649701 818564433 289119732 956209976 371163137 622387652 250487177 637016829 312376983 774298189 735853990 329434804 50347617 185826150 951367011 841691046 538246377 847087933 131466915 107119287 164959719 709177566 355070755 338125190 66004552 565163430 94376793 557200860 696780084 341234291 385465743 984047325 103896403 824827107 456536031 660553558 798897168 607060562 106971323 849544577 582428015 894568416 5354547 658963188 527973276 675706280 509154218 134082609 303200011 334506490 683254836 790105122 20647060 211359740 399334729 596228926 269606756 941258695 597600369 339660960 59368322 203737359 296302921 432269917 917577912 90030469 289867614 163356448 605236271 882078621 197363916 716331619 759777714 237658959 523950275 262628985 194343356 663214846 302927706 275322194 751364783 343844828 683021934 178739711 354032549 673679103 627234558 245996588 936524529 17079962 416704011 302862283 940866387 793836403 565739253 852086303 861128274 508752366 782795197 785103207 309070455 847387495 43082542 418823042 152244917 353692752 214715928 432944722 442173309 950454037 926269073 382502503 260854088 39033551 73315914 387854490 656814855 395491901 288699582 106176361 824331485 502450730 525293935 330165192 682512268 34912012 810148469 65486441 519439951 968621763 384873090 309339773 597209353 414220466 46712311 857591324 789926200 990916027 247507835 912121096 81483652 220758257 317300197 379764052 863583397 791766401 90972174 406816875 22159912 794891908 948153072 315944084 340681039 564169755 248113590 776608177 409149263 846401431 422835147 685016427 224428449 103180586 325725342 237908528 445893864 16369736 999705394 346529159 761530178 247531352 260960284 134612213 1109714 417753730 968141895 732277066 629948070 623942473 85858466 880271989 897617546 387690866 215027803 203530399 649870767 443114634 286347569 664967054 300884113 958958832 238589068 476620660 986005961 240157341 367652753 187125295 484987905 234238468 217096882 919938179 947723577 649036365 252580403 676126956 54127854 526898581 726830905 587276045 544599744 586880163 832974673 546873651 284532928 565874140 816675954 377173921 310508493 866056410 522304082 184883247 26299693 112716104 635465741 359739580 147676828 577261290 548810493 828278120 603798573 727094938 269371644 624925030 358151818 27053857 204970647 830077776 195989960 230187857 645285163 783649763 532860755 73051786 78879957 609441179 600918239 136243688 480961509 772746371 175330184 104286695 636025385 715069830 924579333 48431747 279131729 564408597 30094821 190080469 654394461 336966720 575264018 529447722 154162210 601476036 617972029 583715871 913972572 277995665 127008383 102727586 492366577 736632738 469246226 214789365 525411512 608479567 864363500 339257795 268488149 68688542 313199205 644513343 264811125 723985384 890499586 710505410 9432484 639178497 340526923 101800432 578302517 694138043 140392190 2977764 396093530 165941352 227620583 891385872 209054857 558852298 85797980 231886020 219308021 556240966 32828517 106466485 104971924 140863903 676573119 366114695 136043215 174978717 275608319 830028002 215677534 728777603 687201809 480450575 476529151 316841683 784222526 169611598 107892023 924615184 69006641 126767060 466928525 652806904 205597307 153940205 88268605 89907109 433648840 965593647 744991817 727383864 495060822 257128591 501221423 900848063 164580333 100654451 232432342 236354305 650689873 407684046 733775894 554771673 490968031 53756757 354241021 151525025 763944933 50756961 99896450 197683387 619144841 361386680 959013826 276400032 981940745 191886445 357158209 865197671 793213736 599016749 338154986 724263927 919291321 659556998 803231322 330807498 201434583 749066317 961957166 573050918 674819625 817445082 747789189 650726381 765486580 820392606 715400434 63099782 190485898 271052125 94022320 457764125 292793793 77438185 768266923 676796408 477925753 502164601 744986612 667873215 55418622 265625540 285843753 550903236 622553365 92292513 876292910 635719317 120953774 756214125 189021620 395135562 221376877 883258340 790467726 846178180 665907664 100512939 230987394 810871162 954096900 82280082 475747192 208155882 730830311 243276633 820986949 292711594 686872192 291284496 14214807 487755469 895232380 499656561 561890174 555815313 536316647 930833602 468436002 899563403 825103088 871154118 821448136 849865645 546973375 790609171 108998218 911787406 916124052 828498457 614222966 357513646 671298498 128280105 593795117 691665121 595290236 129538483 46247098 804566862 763544044 294471993 859236900 685302243 476779093 780983920 909048546 607545457 664383594 757753260 102262642 558793088 438495208 214979544 470175055 636535047 15460139 848694327 418081019 852293199 276560400 641826485 77967019 710056710 377549253 720889561 381597992 567551420 250163229 811739600 484959533 94369351 823371494 57984044 199681862 476217489 949395652 267399011 862758171 543506039 993815415 97831701 701348010 732575556 786318507 246809814 303945106 716713337 673266556 345538893 543057356 119053471 374097125 293314807 618708866 512092412 831053099 349148167 852235330 797101107 299679254 977809067 220841215 547051000 983483283 863375461 92616821 61239550 672580729 56492965 678377337 63693446 2197073 357392033 672261477 600099604 138613556 236862465 886234829 375170496 388831291 866799199 521753716 685958581 315289256 700185529 809902996 498818801 602227804 260338364 481390060 288620160 753665952 522008070 969654973 652644328 98721720 286487446 813838982 812298816 643413753 256113708 532856745 592896518 828934255 246810752 695505777 406301150 719569086 409849591 786403053 804028988 673181629 397679345 250142880 34437372 17022051 380311329 918004052 901802835 233663000 359031916 937109945 360706140 964667573 916042841 552752770 947454997 116486773 919256313 911606534 866597406 86320143 42073142 922943501 45491303 798883309 773931335 942990621 787683631 38342089 558264917 432060034 376431943 615712378 916699336 795839323 606542750 108339853 257602316 435334481 206301054 480414333 827280230 163314771 48204985 720180298 798947918 332097256 863598683 880814820 630346899 455337545 165827824 76066452 883673994 784924810 953036655 694383802 856734824 799765870 903963625 552456133 561631723 56192514 281103607 926660672 116460448 789250733 590186769 494357262 910180296 518916914 492349006 357203597 307212665 12636534 894221253 866338384 740617471 162323460 410179442 772420414 774144579 265114442 386200097 422357647 176993050 604335174 555413705 260174346 831740698 751498993 487728804 772421479 590306388 508904607 622738725 702347949 716004455 84738701 851540932 39110377 571505006 699518393 257247890 890180408 872760729 505078860 842434073 695821536 452921447 385648572 34865 372004657 171613162 275518119 144897243 148941793 997453151 497661592 86182518 510138770 952539743 328607572 895747210 563025685 414354001 110610419 728428578 138190843 698112032 879216866 241342955 797177387 301770289 841868380 177086969 529140810 636178915 739496822 704767852 646400292 976555332 819509434 707378718 312551891 380133787 177976665 54553756 255577773 313774200 339513389 694564834 574315404 106595188 597181365 669577361 871942775 639541589 455343517 291224230 758900227 773363074 88347979 658017234 830995592 691553041 526127095 594948672 918722116 999260263 778207578 78986008 480412018 117941537 128605843 421624457 902670882 630665850 273380048 529000358 192337748 871336053 813881262 287014811 654492492 775094449 933986493 520579879 655329656 423064561 598088144 297726217 760492273 201436203 25786279 37889020 963540836 401519868 169844941 789603141 947015343 832356446 695455347 290277414 125350490 195304727 472244222 267720878 452355629 124345159 103705448 244795956 227158453 819922387 850524618 956459763 353046686 64960950 564247211 847331560 868314171 933589206 939787308 38318563 74674469 558295413 234774311 935475910 78523960 700329591 257457181 603097766 636540171 414714725 616213350 911417360 710610026 83352764 851165732 160779349 626530698 607718613 288321829 486006221 641297106 245383282 385526724 712949506 960617718 177478702 340606267 210554735 893405827 212019203 462964717 591333413 221681307 237623831 561236200 99822146 56643297 592624444 588772323 480674030 904741251 955639884 59432174 247149679 14377716 535918304 539829250 355770594 842362372 943884914 471885112 225545189 716465570 116665730 307607862 531353412 580001393 487104656 385404737 580004058 669174013 218994072 217726006 477724585 324439606 602664476 725986815 837603417 853371490 318317023 950368704 914989060 211696642 979249683 977674384 823165524 186424608 147139483 993342686 625212871 710492801 524762412 291918186 595184653 855126353 783147369 605934943 718081569 34138759 200080745 318818924 611873680 215593219 716816406 60080432 842628374 62483342 181706656 913635152 345545361 63981801 533540991 853086020 81287636 931920266 723843707 949509212 157456815 640945871 671238678 233569940 752636821 930408167 264017900 833233131 746793649 511074897 322836278 451032077 989772913 905069487 458860321 990291009 801831579 195852814 377274361 995883608 449923725 792479229 907160165 786215542 485371454 881400785 978239830 629862798 991330640 605645166 186531795 676003147 15007623 144791641 643282630 740424376 214518644 434535193 304757709 830709468 848559893 233413762 588103202 913106777 990157964 922550700 776922669 326544143 914813341 380234778 413944440 715138829 789344366 998797169 189134638 796980933 560099962 626918080 801077260 497322659 853826581 729478105 745274434 741442836 870919414 607740874 459506813 775887144 886529053 966078071 253799981 989191377 141011544 993969350 729629618 824397 535770702 959271165 48332418 77283539 244415876 407952953 720997972 289605334 36393018 55872097 20098948 603944906 898377791 61757912 49336700 120985729 800894390 55943149 215463043 732168385 183063778 84838386 743574844 710757085 298888919 887913115 524634534 826994603 514572476 216176936 842564629 388594652 640154559 964973592 644088890 595004982 644489933 812109538 460350366 352344401 923255822 499593989 595769141 58567120 765212326 107469965 513735949 789230037 968834065 185586559 564039492 814723629 237078351 203615567 672399193 125759609 122647794 880747451 141518692 562552395 333838266 919477073 659634625 57894325 627921294 463504431 847753868 508564068 46989798 799960060 453093108 146338318 976445375 268711332 208619939 599399922 274114064 332162873 159471146 704018720 737411974 937863531 344191802 648738060 142200012 528638272 273907870 722003442 444174621 712981517 233406929 515120658 293225070 646533967 89428245 662855209 755211312 608719514 4933431 669453588 472221180 201791424 255770764 29745678 251592805 622255026 975085907 5608810 107275171 134164583 215856268 741023741 904778453 618663322 884456729 396880872 157072227 759754869 17406096 210602826 644595321 703595980 31566230 221392504 175919458 279637454 16335937 467371349 259044008 451524971 514320804 651442478 793727672 773274636 135310582 780254291 899636887 876869946 718741614 141326816 220171451 360112494 490965321 671865232 731992801 506697445 604913714 278374724 71668497 798181206 387970519 934829688 297126489 354835078 246731208 926086723 487440016 747487617 668206035 270701758 177298963 103413412 473204212 295346090 947817362 289651718 615051071 701894198 363758018 81081016 429772679 954519105 132141074 455091640 619547969 628102022 289846137 741051838 487547125 316558762 654256981 724652792 60474115 796491207 330603527 378981186 840060530 89395717 510629151 589282299 876554299 350438011 728755212 543378439 149120707 332503066 611675300 936225887 59845919 488836981 701754327 978905211 907229432 914193422 688799453 311864432 866891816 992804459 250172839 224141980 75631326 785305232 252820899 229614187 459899794 594239015 870854066 710976050 90825963 955981338 904479929 882462190 263562508 301435813 590311479 410170809 51890806 189194055 779961211 740551244 336688630 37023380 862659562 963515545 890934084 297229875 559242443 139473125 157151959 354436303 579260789 899176026 37519614 289355655 567640614 426395448 646055222 959132687 784772181 573707330 505208161 113239301 519382543 580825378 809343782 460780648 303864863 97600063 500872655 820373500 272982053 53029275 839229704 700817720 742385905 362557907 917743557 880758545 85486069 286609578 367834327 620946795 175381860 454110167 341035183 142922486 672356841 396760791 187620981 866293875 319947778 88139697 586331234 930425708 759726478 644399349 812803949 284726517 204008374 819597182 672040794 926129221 936792962 954969675 626355723 494216059 163555154 639664384 89390879 610311497 650237733 180548991 473828903 266837842 743748547 494682227 594906113 121355201 835921916 599128312 50380693 53194749 471136819 424933238 957477442 945224459 955176226 112031998 624208438 377655858 288156023 627967323 556632486 881643896 629459183 225789037 29071607 385950084 527864414 420985499 965547701 143539837 185916027 750025479 121386006 937837529 334477244 698570431 724091180 642721729 632802528 606237511 929797674 747931624 272049130 302790930 116134154 887129186 64881024 963401080 77940607 78660805 686373469 947082664 73136837 280864079 329060221 970732250 321140555 381287030 106958816 539079848 520458494 58554751 802546045 203663400 77644457 251444030 884987243 263233022 668700844 891934220 664922048 350326222 387945116 744340779 220325991 759774015 30881860 197986986 481831057 232824386 492010344 657540490 269898997 960538011 612305312 884258757 335539187 116290201 544408607 802756800 826016434 163761305 623797932 808502271 141130174 132320847 199064451 166905164 24583618 970583178 313172547 409016973 12294772 42379701 934857881 579721471 304872508 436729796 292660409 805277285 281717484 508036975 646480906 590601376 142150247 418489067 767899995 898663237 18628510 917413377 812357587 110629177 404266028 372530192 816825916 490407464 798335424 862437520 876660173 881824031 647381806 628210944 392230850 164714501 323869716 979033451 250191278 183879366 399155085 578485207 781279950 130525110 507459234 784957363 562201367 861068131 481980116 389365820 577968202 789569611 855783574 943818510 142424040 307022964 62945514 353379791 378158562 906364802 880570246 855636716 526533756 923577594 494755326 489068389 5796248 76327832 103531906 769174240 108333965 954430359 658637777 639408084 868574717 355154632 256094346 23606486 756968841 147032976 52594617 396722267 258148078 79829910 169677445 935314733 355763571 221950883 14425284 597646231 257316318 91915414 26607777 832686033 735711161 574820794 760538276 634205608 278726458 203860947 265019267 535771440 891047182 431225271 408984418 103345431 164081915 412762353 279857933 169950658 49725839 588322482 134977414 328927368 852540738 831495289 977384717 319695685 602796833 481728211 583915393 325007254 809610268 213789957 490184884 697058196 149258882 349108248 414795053 901031550 222680776 761970948 148047013 402999495 895187324 328799182 98778108 58936562 946093757 232064350 496010789 954572937 3011651 649785698 116201467 709734244 910967315 748173412 560358570 873348545 178017836 588540114 259309816 587424834 283755725 883844006 738555263 555315383 996425781 327124343 853595879 676907479 143738197 912549556 364681902 426009226 511554440 45514778 44872717 316127826 219540175 632247994 706587299 191067415 154808836 239699553 900585887 848739604 65460853 995601698 752212331 275662150 659540173 891879843 871724717 586580629 654048346 186628915 333448481 472213112 512570290 714917547 254699167 442151316 115113601 914377597 997688522 294051403 848706194 428230140 723297226 569000801 902618520 18875868 946532343 551860663 682037 674787454 836229500 271333214 484435150 383513123 690604452 462148597 690533634 583920962 832359524 713388931 998759240 781757380 453872053 126830554 194711763 642228569 245474377 880959436 590714007 960403057 198874268 264023788 364756166 132346552 847955583 704825632 576776499 156922276 276491599 297797766 589795912 287732227 316573806 321053100 590753814 303617020 569156708 361486032 497923806 640508636 429630269 179812256 897665335 883562920 656860759 858012321 577167422 823484458 465615991 609496848 623506563 425213048 337364418 327943181 753752598 515150346 332575570 788920649 787081199 5545727 188937840 480132730 31908885 260916065 532358361 364146958 989788836 562969 844118038 990302709 150692135 580697565 186195944 93861078 563703318 686632417 242721371 419733291 221220466 961790900 381132887 704435315 336973598 893818113 241830636 169000044 178745917 216913302 204272710 817749646 373249251 376051720 239283530 159561503 301335037 439804620 634207979 79633252 196688969 46974040 397029065 862027449 962366833 232977821 713310968 127653472 865153565 879602128 247635814 33056695 816883520 35185168 567007538 634424274 418359683 876312030 153921905 773820831 711415712 98761464 953063610 820484883 727646790 787184586 355749983 963094753 253757793 849503737 368374934 510832695 121568915 704092854 942406457 124003997 337934327 778848982 238694344 469591429 198039978 959822079 760786383 7421811 800238961 67213299 783900827 491444467 602650847 487043632 515264774 752149283 385207589 710225758 763794763 109948781 895984519 674670500 603273854 216360651 435164652 299141972 97011529 544749587 68675625 464895784 119181798 304763399 614439354 846116621 998770233 475059393 207361367 886605262 434033256 287418919 507452918 571642670 186752437 719137019 862270775 295955134 102580705 290074969 677986030 705556053 460841290 406279614 303949125 834945812 258271386 151441989 914168513 659700640 527703519 737343715 408904753 932771773 326030279 357513528 120678805 159307368 512038982 771453114 450277302 394861481 350433249 519785915 846808423 618584150 566451893 316569406 760110106 185328206 594072592 867133117 281589071 38004805 570858476 399492594 831341835 219336472 637691097 64492682 410386920 300169317 205734585 856012623 483326672 567555985 496062753 913050690 422769430 173056354 944888790 556729681 90005917 555453473 138289373 384478540 411420803 835234422 313509539 637077181 324158485 413726369 153954320 571685486 109303298 659528128 414134250 302663932 337978534 739753603 74589987 889395586 861525796 757971741 218188592 864073871 296465019 813325151 857132297 129033853 23531132 475431829 320664978 94310626 683774458 137585741 478357022 91351221 18620011 495460932 942367346 74162974 683461396 205400730 155502240 128534493 830665213 463588678 792202737 36335033 437405142 91962271 533968378 909395883 565339810 446979279 402866050 987053895 971669433 52807328 702122739 267560133 716341084 917660084 683577620 8264039 147749065 764417203 202089757 48178209 451876439 910762686 977343002 987054656 708270251 797830841 485912223 176288183 314912392 894513096 852488036 453610959 508862447 623868702 673855024 195384768 176620503 973139007 812789777 144633392 421426877 418991061 790162105 386369175 158059924 986815224 751488385 137748050 291501094 727673386 822162669 601090613 59504961 71756913 949746012 705169593 689395481 744568069 144638499 759619208 951421477 229161367 236306101 155561024 43809799 764956420 437029033 348622945 486023098 315127968 186688431 788302409 453545993 800848154 212784888 774407213 120034968 537555030 937196719 511529413 363487513 216693212 290975768 233251015 892050399 418064863 707579874 640823561 129340984 995476715 876095939 884127594 304337399 460414351 446712341 32396760 455963399 477453951 166461010 923269960 974213144 740029405 827763721 243335574 702064312 863493900 40714839 23237541 959395585 931607358 174004262 635767372 59931050 145337756 988510576 270122133 520579653 39282158 89096682 388698619 494182462 745411437 146136519 500654059 365506454 766136537 409596855 994676205 434619881 235788124 445932925 426769159 698048172 993092205 644804731 115854967 265913484 416985205 109198820 259317484 357317955 88434011 723420873 566706162 885404873 199890960 195785239 109998036 884060753 11230010 894214343 795132659 644048180 864148851 737927652 365316140 653109856 311209014 532713282 986231108 701664567 375706263 160557103 340326964 579187049 659656080 693359010 630350839 174082649 811133008 996544372 995236165 189210218 634693479 579688036 241518762 256998242 395360039 295987631 217586140 176457802 201170627 398514221 364446012 925852772 774985465 320314415 781653394 25514024 984202669 294328741 402296676 110809725 855128736 287645728 59029569 645351177 574475128 650682380 246073698 329658445 827205642 973603457 817696115 998915181 93577783 754687523 690007742 543137761 16828195 721271206 547648129 947007375 461662938 625935990 86284120 115440731 627851821 329374168 383386303 352483180 532624382 118694054 511312155 362099675 61698614 742243078 478157039 201131472 16963291 229541462 499798422 245668800 881875062 744541095 805807354 466777527 665358648 773015224 893796177 575714334 762651900 950569412 362912169 225737471 434556420 244731031 110080967 787894318 497589516 701067569 85425447 358815802 642783075 4289798 67784384 881782008 508271619 806099033 492209482 953138858 775295991 875817702 669601461 518170860 724180217 649134022 369084122 963731172 753246094 839988915 558627473 391889720 367718977 375824953 516777581 330513044 494257284 569123248 865294630 667290744 631367716 418816396 509241421 466509936 432960661 962136468 629175026 48410705 201284843 906694005 159989262 836816060 715011478 179769321 583474160 384970761 500573933 856743380 844823712 47624782 154240436 622198075 659605858 47760965 285427877 55471228 105973984 373244619 464622409 839572015 238840612 614542165 806851709 17426390 349492262 345155232 358261542 400722237 736684929 95699826 43479114 357943939 965064263 652421991 44402436 109015729 566119664 29160266 955725160 616355353 582480239 59968960 260385077 525238488 749907611 153069101 466534170 563994487 50685461 602694717 508881315 498862456 407229076 274122004 392196555 784521106 446490224 686552693 613246684 251188044 148255960 115153009 873815898 874444504 934788867 186343081 435798513 999844207 560670578 519721254 717284308 46644205 52730326 402183742 328633529 21600325 273441702 817949873 887763337 772081999 589817760 151177628 904249862 1465857 494096167 728933474 102488076 68481681 282667247 64630662 882802010 241008292 345625927 132423281 781199767 270899301 994980711 329616411 928721239 422466807 930283470 249477242 977470168 330882686 859958666 910788947 682337325 153452904 782029963 346100936 58844557 397784079 948318248 186132867 390910510 420556715 205753104 683567428 894538537 680734297 749608432 231064319 828326312 699166353 610356184 868887896 106468016 551906208 892443914 850125403 484992836 123044476 89550640 169343135 801887938 257267511 585514471 971477340 872590587 675209640 798410457 312596092 530692864 916232675 884535969 118983723 46790673 211191317 887401442 835335540 458985052 648013396 411224320 847915352 172111674 635771998 880159380 289393292 52337058 578074075 109121122 76818328 310186828 827287525 594220209 641140415 318875574 428978859 462396802 267553638 610594296 714063685 793807112 969182508 241528740 708724889 70911490 491503041 203161884 732422020 715617193 699194858 611296835 507209440 179570871 325825026 864464006 636264225 382352231 645690984 258097797 739363491 983618189 951089118 272697378 397515315 898694030 300579405 446431923 922188396 282500701 547673096 233124848 215031536 323428737 974732126 962755084 985259293 535139068 211719413 788540940 655540765 81460632 853919740 964227137 648502674 691555209 228180299 906040125 462368243 259942074 954841320 566620610 110727271 772661136 49934309 123001760 230247981 160817713 95917086 101130950 990275478 594958760 568284057 434630828 651178287 409611626 345014051 557313915 569369788 774243030 348926651 412197463 570000386 970824133 771554479 759606366 903546260 30772332 99629515 592297083 541950826 353547306 332279406 983705102 720204278 604819422 416034343 572872766 94118581 54614680 590137279
|