mirror of
https://git.sb/baoshuo/OI-codes.git
synced 2024-11-30 23:16:30 +00:00
4 lines
1.5 MiB (Stored with Git LFS)
4 lines
1.5 MiB (Stored with Git LFS)
17
|
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
130723419 21860131 839183512 676155576 42356392 39684375 717523879 705060205 956095681 422302072 788392669 549888288 534243922 965957385 292642001 605945170 169487743 9927734 206201576 859037869 556594221 42927167 245767798 70034456 595523036 971435157 760246544 292052017 388149149 23680384 457595721 363785014 142335302 590815286 160268915 537139981 631609296 932401128 430356811 678316873 269065646 270374410 545679530 817922154 333107542 417606694 66397008 125137982 820934082 399173602 675566129 805980186 70073699 706555020 541651424 320405801 468705327 741071992 850907262 22876297 499980263 678182087 78860962 820877227 347097054 404984301 663695291 788753524 15920398 382536146 499002059 628915869 665139558 859094626 191859064 815071642 842392543 128813121 475125691 276382884 282067026 509181609 969127585 306978928 835100069 882968046 493942925 677035854 528577528 802480191 834784976 619359260 144839349 516999391 133427532 593677457 867851312 968261625 340374620 567764739 595882219 636292607 862049958 692983828 194705796 485555890 167115332 370151648 280271220 999026688 326692550 10908024 48643764 659869418 591177396 180661561 104398283 496505642 773073449 222707354 192644800 759962914 72322159 94577216 756563204 49802832 298101091 115622921 471541487 822676265 3088595 626187632 405749944 992525532 868505145 17405572 443306926 617886533 937037743 686823573 203626607 704447931 453858259 706195227 877929153 857421716 396368655 383384855 487212964 125588051 355402352 352813631 50387970 455408138 788659609 125481101 260548796 98632518 229530952 411236146 202165573 715480193 846142997 686458479 870704899 12386569 866165212 349787439 68777466 359754394 646002869 9739375 955371421 824291659 929722087 784092891 674885648 953812699 926682161 185425087 998763508 418143377 53371696 571546381 655620122 209045750 952744806 407325989 68670356 85766715 90356633 625259284 396153344 51007338 505587590 927390498 676671705 206480885 241342272 656739009 376133626 96004960 509566751 60027662 331946881 223113792 455351861 540479626 165639756 138340595 552006689 51559949 445855452 391852973 468776942 200727557 924827907 430576412 496476890 388181023 61457526 612012608 774080525 625274046 390013539 769697008 994459878 159964350 149171274 390853165 422584263 992836013 106108844 706907568 682586554 477563736 856348276 972472622 79338362 234915121 5179107 88983185 546752743 97170389 359329050 761472002 584465449 975186316 411891941 225950569 253346428 13360307 333476063 744312976 28669132 297562962 732501178 563052081 596197361 168587771 740876836 459207930 936616078 930121858 717147803 339284130 208360788 218739319 333668857 490230692 750926733 996410012 916347271 828622615 215091784 802966724 201153884 995868310 413713604 630968215 522127052 685913241 116293442 517899709 891088408 709337216 138557106 402270382 268341322 956838389 12630454 120719112 281816059 90204262 436726861 883911652 937661317 733495800 253372685 97638415 421341058 462651872 976705758 679880216 874160372 254807853 439973763 367867284 690613914 550151167 736836344 951239197 683643989 20467569 571986116 417770002 72153275 829341577 33460136 509150993 36967297 142630238 82166981 113964157 530897328 801562598 602146889 23554495 140833958 73685030 816979447 204735268 847879071 177666812 229305029 274692417 324586066 680989705 681988945 733150176 810952572 947259140 512216932 191654416 913741601 412157519 414477404 568137248 245877742 697142891 584278606 967444905 465507071 441248758 565679253 64961709 948366530 715860089 253216555 525849351 436887396 303795189 257084145 270433512 72177333 823335998 566500572 873249416 640856612 605592728 367762092 312172591 928125839 643999160 252591670 23362144 506882124 63279403 700134414 997199835 351284113 682016568 137407766 94162395 430037159 283257312 903465671 888232022 592204550 965481572 854879336 662199436 94932410 674677386 561102442 972609557 972298671 496917065 144804928 151912896 304162052 949809249 176525943 231802364 685177261 12012603 588607342 889028298 67246575 183535913 964086054 791290383 149129310 320915611 429290111 196034855 853990711 647788507 129369515 862961533 295716677 481262863 133570803 5006597 150136657 545307479 859067654 276143231 341798840 29161469 428840439 741350509 107514485 683900172 188134710 587083864 184226028 450909459 257459459 479629297 782151125 429357718 447684761 665549657 649833293 550535375 46069343 801555217 877374025 319671672 67009490 772303158 436496894 787597077 972343405 672519222 787893547 11587237 976099641 474684234 736278003 725329323 396350745 445259707 719650079 760527001 73694430 589070368 733728835 984921554 475154615 406628877 575614541 915110167 927839032 438088155 343884708 998967535 431920459 526733137 389041205 730406012 343132503 394304045 646831122 131835199 64539809 463500685 883148008 287703888 261846895 335080407 830982545 212329992 369342728 288270261 780632929 540249071 327612975 524866658 287291483 372861291 887847417 68442871 821800290 354270357 479351473 232158006 451976987 196158514 145985885 985085303 192223780 286974730 417389817 522908767 140763477 908358044 150270708 552223688 52461813 129793012 970603629 18491573 149057960 417926693 677527118 973507824 654335575 899145111 197494308 29617444 612240549 721405592 631236414 438253117 455525584 214065404 271454105 30715304 621946936 119563316 854686681 66350069 248430179 931824445 230962271 78700696 417250888 87108342 392035156 662529025 841943237 192128795 498763575 957164653 31156664 920703713 649498235 420822676 884377371 20763289 37228626 157147787 892414759 932290200 904099614 825488359 725862315 356938 943340609 157978376 47308849 877928287 250190964 977735783 78220856 337848493 827584751 354929810 172304946 670750250 92882250 533044463 195774050 16716900 174006482 267864613 125199978 186576738 927610161 622757314 385025276 75790619 352483597 756938618 19322518 177281845 575016975 917510021 732048554 919546455 111972156 845255222 723479976 560334086 938749088 426112356 534660241 318370408 557757723 533913698 888787752 49471952 25474992 391036253 276860030 430630451 650082010 269507458 969572619 103514074 398899476 598488032 252712172 40812075 273072768 106199517 60921216 202741473 388043939 507661547 577037639 338626909 347866607 344298930 25916340 955506004 217669387 155901926 131438555 432615600 59627942 61495496 867853728 913291463 598099549 93774822 491366866 870998836 230323107 161554613 784815617 586193429 563130829 1616160 210247603 798631616 392334903 137652879 868600509 292966740 205674570 967772093 400320626 628665256 667455199 448654558 634303086 106038022 822763474 238144846 948692740 287016174 527122361 970866673 875312262 866486621 147775767 151338085 19316593 674595475 871758957 256039428 956131554 463562725 535107060 606139499 788132415 927592372 582047939 800875697 345965413 142307423 964982708 500866255 274639020 439979678 482223031 89265489 541947595 339207837 689763117 20695459 933713030 931001704 338594872 739925120 400855239 48699559 399382671 414851755 73928902 234502026 664976087 707771547 225202385 688732053 347343799 859692481 282246259 50651959 889205251 450826906 979465182 113283103 741336286 697311613 284281038 442347130 628635525 584011991 742277222 590580420 365742018 295205607 464129642 387148568 411270297 29621002 150517469 410027848 146191914 454505928 236595683 427737485 421810497 483038656 432675223 906942167 244388968 364740914 810500555 472245615 920715869 828687545 58274151 201981056 830449065 47547660 842293840 412291800 50359187 774217359 71432001 572633781 569134332 118159627 169417817 5867320 769190045 167187044 569428521 609550965 390892084 454105122 995803477 703791785 959146810 637367486 144348486 491429605 310552649 889028889 195328584 242825556 803333472 718749351 646638031 133924379 849713820 308989035 849297451 965133805 72832953 926473537 353180659 155428068 395600012 317770440 992534872 435413922 971773568 629119367 677754450 966136171 163599744 233187764 251264024 884633976 184701550 264508858 15199904 81686460 889016351 960145473 762194154 966413453 515830123 306009463 748317405 947246000 800411851 265358112 671242562 164493215 59373023 487731729 529179492 350911977 565951717 560865877 654199966 299590854 26269018 512311515 585438515 41622357 728321933 650612958 551893124 724952569 429193095 322578361 260977568 47372478 234044206 409929775 984578264 795655256 670370417 425805529 156673087 954563910 572885366 202741308 308167543 845444370 849212393 197356430 784306576 342148738 408887067 648367119 807588706 203075237 857170344 222572495 574518629 999426438 92733735 123016041 194854230 483557873 853133436 456657294 77054819 343697034 229345542 464634481 863907873 694298508 689728427 544724474 902031701 119704265 697331833 941003132 10943789 312568789 38324797 784682478 412465531 420671642 390934483 273190948 424645410 644123863 50119741 946784869 201837401 863112784 703401439 17239674 958432144 651318169 489843823 219989064 501907035 601207195 112314452 389843682 359674728 794381917 120848943 599046375 16584210 578629053 331636178 217608702 711979672 286988713 118051197 876485913 133198401 728711050 422703994 609796081 591701502 12995624 529430842 580110127 32941941 219930451 776634023 765121016 538638766 60798364 717626165 212229303 240100934 910373360 728013241 777361472 690459587 120780756 685251724 626217327 547604126 729785113 952192170 246737266 712633585 52583580 355781719 166638048 100175531 758614824 658293190 138856035 435592235 150711393 158803871 287879326 117674810 49240471 946155806 719348548 394798174 943729991 99020766 997450933 824519958 814309064 718798371 716268620 142449800 459023815 275159831 41098558 403849898 47169308 203771339 990322497 607301183 165882304 131019965 125887408 719389053 945373675 429612825 812543208 186585408 474463332 811543175 100268588 458189733 44543490 417242663 356555405 68994891 591554365 51788511 117145576 861287926 343825295 985470383 647091837 322078717 863230336 449966472 914034182 246335328 473230133 775758872 778671160 345800516 544156453 440145785 581307550 867737331 784346224 400834438 327855858 91938421 47635852 871028655 815388906 957040108 403370347 445688321 45256354 358350803 896615400 679254005 268314773 722510382 180587204 74821306 739947076 229315627 860519922 45151385 775583270 520220994 137297546 654767564 142410461 18855080 258049801 401612043 608052071 195256941 949844783 38286668 951562382 600833776 794661353 913511988 352312885 159215013 851229604 173565828 159076002 57999 664787445 268707981 711273116 944172081 62824485 776002655 866338550 153207417 149884398 743048723 289055670 746427591 185718374 240998299 401046015 579408243 982776540 447330912 271588515 399488325 566606394 522556340 778497380 282073876 740195624 518631346 851780764 784248443 414661408 973924415 908867413 736906315 774216978 609862372 997043362 40614921 425021943 211713859 859921901 126465577 438044358 252086859 71501602 58049187 724053507 58946295 403995153 155090229 686814871 974403635 18114922 261352148 30910249 905359508 467756271 56857375 710806034 459502010 240540091 677718863 758090874 626078934 417296495 667577615 746290949 924688371 62221836 996438415 825825461 471018508 891311182 321188151 612575917 175589727 608413731 698469586 385480317 513849403 418581301 19070548 690975860 2724559 234108183 349841545 860498348 163076256 928912024 500188711 128231713 422815098 847332243 65212809 848135330 917311842 618899797 46644828 894142727 933940774 448504688 922006463 625789595 142603194 367356468 833885464 648449000 831565751 352150454 495298542 19459568 232600293 382713067 70042276 94710256 592088022 161574469 557866705 466248057 298335000 386188058 600294208 453409052 210931749 90121608 707265511 748679838 879786504 44007342 102436544 785420383 672224825 804353749 118209290 411715305 939484573 37206630 930979264 342029408 161911431 947030985 556703453 346941174 82683536 14495901 476518578 119598413 33156412 830772408 750562830 602758173 954643848 937978061 452175660 341935229 739122526 58946966 455338267 757163757 665404074 69133093 117684039 393603351 946448871 539359092 917619815 834304255 875488638 643352966 276957096 783253902 460190079 441732763 196125800 80273349 314278861 473800376 874593515 174502191 97800353 776347031 175857601 431585681 175077967 793040405 576965806 660707212 648082276 820470202 424373287 745779213 404522860 635540720 63682712 339927431 785810017 232204000 52746176 99713289 2438889 693249683 592800978 542878472 63863369 340793474 534006463 247130705 253821336 560815489 588480710 162270695 481618188 602435309 436790780 501054273 684974687 514844991 37668433 182865267 808529538 269424476 350825121 207696998 32160813 478306765 829177959 961858976 53998587 169522692 674233161 957310624 840158216 218917023 69164736 367539801 186276080 403530121 87705492 278968088 97278147 614657940 179035258 408788742 187961491 822464549 326944700 287007503 130266074 263083171 361709911 700408 186054917 257920214 513583858 411767497 619130083 898226518 301059441 446182159 637049121 74573912 897645258 65401331 711170041 395455738 864367995 817173765 818964651 154696568 746965418 872546090 845610421 927399951 758371363 43507846 535792574 927787607 980390103 130147914 6303224 391196026 426219812 357859969 925993745 91070486 387915695 418284802 653365099 395209143 553764423 799127593 391339553 262617265 413776653 295430523 84162499 430381109 736593666 11899715 29509132 325906914 744959854 657491126 391879688 389566045 373548575 868306717 275064154 381536535 793956573 585447442 45079341 485735403 98380000 821412841 841494322 201014969 465230648 721193591 808438940 578872127 913008646 223735569 741660232 904283865 852600208 402176682 554763128 163921351 267993035 397807830 320823139 388689350 243686480 734468800 36610078 42880880 830097423 366554458 586818972 304908437 851128113 708233956 54586449 634743078 659965501 280832900 376633468 180844280 525778037 435450519 499491459 424415512 766225244 68595659 42360148 213629449 44512594 60241803 585113552 10756215 870061131 418266229 894977275 400550402 432217953 916927574 868472804 538635232 585142156 393956241 513956863 232416682 352351734 697987509 196474783 280377975 858024646 146481585 759068958 137830288 88629070 90036780 754777480 168081806 534840994 304518939 575669677 107830039 472547038 116627058 639722527 219221514 51833655 504685708 270985771 537771300 124802780 679720379 232112912 452281032 141615689 720116503 537260382 197671034 617649362 454759111 969481251 256343257 509955777 67357307 885139768 370856430 604376702 167269541 497450228 64902837 31527066 322934093 917695705 878318309 746322894 332767118 954247550 146010454 656922811 331689546 659070663 418227868 141737283 909592830 446501160 3952826 339584882 517710681 238625896 192030339 652060818 558798524 81236156 846451711 189842661 971187059 388185729 429521040 337086878 220055847 916629160 571036380 644394527 209426217 432506345 946417769 943791145 310438766 369837726 217218978 504018968 169103684 267902667 951655031 87162331 48854764 52007979 361802715 803987065 127749913 497380587 262668028 292702468 788320071 232284250 555854253 283078514 761457557 978361437 275592116 487423683 834508748 145422079 618764817 585275630 511037632 411424632 676862540 22386856 393898369 731746295 26693369 187429032 521882755 276852290 752579845 977495072 332748441 818741429 194394249 968644377 811258980 878772284 765543150 76964636 562550073 465465469 717942821 682019737 2060736 775862953 987099773 528786537 775753759 306573409 125322800 991289881 367219654 106158729 203791011 565543483 178243658 325649791 290545880 672962095 501176050 740597690 309328646 294607919 424383776 187027306 354550960 898862250 470643383 673398778 840775485 462935811 197028280 17220250 114788034 180516345 893022249 625086237 834812110 64843494 817769863 291384607 257370166 652765868 857623964 501400353 118764322 997032409 828509462 784366385 65838147 448682651 453826390 223464437 824745772 89473144 455525081 309978666 777821865 186775472 819374274 566958583 223826395 989819047 527409176 680405564 260308302 185740815 933600180 635390318 442534808 875666024 703546223 2018985 123387783 179596504 610325004 292729129 968407109 216078079 219377547 938569224 129263529 896597093 561505953 514651105 615456007 214149933 74902096 824804613 310880987 812269050 719068411 757952797 138416221 159806594 189170601 78298782 237461713 90194147 633809517 518862681 231939529 661236154 836425126 35638687 294323020 61773701 254629813 820693984 941028787 755798028 186094608 243652393 666496664 214755034 659359964 397707546 77391796 820891718 471893587 196905441 905495718 958583367 165984307 917208735 120125457 627847443 921377675 996127194 227269574 331368062 876309088 132527625 525156233 845783048 231177759 199521644 894979234 22164011 423372789 496367824 567474117 154991542 480121257 147365131 857292879 629429636 777331757 749775328 285668365 764885886 165893135 430193390 705562850 56218133 446171877 271887425 803922852 100220792 4745509 243437589 337916050 11916926 521756134 885113515 256450501 435263851 957499199 673524130 346447291 969270679 573501372 93280015 315165542 79841016 951296899 894624589 210510595 635359940 319805904 232659958 266741929 660405791 190621211 147994889 20671830 271073753 320435082 874793874 403042018 267932120 168720444 260923010 514133521 18617401 37485839 549075445 916194294 844281235 595643318 91141286 75445290 392947754 891623128 213315302 899005137 95519115 343538311 965083994 479477480 178769751 263082481 295320819 86633009 244658460 68742679 661459916 238052063 371938167 937913427 374593320 167819877 815137523 492775230 242818677 28024149 109421581 389178322 227651830 18983673 864034432 364455046 109157091 194023295 873606290 715107383 45912292 218444275 288077208 132609813 712165345 602164648 501400993 219151983 857017861 577421247 783078991 912542694 322078453 802970917 806369503 93521786 295690614 145470729 781227745 903525241 422266764 881715673 838214540 981327113 150508412 778182601 226301524 985681824 189853401 988439538 845574099 414405500 412310510 69736141 806896907 804520123 431453656 468163121 553343972 484275167 720458996 605269023 561126273 631943499 672665433 505285801 173130792 275138230 192554392 20975547 509179273 207220774 804205889 838639603 431692467 738192558 87896259 50330789 29150243 988618906 588150096 96255685 471776892 719798376 180107218 351039653 797221388 171093744 699074453 822466663 576585795 802541845 380556455 227539259 330087895 259036007 641312023 984264692 782888978 240797524 152610377 179977923 512547572 110104011 710561196 615868281 681456364 442675910 41076684 388497865 93442049 474213652 931262675 381863373 239539368 261900814 359769835 238869923 986597126 653476364 594651987 5388627 565497234 899947051 253706788 199497150 29351692 43973396 129452798 799679410 827660848 16366691 40164290 356774465 597025393 819991836 447907336 435330145 998586390 334817545 329562134 77788827 868909297 413733519 664449424 420396237 831422926 725895026 359563999 273758590 427886120 845121529 336616451 342246650 737159505 651087023 285090445 724718304 994734193 629905671 45845417 644179683 976191979 562607713 516349921 607726144 108975690 655498276 600795324 218731682 908111661 97823667 159701747 495028367 476687535 808024500 445368491 582179456 546189489 642109736 968390994 228373873 836418250 632720851 341436078 42529902 997126317 960485506 600487304 647664671 100563132 593807569 584344505 270327721 798941862 97918997 94729578 334856676 935799246 555751541 220875186 276861985 664036621 982038285 203672344 187697360 249265483 891198289 188812969 442648073 667256358 666954221 315723407 267739415 668744626 736745498 375854711 939189792 419067922 561069415 140152464 134461302 39922886 957689596 117918741 528144605 228432908 958815065 802803988 988372589 478721487 897559288 5022541 185895800 870519590 102011823 780099062 856099878 123199056 31647313 393449074 234600299 997263758 703910994 676817375 345744842 184460227 345121795 139684339 325845277 739039102 851655507 997802012 302705233 360649097 106523795 640844263 826474357 150031423 205221875 898080742 871598948 150818529 747636119 798139058 711692374 358804998 139632670 550721727 388487587 525510696 367568541 801552487 856437351 606262842 983101797 913615948 209840095 909379246 712518554 235294915 872759628 725400461 537204673 233981492 260970288 162639292 964550863 507420989 461094020 666008838 15481636 936173739 909625145 52374435 825114857 13592001 674602031 20981685 878106865 954156435 330625461 52409710 962956864 263189952 973987577 228740255 59170662 123896900 563355010 983610964 995913000 480517322 423359658 794374915 497048455 460310956 572500837 350318260 755479929 370784347 204761860 137175230 1661219 475757136 353461741 39510112 357830800 361643114 248471508 579868237 632014405 179360344 736814168 638980843 210551936 78763445 242434459 732944614 476392383 404602973 605893101 536190005 747089344 241502709 412383680 90291119 910520906 640702049 798422453 501244248 978566900 123205163 289596324 32311925 582253049 390128884 353159251 250809252 462110571 929909808 897120353 918627277 57239337 188329214 594725506 99389357 268753305 220786971 115643646 773280118 234184829 128670462 219758004 714817618 90926208 472764520 388613533 223816686 779675680 144537304 160652600 956750526 642356910 537223740 181487704 374530574 8635630 824661626 133447346 339061729 979650006 369414914 292836640 375809877 639446176 173596015 384401082 349046841 949309924 667655237 647327723 775306411 686050386 84834370 638800475 267873689 17384480 957430287 640538706 323295297 745268915 443637884 213183437 330066952 173925531 100821970 571011220 596736539 609143007 29453612 292096477 6259194 595175539 193208016 538734490 149326816 593817120 528607991 146400955 792054065 742319381 972862952 605585199 734329128 580986653 111884685 293895488 947716623 72905909 538809281 727311605 923610599 118088159 947241331 367067261 438877617 552210008 240529853 492445762 127015567 363866831 264751587 861041479 375278381 569390766 775444243 557737654 196038487 979300510 793560757 274961882 815597614 58666627 26446196 331195667 579280749 344488180 888057788 547796437 991725184 105615834 402688484 63553732 159935749 692610853 561550443 527757141 664135982 855427983 932159441 648133723 898995829 827878475 3426755 732895734 401980701 278431465 388826504 461981528 630602312 342895631 837930066 869351051 566801853 306662562 577966982 236801406 177688765 355983376 28301252 248941454 865943388 382042980 774507167 610266796 302706869 222126641 99718137 649996227 312658404 922248946 271168435 569003779 248887752 252287841 767009132 119068321 102118151 325000950 134605100 955474253 796652161 131154459 144969277 534161779 520676104 63601384 517330375 231013044 689739037 439505797 512412749 751557219 965384646 280900451 354854184 358451282 800814065 762598854 968007594 938722075 20448086 853219238 792629479 140777344 697668024 348733210 707233608 763857804 231070863 519276815 837894599 278974978 322051682 838557976 521499863 17174125 822554366 680088455 313298147 736736487 771468589 153769499 641429748 33647724 505729879 737891617 993911252 156008720 250870299 925122839 988809255 429664771 517238308 279956458 487869214 167122285 764726854 882955615 62146788 175768908 235481412 282733040 655432514 191042620 34498424 34276333 177904713 399485899 885948508 110083185 716115259 324073163 397959903 276588407 646908562 991510914 289818891 113789214 545541967 794973407 855022797 147085227 866745564 770997424 592110154 348003287 155339067 69532068 61735916 292608372 557709213 296923033 303884587 946975056 660715365 411321056 632949139 490392857 88929568 105532619 309114776 43794957 172272445 428116378 720906138 318400297 679292366 56330258 873839186 634443313 26453774 387607934 760046524 175873318 300374813 256874497 261877457 136912329 381311180 162134357 716779448 375554305 585582171 634980211 426262712 227264347 264155196 289977617 515104836 607709025 504032512 594249924 63137018 847714613 263144145 304206201 732398811 234252950 451798618 44055327 690896864 64813540 357703891 555181218 346861932 893402532 308755325 499679199 632178570 229976368 928973602 334677248 918124222 374857285 492190113 502293192 260736234 755915426 615239234 954080887 220538746 253293328 935731388 23546448 583554242 876553997 75216088 239402379 661662635 567142981 486006865 508061112 481497618 293902351 769006122 181789466 377089481 397110887 940820459 67497737 535483840 208722057 874941281 365418160 157071289 9794119 696946727 208430349 96016368 819552158 542044699 921803263 974743842 898985719 357647647 387504695 933471614 644563920 955066519 667008183 115456010 414941060 457375628 797148701 626822817 168894345 201400411 249787222 955669264 31080760 561278029 338613776 648133357 568783753 959713720 798997874 236262565 667418873 193880835 208250538 867144991 972008802 162678952 356388123 353648035 26507400 458563972 241035801 430567304 161409883 253537840 859575364 937133741 451431804 262796975 150184358 526216232 89960999 612456726 20284447 440966071 4776871 85826193 825050892 885529540 400248072 146795401 909986984 228955971 774091833 281767198 842745580 935029466 266815713 394163232 109047036 35289657 937270524 587165157 76577853 561077763 195418167 653056864 76716394 20969007 752395314 845310708 736552352 334819955 314894296 67784279 453671814 73320658 143393852 19087411 954537679 804277113 166103677 589698597 249065494 87624219 950443217 18920217 57642736 971004202 570599084 179219641 767661410 235702743 208882495 853148550 468126364 984748166 114355411 854219099 576304069 916391031 100027677 561664531 513702022 613877914 191069615 599922127 28197701 499611756 75623706 328315093 250138257 244155823 356882836 168702219 383575854 208881834 846184908 161898451 82719855 574489366 215932225 516144431 17397504 72063478 992805391 731167443 346912575 866680889 96564014 692070387 538891906 804809926 497406884 211590620 480059514 14181230 176804662 777242790 353176967 734974095 457366906 83768707 865962846 729957681 101853182 278921637 486365012 494906260 67397504 14173493 327535642 897246045 217592409 54045345 404161313 63410226 479039588 17429221 420033021 118815540 311127096 273404147 87070107 378836860 933024964 190451434 429027486 719525483 414799766 493027915 537922873 240124965 98468263 138517859 19905508 627762388 113259551 32842930 187142422 347709474 881845022 842528516 793529755 525473627 298852377 564080579 962237391 453746411 940372003 171386832 244682132 866096679 131526579 440173867 406772492 864846438 504027005 290735509 308695732 421311526 813245128 71531632 777667109 79225941 803456734 73988301 359859090 496160650 940963725 923521770 271727324 841939072 332003806 721202455 549175601 454308408 777307252 176432406 242208349 192921122 125672503 5511253 613928859 333345358 55263081 351352160 860599012 152592672 541302603 677004493 474848797 494574895 688519418 101754304 278502214 956228180 934650760 964422756 351045404 904774723 177141983 158648879 963009013 814717604 214863851 754723231 473819029 679688123 293740787 348887937 263605040 541314522 114386232 51670016 815728552 409193196 868497393 238925584 123871968 552245730 417648938 92315299 600899979 558919600 605105764 103482284 287635447 266639357 672492754 515467580 352312031 700615427 47350460 396105290 887770638 299510906 734696393 12218417 186537105 121648120 430584030 508799412 257650968 592644258 464714131 681107257 496859113 327066690 719472566 371767256 718501170 114187972 722609007 279771986 479937563 869101223 166891232 94569969 672271094 166049344 421927114 882114717 323804092 121616364 715017740 107737986 291068382 481655070 878722150 411888455 107325113 168292713 485116365 582753811 262673387 219297939 513244431 175270016 92007137 929480163 43317786 808431719 77567916 718408946 633965892 183609067 252286879 69240610 515976894 676840301 78290414 389044069 808982397 660503824 731388198 86760238 116873912 346368726 693364343 36400596 343709668 87122495 284663027 883189542 344486053 694942538 947166453 983414873 133518487 336594839 964941942 540850557 995222979 277101777 414661291 190701943 707970621 218886300 79915192 632105636 633551925 203996543 432761045 490195839 34374513 624749406 250815191 327957948 346403525 238172891 5481583 530491779 815727320 797878192 350034824 529665904 681045489 991104840 812261892 914168886 171778677 786081775 983008113 461120896 402146717 532893832 578901370 44309137 295412070 608104192 584790768 447332459 348389078 125841894 725209934 752699496 326029649 156050380 39468329 700584415 31448330 725783642 817188015 63029266 700907150 939174954 419227714 183041739 611292269 95611734 120594452 117482875 105648786 416536224 423424731 618014198 503513775 675095273 315417625 946205556 294447603 2249285 951690329 161796366 647607980 108726306 921417898 631290677 370005693 552231620 43338349 783991301 448043165 320745451 448940502 940539907 187473254 588068179 258169852 77462631 361299395 368248634 157508017 135430596 901027682 944925664 719846344 79730963 497355722 380898558 346083136 908066732 669710920 804466626 144162329 617579786 618645598 328378560 413243236 286495871 944658558 397345876 676649045 981282105 369478594 227863227 317572189 211711804 619485849 26385890 667885170 242941439 966203857 921413116 222208889 823732878 869606634 565119631 602717592 417014312 12939905 334090400 637461032 739318341 413426478 448272686 269156268 306930752 607417760 749118078 699724280 120750398 734552079 446394483 465697700 169412588 906661381 413125665 805741963 76418108 715824456 964109557 890213002 870518563 26993839 280134480 940825279 78748349 699097600 604702717 528284374 84552469 895917743 259705623 633559780 697162594 277668675 633402675 311999438 334324228 779348042 782333924 25340869 21332183 676593969 323012235 768236775 870213304 236565330 823531038 138040896 120606371 239872128 3566187 8943261 809240501 983138797 187943016 833488425 163616669 32940985 76901221 814712768 146561040 82267772 616522839 509357129 237701664 694430857 840638586 833531385 355617051 379810244 562727451 820854073 544530201 105270408 407669314 637756162 431087998 679778094 250651997 240873773 496949897 918999057 649015357 657887351 558339781 602692039 259342427 166158562 293639674 618136159 66662614 399917181 868479460 583978695 799820362 722754851 395875767 166301145 872999180 48931024 292295778 21036499 732902411 978620514 599431813 745814830 80900401 948752118 289337010 468167832 22670621 110519965 404379258 115163620 258656907 70940411 728419323 881514747 505164733 581846497 218567362 135275557 112864521 847457316 918214710 308892368 741238360 347017309 488042054 35680437 615345351 609546272 463099680 450383988 576755161 576961822 132607237 29522937 539642342 100215193 821553812 898224267 471516999 23638182 659554533 225611753 467203653 342231568 756824765 37209230 644484874 801889468 186451889 241328450 284667400 337295609 994658426 230941273 405626684 412435670 989859840 715802023 230804584 807022775 677911882 166997859 491964893 285264774 619908631 410227682 33813624 106975854 63475992 332652899 204350265 16875584 479278626 346841518 76408871 730805911 813836242 908417612 269206434 828245564 762320629 35900393 793999461 637777586 200962704 219228744 132109792 832123690 164278819 292850770 126673154 931731891 931033333 803772611 799435550 386381575 936021 432729512 538858954 74428813 810936756 116553823 913340812 556794304 386835907 569042651 192925809 694956253 505160971 646396485 975684576 216080563 170611595 564818146 561353446 179122727 305273659 786865364 724876743 811226570 336125602 640804552 62869189 358336689 786715710 292510266 154377926 511567721 20121940 221730396 61605113 567308579 999427579 834436225 736679806 981829074 189511008 711494871 745025422 567450248 686247817 131698382 547090590 909582995 265545178 146191410 558981336 455443434 623563032 626506170 99403949 313542231 668913246 902958024 549784028 701472383 204640252 457486744 891736918 899472631 142158922 959896669 274494944 456568843 449621151 997886950 472642348 736979525 825839913 863893884 643922390 126107094 486738292 904357196 17159259 577701832 747556862 629885098 417628743 908338486 142861749 532600850 662795819 399623928 586024729 973659805 913789119 398184792 995594789 882475511 727181500 546345738 109937243 27557046 968303758 654081347 145210669 150574550 414863793 539590019 310233620 265970737 153698862 755174483 762854956 576742788 607616286 395922865 987580632 77011516 572633090 657087054 44417888 377859421 140017741 414953535 217572092 94673266 897064668 427989466 722127574 825129159 862484099 528121088 157788570 73602026 988457516 149335753 250977351 907180558 96907687 732096912 437269103 542738784 736044454 344839116 80910844 793309645 295068055 210286955 914461078 1274083 667990019 822237993 18709596 727162430 731902733 154481506 923477169 630990440 622930597 274273110 47554314 911456430 894967115 347338709 49657801 636027168 439132729 112514179 985786530 196150782 134197569 226504012 684651572 226339891 649223350 855640439 738767262 338159789 233931157 269366286 156160699 149699292 307591591 484118092 400354949 334258997 982911078 157794577 696676256 682466711 32736706 938350561 972283613 611620172 209868962 46907337 837853404 817666966 189065247 265947886 220077951 656638381 248784529 237122039 709330576 185913455 914713024 9928569 188580693 825288731 189768012 522967304 966221673 491694435 660545567 232936331 533879859 295257716 475552527 164349096 826610567 885081648 260320422 975253371 905976759 459182725 533887185 769182800 58481320 910296634 575667631 342904320 97958043 605273786 816158327 572558021 34522739 662355944 77830802 291648478 951824136 478892576 254495888 545531169 222290547 921525555 921758244 162972561 18795798 869840164 220294958 54699107 311586980 134823771 697351422 339150449 388817116 869943890 208825989 753103764 249589632 327067787 154140410 835305785 116228264 797755645 481393927 306463590 46098516 549224304 880727882 54068793 564689434 966572469 22611134 783606071 313693671 722490692 818452973 159829428 513871588 27236052 864498693 695633922 617490551 628598233 960496566 758327645 771048092 564514913 755084581 353565554 145108289 822793670 57899636 875692880 96039497 920361858 899464843 865184868 615145896 714630438 868903915 420746984 111397762 275544783 10908745 471669583 602025266 583173649 738783810 996634880 852634299 338616759 746497675 679866138 427701600 816620554 966512108 51991399 753542867 148827277 840036332 216001701 557137123 754022090 475776734 221956467 79696541 114678161 852620362 7373531 759541960 108605576 606955273 2290586 781462667 700929221 383773595 152731528 676329118 897612292 822110901 11859622 257718552 951976183 45936173 280299015 996659912 238033021 230776061 55444860 234828890 70350528 594294117 835621626 634595501 202093040 725697600 863727769 176975852 340515511 665657424 446930969 78306109 309388151 155137236 774465774 110195465 965424751 971465127 689946759 639596482 822630481 912587679 649689553 394055415 139955647 649953051 59777836 621401589 926215170 212998681 38346212 321724349 374387046 312306588 678856761 54359184 758180565 464736243 594156617 861202787 45596098 459273920 391095264 49899934 109858677 159190895 933876728 808889332 244338951 296317709 531031410 146370783 467238575 906790645 839422534 394532117 75774963 223475890 41338223 250492304 945294066 510523561 194310798 316199929 339139507 148364526 582075320 629567682 890551836 888790610 537351810 586952399 990890257 54675490 673717957 143504889 76602021 719856646 882400782 735817055 113868535 36846109 133368663 16822283 879394929 600082073 558976081 141659621 548527455 750291470 458240359 791412015 287977648 822980264 807955194 838068417 933735783 785600019 272838385 960226015 805838048 938172526 661658927 237323761 751332218 637884941 170261745 640690007 429393432 157701188 30843941 122090827 366427912 166402147 509973392 673681160 726024570 229268573 250191871 111206385 309908634 631147389 307401751 717840109 490452160 237621682 330173040 564526827 860710898 300888784 26938937 994767617 222932825 120777322 989428293 269608689 81604958 204023145 734708956 836449652 477773730 670053862 521009975 454840461 91678335 263217310 252176385 471259644 284712846 125132284 549573509 191387507 979972423 946274248 141007312 769888016 379931427 215904055 494184601 251089 932334409 824668584 554267382 381028807 352231281 951657574 773975082 87155204 973685098 984337143 768284208 500211652 269113779 991456225 875311331 770134880 723961405 820961263 567242859 404220982 324687656 737367751 773677633 213578333 727775443 175113090 288126689 712500446 237660169 627095358 187725216 236197472 591471960 711538701 812643442 534330718 718349952 235852661 274589480 604850021 136659586 530023179 284847793 733030308 692223949 393270394 217083916 400192554 201274503 323452345 507054250 510732301 569817967 880230878 43094665 779371012 878225132 908857522 179876008 953243866 856434491 166117760 771521022 533313900 655018837 917715787 772568785 943073134 21593899 758497522 515098330 531907470 512515343 115809054 587354757 513854937 125198569 201602156 640658264 535364963 588387676 798164965 630366006 21228382 173712278 824476586 48147441 637268601 271577741 731620466 199991758 228451558 823121896 827739008 299776225 514227626 893144820 684755089 431163038 166728545 682624164 234997526 574590612 103647532 497445328 646217266 142889326 989055498 86928541 255984912 948342365 908150774 23792384 359458531 237738374 272866700 315411754 6111887 168235570 681684116 604186731 460213162 299734885 251655153 30865645 539763827 353978662 81408850 492714666 590213032 312558768 656593933 272507845 975115081 473393288 314718755 941049278 724506337 563983432 959129971 77129359 62372734 670150842 90069077 9795082 675345385 671300673 874112022 109322690 561678004 850968844 76962294 32464273 51617593 35236856 569155768 342610285 48733648 697722811 590690291 854651475 724598809 447773628 647279979 799153701 306716297 996647617 450558940 578801077 867973080 255635802 610860156 186742990 885799537 129831509 273881224 107071515 12408689 791261225 13633158 474511576 272952335 401233677 678178523 293184184 999404996 709471605 812085400 841631788 65574738 287001376 647265292 252814245 539911722 581838186 738783281 249733519 100084048 443062367 302581332 309731267 468630298 867999080 357826801 91590786 867352656 280582693 886224812 505330181 297347524 416889033 434389022 964979764 90594217 917644487 342644131 448622406 618818045 782949424 965433115 512677542 159002550 544588390 738523085 839649374 957544947 596723586 413902552 156907945 404624630 167887737 931454786 645104111 679302136 777658085 684634042 583058852 584126738 632505984 50909718 146518888 474950580 3532258 974801729 80377883 686658502 408623278 620173549 246543110 834318195 817217776 463487199 230328048 364319474 363133394 994894678 755745535 682717117 161569532 978056812 403414550 141840650 217612745 519096570 636457345 33671073 824903567 345799723 937300179 558150841 665108053 998072591 53461233 92603553 248570112 95612038 191235137 619672514 150076708 88963902 218677172 44129976 234848673 288031061 22796403 609245930 653247606 393079247 987273766 572717554 923860422 185857232 759787996 735524038 925544364 727827790 407581726 126214781 797269179 413368586 883254450 506663663 300725051 312315372 21558199 455849645 914863240 708005362 209917140 20989794 808633693 581047276 394403383 93640312 513314995 660576286 463738581 65729789 664861407 88585063 509961324 26911338 880335544 125634725 127010230 754973703 786079973 85227816 134008766 654463176 340572828 615088781 59768501 349207382 597451930 111028767 559454646 35199751 385609988 59185019 683876159 752659457 467772797 562702060 621079050 446318485 638489696 262101787 410293105 461841491 193555094 7722110 537842847 82036104 356318400 214766138 58659707 404587957 682331207 248979433 952150808 20893367 378968812 824270053 706966316 596307575 773442271 531935038 137896006 364416685 781757476 556270694 880652065 681497734 919461076 826663662 266062543 940839630 910429206 116069138 135073154 942989477 577329455 588740917 527660607 148891761 92170631 547009593 780828341 471583693 528797003 315517689 157608613 29314937 347579969 341733750 68462625 97980202 436553539 15968220 36690625 954884555 299896868 361012648 564536717 12953550 57923576 908328516 129146119 440329682 298807848 65984930 848954160 493784314 514645083 438844543 300756409 753226795 930355488 430306807 177680770 267259178 98119765 496894510 161401141 325627372 349805092 963720697 175456224 882434573 101401433 838796537 172459112 332274585 373593261 713228881 99092304 179495457 519924809 929553249 854785556 674662038 296174800 370486013 495044446 164291317 365999769 690866133 83275402 866824366 392272038 723325780 247565052 655347073 337478521 256633850 429389859 177764960 931814324 509243298 946384458 795299657 799932155 111058656 453141768 173014751 888889342 82498950 751850269 928237227 773300054 655374675 851625200 775650406 967473738 978258442 185058333 229712001 587480510 314558430 714557366 383113779 523276988 633691466 442279365 197906753 202768706 395481425 619397152 888124548 921858923 763951689 102237428 494372146 278147976 380699708 859638630 311419755 442264312 398555092 658752722 178814792 369499326 503815058 795867803 261415649 814759967 557250915 745694052 222048750 232387049 375646147 368399533 244656257 321478383 852963835 889101812 777113505 831577829 201286052 348340789 392293352 275700380 862325538 509674164 34212347 663287734 973639990 746952105 438701479 992568952 115541992 161041320 104873817 453772705 853650070 174533482 498702038 566100658 787985120 420912152 816729222 641121536 147570539 49856816 440276022 89637776 914646931 836669099 615658194 646275278 447860748 643820930 582796595 833364313 887243170 102003691 47209515 920263560 273291747 602175729 815972860 975336633 297611480 113024992 769111332 126828238 630740208 509261134 675887003 157445917 838434942 752609051 516527614 995943289 386036763 103042050 880989840 963751967 599544189 772876406 353224451 172846399 999132152 255163339 715100368 913411392 185930592 103552891 659903046 580557765 628989819 745549195 783178060 319420626 501562603 976485900 635161463 352901566 224579402 31952033 830138164 312063396 930569975 754975379 190502028 324268738 607677646 226200957 290214389 860525952 975380225 109936673 655233086 264200579 590945503 154406626 981910410 697106508 209162609 710588640 221717221 833471438 805352456 429164759 284602995 135305771 318462456 757195255 227391485 647059430 58339536 231737229 27802884 169136783 492861983 717675076 767265941 801170480 636584812 782749589 252507531 649281920 381260405 206322103 890064325 489718472 915681298 212616251 640613709 356511566 939496727 280751019 700425906 987279839 240163557 881183927 575540019 961716403 766956650 995835327 154256226 257866676 866723207 736732757 259219480 376136761 701921075 825526773 671891095 70114865 290149586 232902312 647507887 192346133 799317544 293781586 174030132 45756068 994558352 890235101 634060701 273897807 53263247 754702396 508373016 400231915 153244012 82762023 961654120 850092656 999480100 536014304 314211272 241515682 10843146 51055838 581732968 520466997 772950718 32530563 540832206 620082975 715148945 640991612 891715017 617299660 861169121 778608586 168332792 600881885 704226265 152409438 155953941 809925798 629561102 620041639 752144979 488644391 221885393 923076089 982798831 142374755 430672050 166265278 824726177 117524859 595816953 914152677 450809781 632919332 420956554 201157202 544610584 776227811 930427438 474802972 512074187 935896826 302157671 587526095 892995591 421731776 197738415 865417188 963539680 196783886 142865083 887439356 930577319 511540985 15334510 962952628 286726314 164428920 313138357 893009919 721093820 171667076 942371557 532798096 522972825 76630093 141615837 328172824 370480093 629668568 368688421 316437685 322281987 430706881 152100137 455777379 409998020 44992377 594239414 285483097 4624071 812713363 290135672 28612924 669333876 562825485 868859710 527976807 290840780 898194651 46727458 781201693 23111719 189914890 577345451 762223786 528591840 387423292 80412231 136956164 330325753 462105083 784669603 265007118 652817638 78705687 105571864 724456547 768145003 174673359 888409174 37905346 47413953 350303393 847122313 683003856 109256904 232030585 194654060 451044913 430041503 558234816 8835249 58942953 792717144 54204850 264439631 313128267 246955401 198001763 893142072 23918434 232745034 225194157 407227175 231761138 599628159 638364881 605313389 869139812 252040127 805740270 929373341 386184624 198487259 81445714 109684206 872213352 490699595 936780924 494280057 825508063 770497338 194510308 852825055 200071657 151737200 398909427 850053194 861279711 453844579 7830184 861574544 132731836 380767920 331156879 144326532 221668861 467165843 443228850 70802324 582759886 804032276 841545068 762806987 910398786 724508678 655845647 75504472 885997080 721864085 159054968 654909661 446836208 567867356 324123203 12084335 236072978 189457367 337444041 6303873 975406740 770881726 295180743 17169052 663391736 94423162 199053756 427032563 454793207 218663711 619675262 398013735 706485089 467214833 579715165 21785775 335449793 109364006 183950177 51311321 836645811 136001674 701988108 527517688 17644188 159232281 931768635 657118068 135739803 173633893 127418430 13443964 999357093 545485579 847387317 535638855 351618309 454343093 657694174 906953328 922875765 545916103 55128479 997056301 43425278 84492404 975137560 323826159 502430942 363535527 547314264 818685764 930028384 802340023 197297194 690502593 62114181 999143388 685900353 645658244 780916312 168143127 148200505 153479671 70576125 303068156 748236004 74059189 989422996 405434012 557741241 253995277 599982305 303200203 136817767 917852946 384575102 355016105 209950869 750109506 906788881 785791563 561491614 760129208 111051480 974374949 335153428 697319037 694122965 356963553 421644680 939883934 330634787 895594796 536713248 640403013 846037321 42797461 777347227 809864556 10755447 401466807 440201448 309560571 635395445 602667104 583728122 99566501 555444093 203160722 378445259 789030742 747328170 262259972 629729286 2485182 429792512 16976551 355181088 724635622 380198384 678605039 49094198 932892341 773825925 941963024 888577839 592066333 423910317 344330441 28207065 54697692 604213672 726577399 573266959 569882740 837328542 817367689 315247129 683744687 50462526 8147203 65826102 161598460 813629447 451742031 170035105 693077157 872468379 625926287 186080851 501459739 910119333 179870374 751793642 969559919 462310497 162254402 874032558 556060288 428715255 419944035 131827644 730133157 168677008 156626631 285028756 588946285 220313076 957053676 966921394 301962657 931243028 882206877 641353747 798938380 108130844 559783556 798785100 762704259 739185465 165024853 431597530 256464525 266525513 601256502 386686308 441960354 644045361 419835819 347666011 268719995 585509209 719504190 239785785 872250682 230869548 399366751 169045753 621938235 850523686 146147416 336038667 398044381 53521901 432993123 466226241 944816494 847643706 539372852 20322051 48590196 264769507 837062976 981940722 961654749 92200688 757868719 405672617 450511200 715114060 119794289 189298675 249463991 91628763 945335192 494235229 265493530 151161020 29287243 997307742 740633404 349238915 26524862 128597331 142797666 466539519 605305320 821049611 674868215 655742229 498429315 237818472 124663179 160879501 665551982 457312088 107358636 496488870 598109368 286142502 737153341 618996352 47588985 423985408 183239091 536797209 238768945 86383805 838399139 156374801 901780035 58262937 434987056 377728115 226188776 72841373 563667753 79553779 211591188 490784831 809816444 10770546 314764934 253119070 556485373 627354693 688718650 816900237 547820331 36205460 781865087 722329201 971505292 596956298 992170600 887439891 182675922 286129426 240251093 612620350 905814438 609264057 117096820 636797807 407830918 753238657 756320193 896329210 821772318 586324688 386509988 620803006 887162401 648754166 982525833 876899421 364215832 421939739 718084806 587070330 520433172 999052815 249858844 503601302 890867103 251415101 770311633 709919963 144708053 966048185 340684613 144799733 444906278 959864696 541449870 563961662 496198466 477857069 366776238 492370173 259787146 586663414 770256651 406651527 639229732 358835015 647918052 724208822 56867892 625585897 665522740 410320638 619184682 187908042 666435491 195746453 997008595 93818167 184009269 690244962 883120179 174142957 63817122 389283911 535365084 55730732 248781013 70300150 867078660 78849501 138844967 684545323 350651185 953610287 617573230 214666769 459449150 27181154 544080562 774574060 896787572 939302198 646652183 580099800 289427495 988593859 353649472 585071101 385928347 778991217 254765216 120152362 388098710 681629432 14654486 509057479 375165032 165731982 440491482 326209791 901237717 629806806 395541703 91769199 527607577 178145881 153337439 748526630 94061445 804810308 901693213 859509931 874912527 865631740 559364842 576299765 549489474 584245994 737710229 937200921 743750111 871979193 296566356 931538171 175437745 622988534 138086230 561736435 162356032 320029480 758424046 534220242 269262033 814192329 840948229 791691718 586584614 943842047 606355363 959868580 314402682 94115682 353064661 83108137 335421203 951659276 66565652 978378492 272362659 440424096 253466705 144910578 203556947 702787841 994255564 92151731 266581202 944508851 67256691 664442508 288414777 462742466 983856505 373426955 685398099 146196459 734985175 13898306 203520827 432256094 825809886 962464933 894231760 644111951 120374407 296725602 742708621 56065449 528509018 280284103 792263922 159759769 693726211 286662007 216304839 222691836 118848995 786888641 88700561 536186705 63139007 550446091 357398406 565791584 344345087 475215952 227363072 271753536 962742296 471674526 510178605 50072772 947840530 95228875 563019253 60619284 636962456 374784653 724638438 399018091 419318470 293630004 118290431 971293476 142236957 128627119 721304444 837691709 613759956 244148874 994246069 114665424 179986401 540738613 38732995 500809390 680735702 171438264 214316144 350266685 526352929 822115542 56083649 49014241 524518061 95651213 166858035 109620266 287389029 135546567 96454183 519215727 110363410 956237812 999946339 496548255 496516484 429641565 524914169 818275305 799820358 293292228 926008092 876841097 592867433 714935901 231565590 83298037 156996528 264213234 817503937 419342677 806811319 35960473 777700446 220369675 908528813 208764819 774912698 245919475 612008191 466540965 547482815 43055756 656749739 142144600 217022928 283337449 156760932 534159561 121772648 36998342 684460020 645584801 59845131 468980629 269639691 47097535 511611112 668676045 227361268 789492721 826325594 464377761 61785960 543680233 268665652 805033471 599031788 67714264 730829083 507029336 341926125 926631950 91857467 290571110 799207427 271473443 559500137 345162526 219335896 502908404 245222112 898603766 688681499 832601280 692595839 234638309 778715264 649903022 356958592 183677885 508132999 908828029 703696187 99480010 375094489 75243169 897608735 411247763 683811364 487751976 800544596 260982354 171675889 835880363 345798422 327824779 269137573 268635765 550003533 113340885 277810991 85216350 56446997 855774398 76809797 909898671 52503968 331095635 457428932 254884683 669628399 755386955 647378450 10951380 743426617 968291416 183718356 538685859 462861725 355851713 367514444 872355167 115315886 366178158 241603981 843834161 647308826 224941928 514142999 767747958 679293816 501297558 382348036 877363239 159712471 245336831 264185731 209764939 610742904 585235938 326187904 980413902 35221073 66003185 537969336 884504586 886062032 200478111 963196122 719739182 74259572 476577569 991392666 393754166 68797963 315088359 80234574 328050599 549960684 187179171 128408289 401485593 626553542 134360822 922576147 302293386 446262213 194921756 571074730 50039004 140525766 135759197 305823186 992350331 222200238 637693755 818595166 323244406 969821040 244748431 199693755 261054738 2428007 750620332 980390176 524004208 163036668 250606892 819260685 19735504 971841680 534704417 212387930 414212803 463831836 254220421 974027849 664037755 735101568 937947939 175073100 710713930 303901264 672796473 261427935 771603025 116136471 493447090 51661736 112882954 876712238 143915154 273470823 90286022 649703478 587615899 711866196 529102081 232510961 543078411 504529910 666008626 452267985 966671847 14480046 523298318 211943757 714563171 188631813 643146947 923395857 163325559 848413907 197702569 312666942 922645378 734539744 228150226 198860703 502296707 691636687 984938340 925951423 194265939 266144351 470695771 332639839 426054831 594125603 67646298 723633250 113697076 772245721 499960385 527713683 649965133 126927332 48555323 880258516 190865552 563037802 856569143 897709322 426855078 56997074 533369109 824504686 595828814 269437950 83930694 612166366 263128618 55924322 968865809 788206299 53848863 339608944 94010620 257597305 224967873 549786892 710944031 490254783 366521453 603159435 818113196 181201379 184040239 901890511 217034206 256352010 505682317 340587440 208513519 923349122 963848845 513517283 94692261 497534133 992995889 165703222 684341519 767642111 33278273 689555212 715335943 557659665 2255951 135363102 551484466 781233409 733760521 66592058 994308672 273451551 264961804 839687680 258342304 857649705 189142875 298041275 807687779 260690819 575835639 373460496 937048026 585454312 953747345 352389128 798434574 177842952 335035697 239516447 51178145 548045457 339286978 599942754 969967863 534190203 745443018 569208612 429196306 168654867 970766830 821255340 127835834 297436522 282612214 128344939 122159346 134442887 928711797 310150 43481325 490539606 791574584 927615348 26899519 842986847 941754671 28072334 827183485 215207753 239888389 597287861 649937448 967542693 46858648 753414265 829886013 99250117 270719876 752629248 374445535 803028429 948821716 948026510 184589435 906461281 726099258 247242848 298707251 471095801 705778346 279803194 379847202 907667895 770871648 752029255 351080621 432322072 867478391 14915947 72328695 320415107 42630740 124261656 204265409 373108619 49726481 925422059 195174529 419735030 69988377 396953537 570033188 662746933 411238208 385917519 160765956 316828357 114806834 346602493 45325011 33882641 393949969 84181487 24136709 527438316 544449392 65274089 817205455 112265087 511880172 740414599 829558252 511812950 132278862 962950189 987220354 530807259 699673729 419242981 557291134 383638838 35872413 604259430 104233312 634662155 906321239 148850872 827873797 776450522 541284681 505832429 562452065 605055592 314761703 825461360 416034662 575137894 354895664 213573617 524912145 736998059 731312504 431184574 944473263 282658316 925539787 653264372 245291607 469281463 134334645 267729120 228801277 454816656 602499417 742129463 200798123 510388474 2138747 999306026 244008759 383337874 982545997 696431618 159668534 531202563 211648786 745916936 912386996 664739165 810709952 583357613 355726876 888523463 87746201 117146700 908685772 236584902 793916781 507823138 779791908 166941115 737860636 688301445 75230984 719240446 85626844 395815330 239898469 598898156 29288410 38420352 14216542 351815593 841703388 819007861 905412656 313751023 17680639 37540445 115130156 413065894 241516211 82261232 414628642 981296454 146623546 476394544 348048243 850100299 911116278 936781368 814335629 335906853 271276428 162928839 781196859 238175866 589870183 879542175 866556245 492258510 974949595 114687350 707759041 219771599 611262322 955986130 412791176 559460390 413366967 261776222 546762064 373971120 377864219 449624747 97647577 935331478 96557477 154165340 778596915 864100290 19458154 492375939 592496076 777523370 808451170 404016077 166903976 594742257 512561072 196173218 771889650 681413120 97526315 370847519 495853799 994176255 61307942 215764316 952554954 225009010 208285245 700040915 487764949 773870775 438012429 951424837 5906010 464397985 199335227 403711312 323490352 640352366 574064940 109405497 992787655 441143155 644895317 50273350 733099516 700512656 152401067 703340861 408421167 93014148 355168278 571540807 537586557 759030448 972646456 415104534 977946729 841554563 850075380 574789932 154407524 381306493 885608543 760483612 161336030 9801416 592159548 894455038 79227521 404272205 951679139 138177615 926517566 760320502 492531161 417794552 545313109 473046874 586947625 763607727 928943674 549347634 692768665 852497478 391131000 674094163 249479769 237986750 901773666 740717967 837434123 638922307 570753135 84288323 729235986 891232406 172172687 262440178 88123654 397040693 580121306 859367638 396319169 343814563 150043230 492748547 970209542 392067546 459771338 165620214 923236363 59053559 378789699 746304657 704572870 188901136 882563514 250986611 595625185 720919350 480022803 505571217 397573000 165136969 471758614 499493176 582242680 930376415 330676439 13921547 243199501 693120314 480859979 37115854 561115716 479923217 522588225 700366619 16359405 448003112 484069907 256898551 42250655 646816682 266314329 140210051 354245664 108915976 562666122 55249185 773554930 859630082 945890518 133536515 954656299 942361952 210579520 504419868 77013311 114214109 724329525 272255221 234138150 263142533 510326828 598187162 342821456 720076624 346383717 747012970 209963258 765989179 221418658 217109647 510816569 820124270 965000192 875152599 376545087 168841496 335485088 103378317 824123533 968502260 583475775 704644733 364294627 975961156 794810388 395499637 879701184 772781543 877029308 351082364 216195014 171859919 161844470 28241359 544417658 251986920 794572751 976461786 409882432 610018095 883925669 437845913 155754708 852507726 850710818 746599701 149338373 976105606 153710458 143905817 162629662 654038114 475447639 441559471 399538924 899046200 678375301 211736904 471187158 959073943 778895701 344833971 116765143 433202731 977114093 764088297 280364818 155839784 542925835 255415621 225093186 339615477 477587766 341899085 937778912 986162938 714041934 130306627 221190901 642667293 936911938 767647177 643512469 286451778 97993186 811666 905227812 674221774 843976954 801187778 838249559 322856536 847093732 274995642 851556929 657097431 37058796 774498433 530864951 691650218 904278137 518118724 154886144 48929938 438440347 857868604 856629362 89971603 863025296 267192871 918644451 70352610 645207961 186572604 532917739 706661320 811782438 243249996 815769715 281814174 339696621 374459969 282106175 342557580 59705732 152816279 973467557 901537794 660094019 454134585 873465205 727826388 486181236 799332726 217995575 219686598 439984930 334513765 804776928 118614469 21601961 121346466 873423036 470033139 281509721 832591194 823713410 949606523 195670045 136721423 979518559 146041799 834492540 15551639 104686244 434035738 36503068 185671306 338882756 794455626 937649680 699161686 162054122 383148005 118515798 326385787 65495685 951994643 267235330 132725511 73655170 685537364 771665233 701995858 645995150 760353680 731006039 650499619 314408089 208916228 657879414 569041717 276271481 340658850 192384402 562492379 369636303 759712487 101157602 897645129 914919061 667452779 801768087 541645231 187871464 607669492 229358489 650829660 902711585 345111219 310935307 632056903 586558514 60494034 686733256 275624670 434788845 476242371 802668845 886656997 45842567 356817197 889915262 697193793 522521416 160665711 189027792 566647230 588727343 445760377 355485369 638719802 817507554 484205720 219695469 302826150 265022182 205525744 778103103 390806471 932211455 479195373 330790799 889306778 813796751 559825224 693766228 883762281 289166470 94482474 112296793 761326030 935636749 89311220 173411267 144838335 710230130 90038904 55575509 390924268 254258510 441973348 105250039 893826323 867656673 59838542 25363736 252338231 833571048 43282312 336798402 654721617 681885005 87360055 278875954 140785192 891229453 161265385 658349368 583801462 878642608 361898690 911541393 245790425 281866350 340305886 20640558 35966971 215954214 723277484 259975107 248981134 945675251 274285684 480859510 22564869 360458044 862214853 546441279 542830911 721444086 659288442 604308657 506504432 168673703 347733586 245937394 114091020 50058072 982118402 945195498 944773226 44713756 436687090 21180026 490999325 41587776 817844300 537258592 365685781 16246591 846200720 663300479 409773554 480371798 122125659 872317107 787847031 219337965 717380765 548467794 998666624 364539231 486524454 287152298 665028385 787257818 927450841 525321783 157791817 864030325 358576744 101502359 481745605 98486122 386421833 648056821 432469274 530512430 399162582 287094326 886059252 262248602 712269156 197084658 611216412 164703535 38697908 931588258 405854369 127499500 73440600 120384347 913472289 743139479 715672121 105770205 867781072 223688837 305921682 692298268 8680803 710734897 162015124 50879324 430882638 733045174 925634533 460880387 16154914 394147337 505634385 431766051 318648881 242785506 430910659 454664186 609450770 189427852 280072931 564098182 664193545 293608372 750035412 964028650 728915890 569205031 794786880 704258620 58477257 12534535 689788588 453728467 706047456 618219692 406862627 591856026 926925640 439213202 448176781 444091636 152486355 997073145 224940570 585579411 939896568 166756552 929701019 485965092 209121076 362850311 441698512 4461891 858136419 551211094 1693922 908247989 175568716 279802043 142390861 263547374 92649335 953685605 288898028 147472542 235353444 563821185 675324053 667318467 889159089 801547262 240870384 633470466 692528532 794442999 554455151 489756515 392979340 423487154 177371449 20270696 141782588 738365073 436684534 21229896 283790520 574739984 984517222 500062904 365618824 82886835 490534921 468961790 72134008 763768663 136266322 663749051 858826639 690497071 443280933 891537768 724545922 978699860 835699380 534087988 231725648 183790818 309418655 122992296 139058488 138677645 871170614 650239713 596207756 984071342 951049757 622204909 234041429 370857083 721636249 104478116 533287684 580922308 770099068 416585736 842903214 596491658 497067593 253465691 197253335 153275699 854345810 797271599 483100504 817982144 703782357 528190616 589414050 50533776 172262639 128523598 927616329 966115005 66814303 37719357 681396227 288484898 648280252 456062004 61561542 784433606 35700963 89867419 580153767 716416384 951127002 251380886 182945254 873854466 343414166 53247795 199238025 295535258 124675998 428997388 230732575 698841381 734983570 943287822 332389560 552923363 223562363 31366622 709095378 931204767 657894413 827620263 365771109 449187162 790165 122301097 693525084 80141698 107599304 673949836 921031730 213720079 671536603 23452543 387380454 673525033 773760285 315780825 798642543 789497405 175041137 38376721 92590024 323485409 304696107 44032133 210909136 624168398 262919797 979876245 28671672 150866513 255444091 958594224 303263951 675074288 681673525 673654948 810268082 388726797 451099584 283509504 466633872 364597508 886175046 161226010 20864002 91073831 87179484 887785660 809002697 148681229 595420409 60851840 189222978 785096720 521393879 426461559 359630301 770595091 88201924 52007620 8934256 973380446 941467594 690277047 98560845 379805072 179486860 131476074 62757580 820767199 253958188 96064416 205864193 223872036 586057040 163707232 328669878 409942276 920368199 849629288 839724464 452129349 499893799 124711305 391759859 556110336 377394833 325748436 19999595 532045812 218654323 364623602 982116226 245009743 590404824 820350726 440678868 239003896 445339555 9293812 508315601 322217923 678139807 912869559 87043257 460134108 331269306 43553237 991432080 218787942 322113084 266835537 558898063 767301444 586581504 224128349 620158315 630468792 288954114 886449725 91485745 970472331 793137620 508363200 182513930 588572370 205601824 893010396 572185653 534515265 976328372 929631512 411663997 968709690 50745743 297509956 175950190 974361370 259999924 653924131 467154624 131184135 389036722 716205028 684581891 23353396 241802652 65458643 434776357 778022694 279647566 262134709 749439174 363933103 121057803 848991469 510086202 780549180 157971695 749295056 238133119 280718363 339385759 760222186 945287054 18566440 990766664 494277888 112829127 486252945 384896902 448487744 337317262 134011581 85652285 953694110 893056818 539137465 655603062 451060690 489516778 810036737 41963582 97937381 72110301 243036846 57298692 555530828 48597488 763866866 447486261 260454193 216792705 111297020 177377530 386239758 84301737 323199617 324871800 771752707 466709882 709577617 291870261 384360251 80623056 457264586 565005167 222898466 865217620 563919674 916091900 386266521 585700424 366736797 588800257 509337268 47298641 389701926 577398491 505943067 760399699 259059066 11372519 218362778 439270548 711387767 698339106 482202548 667172823 32355805 935502536 233091658 853563183 86588560 779908591 32257323 278248607 498997886 301253505 658844454 586650179 162736884 282306501 476450516 56244055 617519176 53162019 479801475 333378837 922238541 971438596 230086184 965815523 683040857 366522334 92798578 714920161 435329859 705778995 414800525 656359721 231577686 613971793 250377811 991202757 226742132 486757159 509713509 241225012 408438452 697181195 359348565 979809260 718184588 200428167 203107351 758322488 811077962 461789674 424476030 559336242 529443445 865198042 643349166 301732666 717333222 530927265 432304612 315623098 410791547 359944773 327666124 987278169 593414838 543898278 319603471 606880348 807503156 455213867 207439818 152318262 397191343 608273911 266141689 431711339 237128349 641795290 260096509 479189217 12677249 150126005 963608132 996491804 443841687 233756926 2383760 235735156 303923304 801894020 992614622 643711060 905387043 960508249 30998683 267480869 51205036 899358737 494185767 583330370 808402885 876253133 879651998 44613209 225960796 167815676 459823138 596068192 289873551 336117200 977339966 76723260 152120341 825221862 241983133 43264575 218287 142714580 808164784 355108942 673739085 186168342 848540105 649914929 635141166 293502163 998807016 585918330 888889607 609339675 634824083 138748535 53029354 861344667 60231064 964232480 455333892 546777603 352427902 153225564 897594370 77563034 363043714 445376783 980236047 768147542 998623682 67353424 716883784 480573152 900262312 214650263 400697035 165498975 504640135 918156249 847629250 142127730 80007954 153229679 545711835 921598183 960225323 753214086 316715121 549775967 826853273 759968706 411772705 60770138 905410526 645399321 229200882 286386810 320965939 638967001 368949492 865095690 935721832 684017914 219405746 315841505 311442115 290904176 225032511 959324622 566943057 15543297 167676146 525167078 861523885 506350837 264857496 885011095 165784123 132547420 332122398 476263161 448835915 732940036 598390545 722655266 275547811 93596015 350310402 799828703 493672569 761797942 320450630 718847731 240660258 279797972 335232245 70906511 813657363 256819977 144848998 990625470 667989957 818088033 103320845 430711682 823783458 46042410 144485331 720682185 894064187 846880678 657670368 234844908 520084044 894536894 960804576 921169914 69376716 971092625 796737685 37411785 302631046 11637601 228983910 595489692 249381780 157807071 559310166 208267659 348806838 451024618 241820623 162273229 85949570 160599765 173489585 288076979 705492425 246088816 499637416 102422605 540155517 283097496 932954491 580043718 385036606 839032787 258009947 857471806 982796043 888365801 613052090 142113078 393625212 601252234 726510498 580239655 661730135 152229529 62924415 61125558 657175795 617036533 193383974 646257820 349104643 256028900 568038055 764129860 120064431 716675884 192545559 825634372 262352339 389244044 855892665 146563524 27934190 771882408 318992911 898165470 214932599 545819952 832062053 233700768 284484953 230774838 89507712 836671106 785812694 819062307 124681637 110933816 91247180 606360021 273341943 338308793 8274917 704893051 374312310 626582550 871176552 612011139 145000823 7416385 866905550 125455039 579393934 901125054 564104882 824993631 388332983 321532869 119744201 908408882 839149844 384056741 826223314 488786837 615773564 179609498 53339189 272406411 574988766 949695775 260355202 266769736 629872080 459293253 370537480 758129367 32577181 651611576 962710411 210218048 506135441 529457688 236355315 222525257 968696089 650095767 714280498 193423223 94466174 597824792 528709542 93257741 137599140 601143782 68424515 796687928 994775454 658435989 363421025 139137808 576868588 312982803 66206172 194177755 549674584 7117387 257278973 271679053 730365743 805885668 383007576 249749137 686357405 881117730 631618332 321347722 826726468 191896546 573282109 329847623 85620435 43655842 664234280 298733642 474719887 683967960 331907799 897119972 854671970 276575919 589418229 764323436 412976652 467035023 767798810 899361044 27048530 820832982 163461704 682193873 492083649 951308165 747811522 301157383 227348508 745349399 18929179 990936717 495059507 75976006 680474311 537341550 56312702 271635865 187753044 121802770 721295702 400734876 583804742 68469620 402394954 20892739 159338702 862969701 407255040 539726250 334150225 696756938 47351431 569236601 522578660 811306926 882817620 791746314 310638097 497154821 226945276 442394688 272479408 497784157 990171432 352950233 199004022 173149806 505413989 941925143 383525916 616529761 801860412 526633408 663540679 210533007 302588783 899301264 994004356 932615202 721154180 644275389 925612403 57767078 218167947 441402639 525474380 857046692 209856588 41741730 481554791 132561140 317503046 557433036 910565133 237349648 126925098 756765298 269090501 258281033 409278631 775538089 983581165 79923930 232625914 695447496 269980008 153498121 147439618 447266650 504335063 414200753 690368708 414718061 832499721 503438445 52195646 242766333 414148165 819669906 493013813 793147193 501104909 28526265 711628099 73671318 480146633 877283435 245005186 199397507 658433614 641813643 380470493 949879801 563586032 456818396 338294755 188892452 997745368 905938682 910237908 272623094 164605209 726528440 46170758 101301676 344063038 562091826 944555927 470046159 536650331 205054237 928666481 914902486 240376505 11059626 904035994 496986887 346312287 682299932 176053649 851559823 938270899 298570491 804484225 107956158 563315964 586793499 974960478 964651293 28307104 762954048 50239611 511248114 2944757 807664608 760601819 732558590 710128169 729676922 585581506 933824872 264434906 459502199 537001865 407649805 140708893 964406344 732342765 989313622 556600226 21569477 604358658 658171534 118980120 171189635 739673424 45821737 513189911 640142117 309581726 588757975 122082079 770717193 844802796 444303679 273719395 5549715 95072160 978612961 489657911 375326236 450304499 431208765 728586378 751025124 355667806 392753470 563381080 483613227 251822050 782777760 748016392 319657351 36128094 411920089 127313259 390111557 592754468 591489876 150888240 8407957 236991630 872111013 132634324 10948405 495717746 374211481 267086168 968823502 886471842 526003804 7570038 115187986 802294649 254159541 245196119 711484549 468763018 866612251 943451388 153557219 259116860 319083392 514018138 433412776 52907751 747911303 149516324 739343318 951098303 763335980 561846638 137354060 13884318 533454127 880740220 36841173 283490727 328362469 303713557 899590232 409731278 463494463 347543474 538768832 543524361 930225121 154912506 374662456 985544765 828666770 225255231 743035669 859468797 267802570 579415208 453694118 407572940 362288124 682179012 241006818 824464498 590797823 274765356 97209163 943193362 633822120 395873780 244715331 230933077 410083316 63068767 600080552 520687348 7197871 140954512 897983870 525260982 80372940 377644770 567141349 62822272 506051151 277867620 925291306 323585176 798881235 889870155 381190634 784629658 84584028 999082050 681363729 157257932 260025926 483902495 363508015 840722477 220585709 802955784 115523895 539441392 342754594 286266637 917892786 294302952 198237077 886437110 830479430 793067123 707479602 128823698 950958281 78776261 786845091 974686222 90041937 448108418 122776710 883538425 847134258 146038172 264765704 121441949 576147379 331186145 961802741 641244776 527770965 553744818 655073648 498717188 168289936 372383312 394528483 75523422 923706270 767191113 687961591 157174022 825466356 801014198 544697346 566534876 115416610 769336425 234311980 262215298 207692951 839544511 654540974 182867589 832101975 849412867 824366270 590490956 578387942 677580407 517209488 271046798 787282487 293473397 750632128 906731232 676526825 570641262 615307336 695479603 918905023 989633581 602770369 146351405 858093386 171460284 890735418 874798948 703934372 851417793 387358886 601401716 814425187 550894239 347761436 466749319 932615804 386779964 899698443 688315609 186512127 304231210 13160223 145374494 276034765 547137655 824739032 203938375 762333636 67597460 922402717 858742572 357186040 469310557 491787794 261247305 931542782 245315358 293304435 991755884 381472612 388106224 104361701 414667186 803856271 147012857 671082996 408158129 638626813 390675335 617751462 937715283 405107525 980532642 853268545 191028533 929561985 282980026 48810243 311305998 94950114 598442338 275749158 147468844 202334005 754286836 232243083 743208029 765883553 350122267 155230803 140062272 774581640 158130409 120269270 274209548 863490386 382629295 947693541 329499450 115679104 542170006 80032155 596593282 158266948 638102422 824949822 701735014 427700524 759506203 996900736 207207527 528194671 65786501 557497417 892952442 619155030 814391821 630508517 763043476 330757621 561730605 245851035 123649307 575229907 446160973 446807833 718173843 260131169 468742640 578580465 56223072 522016276 122482588 608164811 348402562 114107840 90433513 208669546 142807767 248193078 900929873 165778687 577243722 298939144 341573632 423299669 421263196 372560280 888839705 499816666 780212208 617549386 103101165 770417146 211034909 731265717 914291810 494417000 100317352 687124515 552745622 43373946 4115696 394745572 912528965 238569236 840469066 592611269 239891159 37989736 184231292 239180927 793389913 619629849 623173876 578532648 790832096 390209475 201883166 46058747 65116407 179480183 153994998 205698829 692245092 373718854 358352902 673130126 66897085 275346320 324919298 325032698 134988704 587018594 730524696 8979547 663365033 861626738 580003409 462168499 735246921 931964090 342234477 186536931 610462614 25372409 58900635 966329633 991348846 875538865 250897175 507143708 378289501 880822769 564087289 54155953 39905497 139792571 749886695 623112220 381552843 197616179 465859923 721783507 548435775 859434271 754405787 896984108 548251661 598699132 322150346 400988735 770835811 213539794 253253480 141750988 449593264 222781873 269471791 617852161 58074533 257997327 905293213 95433887 404628904 819032279 983377919 554450930 357331762 398662485 69135505 229716704 265213171 487692435 46689963 681145338 15042408 748615225 958203662 277033944 411664288 819297996 645381196 3896556 445132490 435682413 228902235 613166750 347949152 697508538 134364078 732663269 249995546 705584253 500482030 964224108 141921230 681080033 770635644 737892744 741926392 54869930 291215060 413794227 916661574 85718276 537982932 813186445 615149607 813735324 197690254 877943257 216505029 863430926 252173154 156257116 880248263 757699852 155853630 137452413 212554078 86524632 29364778 679335311 364840759 803330562 973849386 237060785 861011282 420135593 14126096 893528675 597707314 830480055 172329507 993411240 946186190 162453697 343270405 498171574 128568919 420749980 185570269 273677906 733349433 122658395 29761640 776361829 987332309 913119077 54660413 248685116 710622171 398983937 191660824 629709952 409045045 623708364 928771215 270840995 417682667 777653083 967648473 378096367 817205673 303624800 629887042 30137175 351192743 136169415 913935730 738642915 804275830 210620989 920462234 515404691 990841049 285022166 76121016 425317713 644960776 212321044 533129887 759842949 352065175 592832170 173141752 839945910 296799874 269055482 969604764 76739312 116530370 164615334 212932348 83656521 246413586 206919685 694212040 985391000 767195532 674925039 476957932 348154938 310733305 629704788 688202572 651672942 638371179 483365179 292621187 203637729 929400953 34073123 624819 41850707 826448519 735856340 159962983 231209902 346351479 140124694 127042976 233464540 227151923 39606204 198651996 36022968 130383179 158724090 183430917 622852022 216980048 983331212 235185587 949414963 133741908 800001154 388740486 947335260 841408213 325298711 466914917 214328662 220077657 512493916 483820861 675633255 34094061 72687539 278932973 286468463 73581983 928747153 189100319 947882777 722585221 685578332 430739275 481463504 321549751 4447301 669856410 610737860 139113641 981831256 744758636 21145456 884050939 227771206 561937890 708205765 33668074 961761568 377480111 109391980 279266255 20881645 905683595 466392915 405052972 940979401 364541331 988720706 335456052 604556195 789783811 173971860 474048954 564647280 89917909 538243323 615378441 203522010 282139353 257107047 515671011 345612166 404626736 852138812 247441481 427684371 798796764 783380586 393601122 454575017 658923308 873601120 35483675 536039347 376566931 24652363 120037465 657367271 619419359 752262410 836926750 400897018 237918751 946082404 196361163 963413058 499551539 272976141 566561923 232789198 873155803 343895765 155794595 174288025 300250919 851107157 42480084 312060941 96201880 608877466 396302353 628109230 609357522 783434543 792254623 273630032 873590504 249901260 686317379 85368240 106622734 741038280 161583597 432643591 743554213 50276235 146191206 975902586 546386411 349708683 921415465 869141823 746782878 281959609 93484384 48459758 52544228 688261980 303733260 749517231 190345194 827701136 946053719 209123635 889810365 150037547 445686132 464749041 145346024 215611245 922022316 292092520 488401918 229448225 265454998 40631132 700996351 124479535 374324402 852553621 624628999 715047355 41250007 744539391 528261805 276825801 757196629 181837709 102713316 367254507 716338355 511084878 957852933 67216920 402045514 127611346 298608162 104536638 981520203 414791378 641384552 855500874 594699548 243910101 904826882 110520384 660971783 735564380 485368398 105302872 274973219 541569197 283915475 296387080 425832 342565953 436869884 251423132 938632400 505511318 626733659 652840520 269282544 423617511 717083149 299270083 711344247 956729187 712295014 799333751 462414216 324298067 483552678 45135021 305840534 509109406 80471346 691855767 868841566 92409452 988240160 248131906 608743611 338437830 384721920 625257627 223407640 615153652 726773266 914334000 659073599 307440468 629020043 252619461 134466921 151431088 147512138 726964650 212818054 647943082 231336974 2899356 472725074 357615608 91528097 814963940 478541815 612037743 231504370 679764504 803337595 428575181 531840997 473283783 933127371 222804627 919611499 448205016 265206106 915928546 372240093 890442496 89925693 486436644 710427117 74045784 636161823 88663357 745700629 881137264 853518360 269375591 913367400 873242636 541780353 893606608 178614743 969924950 420402574 769961114 265871630 573210988 573814052 175264365 61578814 642409112 276185098 476324475 807877923 223705822 296672542 564935897 503704261 368594174 815500061 188530535 388633077 428973855 748701617 736054672 119988692 85026965 226809635 603519117 849508277 255380734 575123349 820281667 922173332 809097080 477645676 981987947 120486636 738535 944782470 957101213 725956228 494906154 793163635 170777746 36989130 316612793 898267193 530466425 988852526 665758562 322817760 671099007 161790981 88132576 95307977 11688862 228259479 323665321 687351123 225407447 704158778 471403834 856488146 659134086 606192486 536143605 133381833 336994829 746213966 341089956 409464291 604821634 677390158 383368476 883669493 405116817 833826647 135845477 938574108 13463388 270997529 389665482 539673508 17538357 805421491 712559559 176407780 481109818 243418999 119697240 272379018 175652867 100373383 519420618 307947155 435667931 832746761 263017676 682507653 399709807 969989647 143518367 253947085 705020508 266161183 349696284 592840600 143092793 156034953 784673922 722762329 203583621 15032430 214576917 423651020 583767100 395786564 419452014 515058142 318614385 422974719 342351033 878817757 712850417 934900640 314439023 785714059 643672792 308847880 234982846 889508035 687326848 323022333 819779317 341671237 398050339 366039812 67603111 435011820 981167899 277736159 17776206 127970412 648280313 790528498 97911288 10806821 835681927 153198643 476526076 795360151 178118911 81222163 50351069 299786706 530079370 364116840 591289210 542238096 986561770 995711480 245549739 87372921 418130253 968518679 611198360 806881724 927514876 314394365 409099505 566226214 998924456 179819408 22101077 324247787 307439265 372134538 144193277 265929483 43676828 415315726 724178628 406350629 23549571 944142444 341193869 918913093 178238431 518684867 735657541 862742209 208213659 129972174 35072586 646339022 308806512 215947394 843635499 904842103 838754362 50170089 137709131 299429653 31667303 215805299 646017600 77446282 219365995 50658140 11697786 776800440 47160244 780500953 73869932 451907853 848701049 643951110 726948259 397513533 747934810 508029072 141834545 161461327 195360029 389385041 595517212 188523244 583389632 312258656 869303039 657024879 51172076 498876424 836632666 914666291 856815983 572466536 309221483 715879660 60854802 895867703 275009557 149663168 393479395 253462539 971149772 260290535 769457781 116820464 122092933 546777329 511343326 336973739 973973868 620584961 404163119 770721960 913273234 789016913 694607357 848954805 155338755 717413931 453366428 670832002 727589212 211309 113708373 794282547 120274116 708912642 291219050 986336251 42278532 498247534 726659166 900713690 961451744 181320082 556824580 243491167 316879158 374954101 506204035 2575646 338597084 305924314 977124968 38814892 699218009 16027780 364872952 814243253 743187359 424919681 204854971 224651073 377223998 59461197 988387868 205913454 147232854 218941171 233296542 591587094 532820443 534340437 295479787 386600202 640240885 700780703 90252536 142858697 926783668 952748917 399253371 242800600 324440778 176948866 288072020 319046304 805114243 104288590 912758793 231066717 846708601 233252338 362683567 639312181 57601511 458959696 698866823 580754752 575824992 266598680 226177416 696837159 257574892 751901649 715646349 300702083 583398110 466187282 165298876 951760757 209028558 728416255 672990805 424620577 671386955 637466011 779562844 234397158 110436981 203014373 200725112 710205213 706862885 415916428 10101529 9213024 389786497 545214415 519921612 757053463 613492829 29340690 120056446 387119012 268016990 555219253 306260466 595981881 248529546 839297304 586197827 109470849 276058851 23728087 886533699 19147333 324063686 522944726 470204466 517082783 713395112 1583493 565785196 393598807 802075160 409303764 166478337 25298012 145896181 489673099 758347225 203368151 85440831 655315631 61844340 40236329 267833011 335542755 581213721 859461804 598137101 27508004 616469276 899586644 854085900 44939269 88865318 272818851 536552924 819725120 996398764 772123986 334778 126923176 8685291 924295287 849654620 316764278 879280093 114212674 620128191 141519250 51457918 692592820 406275707 120813171 43212328 129207438 837533642 54345689 161387082 894174053 762187352 227339704 155906943 628020807 366988429 517219259 571243663 694551168 391560353 781079363 885874082 312219738 624880092 209341003 553660603 556637231 867950610 797984799 22542726 169659310 999634546 44211650 848219869 860020915 985547630 214622672 809230045 976285299 165235425 51659282 115695489 867593016 133475316 488823018 203104372 702351553 22060266 419222316 310207220 644526762 896380085 586044143 762555995 726445700 510040103 329530747 847042901 931339280 980660438 167194545 85013578 163681820 949517842 249611003 784206545 106444876 143652796 407316889 681530648 798154528 213720388 592355157 90674040 897317546 869051467 290343865 197738341 303480666 549054381 857022275 613915629 392929119 880074891 330430096 37793021 509078924 511957179 855747649 641299916 713508297 359533425 839004265 257769024 245697370 243755934 715824980 600742821 109961595 461510194 260624124 832113924 667610277 664353785 268833679 57631761 910737084 54019181 808388916 263799181 38360893 737388540 646451365 165205292 474184157 98946785 830200821 857475387 805380796 535749997 206154315 474999822 785186837 230702991 7753563 401604683 775483725 243469020 79638734 832090534 44429627 972968279 953387345 530464065 568471175 164128649 404459501 116059691 134017064 698521760 224419120 842961407 731472507 492638984 100865303 383970773 181102209 139822706 809407105 319132823 877496452 272825542 972522945 863090274 744007238 568480652 403826474 880763584 565124368 63408480 451847563 635965105 480211192 74914509 613396486 229316344 454179754 644427396 41725777 500561538 320737146 769727697 551245458 950993893 471248052 512576722 775746860 117216170 85956481 164418705 191344584 408359791 887985520 235413576 920209034 597190124 45963788 180223086 280898979 913144612 717982265 214841796 890360888 746414151 69682504 127288748 169369057 912690246 596843077 186737420 221030418 615958242 833723640 472995609 411267884 955743318 394946841 909298232 304076015 488782453 357202382 86943276 444506592 196013188 564050565 109649029 535861133 367828977 368483434 499156049 576877468 968413979 917153586 301595844 735788168 736312057 270319919 921256414 156191481 205673693 137391094 684881342 545704498 198983807 378737760 244027200 328674139 469790092 996646876 245232905 118579250 916131822 165204493 187468238 88623813 803721745 50636087 150508266 530761190 532328458 11099726 807714461 640625614 886147831 86500144 170257185 57841223 857275479 6193225 204210382 773308247 922843630 520209389 969350911 805509692 288058289 572861499 572193 16713911 375535760 264535828 943461058 468223998 744710139 599243710 166091391 783965965 472294222 612239091 450078366 900267343 654578726 5066573 455944487 684992944 728592451 31703096 208073604 294924666 87043306 414299823 147555905 661269153 107948763 170048548 344011760 154471034 164575135 199784648 624469529 328525104 35627905 989623469 456638229 170848754 967735567 266923169 114658696 331840888 577175160 667255729 438835851 747716879 772500769 91174873 587856563 589623750 558797460 142441870 798957317 21556527 114746168 196231674 243284051 202162429 689772745 147924241 983112845 703256161 200596351 685944829 321836892 189394026 114155254 800994093 156116438 448028160 172353722 430570580 300465820 187828120 196643531 247790747 749655727 670319889 497715158 817633290 880051767 194811299 233442216 488005038 201018879 93499975 949218041 484287788 470031862 511644809 806814928 720979016 206882464 893722473 729935134 699988799 207319015 815951108 851643823 290932149 508729511 231629121 182843326 571474627 94645703 530848224 726867365 642104087 481013375 103900466 113903294 536104925 504726126 798924815 56314327 273117927 442552547 372909326 814934494 984282701 5175335 360007931 996390672 573596245 547690369 752154787 20740311 626203416 550258090 125114515 403588501 267422248 405944430 208962802 42884840 231176696 803214467 300816451 186407412 454202547 985432293 222619778 942399134 563419195 723236830 607999596 615335534 274421415 486114940 264080406 143089815 418569391 686608475 739008894 442208483 380243224 220109057 57725743 695732277 122587969 236453486 668153139 939210653 807641302 291973590 304963959 519725516 76584551 168092158 91298247 837186010 369134414 72875692 396378958 28652777 260894637 571578260 351105273 339915563 363579159 694607591 603570603 278582907 541702315 553786993 373733490 90486655 10367798 466066042 29865336 653085347 763402753 511016657 362787125 861833589 848013641 1117369 798905795 747062476 616820023 323980236 236033713 634788689 717760056 38329009 888760858 124056594 738639209 295076268 447960582 334024165 929227625 783297690 221892755 731612859 375122812 960619117 687920774 970659657 572641364 543940137 539167066 220398898 255520621 159725854 721100123 352803120 220096432 217261441 448956033 155063549 486836429 104208443 789441006 285848531 545427236 290053271 70745154 465296856 999128086 542619168 360680635 627764250 612175694 311937216 845669615 212084900 252942132 838866129 629112270 271349264 824130174 710011668 22056015 913589767 153067480 529518137 944442638 354439775 979009729 707853917 530885022 47833922 777388450 797783792 111150627 108942228 378925535 255512676 76926609 537129826 81804860 789811868 612441224 176340532 862124201 120828072 756666335 555345793 906361928 756454856 311901371 205260253 962396228 927071809 77961405 617835118 391839257 59778030 246869524 5756128 61297888 584200676 123410691 505670096 993178324 853138137 339463070 419659999 406260590 321071303 129131410 851404486 62139347 272229940 607653384 470444037 764200738 687605338 794195388 657482379 499063776 264458896 966136495 863514970 380779122 385191038 98964440 931086048 235869389 167221478 785171943 471737829 622792370 442105423 178221311 681408593 412014896 218454558 567785378 580749522 480773550 271023527 152534431 926572154 473707086 674976629 411164042 820334477 771714034 269646972 770166748 292339114 273076612 971457630 99632204 575361581 446963246 182339264 599185594 673146636 933160594 139900137 153986816 465701592 867777212 697579885 179461766 73501227 661905830 347309731 621327547 461215427 683228737 663980651 158495699 866022651 525134868 481864063 238687417 701146869 912414599 986849999 987885871 410391116 69826336 731045602 550780069 175707802 865793992 146087881 68393859 546692238 295328894 897785008 376179589 30297409 214116938 357810564 455787714 351744603 7553891 869364756 33248356 70968496 78043838 665931838 625365532 77886389 61469760 955994057 113948885 778276752 781145368 926327753 463288961 469695872 858275916 87331193 808491633 702545983 28008126 600200526 751863538 652207894 443275418 663728930 243692647 886827900 825243440 115218301 888750803 319225947 766592699 97776271 60929523 83403497 332075335 31169351 234908355 193333013 904394563 785867120 937073642 252167556 943636351 243091934 22111038 997449277 752893565 666515732 426705614 95321501 406685131 963751745 297340947 935782295 888602506 765195754 155802350 816198391 180269794 339342314 310839692 922797643 835016861 705775087 261348038 819682351 905894587 567357552 670543158 157991374 693862575 385800822 304108639 755257685 395263853 668298515 108897714 283426168 333298589 375948747 107472392 829490144 115921773 170275393 938967218 17801401 842010506 563486548 161025578 851075921 766289024 364129741 424579352 264141276 514240786 785537344 142188027 442120189 763487446 635691549 163901606 634444848 88321342 34613263 748540271 736739490 409959839 740027488 936003309 85192612 523984519 468166094 256906521 160331381 142311842 149296427 216148418 855422157 2320512 6374774 887284377 919773149 886994281 220199185 159213661 381298650 803961037 345151859 83988996 922781338 97565487 947016584 837888376 706645904 715370073 301921103 114082241 87467291 515711518 877483611 346826591 719919580 607291997 511312789 450762465 431441871 660484806 666926382 276012633 370844727 401464679 247292466 613962049 649790122 132001916 950870680 2490413 928004314 506566170 69171877 495270637 914131564 201216814 397129625 523215353 111421388 792725124 564140904 741602262 161092065 33597083 218362033 456133030 198178128 142748013 445330771 790870685 701290531 927444970 579428948 973941487 623991246 324835535 153247662 938279492 686464427 813348124 35268900 800885841 179819549 567172585 192943726 711429781 136623889 635397699 31715672 486432725 505304115 256271677 732611750 42940663 41292116 16834055 181787079 642936310 396454442 580171737 210622602 890553053 264223506 104972568 252820648 450523861 252232133 426573739 566555438 736692096 972180065 183299947 482773891 867941039 142324191 199940089 854251890 592860024 986219937 970704725 601632129 42210860 529546702 323955531 404499527 186785373 911911604 304406289 354413989 122995681 155175722 527315343 563417272 681919232 772671178 360187951 295829232 65588541 102797714 931448238 624877004 834909091 779236666 340500073 778211322 454524776 86264914 385741077 208355508 149482193 971217190 227698692 637949171 615873399 160900117 819368007 625248990 775731051 802848256 450675357 636699030 756283877 451087357 910382587 648486603 475647666 13078762 599546965 352348441 532794484 712910352 823942580 348650 407819947 121443283 815845116 438280274 912513688 48893226 90520374 606780429 188402068 867947706 86991699 981558928 803077083 453345437 102792840 73036396 197144760 348921758 197951451 555311140 794570910 320736881 110035458 453810909 575184190 224621479 755514149 413545636 396278016 4206984 387397158 844966446 972777877 801860302 668476062 583374054 909709194 607897518 687768445 323376067 376358264 69148673 220002056 191922720 262537126 38482511 987677652 606579394 780322788 497546999 853176632 991640438 841694266 368880427 234098308 141535385 88861334 538927676 177494748 75804341 478095460 479704582 170107539 251228022 107160560 97172124 457414244 311818219 777817501 167257618 698368424 409134292 481502232 527590277 475238637 438796504 865640760 759035560 485797373 665647343 839345295 243454356 215193487 127230220 298288381 520481466 951806113 266460800 107363254 58175151 30841425 646766069 887352015 567989347 745664646 192301874 775788482 979155893 725237755 833556162 453141085 654426270 140208260 133792785 430637219 110803177 99185208 445881281 180701021 33646674 452779254 978961673 712420109 783710426 258011516 507082405 423009105 356053349 881973881 504751645 495173464 43784919 761438235 537030094 157206929 158885797 72187203 472425033 671500641 901580202 290342101 495258229 601823816 759343998 294527927 220728472 34964317 545868349 241985379 30580665 916941227 789046154 345980636 116846565 855730810 562053066 621500097 564836478 777119581 901990130 655993082 28180059 84024127 17693751 250280740 93139770 11154386 733767872 851458868 92961006 624673282 310757434 734725325 461293921 121976147 452719878 935271746 41386002 608426336 241766129 412289960 789456701 699992755 215291724 892424985 524211213 526093877 797960477 955882780 527012464 999574942 516244513 146622550 706264975 250986754 975202477 655932261 336443956 147744307 219294004 564319715 546015949 255045012 881735891 15000945 28705897 731166092 145102787 898246551 299687191 213212283 410643058 598303857 127170538 652677441 246184658 491035111 597689062 42165126 336561603 909707210 214482281 126407841 75634738 831732014 598307948 589244869 98234633 488674736 764167539 564129777 702564409 834091335 36633746 184201071 38862144 296617622 692248703 190065350 310686750 738838736 543104216 239301117 572105616 471702182 444062209 728312061 36492766 171374005 139553816 158763025 278025972 595043069 825143273 913697238 470317991 317751488 909227570 350587351 93937381 56267999 130260966 140786303 42105056 423162101 228546206 72459130 310779787 750653473 357412997 852597631 444123117 772345521 182337931 980733767 52518867 302987967 43045200 606483961 524982036 64634848 933521794 189115498 392046147 38489669 261969657 119317879 148226038 56070392 182060568 287673095 522398648 988714937 575796128 638982596 842568977 553310846 927869155 276456280 864583272 822745687 107507540 971842461 158293826 566310232 681609565 495743909 501606784 240892551 779669010 170878296 853154358 627323657 389829019 58054756 389768570 379941826 18508948 888663767 789965848 501344713 133007581 854611578 923773181 841109917 133385040 748114430 82908429 694490234 988025224 812618303 88933092 557293428 72710347 836537490 994645567 848739702 439208624 218676029 705462215 48733802 350662233 732778023 811039853 81172017 39389253 404105289 897481594 243570989 655393529 762723563 654404732 264003097 702184184 121523892 492129520 836412123 400794906 559659382 715461734 254475193 453571002 970696171 883552263 589343422 59679226 68702709 592019972 521095613 151210444 12727664 247573628 284973362 823574267 426397665 659184935 583718316 141970053 302616107 322423267 5239426 497496947 240714956 336168355 667960635 256331324 572364090 327688420 126964670 7869644 371190139 473644351 685626604 83714185 279738822 481693386 211101808 426450969 879733117 167128784 913386032 115470874 183080376 382746876 480734679 3203432 29682952 888737974 829658117 857241379 241859185 37370541 497975305 458932045 632578990 10437978 182695463 44010877 514785774 878035563 595140107 951411769 238051691 592906488 967728427 228809411 963958341 499426510 265441581 922230494 726357914 474509922 192065224 516704560 43939567 359959989 718896923 534960752 515968268 433620992 736830350 755056189 81236457 335312484 52523076 415807025 835284247 763118640 238708322 750209244 91497663 46904531 303473014 732419592 834071676 63563940 163894748 320823173 645367176 81933605 1095022 282617370 22530674 818445177 438051742 352630574 817936600 335983332 403690064 880569984 936651885 371817170 146320128 408858471 142968092 520762497 876885982 177856041 654379459 289563427 309095642 736666206 392458134 471835194 859088991 637206058 293022309 662641636 645475594 591682861 852062776 235959409 422533126 355030673 166669350 277143 50350868 828695190 559979749 4870617 242796363 682005237 960904368 254562226 741764827 56765960 300454341 92559213 152780998 329537557 819022796 348694835 713055123 935879387 278019970 487123171 873899624 199970178 872010804 660454202 837678890 76988572 428701123 484164032 786384913 877862685 618528280 437613959 519736236 682575389 756688242 89707636 259086178 167697237 153390864 431905582 138101053 156343946 774485996 974874965 495297588 537681589 97013409 811653696 276227091 42944640 9095554 885727044 767455921 382240485 1210018 133050530 671958156 213232875 467341957 842460155 117844852 338769191 23231054 757747812 757094863 75258343 930178923 261291929 13930501 28027744 170962065 341745101 447245323 50269942 778042162 224597750 354367863 497999693 777737733 195544528 784700535 305963894 873584607 436291545 84321934 489147498 493967415 373281048 816310869 683220937 945619562 1674483 272502319 301031979 69955778 162750068 965062376 768281540 325322574 338879683 155549879 829238293 795532284 40345118 323574012 712042670 977756330 674128768 399326631 245835178 75730907 982262185 150475108 993085637 646074663 426279208 509997726 235787627 168360869 944481444 594031245 536073023 372815651 900301834 901110123 689192073 972369897 890552357 824209294 603729899 551960478 814728975 460320373 36878382 514373917 760550802 922482660 43996816 739373773 30196758 186416332 712824502 388703809 177569256 904882920 92252025 926201346 477626281 337180441 193197153 64916134 195741156 7760616 836537883 920427455 556605168 533129896 695297659 965222351 793302062 853766231 145554653 772357686 543270368 734210063 710709792 170783330 873745781 60076272 40155796 92847243 26730210 873560538 666456911 962191076 262858135 815163641 317120496 523132326 387536719 161184609 391492403 349917850 433559210 207643970 292851087 817383552 609290774 728840959 644971860 440103097 233557731 457063959 272583756 815585878 133046658 864984839 535675766 609234333 854072767 472839308 160226459 987138189 934440062 756260715 294798118 58380836 496946447 238573094 568392311 608656847 188555350 800116593 840108696 25969739 720181982 90998801 151689405 808498476 462697591 99269750 520787508 457699383 323893866 330586781 599269774 669469852 256526959 738594097 433389723 358452896 198185471 104470706 417492601 364205979 620462509 10197752 189740356 613363411 303234056 386709129 35551858 680802489 469681724 246335010 190205569 389607773 881806694 241032624 582477141 571591694 916376724 769644127 746699835 200388005 828384090 172954494 138126940 140618755 744751846 356899783 458396211 162281303 446093165 480325278 874944326 992457755 393561901 417867215 17270233 116163454 594616813 129927493 282515349 391109997 86602746 767149113 272820641 116175931 766630037 205316257 895244202 836864702 533049963 239455490 485094765 108689602 806717221 766820841 956865702 105549999 190391769 721822746 985823108 16528370 294150613 808133181 498685818 7359531 924140494 897956059 888150758 26793238 294106567 460440723 207192052 260544387 101600954 374114709 119014287 155732922 108735745 474217739 590809003 761221323 872097837 144630693 471458489 354569770 69372522 30569829 867523221 272968611 406420365 201722072 5670493 419301573 992239838 420491509 769943471 802368015 427133348 716583827 179784546 10076686 219822143 185632245 561731438 49509276 717609638 367517068 107963969 421773715 593288086 69081761 792084526 300350117 820969525 758846704 137554501 996017398 63312733 879015084 466791358 929164014 873237229 934483641 639162664 452351817 403694733 742878158 169984311 858537436 932082223 590781891 716538268 672150032 42299609 558959657 128666804 73008919 562099786 919309891 901853765 729437308 553888707 199192618 854135916 836240217 689856631 955947934 324073441 815712065 166895725 729155199 899458297 452027395 307323537 587684309 91312229 819121986 452041732 585787436 70033672 189168302 23177470 731848577 899732304 731534925 113439664 838912896 895111546 265812857 310226200 842967114 127709694 512415089 7051990 485837910 924077525 359084245 522816477 486415047 222278905 252478504 40494916 99248775 41775749 41479477 10020504 72975117 894102710 797197782 158588152 604374339 807641067 150528959 521600652 993434566 410630358 658714963 219082949 774353056 340979904 574692513 660417175 870035856 45726362 41724712 409652609 18348071 428933565 572724972 374529996 2084309 122563252 941009755 625221 838528488 265525149 786183077 133461616 46853151 46475568 450584876 383161908 75371859 636316322 698390205 505472492 619358036 192362391 160198356 273432816 257985288 525959374 188343634 508844392 279257590 419278849 618719238 360172566 588130978 132651530 695178929 895150560 862914918 284490929 968755677 879570804 4731581 101036494 335836396 319669206 325374439 485035972 544170785 905465977 137343393 754592473 89260327 190897894 192325457 525968938 112079380 266502794 191350560 754437598 883927690 27335085 524491254 355734785 652017573 848532869 248491957 572034690 225204257 497977984 362382789 389275647 158117233 249590851 410341643 484714674 634260549 739283424 15024853 980521924 158261321 688611707 9375496 587713184 78280269 342008000 131920386 358513631 834978282 307296013 152080566 784685209 117400990 481301635 511594464 897203156 104670467 675965923 969470076 656465829 504345445 998503856 240753510 107942809 627259553 248713302 495187141 967570583 58306273 499439722 639246223 253301157 211846679 907265323 732605484 879922867 662304132 934585391 281399565 172372395 865615174 50965986 330001060 769564539 453841502 927959283 227593704 768848693 923280976 685804515 338739486 238715458 200811485 409530535 566088610 912174958 888079263 44930375 157941764 743305233 422671931 27630444 713320459 382093661 109088478 844519747 833090161 844403852 352757306 783232330 46378640 901498634 992174317 886971746 195944579 793279633 741769283 120901588 848306415 199506457 374240969 162999688 537642427 254050595 975264542 582579677 985944532 373252363 159325198 198527338 11121455 138594835 48859756 902707597 331590772 191687064 871935996 282553748 625486796 217494573 723201408 86930703 547806813 454638454 121134032 365469549 300378984 336622909 113770976 421284207 623652928 987199041 384147522 783491493 445338160 203176489 216234649 895166065 908996315 724970986 938465933 595956145 29020186 209160463 481799670 865365466 748476060 706990160 250414592 24867450 563728478 476949390 143657342 620780081 292842890 398406851 745759196 327901135 15254830 14614598 164560855 521909264 821219092 443198709 373600 188817 139969571 621636319 48946913 692752222 66906322 593186030 429145934 285927054 107730602 569014886 304151729 547842819 664627257 86737481 350839112 242457929 366107702 343890843 344010780 482107844 408949012 956559799 65799003 665614702 67612304 206704950 605496791 152055763 173285034 988254933 303333468 925581841 203679546 267865777 78048552 652072660 722463773 7792780 690774053 122863609 737082827 72315145 126284985 917692043 713796664 925376169 300370285 554281149 939545143 173627727 597449273 224037242 716502175 81411222 154032417 495333154 998744606 112003383 582820701 367607562 209522125 360929700 77531420 838638236 914922386 212777901 441769784 527867745 488939478 645528523 279091512 365936375 448278547 659479859 112180256 71934585 612474904 412297825 401997609 46914573 77769620 936572528 434991279 240955148 602769286 482683873 932443754 6558518 953414883 906124842 502675475 628847077 951364973 551288644 81711890 140175151 681506243 779921343 604845024 623490197 160138859 69805830 66174528 422239555 820004088 341290185 14033672 365366393 655340538 112411063 872805606 408527607 613004511 611430545 122534071 368253656 255254129 989367936 196319030 491746776 312096852 355586422 930086388 100308212 101859002 550387369 354955190 368569608 388537887 730278338 416605450 158716338 301500676 981696701 634804779 629078000 72706795 635145507 330117842 434360432 13898969 568918237 740923392 216404841 82071772 401741895 6588200 382257086 960573544 293269625 626285687 566644156 116877148 786754939 71487688 978469900 137380608 179551081 280852908 721316506 466226765 724383202 360333501 781121896 247430183 261124484 866063994 308912333 319664426 914999120 72085452 799516892 787441545 595938050 741796708 265828662 636307656 871952531 506319772 736389087 20010862 313586025 846541960 116350328 691463965 57957436 570413142 577402001 241320939 538916170 962392710 126003058 737848243 823032443 245214658 380518885 513216931 551011825 662135056 119922576 300493241 673835374 734751628 172584558 942263655 387109135 13345445 843394678 788503751 216482279 893071685 566849766 577755688 828898737 513485955 501118230 328551407 537092455 53091866 230462512 911835626 494646141 929844339 678217860 129507553 696220133 902659918 723892190 605984002 134046991 139326273 430182015 304323400 683682972 450722025 127648686 469056040 421593811 371760947 698449096 366992176 228864362 300813612 25368894 263949430 46151896 117164025 233707232 284913372 236421048 225850694 176663508 388732950 79177279 462090566 847407156 923677679 260311385 890116966 558404138 102940189 247623841 915232551 570075699 732934594 589146186 920300032 64175899 669599809 167932802 577940590 511422876 582332106 156972303 133469630 754856319 820256246 878273333 474691873 864563141 778062231 344108576 209422780 45569333 243623703 822114220 520517940 428063102 844717956 349150798 496421618 751858240 446275150 186659441 156204973 259649423 381199737 607071051 72508349 554268427 992598123 558787003 281246904 235444752 553852902 505022191 754170674 652384081 816389432 892770164 740487497 722871825 351166929 681574531 700812261 477327454 100668160 812253631 338414052 244577283 474022904 351236615 479556917 819965978 689816665 115486023 84527486 918700676 742689490 282253303 796750100 81428397 566892928 42622400 112613480 42001845 859899407 962855794 137984391 344020451 148923992 640758148 396758175 564435356 199025166 170747719 630618320 463369975 914972357 184614662 653253148 112180503 453056075 7332279 151946555 19256239 854364266 680504607 677271571 816134954 729804198 402037533 360316489 889363944 859763199 584117636 300107592 345059485 143726785 424869316 834333208 165260826 72121648 581687399 786208461 407645989 129666561 187623743 361908569 189257766 344236720 178616430 581783038 25212378 794925166 758437876 553240961 385178684 429654883 435154516 237196751 785630248 338479484 12596659 717724065 829782936 793879647 4969999 865865448 630297175 37515640 867274683 216296447 142233766 804573651 320353487 298517219 763060195 321214576 45948624 322929747 272543839 554741998 894240041 773697731 20751236 233097431 353244043 840850575 648617718 907281577 787027282 767563408 485049317 252775723 339269122 762878225 224149643 60025084 463889337 878191141 755712077 931040093 231720348 206610914 758572342 461858707 330015314 236694927 907216249 400476646 26973625 101099193 977731959 937729149 3344214 472462079 991550382 481092869 822808764 483542248 796976267 755851828 741932243 714883158 906309971 269213538 607743956 675864819 239557051 222610477 797805448 863874187 442828725 415870888 42689012 827533012 833976873 114270805 570710106 129504492 621112101 379606297 65849326 704147046 791949686 681888593 359502705 894511496 26325796 26799913 220943497 708501060 647248647 326717335 214410884 471766016 194421871 912314101 24951591 870038762 438671599 265476700 903591407 833962304 924547553 213467803 209214894 477368983 496346794 704491485 882911913 617384847 346857567 157018871 166397566 377965717 238035566 234967727 367985018 720478113 357064206 764105170 7800598 60054069 868268641 159692690 233761645 709141779 137914308 611511411 739319369 101789688 160600791 966620809 828840646 641680133 972795129 612939956 120046208 848743339 565753823 812461747 288113213 33451986 160405853 234079301 61204326 261987630 826081056 395627819 837142616 297837435 260496313 412711659 257876462 995933331 261361408 935797113 88483958 991365644 179661179 265336285 222520558 809795573 560055457 575024338 680007868 660343809 412498774 68107022 202966178 180631323 205799524 370893436 202399073 646046283 203103793 658105588 71531850 197748606 545651091 375521410 933485405 248514133 464097198 942464407 130780807 201579359 515135141 251411562 346152479 515699112 30298812 398809812 417286734 624017498 400041647 33237821 757771442 19604828 746218800 84151253 660595201 408673796 427265818 150390251 365416281 854137036 597301859 101124313 877576729 225002 288824116 690705460 115463935 515169093 341981951 585630157 749454461 863005167 601904195 181039434 865654249 990277435 878124410 574438104 710567841 874345955 161010181 127027270 148522320 451832073 490909160 861803269 141512992 673318789 317429092 588709883 252275435 575738099 906945684 188296450 563481484 273541909 57073177 912582460 206341873 889659821 270040866 296617228 263566350 330319800 622252545 236593640 351007357 17431629 569723378 100849630 965703727 777238238 516319879 56987623 47972862 881941229 264985349 99368071 144313887 928681619 233247630 647998269 24906186 166723402 496479223 641010959 857904350 263361587 843261305 521244982 56968637 456722702 512823479 265879155 970980322 459011950 15965452 286410622 283264774 258137483 591880350 114180666 10273891 711814295 737088132 612679971 518909002 861593782 320685924 973694440 395219473 686937975 391543149 18482229 617728307 214085093 821074920 412351596 62803618 718667851 116376490 558163266 171899125 711086649 537166055 805355359 86622228 655174245 707157558 461114143 799042683 753109464 552514881 293205252 804874491 810176096 504634889 625507906 31665131 540107311 179563894 526076201 586910767 979748383 167492009 552849073 106907943 232841112 726924294 4304044 906936325 813948419 325721383 311228935 717900665 703716596 675044747 954868722 430598611 894221749 217456527 835271154 109038519 320592797 816395820 372980299 138539665 292231837 900652514 770061113 757393215 3317177 645520992 760625413 541667713 253676306 534861357 705226801 884215367 933814346 351584922 31013396 334759696 233206375 604443355 444403409 306626038 388426865 615548223 773363562 783864978 481650098 192608661 797527742 692103565 939323740 349972288 831608860 600750399 300493290 939889691 341688815 976027285 133362819 267249561 778626761 838568384 560996399 545763957 719344199 235689546 15965432 7035666 477378456 651138050 740894093 61066759 945172248 480099327 690622710 673282822 428878227 938874547 720988190 370910390 257506547 14760624 614931120 945982915 696552914 335570513 46304921 570243069 570094763 951139294 705256030 901647662 252066605 189286013 328159732 219499636 363633719 294252192 763570854 808096815 58144482 900037889 222765299 833794195 482884479 475638693 637193214 570890217 847697277 887074805 624327337 811555649 829268402 754299696 541378152 425188615 373055082 663388284 109239249 887938795 125783139 500039015 239823247 510080206 408846873 157985394 697685464 369632223 910565249 374590655 558771407 476207054 640822891 357587515 100158653 126874596 470049171 975543331 695121819 5212647 395993546 445737363 39872052 166815973 807660059 162713380 669819351 239224838 170543560 16480055 688654845 534176421 162529945 14399464 735847706 600440581 894251551 833834909 768485982 183497711 402492213 543187236 478373314 559363698 24094152 949498239 589659657 184692385 744113725 310867274 146664749 226924295 811378335 111560690 322144298 196711998 242401355 732778407 51727582 654395941 285329040 501498104 907624387 246468486 63982863 9087994 146416314 701046554 279565783 765953012 224146817 875209035 308275874 313245983 941890637 36783704 771991805 560487035 556805051 136756114 708624816 817802089 973581893 803229124 500911432 175439994 235508362 22719857 786389249 736032105 727859603 816044674 941900060 708503551 59489549 60850150 453024545 148796221 778647022 900605563 598916474 177724815 65494378 293235252 888817547 558974033 856022412 977238358 28621575 393666666 776188443 951712314 990471634 25648539 345830241 177310896 421557928 448301117 159340150 142282164 717967128 426949474 60768171 278566714 809967619 355485565 131851706 82386267 183459451 913538342 581502269 774185615 289588530 811484456 202840324 934292430 244986390 768799808 571053529 649775998 489226949 906082163 581629490 719741683 84393521 409687414 791595477 905894326 882460732 567348546 237297599 676930270 363712716 562449436 153704515 783383288 796596324 974853278 102369949 235869639 642009724 95179449 685279435 220584736 365850314 772925876 31627046 331909562 914943662 724342743 374275390 530729087 513854759 707113382 47761526 896722023 799750987 426651069 589357353 247205093 433406609 78399357 297729298 938962500 571988729 620332010 860037117 901072853 442673138 198003509 249803170 557663860 342359702 18269212 741797001 935492492 549290993 522874495 116018181 375582549 638170806 362447010 697627402 744161315 429048974 798933938 71686075 190111075 887444341 684012312 234186181 142050018 511989940 121467818 556272387 826580501 477025493 968450434 38642915 512910692 922650407 101022751 623591332 351280961 217089700 70070714 486679138 476116936 123809617 779813154 935185023 80053584 420190031 577374730 172959897 296164617 691578210 61688627 966359114 251278207 701776197 28639802 822214235 624288264 179615861 817802708 223550214 893317429 323805664 482543584 149034929 374273730 16443365 61535938 252196341 839145325 723840402 867190527 189299468 428148771 905288235 161586724 606428394 151038251 474441014 879388430 173812300 62630372 728960766 918552797 52441972 463048841 767710358 658539465 112666573 679941234 786106255 133188869 872184740 978438450 392758508 869644088 174616581 537888278 378390317 773190620 26098701 655327929 73689126 156151711 570627557 951142047 828610880 457546205 711417440 650042807 223879641 8766576 56927513 11177633 435174227 614190172 276195397 279632841 310774090 578210497 891640069 287272527 101319444 546816283 451219618 232120349 596443553 74984576 806645960 93567922 719154675 408914052 549653412 107257978 847654052 752700604 206999186 956223074 967916069 44788134 928313376 140760705 631076171 871281613 631420560 409146316 598149350 657869118 40673981 458406286 761934569 82671252 313170150 225986266 148983881 860464240 234687483 120231171 941787189 234609897 319540205 393784533 400839794 828544994 320874014 191611386 401559524 621663305 246404329 265280989 305475443 268612459 830469568 918326988 462495036 475037045 513117568 266628946 194536829 483992391 819355088 136818682 73407708 545297542 683064409 192641961 540326352 718867233 245817424 416689080 274689536 799643211 501757073 971664613 848722542 4192309 741310025 369267978 649170913 132243583 796022016 807369728 231692761 311612256 803669779 181833309 905958681 191294057 460600170 279614622 857872411 388876871 572061668 865181644 240141369 930422311 94839432 952898866 70709811 427314137 908453154 201970257 950840392 740105491 157473077 531074152 175078261 425508459 441632917 2755097 478517096 549457072 649373901 958057997 126431982 898928336 767021475 754271433 256500194 625886531 378728016 995158180 218770522 609083527 72502480 561969251 142433911 501277139 644377861 637793806 798023445 67262747 811271399 937798513 302077367 708869604 656761380 203128509 440699264 437667215 940614448 684414824 763113963 947143047 942632428 986841755 498610820 281151707 78787707 788027064 539775972 293175581 783982829 371689301 31448055 811371960 652014039 415344257 33784252 158231117 292788093 304838457 574270979 837762693 471241757 54645964 795181829 523938684 224858592 70706587 228170073 786873221 345846590 79701491 340026000 314092887 941826774 321575881 397653131 842243934 723636678 921676155 22707270 359761530 274727641 103523591 520869148 919194023 389698023 577775672 240583384 93235472 307571157 16654463 798068362 643677853 94209175 712898248 354784016 417023218 102126720 935065159 722797000 471671570 918333676 439903150 584371458 105523766 757777679 71075658 45709502 12493822 592692775 250544567 439838451 257160450 864955672 442617106 881577243 132518662 695208535 898475432 722906032 220852956 688559402 967798241 438721695 96481709 58699547 596981987 816442410 644839026 244053405 881379067 369542632 689342758 677160772 321245914 622557533 121324029 503369464 812074135 5691553 128694036 176861669 684554815 434656543 284199275 802816822 795972736 210989449 578497835 723273758 106269842 641218411 924963614 42648790 860295933 217741825 978117326 727918211 933830554 392952906 108935638 110417528 79150920 193379209 55018882 726715726 178490847 163044702 601212737 964098605 276922968 719401811 286718444 422792992 141240052 465940346 156420138 840290802 89416826 805161205 418745270 225600222 462688745 467039857 750284458 892116448 848646694 132356678 940879787 310145597 852827391 291942943 133153334 576847770 148838920 630117325 113497171 827245013 25566073 132635380 763975030 126480490 444682012 728964849 869288912 30902841 33960962 519135038 92394296 861170529 143208226 358829272 554229277 126922427 870481967 133331453 728400647 610386969 954203177 397437693 28656911 400106998 407645314 209166987 668189043 365814451 919526510 133198128 428443797 788802663 385264603 689223941 530269301 542294824 567035883 670193386 60041759 295042511 194996084 987042146 734516224 386790898 30563635 87172385 576604224 764944119 205871543 159899140 668427911 556807758 373871491 882808715 439480787 729485606 452002696 626044431 501190608 218048212 229731136 232757838 886055471 492900929 943112259 141580910 867560562 55430804 307509902 47737995 636355215 746183348 555946808 526287823 816770282 201993674 796576195 364582222 67680934 261912136 643110962 669955936 744209269 303536604 607476015 140188152 564389172 401707415 450843874 270273005 649647218 608197085 5067962 113619682 478505589 779738339 792762776 886261116 801101904 854286496 284253841 130984350 293122412 477014967 445593330 879683714 39750243 294144294 311248907 405159863 570570258 57033325 165434859 33106234 507085905 69220729 241232749 951057136 829693371 791918437 311530179 101642230 700370805 704402567 326422695 918369483 126890567 42533140 40514063 376439951 482173767 819807542 459604994 776418525 397365724 770998976 437156296 484866748 278288301 891340888 545892057 142689458 85727701 281219386 156520601 732316025 773317937 771053969 749150089 470802775 236674681 904202793 339570775 295969429 17516175 870328081 425136877 747048574 461323036 651174843 375734965 240338836 29459140 322093801 675960667 577403406 140190420 196536730 656791740 560432167 845855865 516352108 525113989 109034656 495185768 32460426 859261675 181099968 551441081 952376965 217115206 701030091 261338261 762606506 760066712 425864337 250940090 152275844 963019586 691533056 21558811 988900004 614588579 896099598 2646962 480977708 926849891 118725767 577698189 591979918 21870105 574490547 226194222 104241049 473353488 587377401 304993495 244521267 272167255 346764880 787755408 759929042 717240727 127908517 835920 468017981 987824992 906026634 21686562 47699111 627602676 358227332 389954471 737071829 296329052 730825327 863022836 712141452 768002293 142746571 540958374 859569292 684851172 200829433 499193010 376770737 231797760 261088711 300069236 651626155 703917903 50645193 726659514 276247706 893798593 410368477 327106955 395285800 969742766 751906343 295820490 116355530 306807901 130690441 152144070 585852521 382304264 951963616 827543704 822262165 109614714 35155142 151508203 410971577 620064700 94627318 166985008 998739900 99567053 293475286 514346824 808912817 21553666 828546231 407672024 608580298 700282662 413869701 958969092 785483855 184193172 261102641 688443110 725494133 350991831 641039108 82232548 688720110 491591955 232981677 760790770 78228648 378163106 956022975 492730788 314356087 250941698 853798587 221030107 43498091 270950793 380964316 182846033 679727151 79610400 15675816 306377348 124934493 218848069 530351953 12970796 856533337 550221366 704818759 428423714 58669689 335304439 909649028 736983066 152026887 542989494 296499533 634683080 641527961 572646565 714031447 282850009 581906941 219737776 520939744 26854240 194810588 950652753 900137144 80373339 154177978 102160007 464559998 263335759 326666442 272624315 886412751 456554668 62654353 415368831 149927351 804381465 133003664 951797748 204247961 47612653 636218506 923132369 356343956 680496772 703448011 355534136 6382825 284887491 110398964 519825436 975352809 412793436 620600751 37640916 484151612 281531160 79447323 499257700 128956353 732944683 145256818 213781100 719872202 839442516 577990329 111007175 442002280 903641302 823447045 310444989 76879276 46101051 164314236 506395116 274502060 839465677 283997756 536642626 765685454 308693986 699061509 793092883 916454086 635217473 316174712 113347243 661226327 38728597 843898414 587151337 432999086 936513298 566493367 889838904 636082549 372883870 506244196 907796866 89234599 19509873 126420836 127019586 34840420 731346630 848527045 850999422 172282647 298774500 64963984 497701928 551986165 219508448 481589833 637645038 727545142 190784755 557242648 203811574 157398519 567073786 657293227 706925542 195025089 342832823 428112708 297675341 803985642 254197361 426279431 829409845 140257268 569163880 320874963 809705680 330656450 26153291 378814670 526379129 80337241 753357969 835170952 286619139 906133131 978613535 818703542 465070563 176592022 388268179 93920446 72191002 545825219 968880457 753707566 612389685 415168512 807280108 274281493 964373745 133291322 742715832 907478354 1478540 780552795 970548840 511629391 174747755 6841498 51402928 971134130 183386551 846373276 607735779 126163692 843193921 872008216 161439867 581971907 260274322 414805749 663998347 940641002 119941122 19965862 499264008 671675691 413620230 633547251 338618464 617771393 355693207 340159790 174898907 617656616 336981786 957742612 424726919 577684917 813800795 758667422 230412232 186280022 906568198 162134291 837254125 293432265 427630212 356028417 45546191 36396942 592645355 238405237 957739091 862265212 182756452 900100222 80426706 16079031 223109412 451844040 190637871 528688058 764806986 121007155 673041726 232781815 86057732 803757605 889692315 633370353 174617117 648403252 236343980 374826904 748072863 284255732 90363860 391655826 659278282 77358622 175940048 21523361 154803817 540019278 751251062 623474064 908081297 959163169 536373156 274387178 788271884 628873029 560773028 114783705 19576226 748575966 714260266 956834789 96321666 638893562 561383841 866072562 252829796 18005263 900795087 896874125 41723553 241854942 101275867 146760245 636009168 957535067 402646616 899248487 740186038 18810952 257144416 884091146 873334699 877643142 618595800 691459460 261784274 626109013 392929988 312315739 879475035 212620723 494374481 178010858 320030951 978754300 391066326 319771425 945762464 551069216 240691039 340700441 399667595 143584147 662633167 346316432 710839443 735991292 594362189 243344275 21915280 335507187 969905585 486430400 235467088 813872874 541528193 428269208 823412350 233461675 742412044 732264943 610488073 406865201 573246309 715609770 265568092 631792160 403595320 107268669 467132534 310199946 229378671 32121118 410530772 703281395 638872224 186875067 895517927 412614774 570138119 497706272 606235337 903828991 110617109 767116241 59531241 951076678 412257054 225553270 482846909 737783085 848857355 193507625 351789891 521193063 461956206 6537265 209765695 639773846 220744326 273679871 304290348 926189000 998913891 417243263 471679807 107141300 732925022 443364681 420604284 297009870 769417118 52713742 225184147 744036988 646208563 971245867 285927162 671253424 617707273 53967750 132961983 331294922 528144247 381367 514073547 558971183 447414205 716342085 22864973 19069033 721775643 913548356 844341854 234753791 83436341 199847757 424247114 966433908 202322033 244385782 809376488 105524166 608923212 913512298 524356437 161075651 774983245 368693706 76048658 34718045 429168883 133911981 586323006 524655928 182125774 348920832 930223515 155560604 201091173 555268154 238659151 573562377 210662857 391462229 41284903 409066167 923107849 213015830 402082499 297667415 496062329 647651002 722178798 231224362 156973704 982409167 808910376 684671401 880350216 747025995 388991356 691857569 41822923 29201485 353539438 998280541 289282560 523718402 139061236 571933084 903335524 132255320 330048388 848531618 83032654 126194910 561071593 683113838 691002354 913458435 372620065 596110732 791674165 403686530 911210503 253051962 21713728 678476388 287539922 623222638 874164740 744249317 88333036 857523537 165998236 276217763 205370170 650939910 59395994 670354223 332799296 1172379 476631023 665099066 36079997 2179983 542920566 405405065 99678096 759941133 899912117 724650921 417003402 189517065 605310219 285127600 694645414 601949935 77441160 449271300 98979193 418295936 21579766 414382851 887396877 941274030 125442675 876872128 555632545 672510394 479432738 29452526 806055602 82193812 566764945 513274401 374935279 540126036 76110415 623128006 121898858 352674495 976551896 987362619 422901630 819732198 598707713 410847114 616600680 385075718 75086916 67792715 382857830 324847496 572523739 730338859 611887617 184637606 567098267 873279890 510003692 870017245 100762643 540137118 306368485 129098929 376126688 221222648 137652109 531069104 683152660 245855130 71029933 193774590 872224285 342577632 432244082 318956553 600900745 802307167 911665710 279382508 108713892 16437575 161148722 266199394 871142667 563784987 198034080 327875469 916589400 720815288 171432684 8715286 801540139 286217486 157926130 922705029 945609700 864659788 891260599 879777132 357027973 878944367 836156627 437101689 167486929 404464119 768394022 420506931 956574937 671916777 156317897 608046445 173243017 50565237 754990098 239458351 13727864 765420027 87900987 617347658 649964868 937499169 943419402 490648310 343605850 195175562 989096654 302369278 873617509 104148213 900103237 852905711 215317420 712773536 286276351 489445722 58172130 413512343 575775873 929638948 235775214 493210824 73705716 903169835 742737960 536792058 51505431 726029927 629575361 631305181 129894718 362115874 603225712 46654437 654395934 487305398 831107143 104930234 940686093 223288430 972721596 436449796 13029174 495010248 952456538 163636659 215470613 593087110 473149020 341642999 396019678 492903427 234322256 616714191 532178496 305989709 923955083 58598247 220213401 146433922 144305764 674533739 32098380 133744192 994479662 755772661 817695833 164244793 845600711 174824247 365760478 90673026 177777872 513977770 692013020 63179566 897519479 141706873 81202986 693093298 983386436 171225937 982866102 441270781 94333821 656455324 58902574 150560972 360110778 963234858 185520323 42969152 314699998 143480055 201623920 373058057 285923837 998958434 270966410 502656868 804831210 976703499 970582272 83701813 544909594 881573297 553688737 27945770 35593094 913108801 298097939 94079298 529823523 575157333 310015780 282193430 957904572 213830491 164950504 415560683 117832188 36303680 833409333 157701016 797459780 479124231 594718819 24987495 953496047 972331944 574957839 925157748 294042448 370603232 733086051 458439156 131756273 646031627 668993987 846045006 481752073 930633572 621790266 833660169 46295292 610027238 894052457 20435506 907980476 868129484 354221447 568169778 216500841 309778210 918812766 947437652 908585189 122712724 197021894 94344629 268142890 234422000 2104432 192721338 16018301 959229478 90895809 568887080 480726434 125400278 682639005 865412018 52696879 772779940 298016445 117689438 7481917 580376664 366701508 855299648 976084441 948882465 411857799 67646639 654406241 345933292 885510980 460886021 266083375 384063805 924224059 790771259 697176951 197483438 26016158 343061434 471421711 120232002 814394214 885933840 85706282 414989600 966809891 768123595 789647426 808610451 640892643 517164103 220058416 497892495 562178929 399577712 601403306 486955800 362103548 72065185 605580211 211464122 315131039 695463593 768975154 539819973 522533640 703884439 526725374 547333364 635049963 495567422 539182559 607148736 249255556 283271279 207595250 103351320 552884521 447024654 710726780 882855370 192038760 614836920 959468621 469792422 826780904 825461733 67908931 291681337 620194057 655454985 478255441 733878173 273670858 451441178 19685310 380617769 7271610 243531992 608245361 7347895 676544621 670084900 490307520 902097272 439953046 248480206 204776569 841238388 47988650 662173747 950612138 486478396 397136138 888869520 831936165 776895852 123814240 147906470 622304520 563154772 240106706 68523828 348008398 177524264 714907651 527827830 179874310 160342280 537048170 738607974 527514060 834349524 205982399 185525378 493613377 401270740 444016221 840299376 236873895 556987861 174466523 796196933 507146224 258665012 585139562 220599412 289216913 843161576 199320023 517131718 386425032 823132535 785760756 42460477 473967027 480316090 922733278 659041527 229971195 680579946 930434596 38713690 910618185 439322548 913925827 44905625 393562826 358654605 304308964 461299800 13944169 619024721 293872226 120868451 868764963 850940239 49021803 808882062 499802948 470325181 478731367 35811724 922111891 441779569 541916237 862561427 401723772 243059669 367656195 41007549 560786205 575552086 180469037 723879168 471586778 15459646 517101016 708948075 666971507 459333614 572420252 52089257 284189415 273602665 439263534 474777974 391898159 306966782 376120918 903612134 136791751 741860255 502791719 795243188 270376678 913383630 900873559 124782973 947323616 948888483 656535568 32142063 190002152 886304849 261778755 90760693 505115274 605417438 733900497 552268637 605915958 743361792 179687896 190709862 797434125 380504983 319078426 872330646 663657726 786462701 261971240 824112574 220860050 496350016 505674890 424024117 463088027 500265843 191487429 695390505 786395576 421007707 783756907 762340121 786187678 988821707 522559740 474376357 889151366 813681185 691585408 140511420 455022735 987271727 332253353 383110809 476972390 442757572 208319781 422516977 42630150 198572932 285986786 179025326 782281268 168791652 680963557 66583357 965590023 66625442 827568942 419383313 97471420 689302547 838799540 487504906 417128423 327609401 861343273 557844090 823766881 222092531 847123701 719211906 429694499 112215768 222003854 228460244 667549069 907075537 70970542 473735322 830051227 711333935 894615330 205784169 733973503 355913509 178003068 684776255 177056185 453703392 515960460 615922932 276820495 938463985 566486825 786361867 248881729 768772691 646223258 672793333 681146583 899617639 695698968 129216950 718715339 212908687 543606055 252032116 801444075 168494654 68096300 934435253 567152881 333504810 816904970 134072836 518868186 167838074 49715458 954769204 774475176 817133698 377311135 167663739 307289176 476122273 104562867 59094682 578106260 976446091 976657609 723416585 582765712 441447118 609476370 542368459 72432184 119701402 915794505 261139592 758535830 985247240 616805165 247372697 822901636 740549107 29642757 307246966 110634095 505972511 179007932 823332282 305222506 508779230 619007398 461873848 867709035 636429750 990145597 798985558 164111018 121692827 685827039 59645914 879722145 465427441 560730958 759515892 293952178 629252862 463444370 217506488 873224474 865402452 515653974 456896052 694500462 6108539 586470922 601463 270199930 831143763 316122885 10552444 198808449 507943012 724129308 231214418 765654004 168921897 114204675 315786121 783885890 428067730 777204184 209682657 334933085 236822932 447200884 875054667 578779616 967427476 874197457 292308289 602411620 300318704 582047582 102725302 936694006 402756440 190555055 82037229 2629796 13389439 417408541 508881999 369009812 935920865 576623042 49742805 959831483 574524193 86104864 391486265 781174240 361404047 478897805 594726770 497430956 210429384 479971495 926932893 822088524 448342093 98136723 101468742 136043483 67312990 281487564 989067632 52925654 314285728 619901862 665611223 882098679 183711399 648239587 983291123 333081909 362065788 248463411 630846581 796025723 678025665 425522053 423330570 808284758 200405850 848805224 230790684 658681211 849704927 873948136 566916027 540363841 898550182 389209309 620517592 983223195 698408930 953879423 140984590 929666440 527015160 191565982 322365743 251971932 2704247 411355231 969709467 414492647 163537638 267288874 343084527 703444304 399912332 614441118 470603885 951270715 180006716 200157099 652798069 447010208 988145961 2069123 981526636 624094745 832111329 303970919 709510989 35062391 847421454 212575397 615131185 522570849 365219716 154072073 417862801 247475942 825086557 852895262 185989600 578472745 309937563 916672719 990549814 79951484 426781043 614841831 17039617 429182912 439943779 422807988 519571728 366855700 5508305 871508849 874284784 841223308 942067880 889126365 635852128 396237561 137818922 700320595 667309402 93307597 643679017 629962627 125933103 399781404 15214168 243159314 734373960 752488519 662247256 661460167 797917594 681020980 33644701 317229552 284376219 530670999 924893090 232726981 907360833 783853625 261728341 322766545 34471079 12897058 553051134 316992936 994137677 649072013 745626205 140876745 889217378 557792203 486755094 476720814 864661824 880458698 270219160 520950665 323236308 116239166 150360854 520876468 774230752 872662789 90703810 10924921 534402710 257763007 669384073 985659103 972565621 373047384 108536318 286293590 903606185 548169600 662870927 767236040 530983240 503397143 162350927 286511297 278517961 492094855 123416692 858498338 181798949 754986505 779919453 350361842 33641436 464984290 289828343 838707505 170686339 82551172 94088733 2534876 145662915 268712374 459383888 730746784 545823573 401617243 634041919 935284894 922521887 677720408 195814720 385082066 211842075 983011384 154527852 845000979 48184144 131674581 355594672 883561465 857321159 153117298 925889954 258555014 897451788 411445619 339646515 492420053 3855341 450551501 784478135 307403123 947122721 251414141 70728969 798365918 222547215 807788868 502004725 930718404 166652887 799018726 194675511 625054290 600588315 877407907 819744976 261566107 735226488 29232363 996361963 95535137 85014726 621504867 791898559 435896197 776595940 311621792 564993465 577436355 493051276 87380483 211941695 969159364 963008339 214706825 143548907 908841948 779669829 687912829 900378689 492343993 487927962 366217034 395176423 518075254 689666113 357982045 323698458 942697055 310871634 248939370 992097419 815734708 596458920 958802198 65930980 55595881 446983662 217770395 188839295 174468294 908146068 260984299 157643594 224067670 798573558 595364977 609589333 933525922 429054925 854806495 434707633 624778272 882551078 243943213 369402869 117912946 201654035 331670815 903374258 328694948 747170672 78493338 352369606 608654576 142481862 727754905 812573582 98597101 259022207 607121317 273375606 216365969 699556059 728432284 877059390 876317960 21155146 645142837 753329897 980786482 288883519 596659641 931701678 274784190 382042372 307601944 344579984 962252557 418926221 787424547 326505370 855896671 619613962 880842254 168220193 287638717 663062346 364418912 576365724 614954475 296600584 45246164 373705987 768326635 455015423 814155706 483650295 407409649 747998812 90666072 227610393 847564780 645019596 992120303 399539876 974758997 248877515 812414928 635584471 910921101 48965811 341844040 678633973 106810388 570965937 784821785 205977261 735670796 582230304 497865244 537248970 81117122 106718791 195610065 903989089 875511829 51172384 162375133 872099073 658716838 847041588 490368772 935062343 626011655 154933952 567785259 165595638 179434977 291875267 299068616 43556355 847010366 122007769 148150492 365574116 401649141 108694117 326398202 655469302 712894283 873086307 485484189 960480904 509935018 515721364 683116233 181782647 862760245 683017235 313798092 940899689 851922626 89769210 709899849 612411433 369572880 486151285 833419049 461989176 228191784 692543868 367240390 742962975 468489233 159730051 334489220 823308255 595835513 74744666 370800111 247290667 241414679 170836310 335514908 293960708 234395066 874758417 532642980 322819087 530649837 870957556 997527778 331072741 90257258 64684829 97587937 773729193 861992383 43825758 632346151 460932117 559507387 948728463 247148290 746852667 5271110 823388292 219435304 480634968 888338637 673770876 176516599 966640550 57136914 410334094 869357250 933643002 843468966 89791109 26725702 138838879 617012607 787756659 597233943 142482160 185335325 694739978 707856990 11952280 901177482 979422071 161757570 633425092 467020141 41421491 211505679 699072326 550389775 893726798 818871649 642234980 16346599 171247453 223270936 296256797 676892159 759810697 710678563 441199345 231262518 614802470 71637721 590203748 644554228 17865133 402315732 795879726 141097614 580384583 498933590 961276519 114500643 645989043 564694126 914474686 852625770 76554034 294090783 450987589 205116018 686692207 484868892 823697258 696082052 657848633 12403928 598640654 219731963 398699631 935847338 63964635 311055053 792427830 481695320 278007162 276294239 268467827 956372234 98828261 387864951 950161054 477540318 763813183 716675112 683551841 214317574 315439323 74657609 206881364 524673527 726879857 88788313 55502530 552984244 488270020 85361935 173502185 16896644 485188260 848551617 287902576 568779396 514637942 48763827 66383114 267440925 842604442 496659868 948754036 120738737 428540530 601643474 762904273 36023373 720400675 431947774 74075107 686856755 485705968 482659185 426444040 426921581 88513327 111695986 985027595 566587671 554727784 536009745 427714895 78376036 574973673 157408756 721458359 274051017 655287204 128613767 602246922 791759468 405430806 558990748 801804050 478431184 297250657 135126623 749978826 74834180 834049734 188003253 779951845 776910780 172556751 36512090 31417274 357872381 69952359 887242605 486045098 430026817 243211930 281488966 330655821 781575544 876582671 881286521 980381377 162680727 790014658 808202706 266137429 20452629 367613493 640806714 165835055 304136994 141191632 727085874 578308001 721154413 803407251 290822239 244172395 523625929 47653613 36793918 464904589 819089438 370566542 233501428 303145615 203898279 177526053 271011705 923099043 606233153 101062315 43853849 106584261 517102776 401987 558107003 402390330 101069478 212735743 140693562 401610028 671480463 868608076 283082048 781682303 105340340 695554560 559717306 260727860 895231196 822577849 86936763 152148959 364687982 678057955 850973786 713442125 777630609 7550540 902369071 695987029 122167605 122415996 448737465 690755481 762845598 398879261 773269750 602577808 188469116 918404155 93176498 825180012 513479284 144242812 664753459 113265674 582065739 257790540 775743935 286240960 81715428 121493949 139683242 192772990 226169908 4501269 55422148 829989939 209419210 807707910 193459973 3436639 423514114 895221784 365766053 97440665 463857417 905924481 830132306 660020998 328755800 779293665 508172052 613232442 312204455 995453846 984173452 8419401 436545782 498230215 438208263 724999214 122095114 724012885 234976040 666357513 581572130 169224439 140085596 449618018 882908895 958905490 229785825 753267448 212420819 755371934 84400382 505421969 988582465 308828160 73409423 173966241 655621673 871420131 745720510 731711294 772346073 526504547 168345210 989055786 955445519 376382499 343276658 535918774 699155296 345257134 163272761 95968592 257712239 534400812 353738284 498114580 714852632 575755660 777718977 438088971 621425744 812354278 146167650 808253495 362186486 170257361 689662866 681308189 571637941 792621138 420483829 245825239 803481654 128734157 169420519 804187427 893132404 692958238 561036672 844257963 293620733 426920088 401613640 77560606 29066247 522971552 758690387 921281699 223839776 470329402 504680763 942880431 624112902 771282451 340543985 103117248 820334885 693331639 39496024 767851208 667803233 777721731 12755729 384132533 660561879 682831103 272691881 348302992 200089236 940040189 187022478 920695973 98064815 145861554 35246411 831977688 115499878 615376293 597075712 856851598 113596578 509609937 407273024 26469413 443446901 509073178 858606196 202485456 354292856 156736898 522567401 920900150 600805688 235696033 536017055 622099342 518236830 651406415 77977039 961008868 856164379 646346876 618259466 572388393 7369092 346945049 440909281 611680928 724666754 794128884 549659125 348402441 408765101 524862047 391922611 94009209 173166407 940206233 666234708 829966107 597432508 971987990 458875473 398546996 271742703 466430875 941566468 20085740 625643144 58939519 752485046 189655183 980600504 352619112 886925864 43446182 242074690 241976270 165957526 333202794 268173501 11664966 396547551 67292049 10274616 91233466 211836466 450930220 683787142 427904307 375363352 869818577 357353277 222919447 35243424 172030133 155302062 967038431 636889793 665176955 964567836 670315910 920092256 915186548 805764555 785315208 841198144 477065801 998762990 944580154 344111956 65444817 888633550 479608629 888825423 621352285 791361907 349123420 182494633 211058042 758982790 145686404 756052822 129939260 468944553 636595218 905414406 510111555 938054740 772975564 737105662 162183759 227548124 45790242 374814919 486935704 357731046 259091569 17560279 917366559 455639729 246353098 455074654 938029575 51525123 164512701 472253104 756167982 973784890 455424248 417017994 201090250 688367470 325471026 670323988 819884349 287833993 130207308 800624700 916791336 635792869 226928751 667124853 638693986 351775720 622011008 66447092 346517880 361642364 8424360 757763422 420149271 926285628 433292622 844650974 196788670 359708408 663842949 289301152 831213917 937729070 921980485 621058072 216821824 950465502 415638686 61403682 671939437 269478489 556987600 262591855 656193621 660773052 421948143 280048159 669120786 268900474 759813648 944633613 936030956 240713517 517868908 260458444 64250424 692078292 656753378 894333983 745548095 722634847 259579899 349599055 622625818 346341087 596577973 366511492 40363658 294491100 574896052 407744005 555113599 859132072 44841498 274514994 475144092 438325553 272162903 674341523 826589786 639406923 98285069 357674884 400502454 633897570 433863550 719291230 324125998 231994255 680030292 595399028 667256486 281448949 3752314 187565505 644953862 47866238 783886100 754116672 222008310 251704690 33729446 419996593 150234974 103888413 242109256 584080780 115375103 529260274 541176798 974412059 212258818 161216809 381776112 498924332 610629276 787878582 193772235 646895702 555706643 884689213 105317060 624294376 92772189 397961174 691852054 358255873 887204242 619097526 338306651 169009782 766389873 999742736 894541452 401434050 812440046 443361213 902799594 78190459 502966765 189806126 557007633 608860030 322817740 221261952 287854776 338711147 477121650 163253123 37620247 108708384 869534036 273295922 250560125 529086641 311416237 312281509 937414640 445386768 338359913 48593649 52690948 693393969 871838356 108936527 281990326 568235077 406591444 672559075 611638632 919780752 885504425 464011419 932380745 333522595 122222491 959696747 234413985 553054039 977683559 400873889 367312409 233591837 70888349 870036109 631348424 690343854 963573641 569230995 481330631 28834363 597848636 163181786 719710591 862804422 915332678 235864702 154269213 746859197 482963615 769542187 237689664 436333171 395900914 558189096 817391603 951907008 594830630 417208539 562300609 173832798 106460912 758478046 239516968 155041108 471768776 554353677 701822874 274874027 273861794 268276898 144722526 997870226 137165239 960195495 64728442 836322804 116311937 279189278 651735435 636568622 450771412 697582043 734196562 906709222 370318033 64393738 169088271 490833370 687265098 63798127 777990169 286855853 401914673 86176577 241439247 824351259 738991733 629121954 40223869 618218130 847003244 770500765 178827007 693139731 851470748 63792378 449428081 122471223 938427926 91935354 810065119 777644365 65369805 14617214 403968132 415515963 836447011 369316124 42642108 980068414 254938135 809616140 231134485 632913852 851508399 226823507 512870167 411790802 994663892 927571850 361710879 319044078 764938319 680793641 370020443 808487102 884257521 793347650 978887978 657989749 52654396 752638733 253908095 585180881 981660020 670569974 991434076 686435864 636050588 405305027 635682911 533802854 420496850 206548122 662234949 774461795 284436768 133843023 181086555 817039805 896104346 2451793 669133955 568885055 814080380 673321538 499383363 40251678 34105925 330478494 861141242 404512844 283126314 90796441 46827956 361101344 136417796 126651593 903285406 923488959 573088629 978344404 462313440 164157875 637630024 196129542 173670823 6805447 33074311 252540009 687126340 430023676 590348829 250778353 470812220 330875062 336683017 89605 618779062 730923702 304959493 594251343 87534012 111654880 307277582 109017802 342467042 10889899 637253696 865801039 463260373 260932396 215017981 506716008 661325096 593632158 146560344 236930699 555307306 868465950 321223440 831490206 545907841 482877102 176110584 788283543 115498608 496875143 88197893 62293892 566758789 568823911 510454238 801265164 978905283 622018556 101946740 704402644 546415546 261989110 420944549 146193776 708246514 608607755 303779083 679802702 507179503 751896776 139462180 302588440 635775007 516675280 636592633 241260053 372709747 817420084 171128711 484131267 582505777 210100698 938427110 555449966 432840771 269888866 694590106 334327645 153577466 372377063 78516622 116500442 19109003 295577865 192684993 92034885 568137180 531345475 479309719 238706589 914964073 167745457 379813680 125774444 749286927 349407865 331652180 132359202 198742361 76646453 792383677 312054753 512517005 572732080 11751731 801669360 882063313 784797247 593589584 939408542 310708778 101870922 411444789 804493213 24682862 668022711 330906049 864297164 515225167 239050874 661333216 733404421 565191211 94204886 285422399 621319317 394224981 251399420 226006100 287983413 308952219 6814207 101480889 788244883 842502388 405739052 671238639 327194869 818505664 81226511 741657075 554855039 419849408 537348846 122747238 187964684 916230055 998407655 41634104 533748978 899384564 923116614 893818709 672830825 733740128 430856779 359141874 962104665 846299305 38201154 903150825 362937625 556383718 970208724 791882685 759843934 393742565 234801473 343554909 34701237 875533742 173037192 867428619 229544481 739980776 856053604 147752033 417421791 783638866 801864058 374994665 817617897 930144494 743633344 816227309 468897034 446658504 252744823 187517580 720221466 672841140 267864745 103053572 62966134 101780685 3870944 428877398 93749195 681881514 62230180 785151218 594817548 113442023 154608646 561677350 872916079 775484834 853428746 939173687 127323968 167188361 983451649 341442139 884706130 588393988 88819984 17744427 296659483 117085950 43129800 898392997 107664642 551184464 634472665 249180340 337006637 221676830 21432139 933952645 40862406 248215722 287400996 953799051 160215898 458604232 418751706 15305358 64088853 49782784 86568322 882155763 622929709 17195325 448940209 826627384 180518665 697854726 489269241 488578722 620888149 203864503 67240916 604514042 503713013 104859844 397183883 700259172 811915417 726591630 664644285 834695676 287506042 152474042 93894687 582328238 347199545 60125300 746414533 725298405 562391066 959959761 140259453 930250596 494454013 521836912 537132555 491154557 159289531 448722723 322649352 515271487 30329841 920215352 629414082 878624908 140090813 269209481 259368896 571019360 68415335 782519094 299103994 182590510 998305111 191134079 618967095 255833803 207228178 455397255 772678728 595358587 840202772 113728594 21034384 462662512 31622440 109180314 551999386 685957084 377667472 321030390 114826606 194743840 809294732 437393135 36188104 896384796 507828290 329986967 556551108 701118621 48468691 13161867 651840834 102921855 28574691 121189270 294128242 395583875 723932685 692628524 413216293 610633698 74316713 87838145 381901134 639837135 402520613 985051308 16141464 257474021 936392546 424680507 285162274 435571719 567938880 72858628 883917957 490205901 304011650 559455746 979692208 188776205 406643163 665427557 256996190 851259075 629290904 660362527 838605430 153048452 295177018 200318 266461862 424233766 752601411 76468708 58895879 836054697 596827406 97254763 811932976 581899465 85540785 411968069 97528989 163628782 876728445 656682291 576702629 824601864 164490461 505754602 165031253 35620235 124339269 341386185 854070349 845499742 34640066 819114292 594551409 75640287 536787184 221135803 357318434 160549083 989678930 279900663 103267226 815445349 74557408 527033706 522115400 148592291 202019235 556044055 593928940 355931484 481536492 495484776 854911090 285702538 716633067 116993475 168193541 276648247 201417270 121350539 733037592 952881044 909820876 728730087 567447413 967184497 236681635 958262717 548623136 913806328 541075075 650212643 50079934 799459666 401703628 955390033 902614268 795491323 711022560 193004104 918152497 288966305 825853930 347195004 893479950 208521336 333518884 243676023 125443365 649630877 350982083 157214023 538997539 693495972 449521556 192490498 565849206 497898406 358555312 341332834 466559367 520071208 525327695 24497786 869780886 753335696 728939489 533330901 266181340 387072634 458712158 193228157 23704516 272312915 415010890 473640000 827516171 7912483 808595674 393311419 500799844 547988201 66942776 751502756 121075877 274677720 299711261 489688015 137109880 233941805 110739146 695432327 748486342 242597579 116381336 863651002 941488548 507197070 865485780 13294150 566721978 473978755 92138281 695310949 362885540 80800962 901854519 594618388 29704357 835323867 85157583 963090572 973396983 183370968 530629352 161368034 284764809 342806350 162759553 716112538 600749417 947870536 944268661 962834336 329662457 150821663 21893971 62372557 154162808 276430834 807346202 701051141 664421704 705777057 332243563 179276916 546284215 931093937 240582447 984678162 981242477 152815352 637170643 528424428 394580986 199867965 14422294 573086235 221555001 639434177 158205350 336576475 50416094 756698949 807688334 763841822 973277384 23986356 740612208 691710383 322721774 457430804 684188323 4311641 536269405 567822835 1957510 270360825 258118698 631035302 668760050 712527561 842063075 822792737 972846617 903226956 72697152 250415074 637602608 348213744 262975869 675864239 329095428 958317803 120018581 822821877 145185357 329227892 58799170 55293000 854896749 138292358 918917721 688055953 352070822 820135143 412656919 102288201 370307999 430659750 532811772 783783757 550725022 132233937 679557071 4868491 318467845 973686480 517914716 645744622 99132124 398387089 582975714 105191495 303751954 373822577 53283498 496064173 275121915 373910702 352270707 472791540 794361525 938943288 169440703 558089106 142614825 656073815 777145188 345952052 879632181 316719217 490181254 683557516 645956656 551686362 938357415 315878451 974034235 950554611 555606195 898754945 881047554 256848384 476148735 51863104 891914000 822399201 117753731 727567358 928670261 809305700 663198943 366660160 23952577 667276685 163547514 364884271 128306459 827882598 921945477 92150518 597807731 116420608 43566284 743679176 918871747 834543097 385933761 263478344 954394813 44318880 313735795 866679649 575571977 40425912 379717347 742478162 985021970 865073620 258163512 864685440 211805130 268948244 192993371 723872655 904580406 201783103 904771363 597634948 676316604 510223772 405728143 15836758 168815889 947617871 233900177 438282726 494046654 325573963 707879362 907190647 901906176 534812257 797542988 958079461 657339691 447794549 576551328 438713978 229879637 935211429 324751724 688056353 347438171 328783868 243006876 593484992 815050787 542105210 66759839 435010302 799649347 330998906 534606780 311274971 319786731 666531718 16310878 29658073 725127368 368411137 892836589 979444075 625450373 751442593 870391134 709252410 982975053 564909437 915500396 421509197 168401661 89749650 130006342 711620918 40216506 266863723 301060747 3257573 94178554 198212480 46096083 635851927 82933009 755137692 279253478 193054600 284806866 617832207 57188841 732258060 368916260 977956268 679763737 277771246 673266556 674699690 555421354 379791205 494369033 624956402 299308590 32208225 376749247 570658435 237533383 227830380 689605120 655439025 893329077 210560572 641677987 271237744 465242212 884569507 929451421 418979742 335656342 560174726 870639917 324307144 953215277 300059188 197687465 445833939 816134231 765668495 633383427 940189522 407406382 167862213 274354582 163416471 534519055 33246981 55724141 878514114 755370760 757455297 509343492 923155197 680373212 311420693 2706846 32292838 618970135 133458293 869914003 543453857 895310984 171617714 90908322 88792620 857930566 691983427 236636308 749431781 446134688 754708105 520407607 68488041 535202825 753030563 230179859 150423989 928137573 579442283 801326569 713908351 655384444 642780047 352667336 194081169 166614887 77859555 93478366 194794735 353629128 40472698 220978788 636854253 356212189 860393404 238828595 133788592 93664025 865390395 580466803 575177458 590657221 572092476 760224883 401664391 506409101 680536873 146681416 4578263 205763571 732267248 578528524 665488629 314140892 296450067 374894396 872949181 798999758 737064832 524554283 732009980 178957730 7289826 864420932 251708972 484907388 615921335 417352451 545043353 772983641 903352678 704349979 283936539 422600735 509204301 288939815 581741617 268865041 820360910 200300858 822043798 342904761 405139866 44156034 385070434 659349257 389523789 128144083 771558339 116557489 5008649 927171411 223435367 818309610 219313542 874571747 796346841 993090215 4922279 310342231 134231246 392218918 759589242 53798334 787554403 747725478 170452092 989546012 309976324 250790855 762957191 537709985 838773562 496010628 491115363 198692478 259362321 416472037 787776218 421155976 230267426 410633011 987714399 471432702 238123298 786957692 935221122 113708713 42810232 954804759 811216426 174101874 415013130 424612943 916005558 136028687 784948662 794516409 346171491 500595803 12475184 494417427 868971929 840271914 976637012 555989534 32920170 273817843 959442076 749450357 270646407 977419865 931465367 378957445 552355710 334395485 48991257 280820126 752493295 664656079 891781405 76166501 75912816 182647224 378017828 901489396 623921056 372734831 69829209 243660729 944365627 981163496 685595607 73499794 489864880 390071361 542534983 933556445 440236175 908546336 733529889 599318664 28896709 875851186 544744863 812721899 273797970 804173497 139595799 451467927 974476970 24877988 593678043 654188305 768904696 92442094 832039669 378388591 662811909 722111608 18938608 644590927 45407025 899641694 889299813 517689628 318017147 576745881 894795216 9463150 98859568 71364375 875904179 343887524 859893247 355876860 892677897 95248720 293134369 485641783 240013053 641644004 942237090 241773688 591048915 599617293 876343755 401158421 426351966 516553991 764707911 851006954 41464734 762668250 748937829 51341573 806424164 740363330 159146608 534416618 567693207 870424291 920332390 839023110 448439463 754031269 617043673 583349405 70068007 442461656 114917675 626523836 396651790 878640127 367451607 105617353 21685897 249393091 411701232 621899186 227485319 16384798 641102778 495226247 506054274 844076674 906330530 5024454 821931597 862384201 787323255 794943247 600267025 841674803 883037047 111121491 797113757 625167241 199557270 37491721 475135285 998824613 285912391 728787450 560345482 518771201 691270853 683385863 224337551 976570424 622857535 807792063 323029682 306287669 215432350 902526416 566991573 962275094 921920695 729392930 979183370 595297461 235571116 259119073 187176822 592437072 392338743 372863041 333553113 91717549 253805281 807631925 991669678 557108806 340301149 903774559 798948847 880270803 644336964 6497588 699585205 954183495 472866923 217500740 503204825 624898334 294644625 498464598 215029616 589212876 465515420 364943555 272915087 157885665 86351670 355501311 561690836 61510040 122910806 831197079 788128843 924443233 34132382 380800442 621040791 321623867 309842296 7584948 726902881 756567761 91546176 934630045 455588869 820635324 505251351 407189615 857621503 854064951 463432084 658079227 220915017 537761528 222098317 464038145 583777209 226918242 596541860 941322767 508169616 273407329 829757198 526005565 892621372 400444972 864050852 238115690 730416529 647535775 521919324 515898845 244313774 656275074 169234134 446403910 45380050 812025393 935217907 996181363 178425161 358932041 521762902 684610177 828103918 881954336 789694644 727072123 741431605 592346129 422249904 261189818 278718811 665378734 64831953 62320873 625055978 113512973 270684524 681492971 205331035 153390703 349634360 984976332 932252383 606601608 716465461 620477059 147748170 842963208 386770226 361007205 10119591 970189854 99171334 315161383 623498802 156601681 675103223 658284737 694399357 872671460 812472745 697628240 779068631 651417051 875919668 108305410 127303519 777214182 37859672 49478829 889571725 985944144 345103052 707939839 315822825 497494821 830324826 867511817 967448105 99344002 488890638 960325811 127095663 267142081 39338115 145102074 262998934 928676429 252921919 66717688 971901423 734585855 377182580 185663712 147096314 82391369 753752837 568867676 809183323 700691024 100109664 773141499 581893753 108814175 111052219 964885080 74455542 694071648 412660457 644204120 61144279 88379034 402945902 480056421 420328416 126274434 144709120 738245485 263799401 887033158 56871165 269428768 832150234 726486449 786947756 624853372 169252611 302706612 870796295 642132983 473875339 22740098 8637761 472321800 278321936 663400597 805247634 425250900 323750331 631780358 756301444 82286382 877161991 21192170 589305755 807345242 375150197 726178732 769604163 452290962 272327685 850377925 189940460 777182775 573888965 987309706 810076740 17727111 722799803 900897124 880968722 738486683 697143174 870947535 654817041 456879352 491023796 544568554 765411354 662907601 905578343 476705235 681403554 13772141 276952070 242996677 111176429 862504663 517758331 479109699 240126853 303329396 877579490 188223832 73089523 521494996 996824129 266194206 515443019 170058605 111076845 872287810 970752994 560374620 388923301 434538653 262906437 562373460 973592376 270448165 831021445 444259038 900558219 921080758 29739287 281028154 695172296 35738122 407002413 426857838 628299956 248410489 387384301 408403211 812432837 322460605 601372821 306176884 928890780 612899582 670412966 846426071 611002066 877144313 345939111 51056277 354468900 307898667 48374232 458202247 104637837 422677603 79605412 286409537 555963693 810352188 238861393 530250212 919950357 804744627 176743050 110768074 77585944 596918784 135631831 68291732 737270910 17844442 241352455 938221607 321212739 877992276 392338391 556462059 301453796 951903272 754371581 257086702 639284758 860059967 6623152 134832601 18258873 604721860 769273058 141409219 645739938 280695483 966272285 519141356 79208997 533870134 90037112 968960737 27203838 440410147 158173025 406668793 242940421 213952699 132707836 962928451 779425462 809575756 377566936 210820103 772740390 11317103 984024656 293212865 691047105 578755447 375219765 85289161 666073755 7712922 469540162 337521868 694131023 78011616 428782895 911198193 429170161 659930218 754461475 457910231 927127978 858556063 224684086 3945476 275647884 668147728 814155317 616760471 396946212 861211877 281189854 832764283 851266060 94292564 946894428 44938316 824875893 46000122 31704955 594650080 766908160 315167838 595008416 357365809 717261558 659752079 817112945 930878353 489331740 258673843 612012490 388482662 530494274 51462411 265999464 42891571 172335375 447329479 643130414 576047271 685664752 766614746 604637033 228713406 245743025 580825551 98809981 158694783 177388053 944692938 819261881 640905806 601199558 313062563 525473340 271579152 840260557 46713147 591420135 418247391 624292222 609447044 262953097 390945327 901162108 107391300 156755770 724129920 947858368 878688171 624431206 906527962 407381705 659124540 365609600 520947084 924736391 514252380 768839146 11532784 612259620 9085475 31100415 527638567 265272194 634673531 133240918 13459148 115033082 825987162 268162803 88640397 443260248 120886470 516923877 733163247 230535009 674065700 178266967 597599729 388317070 81989257 391395031 42863454 90430991 74595309 215710525 504056202 709591839 689525950 426225801 707813126 375368591 841583544 929133393 607432451 229131237 168695308 382076409 53168537 31113516 359266183 656091609 188948573 196944419 272848702 137586719 535747970 147317298 667344259 46788714 192601463 743955389 565569017 675098095 626500448 64890578 538359378 525968225 259859612 466770882 917676788 639294851 654211442 621014573 824690379 183192880 683526802 112880244 698095495 346843904 805649073 572493701 257744112 820202293 541634106 892150322 183348187 120463457 761860759 592579806 767503695 309259012 561395147 56148854 553116531 796935059 319038579 611104805 482498559 113807766 267436173 235164247 737672897 209217628 358834294 193695404 650187560 852110540 297248088 272342084 802344969 84248904 405964522 109268752 781699391 903608116 58094865 554322263 288621755 440928301 911673953 975863299 580859280 295917382 635654947 943985009 12737049 209590014 23506797 156255325 150329904 962450074 16362642 569082030 344660310 144343050 602286311 885418788 102642769 680122408 632436302 15967294 690149919 933356011 454585501 576244920 580458562 420578995 790820601 261686989 952996330 317275993 992178572 314527295 863579607 538617321 752516283 22312344 928824262 351503563 176963760 488751028 644343537 540879028 14951270 892625915 741174906 291019302 625459694 786259433 777436354 103006661 158694581 947765044 42258371 616758298 363747965 218404220 628830233 685032777 807838027 597994154 156965658 19567086 157031123 448656505 225143473 123604580 17147749 69950492 664762902 742057121 359758627 751700970 471265010 490525489 578051574 58097411 277433615 84980059 955358663 634184154 810507910 758537724 661160870 888005432 33517311 361739836 259230566 131032102 956137927 191442108 701627801 493225686 61014397 23584004 600115156 385690332 383965430 127437232 962909492 931082426 115961492 357213918 363616272 512481820 939259787 868403965 155060678 278640911 472536550 195172492 39704659 923634224 119389400 510817283 652690543 336233802 657285377 303739984 954449025 66726065 688061201 538428012 580486720 159657933 682783836 400328901 899321989 280912495 824262738 650466646 753015828 984318407 530517953 460093095 17609567 649392296 821581669 35166901 756800113 341763615 249402031 791055713 573155063 594628387 36345961 675124499 142550169 988739907 493710633 909860023 873270493 345826087 603724464 762688513 438845434 598472028 417056154 24348324 687395503 861354423 744899360 729013260 441051762 97909756 62997959 261816277 830558592 588253537 424195595 967541777 441173729 637519681 729976810 479633805 108181331 87174662 311020874 943157128 423400149 19522554 42020096 523240960 729476379 832557146 774255887 835352795 721106678 490890507 864284676 114159018 168980198 974840579 291782970 116547840 142988022 671731755 945897200 598713259 288370800 258764810 866412120 118514775 976620933 292704292 793996717 908311692 434009127 791497944 140555850 932497909 37072330 184973188 880448192 221064866 916547292 603709136 785514129 830421969 617577921 13505675 567071693 674885212 275715780 559639047 954002569 516100881 929078667 233583270 383208533 209651732 945337836 509286047 796576280 172429338 346083255 875067631 935665681 529450866 283558635 772320418 171435336 665316439 435302272 907270655 805627410 215672195 435792599 333912428 671041869 3820325 67315270 443395851 291088139 935209940 988855082 474225405 500260425 136045111 832355034 352223256 888098690 446287843 866328407 769669730 843910643 337167 929582326 698662430 706987721 191331336 575792712 562807755 232083594 497995622 161414568 488179077 311522360 579406895 3658025 306346233 293574313 508354580 855610839 949982763 101905709 464106865 289894761 183467995 894200385 601243595 527320159 433753304 473999048 808155262 839164639 180894228 268591570 170438433 529203922 673890603 604424539 238853026 840633259 501600580 450350751 503995299 55395554 941954827 85653663 529355555 84593594 314082804 760393853 895004980 516822762 190065744 788861406 19051957 134734363 243320126 755439163 714305031 326537919 265707011 271186253 454648347 804615988 71373658 11733733 263224881 797652700 756545755 560632180 287539849 945607225 624895424 279778546 706231474 839585728 124822946 992688954 300887202 102021583 696145784 43417882 197077769 215216435 76470192 815946009 186528360 934027915 261975328 130697317 83681765 414903793 438042824 183352950 154254858 853246180 338306965 923275916 897287988 742014278 311582355 787926460 493731928 452579974 277155900 563964337 293276198 361550449 82572380 259402457 291354806 54712681 657940704 844790489 242637713 210100838 364744662 800416159 598967854 846370992 334053207 960214737 138397029 101628789 28686741 477344488 328337357 449495362 826407537 451769641 411805258 850593365 485503625 534394589 725229907 640177687 439377086 896341723 542032920 435552741 827267260 860626023 354696887 762006489 130103074 119241191 868021613 393681101 597129162 192514495 47233159 357484118 82462617 111119782 473976910 216315573 28508668 974081331 683245955 634539075 603315837 271509268 686280502 84529143 743400146 971991745 997535343 763350317 293113238 404977009 888511519 215947277 847077752 750241190 696075715 543682667 865545614 741976604 391942381 4368712 666585024 212855571 73753589 159109099 422794424 70407587 505964348 531432037 443254054 854391759 271283262 917991081 93987979 196449665 830750155 175980550 248295955 510899792 737522123 678725572 585994761 652619245 661180121 319580978 968253676 36951613 17888044 95292048 688814146 443220673 376743346 849434532 957907628 287225179 951608555 782731871 17395198 996991567 202916584 175040190 106665289 567153733 29635255 93537818 650708644 665289295 165686495 134294252 949418182 704376748 518940327 811743882 2920138 911569391 479472989 757850745 886301515 354857343 167554320 761945080 51452242 74019692 708508126 488623708 514738157 549105934 34171782 972231014 486697002 964342638 950020141 736300187 936456613 757561774 717019929 809874477 920362464 353359868 311563494 791225145 208691091 249158860 115639616 816292141 909015004 967153156 971014799 704806357 486655398 472754822 147231245 897090957 784687769 19900981 402391367 253036604 921826116 785472279 495444766 356523105 302824972 27033650 699619328 185340339 672760672 269918239 723864770 509729319 70056752 106979541 567239900 217367572 336203732 52945627 697638551 768327032 352564318 738608767 903466480 25830921 235773131 270278373 256539633 301483250 129480159 804156599 250254175 637827422 173767719 790865145 598991103 852292246 137294989 133476185 261280167 753972385 184616109 341568626 353860734 179470791 749643836 224285107 828329711 159299510 478986601 445733176 292589738 415276532 279241150 843967343 472546608 72348932 170068917 895490174 997068263 811480379 799159194 398413798 64702084 30108291 476169542 596735043 76932050 814964579 43601384 768313554 999556262 168373283 435267261 974271559 181111873 790935769 47826207 372602537 64826758 702720475 759987585 902448800 749083400 233469475 872211936 41942845 918214859 745767796 422869127 566187051 364586673 381666481 188951460 34353533 554559441 945365397 512929780 124640314 137692001 126482427 443149039 426483459 21339494 624677660 507908649 376755233 433613864 94768989 292336147 631331208 127233187 772834530 165198176 900125568 618632594 801124261 400911532 305123248 44587186 895401099 247989156 78709093 642433576 285708127 89687237 520198592 228385188 676281335 69246957 464423349 587896670 743360398 934305161 190179211 72014481 989379708 916814258 658349960 497343106 625647109 804779622 197723605 107373912 852315749 419046576 864826109 87952906 621910767 669420278 737200413 607095476 440047260 358634699 456694318 965779414 428452252 105460659 871120798 557206596 575541042 59639091 446103230 812236728 759971909 641230485 765413050 671054650 700202809 258236790 266362778 169088803 779208270 640907917 344380389 368625832 494923944 839853336 387212687 21405756 142552877 440521470 190342680 559863575 99552413 277361690 31275988 402196706 567089857 246486911 918254014 269745435 548643129 159344793 81138265 249800221 818508655 985293817 589302977 572753798 292343741 609714395 37368582 359089218 582732316 846761121 310917170 542120769 849689473 984677593 853603736 621569949 530700136 132956337 187774874 741314890 62964817 864697788 961982506 920068851 314453648 136658853 251899222 230061685 794215631 831157582 958565126 970223111 221075108 341669604 511191663 793134996 169086407 492509012 269570701 814329437 777137127 894211968 42760862 572289520 725006518 512451946 440111027 553525353 257723674 306059307 70046921 103102959 843225741 755072920 331939513 317689806 11981944 682000031 420018308 404469499 454888704 871448686 250841572 159467998 643995002 283386574 647955970 614512577 445437518 858779891 756619686 261648209 891209897 469506249 673905160 860836681 915261688 66533157 525251030 448628406 862380144 735003258 523238967 655304383 321667683 438288478 586662305 193797620 235735782 149698373 19740190 400651784 776099932 554122513 932144476 295233132 662813652 728824711 86127978 380241537 960374638 17414505 208946816 925120353 35216455 403727431 289081158 758388162 572162666 204320006 372039827 362684615 990877674 790564599 54153231 906116600 880017679 794214353 286382015 23660478 699102199 838136027 915156239 771305319 869407182 251196677 165486915 359577694 609273703 872148257 345426682 572065586 805960034 540097549 656555948 631426112 146822321 914359697 910081864 652068300 515176714 553860608 937128911 63425482 93256524 668386187 730261402 292594348 960353308 244606067 279165897 747758619 720116323 559386160 168368703 667074159 651081836 512547214 621060559 984323571 280794686 361676748 244716070 736984587 172582593 506378528 63051504 273639556 93955648 324740333 687062319 726407165 680481132 723317980 902475572 295008433 106881934 53765308 439606064 829053131 194428347 579829472 251788213 965555526 811417783 609488 125900410 113325142 554879637 675007246 213331398 830251821 688076197 59539875 132304841 243789979 254197938 931193598 302355760 870806005 830232810 770253943 845956170 852861658 128008596 112764063 67434106 185643694 918900295 525036840 673631809 582660708 827613595 580029501 305793543 112622219 246797886 428529912 739341989 637449162 322104143 416725820 207297895 415739430 206312058 375880425 216187182 604444351 517779705 647564134 625947777 158430377 687600123 19098232 513661613 93983344 531446985 340126785 756656421 22103631 281692281 231023893 543663570 164489116 116303213 176188323 884290599 511154112 888359764 773600665 29026771 186473173 598629148 505489292 489474734 649686061 683140603 143896555 628326191 962725915 753967950 40925886 749883405 767974959 68059592 447711766 264618453 674257746 477278470 174847303 799570809 348724330 503694574 179548947 784326765 167432980 13962314 692807928 967573984 97583776 244277566 813939830 434675736 615300940 18790396 167883897 455478417 925590917 146800459 70306424 832057960 539730637 286719811 534616013 494210992 486485971 214716460 915564129 862549226 696292027 860051991 196895386 258504953 529252987 405702410 174477411 217292165 975565819 394700862 682653385 269676977 682705155 553672093 497899711 780095200 308987641 826437568 703940112 190931242 722859087 182486498 758847612 385515891 756982307 814285498 843006860 85122727 900895289 799153355 5376472 886084327 643665534 665774634 686747410 651256820 46934083 834299236 210195964 784932013 583118103 71004790 61151482 935924823 602303293 621102268 175329437 661580087 159089493 320946708 816273884 353789216 494960813 959144755 148289789 616216426 507087810 542023370 113399476 259250945 578314296 903841606 210590894 657139951 276582261 143763864 705913481 152781785 247352638 349748447 689254624 281166768 110209149 861598661 940677198 761674517 393746916 897710832 815008995 505479532 762271282 787257996 279246838 983038230 446816642 177841879 997612038 658618274 187274732 680170350 937213607 502299927 316715525 110682469 9902866 828206022 820702764 502687550 136441350 298678317 641847865 528940819 790734779 139491364 72399031 75815045 803079090 810298488 561485116 977189981 337364647 997225798 435850972 728034631 769427735 501002697 415158688 993419409 761305473 738904169 787697387 551837916 926497595 824156669 444100071 654314886 624694598 135657188 485410932 234204850 431713202 241952066 499401949 637294688 171397296 17840949 97895133 148815051 551212661 785283129 111460048 525972216 71338606 151520757 940576201 328818689 328899062 988049953 773093066 812527282 179049582 633475661 983856774 401889443 248607121 610597312 848176491 298797973 311266494 963734529 446218510 46894898 18067876 295567591 916160021 661718623 56871445 151522104 713028693 680634764 808930568 29500560 674520442 643294171 660202300 117668658 618463335 886756657 55619883 94370311 69130439 693699289 356169210 57801964 30227340 451071060 971520110 643512596 199086566 515937262 699675280 473468750 666103167 319661991 698460804 400851933 398414386 109498697 70290017 767423326 945060528 798458850 601736287 476448261 825855347 79566497 141932629 438546881 311544655 357789704 21290686 363364647 708442555 777949933 224968719 933695441 64965585 995722322 254430580 831348311 32755261 172228996 232120324 755105448 475546062 236613790 815853196 521720449 147443855 939839149 315412091 620308601 867468477 21151697 943606757 971015546 555315456 37930790 652826769 940762026 406639208 888985203 277802474 259253301 635951831 26838790 183050194 220020833 313684480 237159123 979420618 134160618 569967444 680687617 979617889 271640871 421393848 436327602 990317864 196330657 131372326 727637112 279885508 491004353 207246153 117442842 403370406 301558605 549313291 604401006 866994364 278428213 56209273 246480494 125843181 297663453 795396851 87829081 459515526 28437894 418395359 598410033 842843323 453977040 432499985 547759017 483472893 442357494 875903259 248456374 395856905 62474904 153577696 261206420 120858949 173683811 297787175 835631985 979160650 949705531 183936083 620364947 446750953 660973967 283758096 398310386 195802618 71276226 590590255 252041401 68731489 17386885 286690972 551092632 30631815 108478878 644725142 816859073 882257656 253156196 147084016 120028893 933854988 6648547 223227318 405471305 558077209 303175342 907264592 228947207 197961755 340858718 583027286 624014335 993686378 972129499 843239286 985393134 275826884 114922955 587539357 126870717 206118930 942176610 57227923 414778918 952526213 658217226 479251060 201739010 738477330 969995421 785249692 563295643 576322058 212275640 543294964 566413235 912107006 88397434 62965757 221660242 726601741 551464192 934859682 755837722 273294599 983452783 187759329 396439110 494645722 350187901 207862540 398903914 437339092 495968323 377957313 731719982 200540610 937680553 278138992 382761392 857591310 630166328 48274866 42051731 361228589 958619289 771220530 80879284 652676966 401542610 74319432 431600623 22571659 167554482 980336932 419914645 9266691 229306280 219818128 312478567 661412774 505102060 996411488 376078829 755609965 82290837 118870413 391986567 589409191 150748928 615676904 671541678 93614105 60686955 833489130 907286867 849769288 578438962 425795950 409486812 598446963 285420881 50684913 772905144 811406397 938389705 688415357 672259450 907028096 460258148 807275206 315236527 207911120 608043142 157865333 807521058 915429748 276263244 770180731 227167203 835876647 946115645 200827489 13360720 302683879 59895435 445252 54930135 167775387 422637409 195566007 266122567 81420260 516383934 411067110 19801826 234955661 641172609 538040043 229557434 643317060 1937070 601625930 870927693 304218066 315245773 611753547 573965776 651073091 975290188 815744957 480293726 312481284 864815519 8646344 639888252 500573778 821264486 299087703 845041452 366166186 813345196 27520191 728657688 258321781 43635489 816123413 913129096 278481410 88332099 419251106 3857180 793658970 651966946 819279209 264952224 905146489 76075180 985562566 467844702 827526867 948712392 322391404 263451265 232258265 146860904 477536878 303303333 912860569 131361216 206583814 304331721 284327109 215049054 509874313 129487873 759752878 448999225 888044109 391967059 443120625 675050043 42570117 577976858 792601681 48089294 336569469 195893818 503281925 138784077 292710868 279160873 657348835 737290799 384677440 39815865 228867509 534798230 887362641 936442143 451277814 312624855 520798441 494743905 185020230 391232342 5646681 189555126 134970077 772224476 307561795 271389850 61683733 906890024 444652478 694469804 545322457 119389279 297208432 157382165 287092820 855874370 257259342 981548764 236241889 966655557 679055913 538461003 624848335 498224670 553070724 537038897 510048668 16660232 282081666 364620426 830049122 382168912 315179874 16961730 949967966 626673226 947122507 726534507 795486044 263209810 98588895 209283198 758479576 987955359 303851327 955052985 19784846 527191047 92795525 561071678 698883707 695050185 639306172 469986640 755210328 321237147 662935273 807633986 512300012 357020964 58762943 418232329 892654520 100853887 659009073 240997705 946951924 374474257 570932801 990616412 524360834 398150435 189828917 87939705 757757826 822203348 292010221 489631267 560224713 297470856 594500258 166844001 127279284 189438205 716492759 386516340 232157507 702013731 709575140 78217148 107344320 479078261 429078274 903667997 442336650 125818880 747067440 187585711 476910797 472207033 631845262 993733611 884276323 555875607 984016325 727476102 748736644 411834379 615013554 55957960 564013258 740774915 423325711 131876599 460501653 11911234 745445069 618524815 511400767 392497092 694029132 623162277 336645217 231498735 572029950 539432659 73993104 261611861 230288506 209650249 34041424 709595943 792071781 840093401 814992652 48047202 215751611 422808634 473717255 327397078 38120307 333107797 831352082 951530119 730810300 38885695 715761999 88414827 799210940 43939646 307756682 927667041 175811271 222105367 980035310 692921501 604685228 920420922 589026520 539269189 953525072 846261176 883331108 251499408 238480465 757445105 605700389 546335871 662765176 839754492 309925860 523387104 399795249 978037418 894763303 158322047 956260112 284389880 999848980 985114013 165885725 363276072 370112887 465019449 340368425 174447479 466669449 122930403 550021064 270846646 576049208 372601122 341519210 365522351 914045629 130860276 275378640 791563091 559006650 14963966 144883874 386005323 169483908 894388934 766926783 178384478 477108163 986240773 160521563 998820965 509889143 676714040 228133575 129322712 41250187 588842558 935807859 10470169 775656635 9930102 289721555 405189554 347631098 919682395 863893180 562785222 295652097 616165944 528486450 807963989 318271943 81619017 20629252 265607749 799301219 778770778 874143258 166055630 612764204 216682375 991440290 535548479 689024476 101761144 20469162 414783367 130002768 256244841 3699032 570775085 146201636 614928740 942183679 424811089 812399309 992108613 205420222 120962345 760211775 7884093 290846630 291408335 102079843 536068401 687206457 494887628 958996177 47013051 1597300 221476575 608703656 463738278 620812624 347246977 563533027 131991101 416039737 369221077 522601359 281714789 374342520 33236429 222632010 934943511 149272013 191189226 929353431 732413916 675694899 123764470 225238029 455311809 922724424 178609322 115644012 290729649 88618724 791263853 452967419 783521179 6051898 953284359 272676728 872056915 109911579 268569675 763381962 534110474 2622434 455491344 657833370 174126035 659754070 219166052 711073222 930571377 70569417 684624746 881529127 69854425 444165486 605574642 104129764 170260124 428356993 984511092 98980103 750869541 519233010 694146984 196008721 115803987 789530252 630258258 757160164 198505539 877326286 761943389 797682220 233404744 659047275 840966963 826432870 155414054 580034980 711176915 218740488 343232824 870506728 827993604 704549520 540382574 333152191 174752509 564143426 993734660 755160262 356801390 245547027 310344523 600177955 757696916 234597213 671674723 64035311 734527504 153932321 581399110 453550868 70846644 751848794 618820525 168064116 295204226 425944460 811974051 811924629 588677568 949730004 34786899 216821387 291054285 359996971 555879102 37752648 514427102 315600501 74835543 704128517 704440310 341686900 411310525 608018602 928208306 702850497 138261344 635284510 979975828 231868042 910608231 46462115 17184683 206276826 271018476 510841583 348885262 876838765 118186136 717960488 497701105 762812741 973380380 749291392 548861444 967219473 97472258 4930306 958356845 104684246 70038665 186674264 79416472 312245442 49331208 154650146 915360542 613498875 169512856 762426247 194848576 236809339 531272241 349779580 940527803 500248032 365129138 162501331 126919906 288690565 222758467 449678293 762870120 464519405 807178346 995687011 960954482 522907280 584289999 142656328 709710936 306929942 299543480 59461019 268761157 69591675 954094494 225137056 93503274 103915234 671802361 956020406 871619686 964961403 943221077 138452098 15748833 605314468 885755342 846529632 30165716 56998037 81220024 26168392 49349141 983543352 791639720 5571256 790454661 153544971 495790442 93443290 291973634 337289534 523500276 750299134 379725789 44375234 207725332 351884523 97717145 108354956 529165857 563578708 886702478 781610982 406631505 139476508 112841500 606528556 551013613 556947057 805858276 622481959 808357750 908247160 584473983 525993257 367791097 251526781 160484690 278054211 348869722 693903750 822570704 209114973 678244 630075216 50661430 871667932 924956469 529626537 428780436 204431550 520801346 940757040 446747206 881454968 264986066 136683747 980681131 199749115 833403524 755459644 624791907 261573702 485156448 648680999 662365900 104321666 604551781 579297139 543671801 866251557 434279954 665637934 287795915 714653616 792469202 17590742 381945412 395633431 151222908 457850375 210159386 923915130 597890205 981203710 332990525 968480005 695615240 972252428 66155443 5234634 910024569 322439691 26495877 96468501 560444150 995417390 577602516 93880914 507760257 193067724 956926074 235560915 378125262 527048243 202415341 74701189 521425929 47736994 88973533 492215869 892985446 130352352 29378586 882535942 627662472 267745683 224312102 266474086 350923555 790033803 780894135 7843968 991689006 101302996 312922654 432851212 240207304 506965862 509857564 202540303 322244361 928851655 369508293 57030559 165736897 703502635 846743550 562828634 418593936 176778209 828428030 801387964 345576447 452978338 673282034 952266248 356614493 745459327 142440100 902604020 217403006 777892540 172126304 67954716 620388703 551569957 880586255 143185352 286469314 945716046 599408257 40214091 308667490 800413494 510213799 623204253 143093769 353957678 23905260 208085078 506246501 337658727 726115320 465790140 714482355 238732324 62930431 107779133 495034380 303118655 212114714 398665182 448399677 81372715 28728090 918191164 138308209 720662689 676462269 904044512 412334275 537184921 171717335 845299955 292491065 209170041 259835498 673755437 910340269 378240601 295397909 844162942 756334013 189104379 317602522 528366167 803599221 482784185 797342911 977057699 609924469 28401724 145116714 988563421 158827080 200851259 483075047 128061401 685574491 996017740 617495834 18472074 122940679 165535129 98492169 983568705 101114231 844120695 583341089 583799184 196938571 895006470 693278490 177729412 180396846 794865733 944745252 914946977 347204344 838409203 345182596 438497292 13822117 376835908 221742071 715166742 20237955 684037207 683182892 979737862 184741106 637333430 224319996 724661867 313528084 788690819 144750948 610063455 733957171 241241726 678875139 897419757 422938507 766242611 518995877 892293327 798037305 561544250 875177691 528304042 713207556 804229682 436804966 995334230 42840446 970194805 407280220 553852517 44135128 203161727 672295603 237078213 705409939 111989888 77499907 402198354 719294275 671042923 193668922 574399260 318158703 212315516 969953764 532211698 122753820 744090329 89706575 505309875 576222175 539884189 355000992 628283873 943504010 660179552 278376070 579481984 125191965 709173050 42644345 487249259 799209078 275583540 678067740 70927802 812375107 488881835 351813780 575315152 946998038 683143908 928013257 567082336 789691471 858467838 130015445 228259034 429563469 103902673 423461874 321040181 52321895 98184920 195965463 195409692 274038917 450919070 640318378 154342571 455785757 420818853 743661650 791811783 535750277 519339964 733798478 530122878 3851450 851814164 738111393 630201649 351975106 501658893 962588324 56770367 531849375 604569142 909478041 117708520 157238784 536094349 881637393 876122871 609046919 469687737 481461900 154902272 358561698 470095992 560324302 478296223 690516426 263417565 686843838 884088336 195806871 980484856 491058959 929637548 200195908 244387771 578469471 860914600 276537147 770778946 111193101 91406820 827059303 248756956 638550697 517272246 789760450 543481392 19952320 196656987 752933965 781157828 824438378 145326805 187301596 569155780 100170699 158897831 32897259 429108007 498183172 922429148 137971416 254587489 208786561 677363165 851662081 669812342 992522694 301013259 126682161 318131592 799746451 52560755 508047386 603083079 301564438 313648066 349870276 971647618 119435705 966590218 7500192 166932538 286664960 768149287 114245769 514711721 718925644 80574682 595083220 749971 489029723 542305637 874550335 766426741 704010097 321125426 629468316 699575520 129346194 252223430 946185834 579582085 164457823 927799541 247871210 439250800 812672019 855043783 187681044 660031216 289282883 520524376 491412464 653423826 939532755 549932171 314184042 339841606 772990813 245640132 72189205 956527353 811392652 937960343 243440892 532698067 566455110 584134817 332405162 990817160 569507247 778954766 765871219 125301169 188124765 785200073 404870006 874327566 651010443 37740355 528179972 63139630 942753996 76536707 142295302 231570187 831016619 346343956 508918266 302230816 148115071 565259930 176864100 380486556 209390569 523363900 967960401 925217545 694925880 433894069 840120643 516593944 748987257 247317337 727225436 916815993 558167547 234724218 523840246 641704736 404324482 426453193 162787983 238644387 919708680 787936151 933142382 528398439 197078331 152960624 290518615 420994218 550846532 319946647 631113024 970824841 113456919 632843828 32719615 362213830 471165871 427992304 658927595 887017825 43336041 996708034 749072976 296885945 709415632 663590369 743148845 270634936 656196556 244445346 462122421 206615414 919801716 955655860 739846914 20248048 137987367 761730653 107967330 40756253 625985041 371603896 602646726 893659723 207469135 156737734 485834868 431788329 895237547 931593888 31424321 679386692 293945122 117716796 149481129 797507136 8530462 341422937 150750134 419229598 963660879 252619619 18257267 934874112 737944220 47243560 185791082 861744515 727139946 867880478 647432395 330495015 932458462 31857094 663280610 915852200 246305668 481200327 192300921 431614625 416357939 933248915 680765288 829397604 175725832 45504698 440723090 460661005 75484583 746544524 282289670 678857419 984758772 669233247 575881558 669111963 268359036 332162763 189130550 654775787 205472668 522517651 99565648 942450524 24428583 480752378 509085657 938458140 387175862 953979623 187562215 239796702 195767965 615720730 563822778 384054244 271750541 226565158 834580770 906996570 402927078 629560070 720449871 482224024 507861968 600905513 270377890 108958183 637644107 861372356 137046356 183021821 411034251 855806609 795822792 667470981 404311140 560664856 253773870 203971470 772618461 688315875 881540379 960559899 785717475 23554555 347069133 75971677 468637165 756206990 948632392 739836783 194159986 445808168 73850539 852854979 104697684 119239430 661053296 708097877 9979115 474079287 104008420 47358791 300967529 245852450 348434920 40536095 849405062 237098914 120218226 885865455 706673721 349439752 211266939 532117950 366706262 786258040 745559791 395823933 893720874 597778148 110717216 606437433 87487906 735007581 140304885 505406027 450235647 488337841 537387245 46735249 247487414 221785225 463810160 313933188 770197469 795541453 346856743 706508723 507073459 483986633 781853085 412066953 107590864 332945637 126892932 705774800 235211750 370492651 149156542 453724587 177642856 502567504 423130920 740064769 76413280 162694354 853251029 258923341 394466653 266721715 744779698 968271958 773125622 214542466 195789654 621999999 683316668 41008096 466027541 586818274 34047655 392541134 273943752 611152402 748219151 99870591 322296412 187853421 239382363 323833183 814543540 101319169 181153697 192833181 901186208 91093009 50911351 297675831 318316201 228984162 214423342 283885247 471736177 128196039 742422320 108126842 425766119 18853539 252533139 939584352 244106994 506945725 387415012 454810073 127071801 841544427 192188287 494072163 464000213 200433499 307217945 540662345 568650014 740614687 870486050 930489260 59085158 150131521 671472203 663226981 873107050 700601048 845656618 230301072 263106509 208956405 777302131 841956052 183668671 682651107 952328324 4870337 508310157 769344084 22215636 611290159 267040879 31747456 413471339 410223917 533690754 277086106 824155280 108395687 254122177 169048013 991554360 699342590 247975168 628061920 606201701 293151049 234003911 443959073 926238454 766461144 2037078 604882055 595820241 656859463 204003588 469224625 367652402 77685441 854005503 704738992 795867952 866834626 253564180 433610472 11714235 770637336 239083763 176259585 868595787 867068172 593045364 953571759 650134014 147638277 297869051 249267642 482077719 751712530 915585617 426583329 532097304 426787689 950820571 815248737 862332912 172908304 342812694 187883406 125459468 206951954 5919062 607726153 463203871 162454292 404906960 114667674 576816646 7614417 343863937 196273921 542184641 949293554 76593774 289672008 874861758 588245765 957324337 842429072 325935254 462808850 338774610 783036678 824001168 303589652 254868861 684445083 704861318 334209575 557761302 593836235 340224365 336687321 281012214 148081507 567144337 898544205 788680578 849796188 581480412 142872839 797740667 532985622 919018840 938430167 456845618 619944077 513153475 634808194 650847256 436995048 755786284 290901465 903888076 417036732 924320815 62609738 434830904 193498114 292290628 266402988 541517015 555342886 817543747 22601392 127531563 384430690 237281942 946605330 541646098 145932544 499405789 260241980 797528228 208404456 557143974 16564992 717027504 549284398 638284431 41894961 387459639 637227312 101522856 337546361 381170339 806338895 955471972 28945575 194440224 142775909 243165315 677905056 255614492 987027214 739976627 523118418 294515771 193939786 128249356 67942053 28537588 542335525 65211317 56274676 993220330 290370295 689172905 279383051 252893300 210109269 378145904 746108167 620087736 721939410 569494638 595596986 470618730 676402821 823110650 796001056 263285475 340051930 336248415 103310109 973048241 305972757 695727886 330048163 182679643 893229426 762737547 188342533 335238312 607612070 359536706 162866020 927887652 421174437 531541795 603786298 447965646 850866542 206553648 957285450 522638853 504337782 613548819 468009715 193821315 319686616 629779456 48959036 669422487 113265313 925604347 896754400 383054943 516676573 404636864 403652244 297119658 985366227 596284609 242265061 452990918 514063037 531098461 291114926 940886497 146458406 814981547 835586235 824772499 47455083 772359459 442949157 361218757 44636166 355622530 868128214 343798470 770928230 138657401 160956615 854957344 805882058 680014118 758798919 113813531 839338601 70000891 52994763 958048611 833222747 211094712 70390789 929575262 293007109 82494481 72476946 977999307 684388244 599690069 918580383 899463171 9910103 874572786 767965526 166611440 222167708 638663281 974366465 793130183 989069564 517972556 166123259 20128642 892168092 271606999 374663696 861229111 759348541 812841470 934900949 271270521 135439151 250608160 513606658 808617594 849381890 655311119 264436067 869600814 602034507 184366727 15006119 111380161 866459928 344067692 106065670 742711358 799716654 693853497 222585190 266495145 849464334 674723041 299557426 849340579 134227491 849625149 378406352 6355816 266032735 272135003 915695941 658747349 226591463 769139065 919518760 149390579 908220767 919561874 362922218 24965026 967133488 899017776 675955079 87247304 707213034 724042537 568842049 812265346 207813090 911352808 34525518 157240466 698420169 166410864 415923227 393028075 67470240 769145645 866590943 784381327 223016732 45735018 55520125 867080125 358826072 586689334 936770688 259727469 121510137 815719836 644412812 518854020 373142784 400604797 544117525 420417636 137803469 190258574 129362630 56733105 268112279 184186657 550509450 166913496 28476962 147646411 454800692 577481532 549432347 199134059 544826734 300568333 457429574 244833269 260336677 982275362 184759349 152372779 491335517 933941720 297557174 290192613 400419638 307588051 14562044 401562080 170263539 867873084 753376035 780093771 661194377 79301125 856837464 252127197 291233311 52603971 989407794 583811704 224330260 270386754 732587672 182847095 239665574 99325552 905180689 418015586 253272638 994810595 318722514 280595254 164647427 5285608 91838457 970311322 342223945 369838706 41599652 711967900 56079175 677675110 230966864 800973511 790103230 812005996 148408256 43549830 344392884 937855670 978131447 275398818 386329827 952037644 792075652 801540507 195486435 940832973 658653034 328820350 217013927 511513107 413643391 507010856 977241897 34390903 15461879 334217064 3727131 193851565 370478606 7288600 31681994 794305670 777577615 33505246 132579347 210029936 495501913 949211936 835918216 384496791 273100955 760227641 874880642 78012692 646185015 100455404 801553217 628131317 15222849 494994163 587879930 869281367 125618843 70367664 33201965 179563696 495018085 31420244 253458798 757284460 605164828 530915667 818866670 66902312 349770400 430872156 91041626 550802944 521515206 69735001 479837287 358984420 814011254 163700798 230362723 433108491 647469092 812115829 497745642 112165987 403182871 242870635 520299881 544478711 880917215 134801133 561289065 568574022 39093020 183396917 141155637 842477106 657747074 366853403 244711460 979737989 964362516 94568927 358342134 144851031 250715077 312514411 977568901 667815992 653454190 950939750 998647751 21187775 619485025 7750690 553929626 905050041 2837957 654318859 723293047 619801737 509946673 662084831 603154423 545324376 769322502 120215632 43128485 559760487 835060530 15955554 250307514 108879263 197913262 960279804 302707320 566726299 278103192 719634174 287111442 363194798 228087620 239839783 483133226 918031179 613320862 937902961 219891208 503379764 716203630 526122763 648466399 221885708 693039491 93683758 856594689 340972470 13687677 841163263 635059033 979706977 148503826 866957248 35322932 318527095 953727220 437770451 54306830 143344628 556341788 92924497 542854792 808928489 690114148 536211289 219405259 907948851 340872812 696103974 502267128 578096504 843128294 699321393 88858121 260887696 628008110 206064835 913066484 876828114 980532114 438506358 769922829 994203157 24069028 22959052 547799390 716295189 168703093 210446103 85496967 258326509 403910420 725556286 7849690 60535908 424488890 401565183 767111492 700592375 537796099 265832817 472473034 205196169 754349179 2870640 678664242 581691419 360995733 201444464 763953005 857030792 308575053 305182865 102758126 212619322 233337652 461399578 835306509 360127364 321476363 542301355 689590825 880485665 778064853 494239470 763976244 776842978 752697472 33445479 583631257 204421266 341265659 282967568 652437803 39301864 315503722 153773566 67802964 373339569 848453788 363033105 936624600 984172801 161548516 451938782 991484863 64145566 604788529 288877542 65189705 203651368 848455785 473806041 964809638 952487953 759444196 149127405 780115103 893952960 93933282 993391554 852580044 851270489 253693520 655872147 430792841 664449784 816179251 572340851 847831965 824797573 524041911 542555105 970149547 385298881 867657482 500193406 259751341 408412697 369731387 726660765 116964524 529348995 417600898 129600911 367866290 48553845 49136580 907036731 260248308 643700430 801268869 852516171 609238476 22498361 112217887 279927232 381877220 535738187 244905013 897789146 236236863 656058347 42834672 385007216 741947899 969584321 873462876 574638698 54396995 603853342 133228125 713561390 58035487 936278962 204027043 323939352 806845006 988254233 530024997 803646907 734611603 783991429 877100398 117383553 69451858 440003088 960057287 727931340 169629008 254176412 42328366 297179387 62759368 900169195 129224812 25887452 380481816 699246499 454370790 226184019 50731174 990224291 568798928 632255365 99626561 683679923 348731428 623745021 22341135 742178088 9150674 86965707 308941010 472468507 689545134 600787346 869564685 104821640 79459232 905649320 454174864 33493458 946797656 230526869 590007315 426423506 17874146 16524781 165120547 205904263 409550008 617912031 880170519 418551028 512819773 542307235 922055911 487691286 103714965 834558040 860055037 42740614 273904012 790614936 32944507 207777162 47350908 533125807 936530342 411827475 258810833 678355888 606596810 702678536 272944435 238556027 434573399 327035111 976805903 327592970 989569682 21584872 115116123 442727341 60860580 911067008 379807277 513955053 911704247 664893975 91907921 531158534 529516777 381359750 798659742 299863766 957838741 471659822 777526707 714364391 73283002 218498047 241133108 780366378 3989776 72672391 284798337 829531094 852956252 175613525 676894842 871862963 490849794 595153653 25870463 733301910 351972390 562096870 401504172 100832526 839407035 522178598 285458999 575983070 387216606 595672952 286515811 787115627 636856339 250859725 73773660 232232511 318062613 184930191 511615100 704131779 199427673 486564552 838773075 484511234 463508321 921501855 231400057 270672771 213396731 305666122 812016183 433870618 963821366 292980362 523628029 591223281 373147516 661523317 240183794 643603071 593860362 815216886 76937484 376108646 83888187 166564820 801591424 877192091 775280843 664172152 90410665 489216018 879605468 860242811 220337890 892894305 328697451 130513063 960360358 169910642 570947904 946154830 353612482 491750080 361422590 104687882 198542313 282395855 467610953 533428822 541928010 823445719 854960260 506311715 897362827 249250622 328670879 796863892 953646329 106025647 929185688 713824079 454825011 444949411 730609228 976543925 754656519 331167548 625030174 638024463 402351458 948196477 10501057 201922737 894011305 334745599 455942939 754385067 116839500 226115044 705771114 193964538 331220630 230140213 811645115 592069768 898903243 609546373 658130799 753990208 103262261 79279624 921077145 823248827 458090456 462468155 478299695 609030791 691875666 740648250 908750264 186909611 943924670 26261072 380446117 133231749 809119633 664776614 854437264 393278793 40710853 375264133 279573017 126641848 500561726 141780904 865124224 600950959 985904233 303050213 638272394 757964505 633255801 332952077 976170084 677957235 798269394 522026464 474514019 766701681 11303433 570735279 319484462 878135027 79370970 135723532 9725423 128581528 327459936 30947101 748200906 156161820 482356349 555147932 740108831 622715718 191930218 852784124 510934930 117855177 64681984 144919984 991140533 915674074 72241874 856250045 466286632 251614756 188845720 677773711 388643361 332732312 626449742 936142897 306747856 377947670 331448114 648582286 340067669 564129128 211453853 766883987 165520687 870580564 218277198 331715582 491488227 396018661 342515280 781407128 890496045 144481264 704431078 67757771 183658002 520606170 601071662 496899847 540732065 106198793 953228790 810428852 947833178 113400465 246086012 202044956 715511897 306382720 45897284 602903410 628163252 206413505 249091620 57208986 820102804 642159083 834152857 210099809 271014771 701046226 435970887 763684237 382223390 986878228 463018845 478981747 244674716 335107325 630310486 529866394 144654043 596388637 293335013 389815499 822573533 694680035 655891388 844334046 408600763 959307464 941643269 694815929 389574380 398021761 953611119 539724334 856202581 613695518 861714764 331220308 592002902 216749617 408333671 245786394 190017583 795375960 425872422 22121098 630694595 754253872 441701029 216731674 837797055 908499967 644217929 91718619 443277654 499598790 531648892 528315474 322391182 324902653 207896741 244499872 420981296 88811296 284247244 127487867 473064352 209275020 172863266 796697966 375408989 982230838 833124418 847053770 59368140 504104192 142605380 477444918 735397106 87620286 512080091 932525600 172960415 416560456 102339201 392372488 440961158 372365898 857166120 618034920 15626444 713916251 303941469 36296154 39435785 166894197 614655925 131544813 994845617 938039692 483460398 442227076 455509774 746467109 94076137 24477560 373665766 823300991 651165499 435804660 553150259 75169234 813437903 443287804 250151587 432877284 950802323 810993561 288100004 447671197 138387555 823565060 489771322 241699980 509782027 167681330 255068396 233419830 462663951 693585661 279808761 574456771 398587457 272466543 104134683 970623751 507043362 416673677 500655638 785338049 695078526 233410216 24631138 135105308 344164024 501149284 651588735 849039418 500695668 315761875 486685564 286892626 761550690 189371343 717061323 431782284 438273634 768639769 299742808 307548138 216571897 549000972 57224867 488478502 606434742 717035384 466217364 134427764 810878662 727630949 411208191 879867187 602397010 103048759 837868943 466082896 351621756 875286470 805519191 145893777 844617440 878295607 977140360 794901504 541443071 653644360 538851652 997428210 930694022 357751007 916300008 68029072 474528315 923255583 70369379 10458679 707752613 330807081 89764047 317529214 885791003 872842711 449763446 107731671 346465862 742460783 401449708 976682136 257737419 227889641 446928520 740884855 98622782 54387580 553883925 522970883 675060323 68376027 842134629 420335859 67966781 51079056 992389977 786039538 185648009 373590614 72455540 671550609 156453762 745389030 870385016 877283478 42474124 708952294 762386417 936115590 513282714 874249624 661156842 529725824 912024661 221809539 898704947 195969180 258029864 879613311 48902265 852594146 58029303 439570971 64457709 420137039 459190622 436553609 356204441 672234632 645056846 239010988 98465147 740926730 206496753 612179912 62257979 976970775 381151186 64242891 808276417 224108773 576433687 758944433 310268122 247071626 13435914 583493796 377422527 247543203 767833252 46093384 146308321 445372599 167093315 601696726 342474469 151570333 273760638 608717703 893894727 58157156 874294207 729582072 396968625 438573423 459278659 145654317 942455718 44302157 463948401 136217615 190631906 204551552 412762657 603008692 931013397 68675229 799453587 986114001 273816971 898785719 290252023 483384032 439577995 267807316 89264196 934193064 788342316 378682753 888750982 916645372 463678710 623027618 51412785 799445401 321236216 798616765 219238099 904725661 262536328 942223293 202485785 790702967 756184021 264032421 344364866 815486537 26737569 511358192 568677662 707911502 842589621 603133274 117207793 518980143 485912511 661964936 493704938 17659904 286524262 985460684 413622506 715709432 909713100 568468550 609884537 102035192 71211266 585268222 378504330 999025192 866631844 145303239 695842715 777947305 485378002 47642703 835838460 851742242 388382201 640125865 888678966 586071347 727587352 317819070 379809054 417348638 120589793 500449772 655891045 23316175 768249843 658236611 324276164 54745642 77242175 471464502 8999233 35916391 528573409 384079487 266175347 147156764 847502388 880022203 388359169 647125178 71205731 742459196 43728659 159271841 595666342 302157629 407476259 273912759 72222443 893567870 657377243 332137675 142303475 563622055 713223956 229003077 863842763 860303585 272646142 654963281 924254389 717132845 552081916 575941480 105706087 122448030 927704887 667410672 396910192 184579528 303634352 164275350 65187350 244931871 610229932 533769192 737140819 60051428 435549654 638949473 152372713 351630539 69408453 508718418 289743682 75575508 261457351 404306468 592544839 87796752 675468414 797280703 487832346 584764016 269190553 820531391 715149446 937513866 550939710 53471551 492311962 299200995 346860827 187594350 84665332 453931033 239221999 330357069 925205700 222310459 191968242 256454198 676902817 98496196 737387880 102155948 110946087 181767754 36006899 643575760 637346203 549150583 602072365 853123524 738822796 294927242 266261447 479145726 184303280 8639270 828922457 121364315 711954732 224592763 366524168 255219892 35447917 590629314 153645150 493531948 819498104 895031931 479393566 193918964 107560616 824606311 74007995 442053491 639784305 490751460 168312626 30175785 821857124 323002756 759265670 297155056 286678319 928852570 853306045 765559192 485262524 773203918 433874931 142237606 465197779 573631062 347157486 772233074 250723733 755632328 94145452 273702688 21174890 7404693 604677238 451467521 458454181 255342092 550214726 485803981 598648487 124935448 628953625 152237233 898401574 274553251 662006382 598519891 951674949 381946861 100335916 126693438 285922590 923679290 61547965 344776678 123754504 534227759 491239680 858505891 107043081 945853721 540725808 435304383 447839539 370290894 275031249 703655570 663334531 165680271 118246704 400123323 385706104 420245118 315829695 637253286 43401551 806318191 760667612 92841789 363002340 430947393 738160603 756695987 537223657 199633169 36081449 39705859 829474676 730012419 132640048 424052342 986853495 789500108 956160202 423770079 857933165 570493082 585032916 324976485 217922134 393776834 644332921 79807228 422127099 525636739 36279195 527804445 103374335 600344878 57031132 590230691 831081273 722547699 208630091 674067522 556961898 736441381 735211425 901363174 439187961 508697701 221172373 819562458 578179382 152583085 81561960 324222297 619186132 994578112 912652558 273370819 994124409 711659446 318520805 306504264 248233753 208886235 538944719 601592759 333456287 214110112 952286318 349017209 300348850 611481545 460105248 919969156 16874924 866898809 561954512 868863944 288998753 526123931 922656238 820016520 26975785 743431025 444078491 235544210 847094306 310674595 602629742 437690616 138695328 906357137 985472886 200061701 925232483 396932743 389509607 242798115 102181633 431481747 541731353 766454810 790745056 180645710 908493813 887171058 982630390 782780525 857662638 411535311 539291194 910304103 322664281 651176675 516842437 282844986 828584457 511656604 69457537 543867866 593976958 537510928 444363271 764615270 391551040 702373038 800344695 878638268 441605821 178212342 334680665 297121542 201425201 254844892 399483791 208790268 249421157 247133450 366644958 845359952 115692973 226893400 805624732 326647256 65547867 580256383 976122138 618624426 190025174 802444401 607458532 260804817 124001820 811563746 44667179 406539133 751921660 803448852 276441896 875971590 683542501 281597801 657942564 330464854 560187648 691927646 771468314 946681380 222056907 34962068 584178452 900254898 170100633 368254995 603349732 996411757 928225126 925094948 264699082 796336858 52579920 243139151 783362679 883614282 870567329 396199782 302657104 705726981 245290659 879471931 340399925 647488940 947048761 731934567 160838625 689800192 677061350 275196673 635504088 648973453 581302392 113967566 839147702 171554625 25239321 638285674 722905141 258586437 552559254 980186159 263125337 368667608 411711759 873179259 140409818 857058975 421171530 717925527 325980918 791475674 850397715 178091671 477232266 856529987 133107373 212691936 288138461 693475637 442252488 767196979 881561505 163250016 552384466 848812492 758493350 458604460 6512998 480178640 889454684 842027626 733720307 513053515 243407899 391656969 959463791 244814621 682167606 360548625 576302041 741928219 184516704 147467317 425653692 561983705 313048840 702655295 77095849 289572004 908786104 657551144 644045887 615767209 588713356 685614936 785959740 919604311 616026758 126383173 461002029 794718231 15143505 27568922 87932419 765405692 824261299 554111293 136722672 62460049 12500411 338030135 558544032 166176237 286810798 82607962 923971862 896815717 891589269 537722104 728546134 714582714 50746612 536279315 972866276 358369816 805189179 44620680 993743508 888180156 359631639 20986846 601400410 961752705 676235495 374487826 901956621 662456700 467818470 68357071 513380936 461950413 64735077 233619983 857422853 519151191 700339458 619166285 134865387 551415475 64529794 69236602 854812932 253463387 12078399 892247761 16975722 993194035 797469731 63277275 54972509 974878598 228076506 65595659 299058091 411883655 215210399 142222396 225527260 498205118 65266322 29371667 797706647 186451163 930207580 960048762 734945091 390999001 470962252 283343766 946619609 637473221 205569116 559365779 908189225 521463600 469100800 543892739 432731581 358462084 362271235 615262972 680403092 217666032 491242740 81621179 813649295 270441857 207474206 325836152 409649392 64463680 462205179 229437951 93331698 139788505 697947098 811204366 279604671 705314610 478106106 497875563 878457059 427068110 612028299 110152465 636035892 449841112 334421495 300732322 666261414 98906964 933915557 949057612 245944502 735050956 156516556 421840661 43787705 124075240 498633853 767072542 629826409 924909231 674462564 158422976 708788042 681780047 701314693 322885011 268435246 208419964 297122244 392697341 9753582 81664327 23278190 670456618 173751901 248517743 408695954 888546873 262090121 65305424 41786686 74484731 523985773 111811266 57951874 177701598 152902422 361943949 752194454 758637427 363140292 49697323 384080155 304617198 389444409 434731669 635469219 828419295 603267588 267797460 300652285 674669023 891113950 950159649 990536145 193193874 182227070 380800275 845532673 109655777 307885479 876936441 744737830 622755999 337854143 134250163 16998545 664769577 875426861 573068081 458095804 157850649 95204889 665218055 639963835 673952148 967702675 740046427 604834729 778960158 174940686 165308015 214617431 865262422 93698398 359331106 913970103 629679678 760683335 879478747 633392657 97590273 155716476 988475531 566449301 758199537 194354426 300941258 744587145 236001539 694174847 552817683 806386140 576410782 176109692 789819494 392151915 209801007 274025002 171798379 395892279 505651258 147382509 734972440 489195765 612377415 205450536 74828079 379861753 542744769 724893180 187356592 843091080 774439096 579244507 526381329 772576154 146966561 230268321 432677011 914171926 78132688 851772931 980726954 260128761 257862841 148523361 75636936 273393380 962833707 447264874 551007805 900576892 718094562 725307498 576936690 646640407 312878106 38197860 629050213 35848070 120872189 531011566 160762401 12041238 116877083 269486793 988734183 501331562 717523842 146717726 368751014 135223646 58285 886319145 772410209 842410992 628155780 307227553 51627990 789875467 219735378 448713603 203767839 932748362 184037427 56310610 551094268 866589135 896076245 441174733 118017947 8787458 167058199 43876333 622819761 549486815 91629828 479766822 724883381 265700493 784556791 138650940 212552880 436667530 835964018 995570252 123960426 259292369 296631571 978904967 940428754 448812876 141596581 49266222 667776858 27284696 158660162 469118991 263467402 239744732 206741553 272867224 720311877 130868973 339700194 904559754 551595395 112898959 286435814 409588580 196763253 180524983 796086986 120843343 8639170 685276364 184464799 883589011 192387756 829462062 118160510 852434526 690456269 555298083 555465006 86557634 398930429 492643997 17949528 673056440 373870777 41900126 684282297 272186575 50027326 25002110 81366089 272219051 771194852 414711387 381535857 26528435 261048809 47468581 564024953 822138910 64897661 297565781 172853188 989730990 237307574 238830081 81798237 801086511 654329541 610899549 735049420 299755167 155588761 363128274 968850576 566267316 847213945 334743148 468569920 235094473 316648563 199535902 509108710 387106413 606481142 463813625 736553072 702696946 280156500 839699479 51680601 7993451 615268663 393081425 462469174 622095302 336227090 962519119 288123801 796332845 923840232 954764015 407266571 961433180 781783629 204401881 895932891 795628054 586370683 379865516 698936627 97869624 185588627 892329310 145229858 20403291 71311431 46664214 851059434 786204061 213941092 329409050 959468187 51315134 114511448 459717631 324813849 161902356 126459844 956235965 296100183 726002373 193377082 42440549 924803652 649924069 283535606 831734372 780902688 945202270 506230381 478941439 767037360 876033831 244199350 187951944 162554030 209207776 149755808 332969038 183485908 396474147 565379294 165458752 708981793 244749607 157532690 267929632 144090698 313582964 60778006 377851834 588268335 591063517 315506442 503090658 168671066 208448016 249539635 641080049 804614724 308345769 306873551 599015974 800994839 663889021 782373788 279142380 151801468 868656291 156781217 509734364 254461062 100477605 196973952 810363232 14341401 844179216 887792061 58279971 802845240 8518032 161368979 638540977 899702317 533542961 492113420 675327892 424063264 183682989 919159490 154985273 104886237 60649566 864043518 965578404 943824797 118823979 416461042 747276604 605266897 454087417 857172146 701987751 764067873 289969540 121882672 923468961 278844004 216916653 875857373 587959930 104212634 171911734 365409288 170239675 360971030 19486728 563121962 211949022 391942647 778730422 294207760 221254681 68552370 606650041 645996031 62236784 605570884 639957932 150630221 388377019 394787327 872544640 432578361 529761605 315735017 44062599 237512923 472645040 745554065 601606651 859520040 974678617 26614578 416375502 86721743 458608029 328283425 142407745 849087471 295106025 206002822 239839852 97448885 314606011 168406018 508227743 250095794 197630570 435511692 242260678 380604405 383542392 684370568 271384874 753535774 570382010 926851331 298305065 250132902 769252555 139215242 441371719 106319085 81475513 20468399 203553322 972773408 101787487 969156263 578386619 994979170 676634108 171279501 623615680 569210129 168832528 703690251 937638223 308246866 122274102 404166399 94886324 948133314 678140716 354234282 813510305 216458588 193612579 814888786 100707780 111603376 627747557 928917177 180641184 948560929 814172659 144793086 433636620 384074956 412444573 500129914 909714667 277485823 484171349 810313672 989953560 717330645 799143337 486112257 989745448 215754991 34731709 97128367 232797249 603881016 648135976 694008011 861284445 319875541 59470308 119864334 112303737 231973055 151680301 969255665 477517215 243984185 18301882 738292982 938719984 145784950 339736755 412459906 187843379 155054195 505991055 920501112 858364090 306082746 238725428 563794023 520318840 617448532 488609465 277884155 954087926 108214653 43250469 891810457 447272376 126376081 40747743 421560810 736468265 710600652 636940027 78094569 506067365 647326290 876033468 812061372 656077281 416691064 362725294 240292997 906658955 355644281 209311013 642312793 263676607 35238346 468910742 582352580 175765180 24372931 290602636 633635998 710177011 750311484 712565047 32619818 678595357 463937224 48051481 99561992 386820232 626797616 202460749 216579132 336991987 738693994 814922239 193128624 156950326 971892975 614711992 83538981 705704306 371546973 650126329 373912497 643053938 463861061 231093379 443314235 685631274 470963878 802368267 521006328 131649647 47466758 51470617 807755300 704165409 615035517 457665659 69224054 564005155 111209918 725040199 728325251 351174324 801883565 418289069 985181555 915159027 523063385 7217726 36727008 271265795 746050897 227698713 588627189 639844748 775776783 155964027 474465667 268015421 936747068 346760953 234800885 915777224 196097889 107772217 431508756 496510627 727982924 442237563 343128091 951996246 842464174 686902143 976284046 502591517 296063291 144424429 19157365 674174598 30364706 382249030 162903572 707580249 505596956 596796096 306928182 281411729 671673230 16404100 186774396 334254830 338212382 931226165 257107190 386895129 924072384 515217636 847496979 199744745 245193432 174407541 362903143 672824907 311509819 516101953 314179216 493906745 417360404 838145102 408778231 237651455 896789068 962204767 205824404 96915305 397807312 117366859 418845008 938928315 937792664 618664658 169242792 888843860 430677367 436004556 205299084 273586119 817248790 174661409 373152636 164265991 505869880 742112728 73916822 216483394 528661757 929079062 522919114 678446342 738112775 877351776 773229281 837363241 846685792 473854444 853820554 765297552 900115191 138107588 761027987 870642908 249110942 19565328 267089667 394986520 689054681 678615667 336295652 115560969 215078150 942623137 306179102 439616804 994560160 752574348 722485548 736976496 269375680 445278672 819312872 121413698 509978618 264839168 556294625 942541876 535938685 214026236 109644524 629782744 554747657 484077474 826303987 434379682 681977525 933603971 879581916 288495756 242235665 422490211 877288787 481849118 35959266 614265394 667523246 403499433 889121162 993477931 529663898 259826889 477332987 705227166 433549961 628392896 570201897 539374154 598260833 520766075 999379407 628407386 423674671 112578498 662395565 399238397 538239473 164174464 374611808 999848036 349654468 951271218 770783177 807925462 64883222 917837495 370087101 683030355 944731607 154560176 951985972 613385733 265167104 61547608 197850722 848891638 146766100 571695759 624575429 954566019 847713347 256011004 480962355 600119734 898481087 45307987 776105258 297783970 202479345 97839126 850692171 810898721 109222896 771568504 435529022 868356598 870863067 634759807 234784326 900304189 111097917 188263748 953063644 187453270 600489964 770218033 119254741 924716974 971835085 638220792 976694656 872807059 662465234 414112229 714337365 306514049 691678026 26337064 307996805 772881831 58439236 784559848 204781494 679166960 628627038 914875322 790530408 880505852 301914951 671485954 307949023 730237071 542317744 269435063 996243136 483046927 793993471 850623875 467818055 206641836 80272847 508730094 927519214 289680808 323670831 184198359 525647079 698444672 351781743 532214411 243582000 327354947 611413527 519370231 189689190 90107662 168589121 372979646 732392185 843782576 293965304 673662686 925369328 430660513 25548042 569182082 68305025 656914829 142716345 85823384 617681576 110957751 961461371 60553236 771823610 323483173 465169732 169252252 653092518 780740993 383236397 313237050 239566582 810426810 691889327 492695636 899199505 108495323 682522852 19370149 839919765 944860350 175715583 464854293 759452992 350822611 909737988 492180602 376862524 331940302 450194029 509696852 26862005 414608965 977423095 305428861 250388442 277611008 229876758 109030328 803542361 971831486 809992320 909720397 609292686 376143680 143513195 845208679 911779279 153285040 555319551 808569053 46526400 490306200 918206887 918671741 468005041 952223842 242589313 778830496 628357971 273040379 382250369 555621363 153326813 115598128 137984961 842699155 670398978 125730107 808303222 297619348 205997258 566278456 597578427 223504946 585118321 297365819 634045143 506792595 24345176 914308906 439504333 688892430 318347283 272694934 348537159 11902323 128421068 192688648 198443471 276531236 408838554 946249818 386543340 230665788 383038167 29533097 216377782 225195007 214040568 557213730 172876782 169294605 316893589 662965343 790303823 344640587 961212016 751208501 251560903 329370729 686175888 15670205 113986536 582989398 43204101 627768148 846798818 993654896 306764316 308007674 801367128 967844338 132516040 225157640 986654682 194158249 923083777 735321386 977986046 604750726 464098979 211949582 947303042 389068552 220681987 553552217 270410329 570005427 283317492 114614652 984282049 9949935 372425860 551365109 914734717 298235719 80121431 17928879 36069062 720732872 860734695 137329926 398476157 354767052 268671136 278987137 781451945 174542655 560701943 705181722 529878253 817010085 152116178 873371479 906779837 694366692 252084524 16819683 77293253 587443521 174443442 275986170 536847743 590738633 721439419 637639283 9813572 69550351 723600553 719799388 916203806 40471454 190651809 207546459 129460592 230682923 156552303 541154236 671967183 48210775 271904545 943748618 306840570 860714880 541723126 465570730 285958980 620368600 146495182 834856160 500638640 335503587 65096734 862353054 49049652 930257080 170036153 26407099 939681424 508613321 902041978 41285608 56131624 262628033 598908392 978287911 746574798 717640522 320277974 61616741 845991598 762210373 276214814 269742591 720978364 948329657 733783879 127458759 740040481 26474194 501432737 358556192 600829852 979172328 704690992 385074489 271699236 194443759 648066288 627852628 228482604 931543171 330838771 17221766 395175643 928374550 188594136 71444268 863392574 242482078 494382567 401521798 485015107 773624838 472612694 637402325 473163334 849532432 483344955 873563642 355147492 489114067 126334051 116726548 228472780 720301155 399348222 544973599 244151375 990731049 357902251 186058526 15149300 33220368 136286412 253626825 791454560 486023901 880806014 500056733 259620620 547902043 213962859 881967129 252598109 159939582 908286715 343760302 246399370 598030693 962826933 770619660 251530287 866185524 548583121 281251588 678685556 779229043 339717284 308300739 398400111 64801535 258047166 591591441 5227050 725799609 256680975 944894572 725967341 319442469 534478459 214691182 78041511 669249894 389619191 23652535 98656855 76196105 354293092 571023122 391019340 241971985 760344699 690180689 56694435 848891927 603888096 19329362 472894410 953154205 587071507 722738446 641129532 853630410 941042082 877542984 977617146 464513914 845331221 938227053 144835653 20628894 909830460 955605561 677888274 533923649 780954010 911586539 836266597 18991081 389230237 966016394 999948751 152569623 411808822 605091710 228044872 190652220 581913057 54556223 365339572 574221233 901201175 355889542 492195641 157199965 61739155 164458526 799119222 887124357 530525215 613185587 628785225 225078314 54954567 28316911 339844128 90855448 878602482 205766418 86553528 276354121 431837081 257980718 216330238 874880780 638365795 174860409 87874599 761572102 988806220 154109403 347514756 368672526 209366332 781839725 508432579 420972285 927611113 879202217 996310198 236443954 426058962 194743669 491655934 502074547 331517912 385142977 671223200 274807020 855077970 155567294 590712113 717360490 717436868 94585810 407019883 540336668 606713181 146970079 799698784 377133485 155458785 338169884 797749347 649581298 408654536 446783630 252386032 761907471 685588648 408365862 656884801 332446580 719195390 137221059 132841957 181756517 269876623 117317320 601972668 702332639 789215081 670616397 793521690 770091957 363206842 332015704 207462368 308761758 749730812 87349184 894003180 107363330 86599276 251567528 118315182 154513698 424741872 548401282 266656801 525634368 866666081 696075131 120807898 124880032 865527705 231699727 168515330 456428647 922882676 674042369 797060419 815309883 474192653 658657601 617626326 503022907 954113696 882754910 9999777 434309776 275631113 140717452 8715097 959403853 240521027 106569341 835939070 13108666 438614210 906335313 563951117 456084584 969537917 479842555 20138058 953955993 566235492 813757526 690861730 35489003 127792540 694198262 716037294 56221369 760477218 838438068 683528744 130801938 89773661 732230354 822191041 27489886 243314251 473445210 532743937 601399491 135654339 919427335 79601921 551376535 31362661 546416322 337623438 619489775 205704261 277650241 680587985 448820398 647905769 638017181 585324026 970110664 200547871 493787227 409870924 511561751 543327823 676564139 612935359 805047008 979092051 597519314 333694279 766255759 948215483 793975631 603279947 230899313 270988043 240850766 653740869 265229586 12067883 366991275 290720793 457668839 841481557 71795386 491019606 650771407 599495616 127004514 722759288 947920840 154329438 991404437 581009491 69638997 508242453 360329366 511304966 945802006 337785287 305576327 881275415 710782990 185384281 87625294 470716188 558272666 620560297 185552347 513080519 994694652 250650133 643393026 474700247 631583876 378523057 405285275 101120019 692889510 893795770 679013162 770578112 265385938 385851322 886438272 283685507 791022759 681475443 682929469 790672187 627488037 511209945 139833949 70957058 206617839 60798095 442265455 934151301 999876710 944348998 260985595 388467699 131990517 671971317 373257107 194449792 480776585 240104439 851992261 758232305 485748322 900972632 824833657 731194237 625510611 423301030 841955687 579429312 451733693 34889214 638914201 967764830 809397525 606259932 907114282 136817531 45639754 530739600 535457335 120496968 283481288 640008045 409207670 744954982 965966762 255403537 307754807 228636990 964697542 774007473 959674104 882804969 21004647 191058389 775064077 104075876 822465570 31965556 562906182 693274675 226820592 442149048 781340331 667642093 479172714 193854211 513601864 931017244 392034303 651193479 224768706 78750438 726170968 774185986 312756886 343480534 163751556 696014954 156904909 533648216 228898215 777774120 506693879 620670564 317518798 52292932 805330251 303435144 502031426 962012242 249951706 381150125 313044013 966450099 167193358 233905936 356132369 256317971 359878445 227454351 137772649 786211344 376972084 266534544 109627817 136412480 461195793 527034606 113570190 74471045 842395100 256129042 298826399 113507786 250142139 595984230 11645333 763614582 600870516 180806641 240810146 93241293 258481923 449106198 567576566 633652416 849231392 103145764 400657207 415703837 123485947 350948807 387428008 862887475 412370572 589881466 742582075 357949655 359946801 350236968 202771819 97408675 13397471 1901014 614221806 406768337 484915826 265736592 130487453 147376288 189918866 41246018 308069468 982335235 233900442 938171961 835408002 228248651 553052399 810683017 845563489 738021873 41459048 725112022 700237927 455515670 45476025 198007234 233524551 37395242 642568847 801165620 741753880 878183051 311714932 256547163 948877232 155673223 262372 656246587 952642950 882700239 796339740 622107931 330744908 188035777 228691172 113179402 358228078 686704257 131661555 697427479 254068013 234841798 907298414 918664692 891525584 57044714 527973804 950057808 103842717 476070728 104066058 261072483 962690770 180553952 48803108 370880051 295165327 189850560 652350374 516565476 162180874 164626301 529314050 273535952 191531310 440152613 32949883 962365802 855890947 326182995 539608233 636289365 870046759 331457483 19311860 997336946 834456734 505533734 826237329 477369231 285431227 203839731 219195271 352687100 625014547 710437305 295831343 758351815 959805892 575000442 820669448 591580396 375334529 396041345 113063729 835112469 184249054 18491129 477993360 64435631 314145457 384256405 323887420 717780995 534038257 395812303 331261372 366996335 802760398 546887589 185392537 125882169 221564698 336067389 538466788 241985433 503150328 906582975 904559332 853135415 978584817 123513382 67747555 122798572 788126438 413520625 615668524 154341400 613943277 646818305 706661965 98629019 795857607 432824722 563243995 561054995 132258647 232899929 98009988 592156420 537686421 319485338 56322512 665167768 333264619 642701846 437706307 243760493 126049197 4138014 827630376 725819820 91127549 922588247 88329305 726458130 871643210 40059269 334742166 8399701 564268711 753128916 84664112 170007802 771646529 570503849 233842032 611868462 963323383 487267156 479751714 793892657 108169216 381329300 793824828 253168939 910353017 206180429 465365200 371710279 204856771 476903017 514430238 968748005 306915565 23839284 639643602 514512669 51396033 325487600 103395106 215141302 56502011 737432235 108123934 529143875 365664559 122892430 820966957 474070840 459137377 301666675 517715621 839188241 541751592 219850329 506599810 686796176 298074614 110614057 427310844 269575946 244323951 152425461 320852804 3372633 826083202 569634752 310699858 668231789 501829164 943518293 93857086 442148746 46281253 68274486 749355185 371754097 821043014 35871171 604313330 920793720 532053264 746896275 200874084 47575798 81028404 24952113 89894518 211790487 709806955 15739796 122078738 153408075 396388241 911168846 709486904 38847817 565477008 764899924 104169670 249529317 182693175 391709973 295251340 866110040 44159922 728930352 584702882 369376582 448522808 117867691 99300270 914148057 494758667 284848537 217503648 992709402 138669209 34646033 992556965 108956474 767086840 375577263 415798402 157886408 129513181 255141834 413124880 858382326 721268379 521151073 118466467 769109710 2810618 876174594 520235685 910082776 193308439 981024696 214001639 914644462 599377358 199426437 266970942 806777376 777158489 257148262 672005512 951253532 84420432 606078070 657268450 271064673 382990414 524979520 675777259 636837456 679935959 302925208 993187424 917265912 618510900 772113432 466775683 832693688 231499699 885410860 32114129 338382037 331168460 672225618 358111209 817222214 988687758 854211481 941868019 287885008 894482965 739087162 731163426 198620142 345258233 979526128 542420264 976326804 712471547 303450535 754654341 300950057 799269690 511866475 79265902 68206204 951062582 849640640 718700007 990528528 253545663 266579981 516873393 363589275 808647043 240623365 443866125 922704129 918288359 582938347 99781287 252044312 920785373 40046881 617344983 421317723 5477313 179072542 324310188 987283682 318617930 991399421 298846916 526179221 682568258 88067130 151726032 796752687 26513814 797622360 437305592 796866481 390865461 147793052 492249241 377488968 127470909 560484316 505769289 685206152 576802314 203062279 684305815 942800460 281284346 48681977 86379332 757472769 569768315 61791879 947842374 862358224 484951544 66915180 843005055 760989229 755691292 281434095 472171959 731820390 70781295 458906643 661157967 744225188 419534252 508866970 496265647 311279190 922646861 552624161 126570180 898526518 677259926 699405331 42561700 476080160 935496672 788525804 61918769 79264655 206195774 363123455 954936672 289373413 658179231 890133208 536437104 306294402 882409644 148395225 349251018 848848684 431516204 625023008 131987976 562243167 794385042 37799089 472616661 70301909 966604771 449918680 15398599 554277845 656428634 865123273 768704257 984504802 295734344 301307889 572466624 211761404 950788797 124404114 32381126 814909696 429715735 695319318 530078780 564164360 247721633 765953310 74797634 362871459 576883570 612350362 391876761 518768863 92529751 215052049 397647100 945126504 664229338 813484617 608025780 90214503 845354649 267784140 207851929 144684033 46715623 975134185 606002185 871188694 526604084 641645650 474142432 647001653 221974933 697784671 933642076 54705671 904154069 374639697 139537479 806687477 60597810 672135026 220544796 563389495 480005694 320887205 830535770 260027891 677379614 574426435 172438428 7462594 129785385 384687428 629163864 311930707 382485397 916061611 973933801 893375003 832629550 221757147 545612790 453143705 185596831 999413805 748691629 3504559 344456467 369029411 507196268 520755782 662652057 729393810 871212747 577706932 726071946 817658394 421892484 430112667 680007209 348894902 563611105 56801277 7378600 644598346 200290930 573197221 36511824 371212898 775718431 426662604 75494178 62043003 436875846 59519228 61447782 742109360 737282094 399128595 528563640 73279566 587033763 557887178 43305394 670052601 886863327 336393672 532770328 834319006 177847668 95163698 353328883 972436144 199831502 84216455 918102068 608366478 341429840 203109792 913955208 325562153 846357817 478100593 172110114 985314491 169784097 898719649 993640901 431508720 851405793 599872358 561903578 436235179 736749938 389962210 444569599 199500399 438498092 641536881 910759182 904869553 115081100 727342743 216162853 981254256 46726449 228161046 201309032 288112246 608541859 140845664 657299634 572013669 137092899 515904592 115449038 296656232 736141629 447336110 638402596 984901459 63631582 734081342 68026403 655766905 335213635 585168186 911571580 37083696 814311109 126021330 699111751 932258691 89406954 690732858 906644203 24540630 841002210 887478543 403460125 569802923 487192238 274720209 452370400 525167522 604513607 562001988 386762215 8289843 520377892 480057200 202663965 196466452 763568033 974505117 450852365 195669999 775373713 165911239 627356224 440175452 904758812 561506639 743208017 486430661 721648823 92141805 378400125 704425277 958268398 978169810 755948482 725164846 649024393 151376790 255694787 603620036 82384729 495690839 595687835 793231379 967673966 257576822 236569946 907807521 112617336 129473460 458243971 246524176 34830875 744445890 552876646 931919964 662299441 24137869 696846981 325577290 660587258 820808704 505217852 69267460 88011349 272976620 504916413 545185901 394112227 633731972 581576004 532854596 5162742 259587002 724644765 27842412 652950238 716244393 736870701 955339826 530270397 886478951 68462556 20977169 42608635 850861051 95426139 854121216 951420242 245006295 356077239 869936332 859398530 138815224 931610460 195114013 992020354 597282266 880926450 289972592 492833424 384531866 469629892 289566156 738584455 647781067 964159571 326729220 161884641 341246729 957693328 238146659 286172918 137828371 549231561 357253238 252401037 660570204 971263 760864651 766091274 156875319 137401730 90039383 221896776 935882896 307590041 672505495 559918791 949608909 875125878 612453956 918656867 986243586 463319405 820606061 724066645 726051812 640367773 919377465 50941128 109875462 748996621 490210033 246698502 202180604 39372192 558680398 794103917 795348265 937992571 590042522 913530453 571629819 647684383 532596215 626057706 103365573 165803607 792475233 656157206 166173506 698683816 534035368 225547401 723414898 889177343 856020404 285742553 12291863 887461508 520679445 207859417 792164497 811431547 877721062 277709284 521546004 587546069 212083914 358390741 963978299 538851553 802233554 6938007 313290343 98194793 28589830 26919673 68614789 846836457 159200741 969517313 951758602 749413031 594278439 136940259 630430302 351464027 62931482 996226527 311673266 903053526 319611183 464191063 233991282 568841975 938798710 257790938 810195740 885426454 38626869 107039608 61478432 202119935 760489533 477734491 360817659 730689700 800043168 228374332 242449894 133073725 13262265 490317787 436577914 945554653 529000268 125897743 371456297 533601095 244668415 285176636 767231825 562678839 267336271 525889695 120714467 366365464 783316392 128690402 161734925 42913873 212463376 996702785 97853152 909734583 619980593 274231894 481233022 408026236 532110744 872101554 86396755 327810738 154898465 357113479 547815978 181977395 250819101 252215495 606863147 593674452 85297765 149967854 705886042 251224877 92743767 442963182 345255048 956870996 984034823 511761857 401753648 940355283 599853791 563229697 993234325 85228032 574640986 782315363 996393055 986772422 505235925 92040600 498777436 743300851 985243278 385098411 733772354 850508628 991549321 545313390 649291052 271458642 860049288 213232073 615412914 143811857 641658119 179115482 880685382 925676370 898853805 418723711 103827277 568056131 161674991 12082609 881680307 829920873 508057201 408529881 304007427 230645107 241992786 80388333 145206035 997788869 734399125 762990819 131250354 818556817 445510183 891593288 934483100 949373187 419900687 535128810 972138210 476431047 549441632 763906658 812177184 205397897 742036746 4248677 738004062 212774136 602108079 603449983 183745056 932089770 473350285 607462083 29354761 203457626 933669777 155444902 877372864 629341448 7569035 772369273 943727152 913378230 883158999 834860817 263725501 374726678 734673768 59171240 637807668 932914462 544063519 705579746 355813657 135314816 385693033 828893076 767454481 992446852 360697443 969407060 2744825 542424201 357359150 290364642 915871348 634827790 141484808 813076154 615271824 929718512 221464444 723956159 847166522 458571823 399818674 455936125 36187069 993383980 88496956 949956197 878771673 69899045 127765972 608883089 279376770 819002502 341219220 471733959 97530271 369981721 328455966 952841219 262847384 306131908 113458436 323933342 177594166 969616877 756449095 439062505 218180355 275096245 913483289 664081338 495749452 299847956 141627195 201018433 545937670 674087089 157668084 170368333 581783914 979064714 848823987 57138273 167559209 164086997 874033958 853257708 605598253 779360370 871005857 240488289 232219412 508397954 430331018 827039239 160652215 777360673 491020305 819277419 167520954 967753270 211283482 17879209 523109138 874223090 95611683 276660113 440080912 645883472 359983482 237264359 250505466 139287958 266245891 543777505 175162857 159142919 910407601 484331276 931486999 136249541 232291960 688362879 776692422 19347666 142493844 633337801 559076772 74410312 284351877 80958444 674914264 270810837 296863184 700653855 884475850 309211987 399451372 36540397 835691305 605218684 632381632 200191163 392181019 450581208 201442972 262898688 165945713 207620555 106650126 10513076 75632193 546677087 836454276 397732403 879097595 673880073 245392983 4074959 343092324 944344076 172005751 447565608 88877964 329485288 278456618 195341806 685711763 815769528 981695437 348377271 558744513 135026323 304148883 500289689 116322981 467551931 384494025 176431635 950292435 473998656 843984288 67183530 675439804 264906708 504965658 768968686 251311683 170426347 627710410 447728715 780185749 774288447 821143038 736393668 32192555 549840061 9878858 65497849 426973730 776893307 471727720 616388612 427949073 888524310 33106334 45079468 965789003 301324013 777851399 955436823 901494124 226036826 70150031 539630845 453029043 788628414 924667085 513662854 299195058 219611195 52764304 71089000 137328798 618858794 602619595 684653333 742084578 469256275 612870997 998453316 669994983 391570932 203098624 83787361 434027350 295200303 991730761 544562309 100549826 748039389 176751337 272363265 329778653 770690540 738912926 717960469 230871854 83102017 26167776 595106326 483303661 814146400 484876104 806628431 45937040 167403876 145450643 530497793 889133612 16734072 406860080 584443645 498035843 391034373 171851863 829558266 909337559 378802480 896512877 852706044 678834456 631918569 536305168 656284816 262956831 133094262 216724287 6720436 899881778 24123249 612173084 822223768 286017361 39538656 770721976 553177356 740145390 34161984 963551874 264045431 896287287 740133275 634070737 278553742 276487757 196406626 569618299 856433561 815105093 521980533 904924268 435508018 729887759 50767516 283704415 427819107 55767616 616503566 65353551 823786572 524828178 105891327 556660073 237788003 144864351 445973904 418708158 144766533 939806935 286956767 514475887 343490091 234359232 730209025 882396792 706100645 217433486 578201417 688498592 197038599 808827156 948527632 214504926 840719852 142118669 595969834 842780297 155798693 694195041 493103257 36792816 51516658 465617123 766676152 547068115 499016974 572505563 720448045 684389065 286311747 114105727 20489660 886683159 652921035 178306622 512986487 974870420 658271830 217368826 742744539 303451497 534844358 144235189 896494526 353440475 196696313 501000138 384780700 59161405 436526920 78384717 659159710 788634238 708300141 985501903 803238160 921269203 89301354 780106659 378030335 572492462 173682754 249702862 784822122 946276620 374151396 895948506 856014814 263399152 559569430 548766900 3920857 105567757 998248870 828764554 951478752 459325563 817342737 929542122 656561050 16439395 414049889 135458138 887243484 899229124 118548162 326469053 102644742 553614728 670003858 122276387 143121105 270538552 366542492 731883799 197575933 623290583 419875103 658795112 191953442 190641068 794325803 720758771 65286820 25930091 814290622 268996729 201725313 335829437 147101155 265104528 953325384 854903815 988419028 409732956 212577185 452088085 395597835 44311875 729973220 31503075 630719397 371692898 432715618 757576447 72250529 326447787 323242435 482988070 634959912 69479705 900682373 577653072 404513392 883903224 423267203 988651142 843453416 694475518 664158487 933375423 52157492 495105192 895526895 902457170 867672779 501376728 696011652 131271902 667393801 146705083 295922025 417706514 713756898 897344912 452951928 858663398 954215947 100635332 634767411 487353368 444289239 859032558 309450511 180571810 556315649 610212453 113922011 583344458 216402134 936825294 246107948 658826432 28737851 403738034 128399747 679159587 514399710 955294381 43664300 106430932 592540915 166388089 313122943 817364485 111452695 243558392 412574725 390486684 232338830 204523106 250863629 62506817 559285320 547703069 628140233 412421758 227549980 386579243 66365691 197099357 576266993 683319928 118035237 66907744 94710047 69107488 39781050 436556673 72989022 217531555 202348266 820229719 850599498 893214206 589196997 19254797 664390298 679966976 206187581 46568504 913595434 510713373 289029834 385536014 67856160 620525417 699232725 295221568 100840515 192651590 10731711 66602248 929408764 37163872 448979503 302251947 469489546 184325550 24703520 584679038 855766127 456067552 277367394 673825746 367295679 879632 571860206 868135223 541039400 848719256 888853245 493647586 829348584 404207173 317239231 462776544 101090965 268866047 328288458 63855375 923110061 381635203 585366933 918484772 79607287 778182214 561511157 184947576 430940564 483990890 677150433 796453059 866023857 340852655 539377617 694816438 431243595 296783687 632920771 560611847 170742926 225561224 845543498 748616098 711598120 545970322 559017808 566949589 263072218 832308926 421811094 298356194 223244718 831612320 596301213 64005991 23344918 983050485 111816389 20371434 400728928 429179094 37238111 233864648 450067217 569962608 488388765 872623794 71310402 550466308 585274340 53778132 784834904 377742709 525555009 553264916 515590848 844605064 349811224 442468961 887538719 172916731 683855164 38917682 399173917 785609543 22787083 593402335 439314190 165407292 933397615 171261100 728156356 711009111 601055821 214872827 127571242 556981382 703962704 997137372 682047044 290086802 891385214 717079319 984735499 616518601 582671377 843128056 509037731 467054393 755269448 118597830 945508254 354940051 681051625 400747055 174291104 520086395 451841083 110499968 32407878 476547548 256318252 178670644 177526488 971730769 159791970 817467493 45219092 860576819 51349605 764363395 63080114 247510844 13561955 300709675 559063170 123267680 783929538 318941765 824005252 522452739 989399994 271264801 921446369 479992251 362169450 215149364 464375757 436604810 417343926 201134290 267265304 806862267 817405361 782755649 104773700 593057855 335760482 213483251 902305681 820983195 605294229 610795660 335754250 137655088 307116425 25693130 575569273 690847144 41018474 652842716 663038347 291889792 972925651 372717832 370938079 854777991 177089113 313642269 123256605 879043827 751922011 603849276 556703642 158600969 493470761 545999458 660734890 662268953 448312977 3676085 144828040 763098525 626553927 807143497 546207276 717908845 90602033 779113493 185492379 664351955 991797350 431790947 288516062 525652953 754355223 197471307 818834751 37459238 121914958 800271045 293536586 402167868 80851950 517276427 789696583 544070046 186812168 559803061 282438491 990892646 302998027 304013407 379129480 509596475 929124491 955031821 641101291 432543230 439158143 258993510 946674831 678789167 603737096 518022945 629899545 238734553 504370298 336427984 722820424 450156413 202776141 265019739 979267406 175979149 361401613 366474095 228603475 425385184 399306375 109704708 518448229 379105370 60217023 805670724 723487028 685433363 641265715 153506730 832901594 833516136 633142426 130797188 309722084 83508225 960651554 486009785 163737775 99626623 993953266 459749994 389803853 834709951 346459321 325592954 680326778 837908582 464213377 231799622 68860837 88970803 190062122 396878347 535623293 270745229 280257937 41626076 888952848 694961466 793067770 245254934 35446155 834013290 243844121 257538723 59703818 280721823 380799131 934045459 679966967 105482811 124486010 822985528 23470815 195822773 344129443 268173138 141236382 473785549 182573564 7313745 724029651 343155697 169733233 880485502 556357097 367879434 636737761 646921047 776863779 939423126 500880969 439706266 274745434 156316709 483945629 884391489 470298429 25134653 534692632 597042948 786450917 691147606 137834527 571121325 246518509 203600597 206597356 751045313 629654674 583898218 901552196 946991686 657295366 49396558 330763478 99655966 740855823 973614616 140349105 234239814 313737742 965766702 734095074 317067235 302634988 815340441 766985655 517660307 497114289 113672208 428580559 138844489 154692250 335898894 584450569 897369885 445558300 447725649 57381237 650537470 428448282 694793047 497724272 109417315 557301137 821062215 512359641 824855518 146093899 446101290 20674842 172123280 642850707 946786130 241029870 380893475 521945605 979332472 456447420 385962644 230410779 811889466 491347420 369031985 81822295 66045703 915781141 667045716 880260950 198391348 666139825 358094741 635694509 98349448 19708124 392484254 408255671 950571735 376778927 592988941 654440117 398733213 683018350 515576100 74402247 159080695 995918631 302501614 198520459 478856828 33155093 563257759 962038305 849769537 479093454 271757558 4686567 943208409 267687123 633130256 617799550 814982648 349152461 818553735 877875776 646124009 91163392 344518393 924008484 501359359 122675934 677127052 765955952 808122926 635938915 371826082 612144840 37961328 976250045 610148202 936597969 304134928 875335214 507704452 618801390 947676643 117863948 47112139 435310508 419846205 649953301 117647990 966163621 36211985 659825609 628867420 316152967 892251532 558097868 138447947 341141047 420004082 169829602 833054225 352605282 301918966 846129009 591774337 92760403 157168098 202104056 855494636 135030823 949602596 229419079 721843210 187741272 802641629 504034923 134716242 857303073 714212708 283075484 403221152 336393925 282683326 241594285 887773471 679882823 582518223 789065137 25959054 202337276 790908562 839688460 71247109 698704091 315639788 555439227 821177728 51034988 194400202 499009255 115438317 911898232 910556915 83088339 178597606 566383392 885102216 979782429 499285700 725721233 235954429 433480898 840051782 754742684 510506891 763980256 783737598 137291461 641100343 274900896 790625891 205281747 131604425 173766383 203836678 928062571 411265497 712324860 597591647 500343102 738829917 84681031 864583572 290434747 855872810 929118374 593076195 940484506 377825266 808116557 158811936 355890819 44284206 251583785 529126823 124402347 478463877 14453387 674760426 804085710 139265051 971810541 483058032 669884618 33447737 635833974 628654729 463471651 107984398 83368424 639186148 732206048 754877488 159923367 544940238 439180033 164469652 706114739 252253957 51710693 174185674 864015751 826696769 99717972 77143405 688558271 853553765 708265828 291106309 433649385 565298537 932317774 115749473 33266807 478536987 225300892 943340893 145391732 965055321 720703662 236489719 567757560 925730157 710808591 918478916 687369135 539367518 772578898 802960826 144955301 828094622 878047658 202615152 91080579 444887835 336948063 657055718 431191366 516269055 620684867 764037206 716137375 516502042 639495110 220939671 206092777 733719410 444939977 560889912 136343211 565418711 606490114 951974401 137281599 177734932 170816371 236953843 69769130 129329673 107010769 133252293 824697892 767260985 11603990 452570189 615645775 209768781 521880892 240455052 823318315 634908746 794977355 314035139 446922592 209867154 919749380 255612077 738747242 691372705 8546156 478233301 264484622 914258038 934590843 65616132 420293074 490635709 722600997 812205098 188372394 716402773 804038394 375030853 35490406 695235086 735836497 373426449 869308040 134993244 719010082 57850814 216364217 646614940 569573012 877640282 779883390 402523950 21797159 968583366 669910679 325637251 524929182 738906367 399074673 960291568 246361838 720005949 307652175 105296723 116314234 886895 705055045 505170731 557414510 423905409 120144581 688092309 631042708 164322646 580680084 784292252 305130718 568153244 194716192 566723332 540391112 698551659 812010488 524257770 178580221 825623723 331545077 869493272 957142142 787562425 60403292 898537498 217733627 498614838 503024181 516168480 7480015 430674014 889937335 418456860 539825045 710504368 279901826 825171935 61891290 583377220 568713232 707466374 238285200 981230062 483675623 307096508 93461476 30892897 596402735 987071572 552818273 257712606 185358429 531990303 127603168 646730883 243280650 51622044 104584656 316629475 981964759 722469211 225382347 940586199 321177596 478614507 127418926 857451772 40180486 786746192 895968051 684655758 223958242 279276108 27129742 458221008 329362733 522017453 725937828 798362944 968440923 173712494 47740076 671667064 915886351 610768355 163322321 187939103 670152774 245471263 340474390 445996710 773407032 158119887 975906319 447110075 246699407 462899477 116002955 574725105 172756674 817440877 224868994 756501949 467770559 220674753 2678359 861183777 282120815 876135413 247841762 84471081 777336492 813557442 787629026 161876386 338214508 426671238 512511782 271076834 280958003 574099310 42606706 163827154 738314628 436870777 340934756 174128090 140129680 154148427 279122655 665307279 188129293 118208921 952735135 29862633 683386887 87738936 601113417 437631301 192413945 494970758 66064750 239627187 939184199 380801147 893401356 947578250 65205276 291394289 82610922 973308796 293993698 267293242 328852821 806506277 859010538 185576936 458994300 335259635 153851684 992209858 51303375 87998649 679527405 978513525 929843738 835479821 173355775 2077512 886373634 799814136 452101579 355673410 645192259 427832526 280790638 755104620 143918922 249263385 123266042 577723642 184677300 578192174 971080513 182124444 38335348 620219036 793175354 210038256 634111159 892164395 978684428 890718561 711066713 220701143 896405770 329026188 592668607 295380842 433981482 365020863 843020622 885156368 63338944 317486200 22622605 124017210 698086889 199237660 233670967 954813885 121621918 309824269 98937950 154067301 962482342 124522824 443441006 424268778 440152693 435024268 348857990 855476036 397813428 367591904 119793557 333303971 97678306 363507323 370143370 128560746 54478562 136581441 613196099 228790484 945266847 569106060 116636371 636645148 93280948 719698721 986278332 7413989 902325472 756150707 466128545 801555299 55644949 363357975 586125351 393585570 431051049 370732250 277639638 286251174 210148381 543889823 267215445 768543770 328163234 917863510 78363947 78417244 765537122 409143646 803686265 670130480 558173879 253329470 503153418 247720045 553170492 247071564 877650171 579336694 364644421 193284347 442212511 799391030 158049434 319246336 459787364 533280104 781001740 562288129 896833315 386715752 435638867 821111737 917412661 420602230 99552837 113431164 764924923 946668659 635722663 331288648 123171685 393318386 600623829 162457875 860575242 239255323 926967455 113915408 147098793 69042773 249409313 289877872 759434457 735762439 933015119 269844342 89055696 267144748 340703263 98206829 906257307 373610966 334066483 919304523 779463488 237670218 174186842 495667876 633128245 13093162 47757976 793261097 806794509 878746320 751810369 898440284 765365076 907814807 519316963 792848867 244113769 535372434 622558393 593572062 552930282 260374498 231329380 802135943 170523387 70434280 367175987 643440477 42343571 640486877 725154577 223927650 210530224 708316174 652574734 528651829 59604710 221894387 134701589 975604813 909924946 387635802 235113262 568118772 74924797 420154764 105451187 807525355 957238713 298938425 110485312 392714430 709057387 11546493 933201872 296552507 703237483 246107354 942196823 860995062 721879863 930168269 583814849 199855261 321801720 835116302 535830708 176600989 190736386 128264395 37738996 869540555 225565720 529158494 71587048 531601520 157365964 755460893 515206435 502298301 829997776 937601821 676555163 883273992 704266303 370363753 109876396 621585939 670845640 583135688 750540312 575801400 153074570 625313737 245645650 997976520 897043923 596246895 658007612 257034262 26673301 74798511 273770298 530909352 486901941 816320456 537245200 530303335 144779979 122837563 210708352 567626786 110593649 146403239 378151223 469969694 437271524 873122426 178743728 893497245 998600217 187240615 959610427 504179966 116513071 9460705 159632061 995969167 769192741 807697791 130039338 938671176 187665538 524595310 678228697 766057417 193380565 236773942 91726219 877482226 148982572 473098030 853000179 439109797 698781620 35637265 444649624 220921893 406973792 124844670 338551481 142655542 484707200 815787480 928669902 312062649 254240844 362967330 553238753 384466419 518243808 316155383 711225306 25221632 427488372 859970856 36392322 367814467 629209432 622660135 534891154 61349527 264162162 770887243 989406627 708917969 396575414 625308028 290099613 412101634 820196762 203074155 861425122 727706896 744527446 557920880 273168766 389390998 867490953 202427523 249547967 766556974 168185881 872304640 500285452 737665388 358041665 234874065 977051621 928037427 863765589 895750740 490169827 422517680 409984447 262364950 390867316 390677410 178887470 509987249 458258792 958072608 750633701 863242974 493355663 699181834 662599531 590156496 62678287 858217368 590745218 653723310 49019772 406412655 731708829 508796049 845421013 480441992 590854447 956300118 922309012 80314920 279641575 851713280 98741122 851317726 768402856 113803772 31229501 44482530 795613451 851895860 141996313 711937047 213596333 558022909 730203873 832517786 59968260 400495216 41606274 45547921 477298797 332469075 803413569 637161499 761444575 944204686 95296147 446389010 143718056 738274182 494138549 120646754 485020615 370690059 884946909 41983236 882141579 789316797 81831074 101262151 215723371 644925742 491316573 598331935 952907836 106770319 895169647 588079701 820717146 9831337 56411544 720587329 33564422 385996125 18132375 205020369 162650922 34755075 154395828 875103291 760666874 814323132 827331614 3607830 949868743 553150726 867020311 724975 283648490 887931471 549458095 115500584 771970080 233191934 3972966 466375547 926373641 404692305 3025270 957158203 642925881 172769211 832578389 607500425 335401438 110636196 81556681 130945679 656784034 424319002 537619577 240176359 332794999 91027207 140277855 958530024 117997382 886170311 834724451 893136455 525979579 297112101 600648109 96327087 260451399 744709987 267548485 135954344 943817240 674916616 146684452 151276152 786559639 220519662 138540597 210837028 745876508 721473682 469151766 622095122 969711681 577389714 395289087 63877471 384230796 307770227 618961810 190182413 68637206 82069841 62504346 223652595 696371949 599756611 527237119 533632813 232001067 2777304 835993124 256537435 86084356 354693857 228128517 839798883 37189585 25515140 388171738 371286233 33129955 968505935 582135987 27112066 752178135 794156147 52771737 667029482 737407454 952677589 560751858 259365146 887043800 233552616 20766711 352099712 637217644 323129396 753394230 667946161 236054271 261224014 442719634 631078274 626359269 62402282 819601730 161346261 467714498 33002163 561373055 832443068 318632766 681458614 745274881 478245219 382135387 512109976 991280064 991314856 406668027 398333110 779305300 807495855 291404196 750298921 596149742 840755137 230282523 890467151 550974083 124624369 803673901 390762941 333278686 378009659 162023135 931011122 955607117 211500176 65023665 676601569 763965012 277542707 34801957 423925067 550471425 884255659 32619323 403575451 634605554 127175444 501294608 522290974 93346994 451326677 150893512 923461555 790043039 949292736 620776791 778691377 746959190 600956646 210213316 62587233 266639918 45366116 890135764 568451864 83554236 244118642 243611222 566536236 202029724 635890612 389213762 419536881 24502207 265845005 677159451 379856029 222132841 542186120 733580522 790104722 45426912 79713794 863326338 340500798 498906025 414583663 57035111 229605022 316139069 283201559 60421354 65021417 655832224 59225386 592079618 287726721 781169720 508350654 707015624 914761818 942786587 914785387 850567024 864676196 652907816 948883984 983816754 811659057 946098974 522098587 364132621 571984149 366495575 604554099 280874264 842105471 815437592 597567037 863372213 863077933 32986373 371014449 579374210 478978005 582609219 837345744 42772052 86942363 842029520 66733629 91856440 100616483 282201115 896312635 160752665 91092179 170137205 498940458 165777442 715551746 346607277 221770415 774611854 75906898 900193636 55704212 649801699 988402072 53597660 41809786 213915038 8006338 933832471 376543212 407524 815968796 764120882 766604576 546567040 281502273 65309685 642047451 648802164 680372257 858319787 796246617 765103911 69249521 606845138 182196973 428655969 983731810 294211315 802575893 953908383 439629898 713167601 347756962 374507568 198792162 323648989 726510797 439167795 306652137 649008678 516652972 842737781 957591035 7651201 74438130 190996636 34194209 482826159 329627227 557791705 738341454 431027772 962322290 202628220 186919851 203511038 960731617 890236763 461488474 632556000 739374519 120978264 523674945 78441925 135341069 81786365 591249361 231754569 467757998 842874807 888018547 242668733 386419425 587396215 439072605 855068236 487664180 553468730 96534701 166652869 145657504 50549062 223454824 132430505 342120302 280164501 368587353 52374422 494494681 601424238 119914683 384808284 913414474 561790036 931694970 618718666 604816788 291760422 400081447 927705778 626589620 155037491 770962770 231568796 96645618 78040226 910619870 261265372 160557592 690077584 298526469 903307550 228422203 254918781 284316374 959126941 223021615 56701922 486162427 866924576 975260716 424352372 942797863 262841906 185960007 838168736 718633027 904603097 659426957 738388103 130946686 39568332 380765164 265953175 246779995 198326470 746952469 772979993 894460061 953997363 202004023 258696221 938750063 907513808 244439746 682816560 921689021 33413712 965137654 224086661 16260922 976021719 973094102 84981619 678470757 334305868 195731528 143238697 553450066 686361958 421713580 115905209 881866431 885200825 717032632 695498225 607747805 191417511 139753811 118843043 55272056 273612982 557974817 394755978 784746598 583048760 525044303 94341012 998626429 491922434 397800698 272830496 369517504 614241638 220658279 181727582 838194301 980624583 684590761 553329073 797144160 863895699 885015268 328748660 678013474 983710011 212487630 439619993 26638714 367206547 29237456 853261176 779920595 926803068 20328615 931857227 661262417 597603591 2248561 292026371 348271131 107204714 655205700 341905937 885296361 41831806 395361433 146765860 81317142 288083000 454909469 956017840 267651662 248570675 354477655 79655646 236683433 397676091 366525313 870364543 782083114 339386637 645031741 620554460 225391959 530355317 258916539 851051662 452762508 4425741 697099654 849625205 659443811 166118810 891475147 527168255 507966928 285676737 504130059 585785761 247053701 235611984 578243329 312694407 44383946 971117360 418229932 526211480 420643020 645426608 314177592 19670883 359940324 147348800 510018874 425227211 9331345 334165867 212444786 48980172 424868632 88146645 460118585 368993777 952360514 16442883 475512138 232535936 256146270 89242411 465927946 885347120 15481230 651138726 438535289 469679011 956669161 187047407 780677745 939637933 334140632 210611353 35553633 552897687 101610142 327993990 328143078 921358203 524197577 598388585 319575997 655447788 882172560 115093781 370360469 914509238 827742559 881931020 614560224 387795423 749217905 272237832 123278944 472063520 114245684 525674106 230066930 352717309 751704615 589546946 769701949 165287745 349147686 12909915 744119423 538489623 937831916 597891286 645563785 234021404 987971467 404488743 47106010 649828205 239882171 762999097 218057135 224153498 898956496 184029183 121633575 880892903 992335371 497672310 179159669 756614909 839873082 622312906 277634325 567025341 606741873 5112410 758247917 82723460 252661405 240134382 249871412 230235863 295917164 693497193 175634255 695741129 385409388 888321454 693572318 43939412 695282684 694432769 655763487 319781086 929343477 760848745 135599853 573923360 497818850 257582340 803596873 471204340 97565116 917032121 944213649 34967515 192553148 923299397 387893302 944256308 19195116 790377655 109291107 962358609 710463863 280638851 917105296 706108736 740954879 565855786 311337672 68978603 87285857 595087734 191194514 247674256 96011262 490722779 152888428 347250050 217165900 198604865 750737470 873913820 665897745 391931505 235429978 746197479 7598004 34899604 635176910 424648320 527909368 167626475 833071998 510480474 200532170 765920480 242396703 342073018 943119248 17922015 508913240 124081278 228424494 711635106 802018845 6292428 781111992 739093641 602638753 709804181 617539070 528049381 597357030 758688835 370649806 117865455 51253477 744656897 70040058 723769668 648143483 257346962 929752532 810901689 687913410 14375309 388637343 505257815 295973856 289962945 662560480 971730689 560232909 529247023 534963200 457295835 730389744 240169825 662571957 158513393 607216075 814997402 245076390 828594823 726880018 164180171 657107726 166587206 368696467 372997482 866065170 865322853 305993656 562251996 150602493 306971662 611609344 589030123 974995804 760414309 834829520 403086861 987999814 808970323 42033855 824513731 31782663 465869385 560991466 74561795 151925562 195420203 34747959 228538446 544259194 216573162 52217452 668397179 582719669 33602144 375402976 141660886 603211414 315290661 48012184 801064788 742147070 451336951 201868128 226087178 721894178 520076369 59101613 515954203 959451666 525544337 568405020 672245558 253450724 424027350 503832927 633103356 922348812 671811764 385894048 252127726 91308016 430243535 983181993 857572925 29766876 146159008 67341689 327895583 190591544 763929934 904479048 523938587 601359496 515835094 590325541 944459205 461910343 338228357 953067043 182612210 74635678 116445025 438600073 914494609 316705602 762412898 87053905 282307093 242629356 427144889 127914300 116162104 239453935 768017644 160994528 818444934 252222611 492732929 699341275 860983158 247508233 667515576 933120927 612514165 515918560 605952408 609462163 391880248 634727092 40030020 827601409 499745617 815739239 19703083 452324551 557640050 979985479 814045889 98530179 413546906 250192076 433559038 682478969 981723360 353650273 681325288 845025614 614711406 420052160 889198098 453733990 188476026 305683732 428073154 328239686 995645256 585076072 495617699 322132796 178170218 47712434 707603192 454595789 281763876 395029686 156218315 207391363 554389024 772467612 940223719 514765931 458748700 644293062 752083628 774723345 266492248 204335798 784206620 422402289 658561334 520960410 429963716 700228063 285592253 463004979 368936424 78072595 911795828 708978898 508911795 867579882 552468851 481898046 959867661 565585332 88662202 73963332 784256370 851186615 51491026 611549056 343689804 904845676 329744667 199668304 495392270 712965189 586607179 100358492 280118325 837754772 86321842 167975637 80415839 755692582 195384918 391800450 720828019 705257731 114085377 4749469 256474363 427335624 11300605 275171996 705420922 819511546 430039901 516554795 999387017 476506690 194630978 639832728 870145825 758056037 139127221 3268943 751682967 882687675 898187015 499765300 791164425 949613734 256443340 448425635 633155936 121777402 375508029 76321339 194591418 136924447 268837892 808946419 81753630 692419231 808559495 928378016 461707868 408857281 770023572 450150933 803170152 605146353 106880082 252645651 429539288 910555246 443368295 85938254 346822944 703504886 540286511 224003504 216323083 605765770 521052614 403810966 683451779 243174426 821133378 453025585 977811834 990103936 913133573 631043655 679231550 876186906 58444510 65211406 931947296 592380480 777294964 665313722 532018612 722186921 134869866 455208647 745227779 456048259 529353821 332811299 386473355 194239871 262854399 980644112 100396305 261853830 191128959 25949129 16226899 63004407 38674085 867888335 679772602 26625947 593244930 645829266 911756361 834014436 589239658 413939376 46654173 49819318 245232722 289131463 241639478 228502181 593317759 30198232 333027149 496662147 119289711 401380576 495722059 990296662 89036742 795991517 626993906 742254464 110661714 99037382 349623917 187577331 493248115 137141116 977395572 710039183 347928776 171491164 648804759 423348144 52049612 318004583 382981552 572439324 59828715 145267644 589126468 65169032 854560743 478445125 878749264 381945522 347647347 127203086 812594934 160941800 218876744 139211684 848811624 94426684 829024511 593020672 904284037 880192548 555944647 384298940 283356434 41931396 932239063 754507636 919559783 846053300 422002322 543111794 437076376 132414284 106708853 433974414 296098907 481749623 926619127 54255955 305591454 74820450 986625690 338603555 943941791 561629174 817719231 218623631 673124562 587947084 704414254 385199693 244958691 302576828 145465298 590770389 189326375 12002803 393181383 667148405 412681775 206751438 807183656 817575163 391418530 281962959 945254826 415922289 585135966 890295166 231987001 556541234 916145657 366540896 596893524 642393453 715971619 84474115 199047555 962846139 110429127 199664149 234359306 269255804 643892935 261638110 440075331 308644006 799251065 184602021 130123378 434006790 148580343 830930961 664248110 818861166 910851936 613691978 27088525 72241293 147538814 868867685 107426621 140819175 508899213 184543764 773999833 169243313 398409686 29374715 229901775 442185924 327523842 366798401 507362242 215754246 594998555 465740157 35366298 272330340 171457213 430469968 221411662 853930706 549522023 68436674 114801328 926453138 558122956 143194861 531211537 391442729 278901936 301201717 233123339 133735973 998662179 521261350 546993831 77719707 547149342 916963071 832129530 832339539 145102292 564054487 981113095 785121384 481729824 114438681 361777933 225949735 273251167 126132481 355885696 716822975 234857077 945371000 443737361 17872167 107883543 260491890 438277168 661730054 816066354 246598630 240883036 923690362 177559958 65382097 295338128 644055822 268881413 773216256 565739955 573630686 562597623 210463432 581823799 873508874 699373521 109585640 69564893 318530919 152000236 876977513 353250328 57856786 731934477 706336001 495728184 83850566 731526726 754443123 669327517 918779157 34988124 440366295 357589755 854561384 615275959 967313335 290545960 5146700 50629172 102300543 696344031 58603294 267064012 384011941 114976466 568555234 342112963 251277917 712773092 232615346 622873774 891923399 325161864 984597241 277411727 465421977 258272277 308806836 869841109 956812638 696926569 65264036 179717526 799474647 280016087 812390194 576724857 496889919 925429326 563831908 937797945 202121299 646256526 3744379 708208215 184691609 882808359 726929164 174707265 402219215 400459442 41178188 402505863 636848370 710914555 514657196 39763714 31238049 387202061 520754950 889384626 603299540 476166083 908733404 899927239 474737667 190518059 382797605 114102755 476398163 200270434 713565577 566804220 563970613 452187621 809232247 901145239 736810828 291808743 592975280 759016531 327030967 470721225 350372330 134994421 454380806 683807803 508106691 268818532 397984910 427104660 202848988 933044720 559738 461717069 580885209 157389631 953574636 982069627 632594381 153229821 86948742 321749261 305613657 480635284 991320565 402514608 933987421 162352963 963360869 859659346 253905116 453543196 86013237 702023551 840959265 971033180 800977967 778587699 997543229 862479446 481129082 75896196 725331386 31614750 244317096 682826364 131096542 331131031 10937413 752068920 862013936 823532635 474763332 816710596 466954634 2529951 531565119 194479539 123161883 363718406 226369466 216963248 190937016 148432234 533312366 859252334 68893710 14422906 204126513 37879793 482324332 771951492 919628708 153696020 703742866 230800886 64354043 715360921 861145076 318861886 266627272 58618967 622628191 426166980 615592835 252464125 606379877 988294464 235164246 648814114 324801255 366577600 802157312 283521794 857826979 171761449 443020522 57399984 107854245 168151372 675751903 964177939 198996911 8299498 247409769 64941241 317590339 622468215 750719838 270094307 739793495 612280281 930249375 593432587 609976256 287298479 792721517 738664407 972979397 502537867 389636694 379871651 427989703 696344833 60417221 391867809 568669589 939255273 921593769 796235876 11684375 838821323 77683335 60855041 572540301 193812232 237984580 742879319 375292260 405488911 580637517 110429288 99952 526275757 366971605 621247571 625634225 498824845 541512843 421843748 806490884 478741 645671289 143696043 388361324 765188074 325012868 729690306 482655876 614154845 962313251 407798737 491530447 127331175 673177442 922967178 935154357 355452597 806633327 765391051 42127557 791885271 896160516 438343621 681042739 383634187 599815782 953706658 106736671 48628458 547385555 547339271 470430197 668161212 837186462 237856305 844586004 657903564 751952810 825571659 838080137 116916335 69788004 916588197 239131252 561246477 95486387 424312164 185335025 590715361 549951657 204813058 582148437 304008726 9417763 239001978 272712240 99361006 337318134 501025610 587178982 702498304 60047275 123996199 285902347 418749130 916742958 132824482 145442987 68004235 224324540 149400229 475819290 561715645 356380216 827989332 709216948 599971006 175762165 578795127 565661635 171370800 974212008 499115193 38358155 109219229 256787359 681735710 855171433 929846268 157197558 45983565 27284004 96999266 143323513 806189805 512624696 130741077 239471602 213376000 230928310 683192012 534933405 25377320 541323955 700450327 292292125 919650035 458460245 316102111 370567495 56052106 739924568 71969059 560618537 679405913 287849848 292024727 777584112 811928542 936454687 530012124 18337740 925085858 948502362 991069307 372537741 84595256 477290052 131812567 442745967 563871644 823694298 417124513 605880960 523408006 844420729 176504200 963482635 788237476 740916991 983514830 837148168 865748331 287576825 758918226 450738313 964404061 524745281 390839893 491881600 425431035 870006364 196197246 287974578 713521098 351515714 425059922 802207786 861042383 535281874 427441246 794531466 234784358 439522114 317267343 746529292 940667402 756322125 163599681 965339322 112151620 442905177 308225629 460548492 655931545 646843975 939642050 98819001 384295563 927167061 451956561 729898153 187011664 736088462 11278058 157588943 79603603 60698211 234653895 769875940 569679983 750266458 3956266 505811658 169780077 791612945 320551476 843396139 791712371 912027564 615679873 550303470 5302744 575090891 293984868 568141173 801747360 711714584 764454638 505948690 741559066 934640246 998656483 191802735 59611355 248210745 29110445 126618087 320165865 125547475 274663910 730855074 169512123 111224149 345323384 213119367 37418628 418714185 248173326 966963080 222447790 222665579 168568291 352917257 262756081 461787205 349637008 509933524 97173319 948712008 919438040 198756190 484450419 940663315 867746915 685587266 193057792 300826211 227082949 781845072 760723152 597739165 426540864 643200127 202964650 874252276 935688391 239769407 748886864 969599778 963944926 723216091 245324914 732528308 168637899 833266813 450777226 238886242 355160488 511674901 670701435 139487216 550941542 876455626 822919140 842625624 110113673 398768500 175666920 950318226 587559466 865212266 91583863 682911667 897229569 107286375 352280776 899669227 139731780 372768742 53195609 222118740 810836047 102775800 303122567 134695470 570275851 871413116 926099154 450111181 925759955 649270710 194832175 346200117 826820533 768524947 19890084 568055396 283783326 944754782 793377596 125026728 707784215 166057126 149018900 254107441 259121470 768646571 534285514 246266298 993027065 554815494 653113212 9118579 344975328 217099098 157327656 538953131 456548015 421387522 257323740 169245630 833543394 673695067 125153123 376033718 202879388 761608189 633380139 193458791 740444099 629941535 331353607 725871280 934091305 2302106 232790729 473154475 764808719 97130310 65975458 225091973 587588385 557073234 912626971 280701605 333800904 439747549 718266157 145119750 283794191 559949532 808330294 186554386 543446955 431769101 52182619 85129440 9389796 44426140 197105825 38669741 323145824 919748395 270634107 269252239 457061748 153125793 328880081 732003599 438688009 718332148 313948098 83028908 815906737 669627917 522085650 655698569 793243027 169273912 536625246 772913760 872188096 8888709 192101103 577652608 439513173 962584128 678550600 8400362 667713806 877729467 341789416 728067139 922551009 596397622 594122602 260643585 123237828 800364872 744810009 263534153 58829230 709102175 371396942 790794100 608364388 881190353 394429246 5732791 961265958 887464619 776781269 218299057 929995080 90341409 97101644 812438171 973333589 911627284 966350689 311339223 250268054 82668545 355603071 915682238 263456795 593957894 964354601 994588727 187338539 158362924 738235649 464028770 283435443 177799700 926674394 818428202 903161240 207409590 681782168 164096678 135105699 618074943 250951057 921315056 152172419 719681657 429605084 666480189 915942837 268350750 81114709 453043827 12350012 555166620 922088696 212796322 648601063 121977074 19111909 562918209 596383889 743364470 40128354 221204246 262283233 440782679 384105383 624326453 319922307 393166722 865810271 24217322 125802432 236545554 595567059 452892317 126172960 834977601 758978448 592981130 832700345 321285302 704142409 930738710 468541543 260061332 828758275 50631292 436090566 533464815 17168957 435904750 127246623 67333980 195126358 995729797 445855381 366711949 899973673 363911502 424519858 28498565 827308394 105849948 266094986 793475142 458064034 122107461 773511028 901371664 844658476 213726556 191951154 47709798 230249676 293292229 120234577 797248103 122139436 899540737 962308450 268946885 882235654 276150684 619050282 364566004 252227466 187146847 567806783 445257994 302641892 311675735 330846226 966939155 15142087 423892922 443634061 851711667 835397471 738009368 508441491 445313485 238073522 287500392 651846730 775968667 257085987 416690461 242640791 507421471 292101057 999324610 812488586 193644250 553656088 385780807 296253444 917528757 948400825 946661989 538914947 288077198 20705999 899080371 257939136 610713102 193191470 25737003 111689882 839231240 11973326 122666104 909333544 122356265 75526877 524353948 496323784 14241530 42403260 235327758 46420222 767376924 429380135 496665012 263211623 952821934 825360014 807738561 640291499 105643534 218667125 458192854 868373117 11918096 358926820 579385410 530883078 138020299 135761419 354179493 467072660 854750572 304903951 509155757 197402496 181083522 390505441 755037690 203771869 417391427 280342228 330382836 92699805 389323359 905251830 76329522 528498373 999390553 790284743 562697132 745900766 447074620 376231052 502148709 422146929 284789800 467427271 296140605 706781818 600661993 351329543 198212871 914714793 879237346 779833958 143736301 763910051 848014991 486508736 934723629 702256894 706195222 980891202 646380221 973792488 169673725 901287069 247195062 233603552 497091310 516873371 536380811 646986953 736559252 773207617 790620904 354354984 306828337 620904602 876752898 355557223 508078648 362320037 527423988 146077903 632302775 359062996 881214170 805066592 631882845 484664222 243075091 929114896 370386071 19805443 15872387 870636860 124095860 4202855 847388620 560070819 449472621 330609468 345625430 168608168 719561146 533376611 267690284 489594028 784047443 832117196 66070943 70065735 215791005 185676784 105071322 812772760 668808928 720651262 625949537 423001390 742750248 23426301 257961474 787757866 18685845 668197059 244806793 346825375 65743545 253671127 466087933 113328916 840693266 12029993 144519282 990515039 816628637 260697503 234737745 100492613 73181920 204712588 568555835 152002154 520552792 777158730 117539853 626669512 69258222 152733607 897181545 966627946 816703028 486518631 505974100 800934255 290538036 101612159 218827714 630033681 257349407 797290340 8048111 882052623 878025538 537923680 629943714 964042402 448597607 744656923 193918575 47355832 169993502 653516944 562711680 80704606 881206639 496817230 891610615 453999564 51422195 583810538 398853918 262573719 812275490 468952398 693808928 883250703 663782608 678327404 81719045 356632181 694358715 283538449 364512443 239632898 123500862 973725961 34077222 348500778 366053480 182811458 326248690 51108331 860780481 529374177 328643133 14157005 543816345 224857447 124969892 246958052 321362501 674991826 767731290 683354242 557872679 135008750 5392351 679902156 475365602 870092301 87808072 831340750 176810650 822240318 770667740 165377978 195136673 257926004 167038633 249955063 900431087 828109875 319043651 593167899 858447844 592048070 799546299 222597835 287401308 815374444 289812684 544600944 438652867 244656622 871496289 653069336 251925501 955017749 757466130 311483539 431504467 244224754 245186528 397142882 708737150 982736576 999035771 416793710 12403716 748180093 623738895 145534729 267126913 775614023 181387945 76389454 966752748 701423058 148654957 550484273 551872335 834861282 868011232 381538724 956516329 160788016 1508728 535997820 499660782 436412840 475429401 245330342 976167431 615088435 168365933 483459022 929415665 179753656 558302952 447832781 127129958 747233518 617352108 172455226 87808210 955097773 590330059 294626308 971458649 72604023 463998819 757911162 79915386 103517813 901713312 203843595 147169448 311191415 639219368 683854890 21637624 385020581 37308838 203226903 466630699 497674833 405198284 54532729 940441733 373178142 953032270 24239884 141992372 937193951 168525334 504941051 590609137 246462702 838918695 202616937 574194542 832488060 851438692 702653315 838966794 368286999 938563183 667923574 981507754 492058007 89698304 25689994 873196183 318614451 146631262 585142736 864088208 873720267 96018645 987504965 559364900 158117794 189245252 413140721 729311542 404896511 347653333 611371466 764724133 940649688 7892810 865604835 852690142 138833239 665284313 700696747 410382787 200347655 112371894 986291192 768702674 182070469 470991057 211930153 777567816 198346284 952409947 341047642 113458263 827624395 695048831 674177597 755280109 920062360 785489319 519831604 850210543 634609137 506351896 253296583 690305679 483689738 11427117 669076486 99116325 648074822 406231123 121098549 29223169 494526273 835771189 275965869 548838894 498416679 413002440 446883790 746654994 203435150 472449036 894143929 418459825 502359168 288742316 24301102 439627533 160708419 965513617 459108974 692694590 958804245 177093183 135419775 833221243 643775988 114144914 551572490 858716408 956710754 9083524 349167684 147107274 377225477 752705354 163745165 201260923 11136128 107768063 85457803 618538619 61131056 625432294 106652209 449016812 519860581 114219450 506162187 163603953 295310162 249285280 855332883 421332455 919391439 277908358 39174519 917949287 3178249 424025890 972267721 737412402 468914502 960557318 911101954 32848437 961989363 554223686 871534835 815196154 668674289 310639440 223979532 864570542 403147896 250324169 712076489 985116192 935030273 38947014 232362546 682171094 752070287 830132114 925672377 700796913 308272072 518622530 836762608 400633481 579759494 640915247 160041407 52985031 204722665 888043633 245723595 803176584 661198353 236499243 562808332 674613406 860433779 353111101 286968059 223431196 704632528 138008950 911661543 40645207 254501201 462702039 881563496 270486332 227518072 598610513 213363229 692223997 268406548 899699055 34893275 48542997 526384198 233315033 831153341 382045498 387541203 763897041 380559138 242425064 198406562 845251996 129761248 491105250 53598979 630489341 218674406 345023264 184686875 183418612 237909497 81221674 485074993 873885828 613632528 23675407 342523508 808634251 167353668 689494976 147455944 748308549 683383756 143493329 932405199 777149713 111406515 345221246 939511840 294460761 13272068 188973877 643525639 716432672 478897064 112104160 724588231 543413797 875040912 61971998 864342215 81728406 280377278 545846061 643343513 353267612 898318503 624205939 730465239 802971277 554290543 725174407 925626927 148695676 945941565 433483221 782424289 783847578 580293845 829918544 114770785 189408368 449293786 542612563 60426125 18446430 187976769 138533850 161891815 372715363 418505289 457159408 939658258 833705947 936460296 913882074 476267569 999476216 973758216 754408762 368812428 641322997 8964419 502863140 284743727 272805591 711933974 499549392 246230392 410436547 344079374 223054041 899020889 88918743 176049746 319637035 627759082 136937210 615001442 183531002 862349758 688260843 997210439 164005243 270317030 719698429 22884759 183266438 920431287 10810253 727958404 668804891 332731964 744558924 950775777 608442341 682521804 401637511 169813435 322201418 723345914 863136536 718045915 139841659 428653703 603336795 286127680 420056495 540132350 732777512 35231972 911107922 721651175 116709113 493001103 520817964 465776599 956213805 336383278 603108310 836093914 182731092 608542945 813425279 977597865 492573559 758317792 949474184 300775652 497508308 290793263 744247291 747904432 14778102 126953695 366177977 159389306 341685608 708592696 785965668 604929067 549129072 594330272 293856594 723930447 681280022 48900753 145651384 193883949 338364747 822145090 812446336 114726418 883682986 740347716 157502894 401644010 575302977 273548272 669620728 441280894 188804111 185170363 990692136 302674659 381204516 431692627 357416636 850693701 221220179 277141245 135198324 440966270 920547255 822430193 492474549 267681344 451662643 330318521 454460700 806642171 149673206 964037731 158029315 553767093 93179319 394925455 633571009 577755552 559683033 736769102 701392187 828595637 205433208 515447085 708367953 932082845 67622419 322320718 480644448 280584633 690291052 275571900 742819161 445262460 499481580 706843138 184279900 316891403 987185522 29777122 264373287 782519192 645902978 251491157 102132283 947576089 523416428 109169223 448277112 172324133 147729454 227865272 994771902 688687049 631063933 34692324 575406048 394662565 245133405 942616212 646351839 623947209 682490978 101864288 621348790 999637257 636272079 644193108 845295832 198097378 235776645 796894749 39996184 888766430 617449885 412110394 399908131 371636002 401284442 97874938 318494530 820810035 367143028 481823928 599889660 965913471 744183434 196769458 841300938 378842418 601690049 168579229 323308641 143113891 231141350 376543648 855210350 770205314 187122398 4056606 301813313 849392932 272574977 183239266 73042546 22647116 436983981 910705616 106571007 855546921 20505236 162202030 286609972 827631103 302895925 318174716 726259052 629462452 823645467 292684500 859738561 154210053 633796408 93439929 539357376 153811825 884096966 67845655 894359960 410983365 16293599 795030132 168108294 265734433 5711661 246525716 185255393 356947965 749982885 596865670 986824810 230789174 156404376 889959790 422211949 907701357 146716571 959549763 591267025 648998295 81786428 677044709 975916476 790307515 83083187 314560021 237490423 192754198 919822183 26224208 697032385 406435906 592024727 892602267 144483985 498000602 790080788 361160414 266819703 193835262 262491909 265940399 466766294 497622604 307510111 797461484 571979244 587087452 183523621 445802999 311930745 248765349 520044502 629777218 346155895 829203774 493918772 720435478 980795748 761510097 87525506 701430626 497144035 468712095 329417405 59860316 415232253 211543697 458346500 838758942 290665056 270965531 713066936 512394140 920045145 948488639 818871349 6578111 159228802 702975942 801844761 194296054 500340980 890088234 669112027 824784212 96993287 563030535 230164664 160896365 763295743 781291199 19251804 493633290 610509338 626166946 552376265 93733260 18302295 32124301 112402119 133617407 354584451 127695520 144842304 280123604 177159006 754860464 328244760 297395509 625760488 947433759 114539476 286463948 975944933 425820922 846475221 988955682 32437932 170187794 306916492 980684962 174737007 155270623 262895488 384241535 29234978 309308885 58538483 110163261 70218946 832437693 344758262 808690830 244192419 124553934 606915221 214876024 387871111 674558864 563397387 827666596 142352877 442045768 338727277 943529002 700766876 993698452 957240958 528354986 102636076 216670074 182172110 105756839 431476222 612912899 246479189 341626438 442979809 35230198 879916787 197634192 110307838 274073212 268428223 260278317 343577329 484480948 401056535 567574375 766617666 520864675 330029590 803158009 891758308 522794834 531607230 152226028 823877534 565814669 585615800 285751747 904459341 85153180 874832089 569634763 700630001 713460283 417392269 728619068 791645285 915310521 958541957 915700705 728289413 204810455 488091923 696002480 118215641 216927684 104314271 745775760 382678445 36754331 16217033 326229373 636052809 432643809 570713548 70639922 296114606 10325961 661582970 249856044 219616420 269210200 627018823 543171566 433701292 23621536 179089899 372095234 821907444 226319211 607859979 220043291 89781401 273405258 767279443 826560478 586385270 66037708 768028836 82730205 168788937 35421027 935169130 771805989 184586047 693670324 788058706 893675150 720821444 508276176 259003870 755846222 134640878 177276626 211739714 27901902 373780976 207475929 390777064 160967708 133034764 260107831 729086075 324260447 950079466 548050728 774329791 206297916 628152572 946323814 110142319 995801653 10476654 38085221 550784499 700075972 652022942 139638913 562999994 382039225 702886211 868601734 992608563 737130960 48640507 467144332 271470882 188734544 131034921 466077739 46726132 388824523 168452957 176770532 809380981 155513492 139680099 211561301 399687393 897664600 342329809 479562116 302258785 478670565 257342232 378994601 932873159 434394316 83148780 550107578 620788529 862412391 883799293 686665840 787680070 109950891 800297906 405011854 19664126 705211215 597255599 754175032 211649325 688021354 478608710 559431762 248909488 364801769 202981682 353561368 543082309 448964129 366177487 338411790 467690889 199057771 661921157 510707896 468910630 697612848 114473522 145331114 140634727 434253103 619909559 438155249 320106139 337736850 99536377 591568242 201190980 484073184 532818158 172207078 45770673 364444453 4408235 465471165 96801059 191163122 358457480 189671737 869659883 8253294 746879353 630199070 352765076 904669212 44365562 950675243 355609671 211676730 202348043 19559234 396499197 686924238 96005538 115536681 78249551 519848951 147035318 54509875 504075611 762272918 880575600 14495240 650794715 993117395 822536688 498122775 916036333 195569137 798841604 565936571 179973248 250284016 120134903 835407215 36584433 525434810 114363539 674173405 880426720 924334624 891230760 691239817 844017827 569728127 922747744 480283831 125293660 630354096 321078409 865184777 404828602 481602943 247951283 994319628 71654323 434231772 825445379 547306343 442244007 619527249 225104230 336300379 185288349 969546277 946397162 900342455 261097797 232333982 562325249 450486155 949640388 627237964 293213398 515837123 211500269 379185675 714814985 487892368 676392275 156940862 760870429 654050108 154168073 119145612 285131552 64323159 154157609 201430103 92779753 955521964 981031646 462197967 472526517 335003417 718505812 117028716 789045066 904497655 23841590 881608497 328940064 227949112 403105008 387937988 519068665 351743160 464570575 906736169 14887798 521437243 157947637 286759692 402995829 822823144 338985590 413000121 73618605 39626331 533465987 378563120 192670810 851149808 664404402 123083652 44684164 889023539 106216952 349705182 279972997 174392584 47681334 20682277 302097629 220343619 292165851 276454570 102876034 217993831 248021787 706069090 787248691 622414100 860378239 315305220 167086490 902777807 673838012 12416916 913499327 341316216 268682932 782060830 62888641 307547946 945821990 993360932 819754181 220256403 841676284 548120465 479741728 631711920 780133481 999362764 665411205 919015788 943567493 331265913 139624424 950705080 619767294 914351420 938773305 646942243 963586779 749090171 412200017 956982084 777051306 219803122 269529509 86223831 72796820 189997900 727024769 493223024 508027222 956760249 783286387 163137032 618392943 743689458 588706944 761366724 47859477 401600155 606988033 992254492 748180208 268004790 643182841 414417103 503900679 72956862 825058879 261244144 734511922 758258108 687681817 421369417 979048322 784574353 229333140 858800272 981032365 152103893 346911285 545256160 663751271 873108869 825805302 147816910 418821288 258288798 763246877 174867849 499461832 224460688 177821530 368901394 901822791 377642948 487262574 26075992 516276829 225234877 650546262 586676553 129075839 198821361 636590779 496184339 654564745 5928145 508928884 116389688 95399636 527292173 310726989 475746172 54099373 708911403 709210793 842874225 11093493 277537816 252562924 292843283 348117675 275671551 451413038 28147655 466769445 876914192 181999851 268836656 463084349 420076849 78943579 645777809 57322153 96811910 995316612 605045405 893281950 788566849 23192254 341076587 798956531 539100976 137072772 432510427 726654478 254905718 681004216 745432385 809929366 51376016 787751899 304436837 928239710 137203163 134605729 746032859 543006055 424332304 422608104 1400685 793355279 321129422 296254278 64960454 972789099 541570761 689006957 563219066 808284218 432384653 375469222 859092049 38256428 830405368 587912879 242726232 53544816 49698477 368499968 905421141 941641416 961317872 501590566 336556523 368193335 53713058 569994176 772899625 393386336 763886634 188745177 292545990 234426829 367727905 885558180 269808332 838289011 963408689 749057174 70939755 404361657 429505046 47525842 796774665 767334445 833922755 689353628 550687908 282395565 291331624 452562424 86424535 993318867 190964649 165822619 62559691 161531597 769720017 885083792 821132085 714107196 505772875 99702183 273028601 961801032 343422812 187421267 448864390 879459674 830176832 904286621 266418029 841445189 134332251 879137462 615299892 275018617 252181787 19406174 90697861 410794831 20442494 208654762 97360160 810234819 339547884 195902032 560835988 352361220 821155815 61624581 894817757 471642138 366459294 288213401 939152377 492630025 704904286 529754014 56471428 674678125 578279688 727046176 974200556 170009247 67972653 881697584 26195871 628025193 549923121 563252508 854984840 865839852 431103077 473872954 253271876 945914657 687527089 909116716 842372407 401027807 6011167 638703849 465860244 438658571 168829411 868641524 247578978 237040705 331132515 566185751 120291469 893428732 296746062 433032109 996227946 900839687 711616405 259397148 410099837 647322807 434682825 166625951 323451348 480657172 743815742 708371329 495330632 765547136 775227045 377639986 4122584 83965388 152991035 999254888 467331106 851989195 615574578 100204882 493713738 55334435 40790902 540341939 405181735 756479436 444785112 853509752 298345797 753190719 218368693 528965867 919424646 643709672 897871462 277261659 895432930 161939202 63344983 57519950 560851773 747162799 85616298 62166377 450918276 140134110 11417321 489812534 517741969 342822987 355037286 927040373 428434310 954804282 392949963 456255117 464741245 167984112 178005485 880031816 441098860 599519706 318491994 929821238 753732558 708656345 69271346 182992395 969518467 444296077 8294262 968812849 617048894 840595564 597436465 782648763 595518360 542424207 558916067 974972793 18688677 474655608 453122739 736080222 174523712 34222567 388304495 252407608 417687561 230816139 730541112 217686050 244642972 831108328 994217799 630040327 423850998 104334105 38249043 440151727 171941816 88539593 126449759 444369345 933965731 90624297 560117910 757213182 107177976 300803066 134428668 843116257 910839825 797658042 264880897 68742606 380159081 15583510 544631479 650954691 620949979 330736968 675532595 996174077 985789007 53991259 374474015 987909290 978035363 436316768 374548088 146955187 587480984 595740682 61261456 596868846 749525158 530921086 136512630 294398509 805439897 730186302 455945121 201664535 584495774 474548157 962422637 281550040 159747560 67465935 223977588 925557894 125721056 852976707 640532313 811107480 937955260 354636865 134394842 790482941 572703228 512039586 867229348 625563475 723921246 287313069 530404185 694232486 878721211 117133703 373800330 945662843 38795061 961060375 428055901 366747773 587864814 4482958 430093750 552074942 443633700 760415980 143957087 19564520 532987553 255314845 499468839 128156275 269438082 9534767 733456699 264903332 725701229 493293247 827137497 317701978 189775922 760775497 419270827 46507170 69318805 54283115 981046386 74265242 289739053 37104506 873534811 214265802 421998462 558288210 239187862 453938373 72783887 376855081 689869141 427655339 391605217 49324284 779002254 142142489 853048240 990258751 288718201 302583227 352283007 313660203 616592455 850823767 491388623 18617932 228628195 176408354 880532893 281987450 988570699 570749897 116532700 682203591 517738586 518377195 916503393 445927700 367598841 808981912 170235730 97401423 976802493 455954607 58724427 921279761 576088420 652598779 758451207 935297243 66031250 24655940 746014267 5777975 128871722 406507694 913120405 676070091 622693792 528367724 74444440 592412593 468465137 80551114 295440077 287910052 598189570 605553087 218014212 366568534 683682058 572306336 176077538 188241432 1863485 458939909 418882476 898244684 532070748 733273605 715614879 825461343 339265411 141106775 433054257 1286478 651584904 372446341 453955467 849272760 46148864 593506871 768142808 641835671 375137638 348644700 625906491 252577373 696497332 440432474 460889682 549726824 131894317 21393710 447692679 737704009 909761939 957290668 652505488 110984860 414755997 219172955 902293986 335067920 902488456 271478837 571940072 263417891 664541333 86866084 807989418 750299192 146028303 917579575 808035510 923734603 228829722 192071180 92919332 940694147 815693685 456931194 80016934 737012815 532799997 393920864 182026803 1721268 7779289 26962433 301594220 61838818 108465798 408905811 396323153 230393275 25671822 738035152 923366087 233102906 402349795 385269875 665585046 803515915 734966484 14641281 881721225 775891815 44267857 451000510 456054306 972812250 22708852 523614003 826570109 558067922 467126991 191391552 163635534 902666844 773445099 567627904 629456240 94224408 6808622 299417090 609781985 263270696 336863649 140280890 231560335 235983368 451237089 723955422 402437835 172300414 9302372 523639060 315553621 690470598 268873345 64126614 865675601 387446221 532169031 333927329 358614800 716049463 506776093 91414120 79233504 217710515 97045063 499930052 549198199 382817021 646247475 362373070 178820375 125368625 212374166 245043442 872478872 186616147 918424824 94885405 136754707 844459162 591133703 914610293 833478321 335356168 457883958 798834134 155592718 532152113 96401963 849901231 829465476 551734668 254934906 115676469 8518258 98711768 448149934 336268083 526374881 812235540 93736406 593866940 63489470 671277495 633877770 62198224 769007885 333251213 158008759 578010596 756925848 590659944 569159708 645787131 861996720 872001859 982931492 699638118 341390518 798558485 991733498 117279809 96052470 402643223 55730355 312296754 952743960 898029856 270222748 980171732 537876826 418330453 402196304 631669022 622707424 647448715 684846795 964978198 713009448 890106598 97999538 9501089 149974387 137111561 976283904 363583827 180943933 408731215 395910068 748786646 901731654 215995355 47480867 848379959 587201634 929552494 400610263 589427220 956145890 776975831 438385194 788151031 266771918 209638994 859251584 167703037 295174863 503277445 113604287 509799973 801077235 925352152 707991343 114596256 727371893 360946682 545356736 524867320 706763705 317084110 293923459 6016213 173989405 861402339 26237059 525878592 609113593 181239058 104329819 370643930 60624945 13863236 321972616 736514352 321465098 665008353 339603346 543332765 417792765 593235487 511593880 987818625 740950769 92596533 899824021 190230586 113593222 994884992 765084749 941792260 702309208 310105782 501998397 15423456 538752680 261832675 174390818 532038182 647434372 100322515 459629562 26659498 289310480 689826437 66794634 435260793 709757691 831777937 181590640 667331699 435989844 388278643 910916439 112084113 439303829 621693730 43543365 758372024 511555708 633931985 223392073 450319849 394543306 786492015 566848891 403094177 764786637 471021266 371852785 395459957 956125872 730418274 700365443 111909505 478315273 899074872 988064024 633413230 536962148 282174652 796098300 118407373 976222584 1322173 632698739 137511756 242257310 655040145 497551184 417174560 694727380 712557825 703889949 774605160 423186410 39583580 76642779 367221018 135299383 162701092 35238900 40030369 321676334 841048449 919841615 436657654 736763162 966139525 951971958 636839211 90827160 111576394 421839096 157451818 757112891 516968843 870200070 656643979 310334202 703788496 38433587 620577953 644869316 193302667 534062534 759726513 203274333 390834731 929650050 824361383 465849254 957578849 109820693 428934495 542577908 642597478 114154774 40602977 719415298 649773349 111097914 470180045 481240145 354075007 815814416 283776442 361794671 664291531 665897720 65776436 659795034 283578621 203189936 790502968 6746366 536042438 934867950 167264438 525243561 408723729 307177052 238884164 97797933 124427235 688672028 111531147 101906348 692205124 979527247 879707520 241424526 260884680 200206869 73623285 358313346 3457099 91669202 889750630 298932318 711745309 472925238 837380652 436026839 376757893 674746954 924476813 601080809 729429541 527867194 629847949 573588815 666846960 940698896 557352235 694978567 995332318 235099569 574416469 624706438 478531896 485333337 229551565 779239628 574841440 948863397 595549952 13942413 197250288 711364341 849189092 201500458 240600801 627467206 241340587 629766750 117656726 73537449 412607922 160723583 501675679 585768051 334994051 631854215 294454719 170687044 624957221 618619665 64766361 964919480 926588663 833241879 495767635 376228670 896640896 933964419 260731009 551057369 364339731 138689077 578807733 816728063 623576904 986890501 502769475 273815662 206362653 940466101 231060821 323997030 38287969 48008298 43917529 628074940 928332440 241396980 898192721 658630737 971975067 442699994 162749794 110915585 571714027 130186260 199879870 894988590 427771664 826496225 714713377 117543176 566731653 586215066 887523192 266250528 33615146 369008957 559396839 427363249 932623831 200553774 697087144 215411478 78129587 953109379 59694628 952229187 799190423 641247816 676761677 843711929 301385900 450973714 158188954 337170338 218160486 345624925 955711873 18616010 378725217 405478647 188871342 225714877 543682030 357498215 258559146 957522885 45527480 326128570 821988998 577599413 38660021 272111841 755876221 394823504 253133152 506758847 626718253 820318552 435339862 193851151 709795484 6560211 602139210 978137022 993992979 135391627 283829827 301771812 126599876 218014230 187204276 422599757 509884050 369885580 371488853 819006161 588221699 295296749 603203567 825925386 591414636 314050657 321294464 360756323 375388384 958199385 34740610 868410103 905749238 191581791 70740603 605954559 630264678 237225091 604556552 769138667 75353121 245225620 796898638 229929427 37855106 300043078 577182667 328688288 347937758 86269316 931978113 790820199 190030012 227041280 159405545 5729434 815727326 57204288 821923350 216330506 671044910 525111334 763362139 182760676 213404567 420879633 437455922 336036996 255944490 78632265 513309715 129215849 276298777 369761561 531755687 154747301 373429781 394594584 532497255 868995604 414508370 469778980 997886698 241519994 465523334 802057324 630042103 602968711 150107631 330146963 193218719 522605648 728918347 335228719 320802655 146079267 826693610 604372745 489073040 141282089 316667758 856414215 733585055 221387817 435368713 52574598 67376633 7315854 52180264 870351132 232395590 125400194 737621002 281015682 886124048 603477758 953145616 346756948 651482478 766295015 900507389 60283802 59308764 75069594 675926832 931184957 272510220 173174631 439974819 32757876 81329594 403810542 40589923 579052005 147129793 405661125 51327375 646748076 982712434 377967075 184915389 90662524 996952036 616495446 642588821 439954965 82491323 86704368 387518245 649835677 947302338 346831994 188334469 255691560 809747994 767814334 555367668 58576511 215704824 892292389 211279449 693374669 359669752 149356128 121836630 672940407 387282469 625446424 380115107 443944730 232369491 493834887 435400857 319133930 216339651 478521627 579697987 840237919 456822073 966143026 30648811 717688890 701436219 641900594 387950477 328658130 166606361 670380280 182597694 459483662 533423827 681567139 581585276 265008573 323373727 460576885 67394387 601612538 663055331 450779415 73356121 587123310 133017631 153529878 470642053 186968455 461265950 823250523 789018433 268114980 183347985 524682719 8345801 560958665 569676987 213179558 176902117 589513328 465805843 483726433 583776598 857201028 321867474 963919507 490233610 116368343 79474290 725811380 726257071 937242282 479865970 796074270 108711557 283746970 921693017 963718266 327332929 655015930 893864926 459274586 205377706 463608634 263853975 352782004 169865935 421920690 735797315 207727744 589560792 49878140 459333493 54327430 376038230 655878678 820358617 11134356 196642627 502422974 946541516 342901893 82359337 619993164 467942071 40619734 554542241 189027765 533495239 384119418 547766577 89630745 540369113 213592231 680145132 876628724 507198273 979799879 171311304 576387711 749892966 288929702 695945912 607844302 634844539 347934631 24295731 109368803 860978808 194613488 633818726 268416006 226446761 150539476 144468000 3528152 530646251 589701904 249627077 793657953 276618734 155587851 28889411 992809430 51035819 451316389 434439989 199629831 500009034 57460907 166481005 719727594 572550636 574135242 291139454 915267183 572597123 218740904 463349038 194701665 204705299 174538489 5748781 103339371 423788551 954694381 502856491 834856166 883665150 524875248 846120827 316994766 850191473 83752142 913806099 843287979 383894128 679125856 564947194 120596727 141749330 389992787 502510129 407603532 923536212 333702624 884737282 408850767 146999275 511982066 416159896 817105372 767299841 147779719 503829073 185699365 196925867 526245662 188891888 43634238 91875745 446344479 755326155 215040451 139319314 212192609 288157052 275121566 838343311 424894641 944468999 993456091 537437378 798914563 503524374 416877517 150613957 951426520 235951927 742017291 689075971 954177746 424759621 3301949 605461856 870706797 175562036 447988978 506974998 81285488 379601678 669176869 335471979 81511086 681881800 767710631 692890653 468582258 103258624 864487701 256405 152963629 74984556 703231544 931315701 124983877 588740099 918680661 914703514 504570182 78079373 5315267 443348632 75461280 934084392 305605402 422269324 679319759 907690392 643074869 415355141 678649985 566554972 915639719 255781879 840799498 6482357 178472728 458846845 592295330 897540105 997515207 243708384 519713023 117136675 883961734 988916763 776411872 938239009 73288695 336299187 982866255 133211784 557021631 784141010 554386683 309710525 560439762 336623038 279253761 455551826 770440610 588737162 392886053 262406453 456597076 215292765 305523070 960231483 93163570 625166852 252093719 791622042 150874810 776703882 595042455 587819546 885467328 90376882 652337609 614542981 97961191 184234836 121936324 497740547 378371413 544415955 418014160 247657703 512528403 416313100 556966231 838595531 196605640 249931474 297264459 507203023 542173579 483652268 791965648 327855555 891786458 558992264 212156341 210565096 681457777 252980594 961026045 880489485 986154066 820232349 305891312 734449948 973574362 541106506 312585496 553119017 323288640 713954738 327364364 372697823 117494059 137555961 201253168 859874722 191022270 422478310 276933383 189764835 780348331 715355535 645244354 749685254 568508761 831154554 434794007 503920330 57020569 57434792 600717851 575646566 474259958 342105540 28023257 464555140 923464883 629880172 713480826 878832715 709233199 326732799 872901975 14171395 66670122 301737540 565759337 53085552 689030008 343181593 524556988 229516733 69189693 699197258 821413926 122622178 421389741 62647534 246658767 14091546 92408392 469331101 639081349 9076283 326165341 687663465 473295553 906445733 697289382 238591610 313535162 878745095 720981105 812786199 373269852 309567574 864692191 166253951 620694466 731072094 740932362 534011962 895023981 637981459 293402645 219285203 590351708 461248659 401664415 886325899 815575668 451849436 48326895 32310475 767981919 75710535 591697903 330384495 49655880 965608733 243990899 858380242 780803420 675223390 764270569 69096467 825848097 259564120 560617175 866905369 279339949 881403442 2102463 293526036 584330404 655323657 3347493 63716186 993130816 568509099 482540682 573137002 135418055 214090996 276601869 690336244 127670538 760366062 317418208 779934709 162543672 349576821 465645087 111466923 448516656 55166539 698189892 130956271 577408321 833578888 311563812 317433800 795721319 636997732 543046270 18718920 182065461 889694586 4590051 117918421 592282415 928533710 3801328 521864217 804141283 503831360 89176939 566852970 495150285 360460188 579812866 926996412 732336557 307238106 287496129 367305870 976654081 845162464 952500752 286218848 355821864 223345994 549298289 362729280 914285002 77779048 975797569 58416602 218256291 963104750 636022122 402977494 678310696 352102212 137861331 370695078 391889430 269362443 741592384 736604417 869859104 485267662 555937447 590683518 68473338 767956760 791322712 195735392 151009356 124962066 66842834 540879506 797293923 632321084 180045002 756285510 768899592 484326471 175345658 474474373 442827850 575915672 203409257 132666833 738725342 108314842 709473337 514710548 526649847 618597277 625144136 614495429 527457987 333517945 342778930 610898622 808582724 662085941 405873267 6254598 641529213 389131970 255248773 935183499 301999484 8299382 226394884 781792112 535708252 132102666 768042776 455782844 732056871 215241324 250759620 518350971 439339931 560000095 560359337 716607363 241730893 711712372 623177567 19920665 298877976 880648719 931197639 905419445 242108009 594770140 444086523 262311776 50314085 176853214 672973610 503191015 695581883 881971123 15163627 462013932 668064168 182092530 711520277 935605461 161001834 882066172 119867239 580328899 169470708 10204074 293428557 469504881 749068866 597342659 124644328 712208146 951180844 237222564 399979728 224484278 318282070 52897740 13082394 919535321 106012309 233854266 828761907 467053575 34880048 932442640 928327161 823434477 25646075 382947046 493051589 922649893 102433752 393414453 962595567 425798260 694626800 718032007 229824906 603927618 347154073 433478686 66129854 183597317 325257015 358272141 114268563 782208169 238088003 246502718 232010369 498367338 271601266 952095596 380743861 907223400 454631046 484018432 964268481 19132952 899647098 1567043 947663008 676401024 717200834 978023273 679668915 836839994 791021008 825270543 578011874 355722702 151807323 738238937 571015897 537457042 323476218 999564798 201754562 900299976 474857886 24493040 881494521 118740464 271398353 311564630 942146807 658159601 841833737 403837947 518048144 396532507 521649286 560923657 136804040 132066064 424346409 763442427 411351825 162318357 826822849 854354753 147145674 388407654 576292186 595799372 641352020 790955202 265364064 650834815 647451421 740929497 64426561 613195403 892980076 561403359 378455573 310741547 987358093 924385585 9417104 82180602 440881797 315451519 185933290 11951745 792265671 321869148 363375203 225806902 441950500 573961669 552590685 755113067 125806924 786337478 980412336 278513380 633929333 657063311 844136459 203029966 742322297 201844665 363975822 172399430 616136867 528413638 626319983 560388386 446756860 276930748 675068886 216452540 624455298 606800589 147020825 264074840 49701512 787446736 923776297 329370855 242523809 694193364 427776676 928682418 695862255 621449389 767879296 734187233 125363386 171044994 123845629 752193588 226646971 44737973 193336378 458826122 884498440 10719401 233387844 239495437 907290970 572507635 368592436 675853549 460353820 341754146 444512949 636685282 42269233 959733176 92408303 63535794 489158544 908692473 611475689 305890340 765338639 323199671 612813353 169090638 196335293 821503812 903055242 359281604 8848665 817307922 159117808 920235030 251035226 902654766 152096205 116300138 158758246 926369786 678165950 9094840 869482945 241059299 635722749 299475835 240125355 406266891 853985924 946803450 166321482 865171719 806860155 897939650 998138139 587264052 862029542 655484638 479319990 112176496 723997309 766454389 646772376 751117229 407884501 815467477 130825133 453989145 297969158 168636408 520823914 751503343 114618552 78956797 612110411 114751888 186594935 89938916 811672049 611844784 915544836 719764667 3209977 380474609 155180465 702875671 511888807 499642972 957116293 306530704 285049007 658975068 416154470 836680272 31504156 175489844 329991877 140819355 106988503 195673313 566626779 213574326 560135427 647671657 862385290 675595497 665946739 887303702 155700011 213056629 176583593 746906278 800211812 577822670 110730145 924247057 508381927 521090116 75548764 160769040 593951455 691942331 388376220 228693067 663095648 180479634 398419616 895755206 565139461 768974893 549327478 72879896 178202566 876067459 221593785 544469316 138789335 762066668 778514216 913873219 841304403 333906333 543849546 464835268 661473151 136429127 781582296 866159361 945529618 241640413 899140740 351386652 432386761 593894093 922005991 678030839 302891633 146414838 752578622 661671360 79251491 116569141 925100387 893190790 535676412 612631070 666134762 527055746 209076985 7729041 761634442 439472182 611856696 289101014 434499783 495331314 206961675 454322354 887184866 217274738 886416760 412332865 782998952 152456871 73830141 134016847 206302451 69242034 20320636 502001144 939453881 64207476 417569080 447303436 858006553 538456443 937651454 444701589 44959774 188468749 73036621 132989015 242517576 137231221 494179697 811709829 477996580 42291825 315381178 546548623 419682547 27728609 264468633 745323180 256460388 714209914 567766414 647504061 245922008 122302690 652227763 119873736 167604876 234459003 170580219 857357202 479437201 475057949 624976439 180672049 736545008 248950374 820174625 110764094 524180668 775598215 323016378 271382965 577127194 682976584 612207768 920001476 252217777 5845543 807002752 175690969 378352872 704003844 235014905 596565255 341645827 113482447 760805850 695101369 689075428 34910724 884763601 720266825 860537620 561503039 615666773 177254497 471029892 947262829 518477587 189668590 773028434 64403787 782533463 160713855 770741446 996588478 787418625 473550044 151673985 427572865 830772359 823369773 599430633 101443679 543951301 975102547 630851789 460201723 127032470 915347615 615788665 683424170 237790857 936708168 257665085 893906338 810234382 581201679 85414503 248468505 897291028 370334666 390896415 449333608 198957310 916585868 387248581 30107341 773089400 181759118 669303446 324760707 276138048 159000726 45571664 239246059 170056890 265726388 233808022 340181427 2776423 95730077 806414459 889373641 93882372 941502938 238876097 803758559 758673423 643353253 771321247 560139438 653506820 438493324 832720572 444287808 550891647 284338931 3158890 248129721 385795220 829053591 396705692 345969416 148021823 374313075 221569488 464078734 538052128 159384986 208872260 141752432 258010744 805022991 674602324 938722264 941250301 991938199 537652927 830995037 38212856 386730986 57626912 216677231 461057958 671811692 883261296 191171569 238384239 106889805 383026008 94675256 2358491 185514387 721645918 931695159 465588548 279316549 308894066 445583139 463716458 970213831 329493307 680683967 856763853 184415928 981921035 873548241 148498465 402738748 672942906 707566664 22101330 532881109 173850452 656569157 844366985 553419025 123189185 388543653 892518281 74648124 252831158 769748539 220376902 794344877 209501086 355151266 61743266 192178592 723460055 782344549 344661375 577006976 296221760 111123534 784428564 901831638 787838846 315556001 826344560 759728124 400441494 275300800 176688816 324463943 887218952 327340890 397350586 914220632 86758055 872301262 487746395 42848726 904527324 166786646 358182774 795761794 349799822 805931549 392648113 990973955 639783289 23082070 559846172 663654505 553625980 299304186 776096215 775133445 42284818 945168716 937960158 551638733 832116701 891045625 25762253 788164004 958220797 365532167 879066357 587387100 343885457 901395639 647777908 906948080 513252860 507108566 318444684 910836173 686023041 366659331 100759149 509682469 666827776 751445866 867042850 445247444 966880905 891494940 824956992 797881397 139253695 433392669 492660126 3964493 797060286 525611322 469154851 590824257 99732277 403407667 126845843 398650294 268646178 509607397 504317423 502188216 944666940 217568289 942556091 85962315 804757849 892566609 324904292 117145886 679528622 588255338 272245011 664357805 19733802 624202492 134887485 954629245 695989684 858291090 568377455 127792727 446391243 664289667 617304958 118155496 497597723 400692181 377288892 993292352 203291414 584748479 4286754 46999210 121642165 146866246 716046641 630697133 16593034 779454268 268426072 611800983 372034035 637115249 262602066 503697145 392480300 516562567 990034947 756146933 899800906 339973677 435345879 393684874 871441024 333152694 480423777 70270776 675806091 423515951 960030152 456407330 449615561 696051049 647960919 631353666 412424820 300997296 192004386 321946045 139012579 433657728 925841374 620830018 54382437 124926553 115948721 244966395 597119018 791976272 37452287 649793377 212449632 422189189 972612068 574431084 275303737 555862169 73812728 601754468 680799450 217630389 980838012 270622256 700211205 933856917 337893661 471155236 88297289 493872980 348869151 692402768 359016703 262084128 52874105 706370589 57939778 900877420 369318653 755654259 104100004 840258538 161516688 602046397 445042508 479723570 522452816 308948449 148626157 150454937 402333967 790505998 589693323 675730665 94344344 171179204 730112923 461758290 435351843 12694029 158260818 609220648 33280596 796779325 773177339 265518949 21088135 896125847 467498669 487809049 87955253 573078502 424318440 460791788 976027238 163676914 541109201 390451484 60912755 200913046 544563557 264430635 719443555 57947677 694044872 195184190 400191087 23265531 499007448 999970015 760785863 990916242 81160184 982812625 11023804 661284367 392186882 918366304 280086191 52498819 759668842 18941173 771721328 230704129 685182086 863947099 273887064 242250179 295728143 165230590 409099559 356173304 265507120 749112348 759923894 165668886 59558164 186876967 585785459 460751451 467250990 492987663 757425808 197741461 488863209 123044215 347972571 733055920 743268186 233376319 391972749 624224691 308379807 584587710 627222902 993208740 600256386 119306725 506144586 978332105 463496636 249486522 462043132 910275240 488841499 543081011 927595946 55274711 850112380 101961802 81036871 641991066 14386203 535764376 693753349 760671105 708940474 132763603 300118157 82446956 22620303 992513409 234229643 992711737 950483925 980057140 725996087 77963635 839871224 458165377 77945386 274732410 572118718 88209834 990311518 960171104 252993278 669500058 212927152 152003870 50967915 7710595 437881949 254992793 63178616 314805432 484111298 430533793 671726549 70140269 327419080 597289121 412745434 13852440 191009846 166751635 439326387 354555839 523285050 842304416 399415536 253380620 496025598 827224553 731437455 177146341 460760835 475307395 210266175 712855884 867276778 548622237 817098232 294781322 515922488 639316504 56502851 514623470 756532763 103519285 231712535 837847686 894674625 518770723 154547240 459286724 533353141 113484832 741295623 354153013 536213796 236108468 308641501 696219093 67244949 891323224 360259317 514923587 5132779 63421257 286978214 923311273 345092428 114192716 372665795 772892622 890934557 748650558 763445671 906897080 137514365 165364540 765553368 682952572 900797401 91338952 507968489 413216744 268770837 643347742 475775239 480953872 939656159 440006153 821565976 394415280 292006216 302828265 211146456 699417101 391683537 545424137 155099625 37045451 394718408 911531761 174008786 120340736 287779157 695809525 355437677 52062128 813458180 184128072 169628491 717869386 150935397 96482531 111051028 927419571 955157479 62140649 433682315 167230781 624716595 186923778 99294083 104075608 59664190 976008456 194531045 70966283 414746664 945748500 182178902 950391187 11297045 838096937 758305100 565623224 178979269 92631063 950656254 91024578 782985874 9777090 954438211 398387437 66996816 800876526 5069150 821491701 588190596 578538183 483048823 756122973 993839038 310285920 639144374 287541148 533170312 350904026 271451706 133171998 836680048 134826781 314691599 868833433 448053016 635152771 209132195 952322776 834850265 723443402 803950842 470654369 600159744 490526528 101719248 573836807 805583940 287170971 594132930 855830734 348711570 669580959 650869769 285923773 294017715 216873991 970961362 240927059 886552769 265525166 45558425 814702651 907185781 847741778 681263807 511023669 204296683 998253936 587364813 77472434 168459713 138140347 978607137 154311700 897050065 134600606 304121205 495907937 944262625 719652539 372508368 614765375 40391645 236786847 201695807 626737644 713810515 652424109 603332028 65826225 288463570 238393819 629982188 626654616 248581436 930967250 305739395 165296620 442209288 155810916 37852056 868594604 680591261 858200849 238530623 784987547 635303780 24997235 50076997 288265836 942818386 363684300 833049448 321845237 202004079 954415906 142949071 998409019 578030030 396918555 516726095 828394771 719393628 700089295 440137861 808705715 888546916 663549595 364557247 623173351 721566090 832500813 575350643 84549331 735747128 876329658 769111512 617587185 872335352 986174367 178394569 450963690 734623758 234976541 463543533 365957760 437182849 787075643 897681172 440767201 75648739 367924832 558921514 400932610 469077715 261777184 918352996 423649694 533000884 170113993 294916028 668043649 789016769 815313064 468997557 350246934 713833700 332578934 344916114 556126623 106730845 750343259 328514551 667695127 712916920 54598206 788352591 450397372 958148547 104484896 564725433 389128554 190811541 150335127 341061301 690996659 609239559 683547435 97185204 820891920 313457320 676950208 461761138 656453240 543758846 838485380 636394334 91408274 339868209 793302866 377542032 92168334 30298050 997781342 994309271 458428950 820379406 172943468 291766238 145075934 917196663 232690288 229507092 581245847 156012100 845079864 615532852 224965216 706686778 78103376 118125747 298174174 3837987 848270912 183821504 741256584 608599139 657022843 17499753 309923881 647724110 655669176 213584684 201069030 497759800 713348771 62031519 427756413 632945741 514389655 147867718 23292818 485977693 367384547 139980262 479443681 295928069 476154084 419593490 881419758 116959050 572957018 284114255 308489809 678371835 768852188 82196992 200289333 953362102 34981930 714101395 575500390 191691814 197658061 346462689 938490468 949680380 978569980 914749615 12993921 805477239 280192761 256601630 727262576 709013005 841370631 216734722 592126974 104473450 118555977 207415258 68678635 303974698 353287077 278021789 232815841 37061473 962947246 88065347 86990765 492494028 980757690 821874555 288452761 480988531 899631713 439701974 847437152 775655226 245692761 353360153 159801747 372506261 11120948 378512102 643900221 133635929 235603486 85756925 140973278 376430433 28449319 570520432 912846816 48224703 221065617 612254597 873422397 553592089 731469092 348296900 705440179 151572193 559447145 844231820 801713793 820304252 426982493 333303341 329396052 89843473 382490880 8744653 876200969 132149335 581347501 537946853 557464787 48831785 169901493 837269893 203693759 965750989 616838890 545273581 708665374 936566948 374363166 609258752 810911987 14652513 614144609 376514803 369174523 283213765 310581035 522833465 848764453 161732343 549951763 579424875 727201332 129049476 460568634 191597289 387497995 149614836 51361695 823131561 840508891 218450008 28071815 625025507 390615867 848618508 47906855 199417264 468794768 937006115 135860483 193204005 477799610 69673256 879230592 791193766 817228835 345716247 407627956 258756816 176122743 573573344 537153629 34255593 26060561 536410561 517180298 60396502 703801991 264541404 649092610 240619433 271338193 170940156 106567067 328470826 812991550 127997472 366564674 622873925 182597257 617152776 254032034 141715319 769005827 932923598 841402019 176805498 165118586 346200313 659743953 848634891 152333791 678457439 896589743 879624584 686502333 772882453 335042406 57978548 693912270 552349567 263823285 270861787 988449757 563006492 267659260 109991845 131864785 955135657 212306268 65919110 570640830 51995790 368525564 359869990 34473113 159777601 699606366 215580994 352359578 113781220 533783379 970281479 556298923 489821598 292239543 733098879 73983278 444036658 322236397 223231238 215672247 478765766 116046380 563969096 912772635 209068811 762824954 366581552 904639022 86141220 733040095 191405150 253040883 346745959 293270999 58541979 720674324 171143548 349365059 129683690 851315113 466452381 895757122 134006098 482055612 34112648 625603319 749152492 933693095 954534412 552744720 96081484 523040781 45205189 751969776 229890741 739524801 224627538 675472415 71069312 118613503 411882190 626266394 275974026 920414618 225503204 713584995 872702401 117670413 401386822 991763401 266202652 845984821 899537588 759675546 191363816 556945559 262245525 705675606 29840042 788480060 420788185 775468591 942091748 244134796 409114768 34115399 4859783 556382994 268908066 227583575 58538064 855014881 208820294 774090134 101538104 102624209 476401435 265840253 909622473 261695356 253803977 601615388 871848087 260714385 306276809 189678799 492382309 99882525 255884019 33341017 901830781 246421811 979018454 665732877 341246332 263367631 316640639 825262790 983132077 774440050 454869521 480896822 797950098 600437464 674854862 820258342 981524274 704213584 258365166 772976996 740807919 222491394 346818829 439234317 6227406 468068952 244353871 290460078 779829525 594615679 25485134 899077956 135430020 192747317 877230548 626243251 515704498 164162205 382004102 549314499 364774171 412928826 972425287 471186434 801924245 362585139 1288992 404678664 596298210 651051974 590035084 163424291 32974203 82660684 632416094 417230213 401348603 765100459 9541029 485997498 75735673 197357630 422171496 557243393 683382482 688427611 603456912 35358632 548529417 857912163 83543939 80854948 762438256 997811138 378211005 197323789 903845166 974477007 743365623 358834073 724967663 767057011 28365079 711456503 592498938 170919894 957944332 419466399 634695952 389365242 717166057 891656572 211924348 681608822 681045722 505461367 441437740 788882589 218050597 126396759 810584432 174375441 132729335 373925544 123296477 504789982 282846329 377300241 95308683 934758730 275789936 178286961 927679511 821477224 814216394 553231278 864729778 447426874 414642963 150599049 810442119 289291174 832616122 762147713 568815455 550351526 186732509 340019212 79968968 413940778 911630709 848571902 913568655 486139506 392045651 80293322 577513050 939730324 827102553 989159864 215497543 737557517 450816762 534155753 505193443 945549485 134594501 280425926 926390591 646602535 264300966 565718232 170782462 521891138 772047940 839166318 802547881 78711807 18697055 318619073 485258369 113644466 421048295 28102624 93252250 86316741 764940985 224623589 262688808 192519758 926634371 8228299 535431648 64296473 976493457 586014593 261418500 961432186 155401959 530528847 355667207 126735638 701412694 357553813 982106317 753812929 829344069 46781452 900999629 131342677 927191913 684616943 656914031 126725692 635706282 701337872 776824651 921593491 24363784 268824717 219248001 738591185 540892625 70600270 547347006 78974066 362892225 937766753 951768650 324783662 624369575 722842965 592794716 554832215 343812679 721150800 530482712 265957751 184368122 48903354 209740852 1164212 262981987 758734060 697796936 346539458 259974175 10169472 477427206 31796248 741864305 39724780 10000960 545440417 996640239 633168851 392853826 296030789 477735311 683376752 616564311 186008356 817260936 713923516 250525346 150800723 403470347 81413891 182161720 299083468 78308233 722930149 165831191 453860661 180827615 340892008 2362686 546046815 111421920 173655922 311094086 903519553 67715211 110100855 637720138 904972277 946115849 583857503 352841940 543902905 795966123 998413264 677810835 971816163 760224495 488730919 543639898 546716621 600464293 527563301 433738014 642319179 610955979 465996002 553382351 530550090 178730889 384883210 397681467 503282945 576532599 185108022 69567280 803771897 742154800 891084593 810648469 63097218 492780153 938725670 197549547 197004069 30509671 869139217 485348708 421520600 528936725 929263588 72147641 181647555 142961862 651813583 156843851 535298289 67608382 31826294 443497924 172752750 10443240 800121398 313358619 552208430 150044748 656689066 647947231 250081281 260390688 680650555 623389109 753738430 602607654 433253608 246090277 518421212 468474151 707601498 466390718 723035281 781866255 186655070 774956526 950588896 153639787 913449280 491274418 622120689 854666079 272253058 754188418 279783369 286547328 696581004 830207806 288102344 736851515 801917416 543665131 910404358 520010968 404495341 142988107 363002088 53073281 34918742 48810676 573257112 582172286 214346062 170485507 991793708 872479704 371569995 705086480 887355635 337361415 642719507 922547777 1188516 687176608 748320434 22048652 457399839 55451927 646316504 747506341 259731607 892559487 23686102 18043607 485091212 295594410 254736907 46708512 450404017 74538339 760679571 265257406 316219976 437211821 534421223 70476283 912947829 100516572 139339434 306270824 505012569 245235313 117791954 868801970 198997979 77753637 163165610 558471041 546280332 302728523 384411807 104663924 133727067 693170872 594196616 867879699 75777543 89860189 828080183 187322969 365251313 620426870 683757365 188560839 462424485 539220469 283163621 999522769 466875774 7808543 999826741 478737218 623866664 840918672 372514889 639396863 459610362 612244842 373962610 65482066 857688145 697610296 762226575 916884729 781752043 112254222 457103304 162069870 133654344 933677204 187163167 28251805 526317366 451876778 928360552 388915241 20482846 683448450 985498342 67145374 555280986 666888775 10464946 516789552 241590548 646468745 110626134 913652192 555282057 378796429 644623336 905240899 963374676 237452716 88826713 942995944 249936970 91335670 351511987 577045318 205932659 190248113 210725716 171079298 830922575 143509458 672803603 698369450 441177048 467809200 884522796 436051679 71673135 749369483 317661712 304773969 801718977 274620380 964928053 633505494 735621692 99541469 295613509 227390087 921303419 38982740 59151437 282603618 473665546 792307427 11799526 526124417 757638941 796317408 637748925 421751046 714191427 904227576 724422273 990328748 477252164 193084823 79157863 428661342 9246020 788981895 3903050 158154594 786667543 700173419 631561874 860046565 484746968 683708989 688784295 564935200 360529797 698148548 969190908 278052749 522206244 610750999 110451710 151561625 570674913 41028544 906792921 880946597 893308858 967279567 888368265 184226747 161243039 695863831 588701948 207394986 935683638 380147627 78871505 305710853 340175222 266299653 129173565 266900855 367187857 104290032 400295936 960511152 343627133 802650663 437659230 81033502 544238693 551310899 705732473 152436918 258821116 458969758 476928502 356854867 942847895 645021441 662650963 42464510 352483164 77606774 828782397 853575087 942100972 416683037 248205724 295149269 290721728 168015030 252734791 635296484 281792766 587027445 285492351 729888234 734003801 468225869 147763043 794253645 292472334 532352532 195006260 976167398 917196801 848429809 750352555 810293095 425905763 110965927 161848299 604201057 668785786 909480257 533008658 738289636 424321582 425450715 178144873 658938233 723676267 433555865 733787947 93661167 671039099 496778758 813091013 323231426 672383039 749468156 193260203 813557462 501132270 74312608 279200945 814525691 894455935 499028786 855433081 699772958 153370390 360608066 90486447 749305429 729663492 16991729 950994934 213577776 523739121 449174111 168677968 212095972 166762475 431105818 372685619 12276579 542724844 836444438 450155299 809149077 988761823 399594277 499763217 511789983 787272011 67724246 860066650 506090552 149720259 449789661 477480460 620637353 854452529 101391282 663670242 10233427 712116349 202245028 750569711 51847385 43247701 170409680 808454237 198579556 123077623 45143138 506525561 219176975 119885591 60388862 521393982 612159318 633427156 144852362 465574318 4021504 370772178 156255405 151968040 607792378 957401180 20719427 267219902 149527246 32429083 333850358 285991477 283851278 693174777 710017175 975509129 481487295 989707054 299940111 759172273 639336541 546075230 131026646 209474967 923722404 357483480 911406672 697319540 609542514 545787532 39071848 743577283 324327626 181236947 249447729 612853394 430628564 881893914 116175899 181786537 379573059 938241386 790952059 23363496 382895194 481393720 219226181 334387523 538148800 40560041 731200502 771530869 270223196 35791938 636359653 119058938 475080362 891120886 558546914 88082214 200977030 514054211 114966420 944619161 353078308 883085097 483140333 344011630 148640729 478544795 623144426 654554927 648389485 196961552 664018892 920053778 726471864 735456715 47840184 492060519 53998167 926212106 207294137 952309733 76009608 903469970 961428762 628974949 367514107 915864689 289889644 501750836 107333185 434170308 871517916 904951148 325912960 828675693 368288178 973630910 427152619 807383448 210830648 990645256 236201796 659081762 54382659 790638250 652453464 343231824 483830957 215851150 586013212 568808869 859652109 385342120 436505284 10267809 614431062 430713819 655513421 942396168 231746838 157362761 775696338 987803877 975702933 204379617 223710056 298527387 176465031 629210435 875000454 689835795 466212748 475197664 445059076 220939725 198426168 321748619 896292065 111511779 204723305 217848336 781727106 248851118 762336325 179209236 689992742 998004322 722327970 880334573 27744557 945405911 990639371 148087362 24155942 862155191 417478414 667076020 650666025 335797142 884571844 103462031 912827279 900527537 555162061 390217865 307911752 811414623 212491682 63070387 529948695 588100083 963277970 165961658 677586822 993651219 307413071 137750083 466889175 106721172 412501346 289919964 589688731 833496213 565187841 242534616 779667618 111533675 603197236 186525981 195599292 760343285 836520446 77297473 653437240 199982955 914803446 291455423 548447789 2772936 60446788 567579192 472391512 516093974 596476022 662375605 902944867 952338442 223420829 299385770 250879024 344581412 215040494 826145763 220553662 90773292 898692789 114880173 13926884 163617930 71231867 831964607 340568402 485892857 930315221 152893390 905287635 348627285 949122465 306773226 201846578 314322939 84137433 963198704 879758554 429912790 323902527 908231048 996441896 762237435 990996666 911411793 66838114 569063555 394381943 413677724 805642955 939981437 126466827 638888727 192031345 197733803 307682775 684329651 637439371 164678365 868615071 913029519 807213458 651448344 927711772 170152543 736747634 959846402 204148694 46824089 937308402 922657433 905369140 923967273 853263172 781094049 413510697 454168329 544721618 263513921 924134932 938075493 735467990 86755294 877392313 131745325 821832103 616972552 342194257 416905760 33186977 886727723 530800817 438482919 112747753 820875970 697765676 31933659 344580120 491356957 546678917 363145581 846532994 844175786 279508434 281934546 849452608 879532873 565798120 679086079 520626424 971283507 685117190 720530957 287049028 475830292 162184107 784529053 715015245 463058958 106765951 699204717 714042667 464890917 315063102 201458814 503588505 747486617 107471110 782336563 702822431 84481889 322012592 964478479 454964129 312558027 599157390 665330890 923002478 144238100 37402911 59197182 352347791 12572062 706418934 228424760 905640893 402604826 453504609 268950690 659850707 118578320 575841043 329085714 654603834 178178881 125857833 863625152 552391434 141197733 613305805 47513412 16669782 496727070 497072624 164431767 41155442 586767913 461931106 879600175 181148632 198342643 225585347 656558485 800556552 41929354 126749685 365973806 700198468 560409659 802018422 357024557 874106862 829586092 767678424 224153468 656429783 335575389 98498914 52896478 204743761 68462602 714596935 208667859 342341051 537860186 490643927 586671873 582124234 247491611 135439919 142983478 219461253 457690199 332894920 972391053 619728412 138469662 554247089 945085412 139367041 247562018 407195061 140559477 872721374 20871218 581049393 299188389 430841483 882059423 91872966 306171527 725540968 638512895 769093878 582842059 959992589 757062378 559326669 906028773 338055590 545068338 386806188 303741138 66216505 921101217 149469923 748139831 88218651 523626065 544361400 621780025 664565554 721023519 247142316 41599076 372945604 509014360 658326549 434112 85811502 731238716 83693204 165367711 957641227 97261851 796088420 779117114 990339844 544792733 194172722 793627160 36737311 41301520 135378848 501244296 84593866 185076911 2041574 393658743 573623949 739746490 2624173 800577058 625016373 661111501 223534961 732088946 188357883 221895665 676097027 493592613 704181968 555346219 798915151 43445630 587191020 396303043 168538415 541498872 261104922 562108362 902456729 991206438 814297056 741770170 635932109 992700767 211065705 629931049 613440008 33678220 481187425 117836270 316629459 67182715 508511933 288869591 685160113 757092119 238673487 938738518 283287670 92178826 899964939 122602712 770351171 69174421 28443819 940094896 161907822 194225229 533807240 341008961 747852783 649039803 680838761 89832153 483011569 352095834 868957934 400329116 706875472 247450930 571549348 747572478 697624804 478797979 211619093 759166149 14632174 843031254 410339724 941370575 531237474 35648631 627919691 534220575 287367266 790137176 641494341 127324335 451715450 593402389 460866831 233916388 821055986 175778885 903569438 642837930 317576003 314749254 948449978 675103373 643364453 954479997 13170840 668011331 523444370 667463901 269753750 784301750 234736113 21189827 184429263 384977755 660993047 594888683 285687661 364050162 163501728 188790713 857402008 379736855 715828741 954514796 60706040 743893532 404563643 76626870 767008760 940017516 708307590 71058622 381395276 731644526 812687010 911741230 915600313 504045535 542922262 499943585 38742463 111355576 791201945 687809966 742877989 795507171 305000259 77416997 195399360 580161625 824997796 474037905 13023506 351027439 396074954 499573797 28219033 969586292 440528621 522614488 716650459 372763324 872432199 239707397 982187440 202007104 235080088 335198525 110247916 395404116 57622608 73250060 783718086 173404631 974389970 356851892 803643833 971776877 770675807 776888670 535611299 820673605 509819863 672590625 198773964 988609805 585777732 835220501 994800232 779565096 301741435 966496193 39204060 708046044 946058187 645186484 849528920 107586660 813841318 72930705 834035988 328642492 976116301 805256111 388023706 816340518 127513065 687817248 903380807 329432815 997643072 309046882 85171716 631997079 935567432 885164201 229874959 942491125 10929149 137575266 630001005 389483186 615871592 833093896 280488820 450859523 344556469 243436512 231555840 827076174 58212489 573151034 117956123 864625421 981087744 843967834 826602750 465175422 461157284 110423254 698894559 647298215 399433680 38565005 766918188 11658432 302111144 603456597 276147186 400732674 974987261 51040140 462462387 113618774 508922011 62876026 90302350 143354908 672680162 635679774 587957230 12398007 467699965 546511439 20572728 37892150 596437122 378883480 262925873 371693040 977185852 328628379 56628881 680905131 278831552 244706100 681856771 11337045 352440630 30202151 901680610 44613808 922381968 505811202 423043859 774980624 406502672 495128544 36373904 82149589 94884660 623948982 769278491 169289704 969545990 605106557 644766737 289895589 104090202 461025700 530653028 562897840 67094070 855449011 219791207 555497411 78229433 802868004 804275422 652695256 619884363 253238970 794317882 137808104 681919064 733335707 21072104 433163895 755521913 150038294 832813880 584138224 87742731 552671572 458545298 285303232 607194243 345829531 897793633 386589704 234171370 847164219 79522667 566709609 946745743 819154309 321944381 392683161 260964674 125711658 290158679 332352745 419134578 659433629 699886808 947029022 370369887 785119207 502243106 805964203 603158009 146577095 375751348 459805242 263499973 44414638 720162988 54572379 528894779 402675983 597200385 742792364 470316884 873195374 911837505 259049426 703237025 120924197 251451908 767777449 290569751 852093645 636759017 946481003 765160545 612712772 365754777 476819519 194677479 225711059 709020508 751585270 173145901 71712763 165878986 67792915 474189909 438028768 611332713 63890703 799154598 606210915 713285110 719823053 215096898 663176332 363267987 755132718 537015533 807545206 530984294 710804587 278314371 999345740 255218193 455608252 398623656 724525813 289340867 990734932 100677810 671956741 545218186 621516487 537381157 14345054 410667527 29671151 150704030 749867260 266257401 851389085 926593583 666156200 607509350 17376116 228549428 141033662 109156578 911490441 497179877 480326467 34468119 183608757 327555202 669990189 588303582 871489543 316473259 13816877 940171097 396202254 541284913 770470646 584817072 490666678 55079719 739713203 993481349 513831663 689109228 98294404 986051806 362152944 322493177 179109320 34918803 645086353 614150072 119520967 285639583 58888985 102490128 150847771 69353819 492292790 639098489 935867870 321256637 252861741 993046992 232500737 647517436 299201069 914020436 420870427 680988005 820354808 220208454 288944190 387947585 72173464 1478179 958143092 781945928 637538628 685512520 906882980 37968006 949068007 725076913 142488343 533552011 486309264 620296329 842027348 993984548 397049540 480919376 76400857 513516712 507900183 564567449 148165462 136496741 27745334 232742186 90313087 154270632 906250754 229391147 140056933 123295690 870920491 24317284 410519639 507111877 366114190 546650085 911568534 987758460 314249115 583468971 779996439 745806056 572630951 575305700 30033878 967958328 671137901 733123082 739229960 362832720 438519598 415693393 745227695 259543184 957414982 100346646 706061382 968018722 80987622 664400844 881207634 742512778 433752699 266445526 383394178 531840054 975098266 803370976 921762875 688933544 409039781 689774405 866520213 186281141 297226783 534330201 85481475 523372026 384624895 218303564 304039214 766329452 991893150 694930055 962021811 487730262 161356529 444563646 172849128 200302274 620928226 629114967 199791131 257202022 533997258 675582302 214629981 894065319 47888154 355129325 991652047 534730855 658350519 881638532 857649627 407941183 12979263 817387992 139322476 510336126 722572614 528479517 174446139 92293265 996514227 101033219 953090489 207156847 702756324 441156579 889049362 607611410 299987224 443996683 563288812 605123305 153784003 75452338 884396080 850976614 952830087 980682297 141703692 733759193 146356480 43335077 593518582 337603702 662550547 300928251 774035663 137022169 46724126 9103803 69533198 872517418 185560173 148455570 552406641 372503892 941294969 219596586 278029971 917217032 673797328 438476398 468954887 500728313 7118477 235379059 41321973 600316060 619746522 951279768 19257569 42778290 427910424 70645375 501058314 557376797 907908356 5727549 226985502 943330686 90825217 668375932 838193250 618504695 85331354 510461497 735294552 923649473 233674696 713937771 14964113 381278445 122910430 192144047 250456191 292138247 352527476 717601727 229435258 949857241 564077209 123318749 785566443 710137271 311524569 617649740 566605694 437558295 907612877 853827412 875593225 349577349 282488021 675595527 208216603 911629581 798451430 81245304 614901363 107658780 398344702 961974473 84116600 35672522 31768488 208503514 633920620 555233791 370203028 328043193 893363456 240418445 250396884 267145164 245507612 874470414 415084964 997763167 888534382 981251548 995208841 242529177 957587634 500237727 829557700 511011000 575669040 18657003 709328871 411666151 365906394 782455430 505727348 916764909 852577888 88104520 929471852 222749299 857458624 283957183 540492401 37945784 240498551 999977293 37998786 867121463 653686193 222206266 917900618 712715258 162019502 480096840 491205769 129890336 693930037 403482121 860973491 149532164 270075635 285167598 330555759 250720382 335943909 231109412 120828699 478263254 17056813 925583694 920387439 900486012 461214354 289156717 813100719 789243440 196759093 599541996 281758313 890313608 497425837 400434745 957005173 755519100 244904634 399043941 636833108 206981172 43680257 165617695 157755690 323374014 88968223 529050688 252732631 611051878 224683837 254730193 15381244 269044913 271277741 91460603 433921097 539761878 215149811 143225543 240310738 49238298 557271111 600920158 940537389 954880545 333746048 672067024 477953207 120310241 917217542 46409303 966363560 116852448 87597020 538309865 406847540 442252498 744926128 355408424 770169497 818653956 595627066 226000832 991027376 293288033 359383589 894111794 863626139 612524383 939089789 478546257 117436812 813413467 910182363 952169024 652883205 940889486 459494314 927473751 300973713 306807869 788151994 506130414 342264194 658345225 803922279 86076704 755286139 351064507 75585866 134237564 841762300 827935425 213846013 508740831 942625718 576537225 216429863 196459344 336260766 379323425 366481353 949673142 737705457 761741459 601455015 154194663 867846517 106112406 415920377 75774653 208483076 480043461 204915110 664103367 67421367 623050320 504148661 602705128 565064104 936172267 590748520 163038103 176626402 392225309 142668171 295209791 602416143 776214356 10152083 650684602 252865889 322399559 199414961 239397380 196099071 819858508 87125542 48218174 43351865 415460869 658797839 146077212 171916282 154374162 288672525 206264922 356530745 296158603 773182089 225256234 823380516 253747054 406512777 150320079 851132491 12323936 582013373 36841332 542333668 431581157 211074206 537056898 282800949 575518450 100669685 755933742 214375664 354858778 362607589 692343649 963670576 914973307 730583637 336419461 37413324 881481375 461190247 119921004 324987294 12360281 510145897 416220150 289597750 802478992 13176632 195369664 8412204 167548048 733474563 197999997 503993473 907935434 494215901 408201156 980908818 132388952 422198676 477032846 515295421 684212565 87819096 400746608 884686479 61779023 330949091 707121169 345025623 14687805 673946401 717965173 272414995 836156581 704533724 880732913 479102638 712207326 902234077 816029540 142638721 485079004 322484115 504337982 44034628 925766411 350848963 140326617 767367438 266567372 923626997 288288795 759291839 193884360 214029104 237941590 191564139 624695637 714454741 270017434 995037965 172444 437046765 229264706 840806957 178506708 997083281 612485445 405826536 131474915 322888839 719495899 139209596 23095746 81621473 966782605 176950306 207381209 933133641 111689370 405384053 925815271 741821033 208704152 914081037 831432699 866073671 366074766 285113801 257940111 350611240 965296664 138906927 842046928 888267220 358504765 855541841 794869301 413646043 309147890 966893022 446232218 192500368 392118334 990163932 314812087 380903132 617314510 251018535 463695200 539308551 407629723 580168306 181605630 431876457 896234601 606347055 127443781 51701004 6674778 313295937 890528051 920646103 363587392 190342760 636225080 95947040 165615305 730888902 295538014 93289322 246555084 204235333 784591418 737204795 33016104 72819817 490965445 174714236 454003092 274011581 961255026 917010752 446584909 752920277 573227493 21738979 658968371 147161317 47340916 314465673 949212903 944174492 12431682 470839904 973697327 406723020 402698254 671436042 10453447 354475327 664071063 369348571 225925396 695450736 164483903 771948620 983926186 714647761 729405698 793248023 412548847 151309800 735191778 393109439 169388249 818123928 611161823 736634043 68405465 610309173 381719209 513438501 622106925 963363916 139104463 801972199 740021 92430246 27643198 686964907 872488885 805400991 139289286 796371852 997291813 786018383 388645256 350118544 239328319 851972756 894804892 708280897 864465925 160091846 603704261 435430938 390892898 703065179 935378856 439157503 879425994 924470273 3933353 675804046 234149680 698228505 442082182 805531153 724763906 77553972 566500682 744675818 77841979 482898976 351796295 297301465 49303065 359608899 952414175 466689963 724709311 815967216 682063773 672016562 985706396 11805980 339454570 478072575 520323639 759261758 666751133 88291978 163540808 392537702 94322573 339847815 349060439 480674525 720452854 462389628 644756682 602656060 202652942 198281113 670093702 583897682 729795013 625954619 39978403 618781350 170254099 900178579 913489607 924069726 308759396 701269021 797952280 331678073 499612499 438425789 636189836 143675773 120659367 491054771 593533153 784613792 423222128 210712911 175430997 676046233 270376537 152554620 996503825 460322379 19133909 121834376 758644539 346579595 46674075 41518077 59303911 308139299 110534818 869757121 22151446 763782331 465071586 764226261 965773212 162633458 287600440 425648215 595931962 79390462 544946071 124898048 131926348 38207882 340679220 360022613 203925096 694919082 536769411 152508470 646565632 996090020 947273223 334722767 702151006 426544200 472211364 798354872 992183761 497328801 403255399 33381122 30860468 267926722 403172964 394944886 622413170 213340806 91481266 173991131 92646809 505423226 327459097 887946728 755828992 7202121 871474991 369983216 164765239 761579892 144360432 596490570 128855089 156151835 855780664 136501006 887567894 664430185 412393744 19948078 286417801 424626551 56554132 997473086 178242557 906581074 57589957 197884325 545423954 215672005 533550131 335938299 365150150 307319689 82669418 4626530 210950137 798537081 685419779 695125916 8945183 644895406 313226533 372548928 489751985 747384362 471062658 128711246 73167705 29666130 807672023 475627235 733340246 179375555 829443703 748908882 8072695 189213829 703044226 562669880 656870903 385977091 338064029 923278617 48084001 320334344 665338635 437211617 441419345 68399789 663998692 49339194 145373430 541211416 278336358 244231222 267106098 245262426 788564830 449378454 715260852 987278192 674028498 852370473 143915277 213947939 880520068 842382362 448470088 623828355 938372853 757652389 335766990 934612248 814358106 817857689 95852423 578805316 328651620 437519230 224509760 926260330 42322308 539591569 262906178 426863915 793759490 564305059 95015243 783546076 624119598 679510734 240832581 603647248 942901584 12520260 571044996 779534507 240266378 291564127 214212829 860592112 988722964 585146938 71678630 924884185 95636707 337764444 219231515 324382653 568450536 3963928 422363639 61727357 420163314 253344958 923554408 707590182 412569046 95966165 772864750 390173148 133754618 619676017 722824603 687980171 3587361 309512251 13236010 287746931 657250144 413323258 644844584 910697631 231161614 343487155 240218520 821661364 338208543 461024573 535425424 617253580 729327767 295020785 754867758 329531185 236165836 662013782 958489827 147061031 642070635 467678344 956758130 423634800 9648898 507686632 534604770 906600421 239648213 564078201 909535873 977949825 25458498 789569800 790018289 188363612 889183391 231323287 21190589 274984075 414084835 942367996 590505205 16491628 683907971 228181411 776291826 362843453 791608796 191541942 695957285 177113544 6116899 555627453 486404927 266802962 744179159 757371132 7983583 899385332 749203314 155298953 349078342 594474806 967984530 712411267 770220452 84214723 734168364 916235615 571010583 773681751 651926265 918253767 976327862 551848668 646636509 152013426 599572305 245905902 181094428 368326139 449406061 295232273 470276705 88477128 20304949 744837582 42931422 361965130 506209778 315816289 563307847 201267241 127793895 124462320 987643427 70115734 187477414 90124891 979800978 216418827 621243131 120114797 785948941 325348980 538580053 162427997 707976002 10632683 416149303 625747852 50245579 310922412 179593374 736487031 696504295 840560932 535452780 287734602 474546187 284281472 912017790 995451097 182605405 606850120 755335106 127849782 778237214 885810515 599204373 831016814 625428529 870322094 77037171 950428192 706694094 666330628 204633217 946405429 295346847 570566037 716332269 759125139 667374701 975177584 600019473 709137682 938167259 842733946 675128724 491309658 16164011 160529484 239758699 530497483 446087428 575738131 170334191 139961820 256098836 465236402 955348955 120587141 950843808 994727582 748237413 122293379 391614962 375300980 181937263 895769801 473275066 724813925 515494131 203542630 94674874 388590958 284418107 811697579 461024755 111362810 247999895 102022688 922688756 747688912 318654478 92674517 606477798 674240892 542484086 324999080 187061937 232310089 449628380 899612467 480782202 767103619 731665678 999608529 161054589 365226967 699453054 84907453 717042819 366228798 824771182 635073433 808545087 905583410 610792594 87733240 157591571 37005965 951737923 370178763 524737362 184237580 389809052 835886758 124575651 191075155 583531079 819132382 577766205 193523072 395394496 109683889 954332098 807827919 739231211 349819567 555982613 184115568 157917856 865594382 562577464 708339416 430782208 249519205 58448001 449701043 432412224 30928605 973509422 367875963 152147472 705493281 130549532 480733076 457010010 534744788 685607402 9092716 928239261 446002343 568292358 784617385 425480036 778682746 45200638 818674176 339729095 969139364 594400216 93462116 935083388 469876946 404161312 490249822 455392452 738338236 177963366 9757961 163161284 126137159 167942217 74378000 543129106 581924891 365363498 825240078 544794628 79931340 628546435 127477566 839091017 20809539 199054426 735115748 701561947 743188570 632379254 482609848 252163862 259577816 384744340 699254910 338616144 996785077 790780519 653525492 199577294 959435170 940637149 46533841 15386469 724188961 71685418 57525421 731307296 127257177 946396242 957356164 78880323 93222032 850225023 239825694 390297558 353675799 290757191 780448746 692713472 334713600 98070691 481675574 966178512 475090262 164458851 770107747 912645946 408670831 111904634 211283461 656370211 705507357 510808785 201698327 865350036 986261519 648054751 652999135 542990454 225823469 498560812 198942095 949073346 329557917 685412195 697793425 1980548 767983849 692567002 95378012 509448205 349620160 609290324 203925312 528104621 995890289 910924664 32719609 910066891 804374779 179276543 160793105 704294235 748551612 170354426 337014861 894793056 590211363 140746449 38087475 678340833 145315199 636958923 527513468 247810861 561544955 667580044 864541273 264322247 336112060 957435969 177587425 616922702 66877271 678595768 806891445 844242942 858608328 315323612 119055351 751535822 579674668 41262956 733795697 426376601 404372518 281945932 886709293 95084631 140432421 882133610 739206848 967447049 289741038 229509154 751941665 36247474 333292764 427307367 687497240 289346040 806515666 644504548 856316534 168102263 665981606 529363819 496109682 150768896 247711406 898447664 530581273 555208045 160087885 537235199 724116009 22298735 775919945 520233586 41877528 990402593 251580838 156186252 608501157 905964601 742996344 551932036 177237399 518642023 254592119 745197212 260571058 519550740 964058407 212601208 587163261 265391607 642136319 85672613 272766466 237874175 514126748 857468121 782936005 969083909 530390692 24513430 656103724 176388644 135541898 159361013 832196980 3822003 341331095 885450191 926354640 703110413 598188883 527436111 537123514 391412586 203593532 399948190 576739359 361415489 546686647 508453389 890554073 730798541 112207523 613360614 683943492 491798356 851670886 400996684 255430995 2315778 165604787 653514369 628641551 586074959 473657552 74201862 408768688 999968272 337210429 373938271 350668076 15396010 769444617 91147502 679921514 835250398 232908278 680061229 410001347 230177229 354760594 567429254 285665753 683343744 934560753 14535174 385537102 444596558 943442487 93668221 555525803 333899203 960893324 842451821 372868461 699734589 586520813 451654019 574332652 204209899 868182804 197156756 808993071 975544798 162011238 612364906 617520747 4172682 862474966 86196279 928912662 374378800 699753060 347700285 218039431 827462703 562439726 851566587 55301443 868309192 403453756 446051165 906221117 626825386 76238910 829303125 366350292 888360223 521481645 112311442 954146939 28781279 185120662 593181907 841470161 532948891 146392209 957375616 699597242 13920598 252968985 395364642 911877483 561645023 272929973 557668957 779348442 290276043 263400681 654236410 245470705 866026298 689441440 663996948 138888492 828626031 791333134 427261421 419795039 641944998 790473752 590760530 718224673 541497541 198221757 352808233 898744937 29579181 350137264 711182367 351158672 62307945 524604753 540241533 295257785 937550328 156757735 46844791 859110107 420559721 627311480 812630694 783151449 490472605 139716010 309100030 529178276 307425255 84485837 848852329 517314163 299186759 870538507 412660644 883416821 215085636 133693523 749397560 689888392 46567080 807507395 923888420 150800016 882688856 479903816 911424995 215708550 645399404 622286966 65328540 474263865 166455060 45564564 37602362 180067903 906117118 339609934 571805487 943906553 414786407 455060399 113578417 68580854 772110850 356428476 564652866 210184597 574423395 512224555 512817580 575865159 179294720 130257154 953450813 237135648 387046681 926191741 762603154 105798690 911497511 406254674 866533357 309959500 812546934 114867658 565454569 144735434 669046665 487771408 440625233 105207224 845681061 229635590 603355379 435397632 740252610 222472678 625138431 860086626 779620709 993931375 710107609 8820223 726577892 750787050 338722133 208586657 217072642 407324120 176452939 934971871 230200177 148747335 508020105 136661524 189654098 445770239 873449620 631462373 902026614 561629607 130803217 329543129 683338010 686425309 298051795 145420311 436744960 101231479 760836130 815097735 724429240 544724714 297301807 998961427 658323299 889053935 290776645 92778074 853282983 102102756 779414345 109052647 30984277 459218596 707095149 665117696 37542652 374456063 369559323 820343676 697264829 59407844 761247469 741627219 81573778 299145982 356777990 457976380 682781106 616674284 704174791 71295923 961163920 428164115 27309869 850709773 509447841 755801885 807287086 475553074 7122019 905914961 135872562 897149170 408760762 336088964 263584163 765283662 305151677 927970021 334298574 721583512 298698893 741865951 752680576 997057426 693936093 98171769 583867749 569032165 78701392 595291773 683711035 207478459 45699949 803160208 696775184 54010546 178607132 532260764 372061042 803793952 523068767 788958532 306659368 995421000 55586038 433662143 860054164 245915378 873542475 870807020 808829640 283477485 327712958 138971216 110732032 537913933 962867173 293505850 82185783 390208301 98854699 165007219 518135010 265421585 290638921 987962861 713313641 211494829 500355180 921386692 71506790 675034252 877148221 95216372 281130329 227849631 270353940 130211807 570874363 338588551 738804132 688772516 510996601 353161927 635107151 165423577 826126802 646752917 274730584 72525743 756479428 660300998 705361532 65262828 264486561 221591820 517013504 755832735 860701830 683274451 464241346 861660585 500316230 400552260 248758087 358854199 997030979 76399200 848215339 934533453 5662426 837682413 684913989 911743575 869649710 599904662 114019512 822837367 218245272 770111693 654403149 618745717 215966770 428354365 145549738 645996342 958734922 850301435 100982189 617296381 420500747 333384342 583988000 189301531 81985662 783910038 325704475 424319184 419471291 853172715 61779168 960259185 952104821 759763452 317447602 352337108 102847760 973471668 549805269 529297187 739124317 224850360 311246960 967960684 301947947 336930711 73731984 919678972 66327629 106859134 515739658 514048607 45564964 516522509 646932456 194215105 973439176 285250038 751766103 723688920 630930709 104231317 756774702 18038434 84524691 705693605 843434138 763540552 147122224 419824541 3317648 159101215 830732485 42211740 421244443 364114900 206556933 870474579 839420958 848974018 723768953 127448167 570248914 69047797 2546394 564281557 876772310 60262526 184748856 824496567 796867059 958500459 484473140 887982512 923956912 165452161 184986819 287038529 117052870 321202746 336518149 793986341 16872294 726063898 527973567 851614829 215736031 745020965 575812167 516787473 507416489 229260529 461784492 30285899 602146251 76577760 161530771 21502623 338021490 639434397 937199242 268757031 651751367 992945779 442496844 869248501 39852638 620184251 239027273 712177191 499662686 84813097 731389574 976286719 989246327 988705494 770192168 947140925 289138995 415411512 199565681 57928559 17414912 144172520 258504106 844991832 197073762 28173204 138676516 963278021 943549990 380954849 161597315 212182322 951613820 962932962 973835608 268384124 397510745 289068283 15456721 184483994 728244414 24423069 223513387 612920374 505514642 754760376 31697435 130484091 76060145 50695741 120916330 262977706 696328698 482861171 838207056 566726399 83068587 177849302 407081399 173180008 736438302 422322060 716403713 513113283 175858703 211199242 843067884 374823616 130179711 179992851 708128589 200043895 598662093 686012930 173982015 339423047 294865104 389302974 33511796 964924473 841367308 375316021 994036234 793047963 736387371 459595967 655341224 162445148 711480013 118101789 168714214 891719487 721602983 639258557 357812175 603838798 188770566 857149405 913204541 242179243 580256593 718052401 158262387 72451813 949428530 723606530 66740087 222935068 188185114 208451834 217040726 475787425 779756858 159139342 426349680 431878702 290606783 95325005 517354323 148256636 385843231 237095103 666028505 778815541 123131228 32547421 881458006 473853346 391132046 106546922 252856905 254858333 868805673 152936275 580369964 613102909 83571004 620897900 915514817 925892286 132839426 156148328 402769081 495283706 556049342 436342117 126729923 704605444 337192107 741026930 467440051 431833719 288025315 396156357 225333159 181298909 255064118 789954551 516030583 978865635 59609579 274803548 527095952 406103650 83152064 451560362 282993745 628187845 280853079 570143005 357340005 368226602 604759210 711107036 215564600 930005593 480024903 245851345 213758030 750181253 206354057 135689504 145459064 514406034 186670025 190918736 807690778 958600863 875809346 909430069 233972105 121134213 292464133 388696581 251099057 63481102 337529172 284033160 387048760 902257248 643003496 489076726 872318175 419398505 445309797 6666158 298825095 369320130 956247952 657128700 88446441 20919319 342824779 605544252 249163475 722019552 550143348 523913398 572756488 656213582 910275776 376964371 931038543 142562489 144597846 748815436 167434881 150297813 399286564 832189050 473156120 271597039 500056647 338454613 410171483 261869849 316269955 776708186 434337573 172903851 506004829 454537883 183848702 362590574 625473594 944966721 998232853 572500836 250461197 221692254 779426407 673922990 686878995 117024650 381958551 188532094 552749102 707937501 249940246 560983529 352462103 217739250 178457746 244644283 810807305 402542407 100824456 85352750 435227105 588615647 17993563 388227064 327571810 620912640 231448824 34991413 537167776 149250072 82736288 537125729 12006838 560966805 191402663 806824864 201755568 316029650 983313117 914742509 972409098 32717008 533164295 139931118 995140126 22996378 256873506 411437092 278915702 336644775 297319972 370423139 598839734 42003771 643599525 886386454 967230906 110130834 568520810 220627385 24056075 654591851 276322291 961314935 176638033 784342223 542459464 226121070 517775508 673513680 17533345 982997836 282365468 839422859 55453641 98816932 440206285 229830997 754947079 920946480 640752206 191680676 814454235 603572504 217982442 899885982 413146908 693636119 337116020 599647447 33816399 56786268 562713247 213699137 483451668 982708503 112471078 634254873 288716099 80790664 587770091 450485448 671563629 826243745 104104168 558897800 903071721 430510156 404470078 745062669 484626310 996559360 536795964 698930711 640930173 460555898 169631998 184203718 964767952 223543504 370313525 800247425 421384470 971267011 594402346 12497105 545735845 880096253 875571544 838804313 588845078 717716074 920282980 141689058 212438349 660192327 220837834 450850899 311224117 92934008 956391491 685748762 23946998 128051106 184230421 70467473 842372186 978476397 667768180 256708097 958563380 103640329 28304482 849978046 419533930 201527525 162233255 370491951 92118175 25443154 180101091 919523467 11132109 234443663 940204969 36922577 106432304 745026618 434036681 41554521 168055133 47475636 606825558 460004606 550153998 572411103 257216849 675604443 218594844 85357894 723893368 94593069 93422439 970744941 883100292 278596669 34994965 654470960 463680617 494876101 137630213 14149256 517518064 772952861 89203921 201381554 108759885 902628665 601751638 261706045 151013578 152851791 85205188 855628211 138127977 425081416 233760601 25618302 26105321 287395764 290705306 217505405 497897303 758682666 457878928 435726645 743924412 806059999 22282829 511455974 757463706 394055306 187585262 259484466 417288632 69305404 542902678 634382893 196462134 303439911 84737263 998145142 967613459 764391176 265386355 764642102 334979606 522935464 535253394 635852471 134757618 316942749 128606705 67890692 460999702 688226513 700074453 157715650 888824169 282381555 421813453 443210170 893212221 590055301 876445435 270393717 536097500 757514255 128440885 91355716 659446996 315509845 484476780 578808349 598313322 151226976 589366436 642110658 100779037 491596171 135291409 450688711 754562468 48140184 770418919 237444154 859419974 650173052 883045993 861339199 853484302 565051115 71958636 481000383 126271398 104564657 886223218 582694140 690103378 977453523 114660608 131020127 146546210 218753715 960754865 853839852 502951854 848688746 152269866 567723180 653332953 958037809 889718513 500284567 409594077 207921777 10333227 925769124 784665318 837625921 822066714 363312717 232733664 598399196 71850488 935811497 195083628 736088685 970277896 321180936 145063331 547839235 842224024 484238531 755896314 143480902 646819265 55917503 222473519 937820062 11749011 580434304 305202444 763978466 292215350 917581813 517225224 618581417 409602283 498358523 115275933 115494198 53457256 36400173 806500675 791268653 757503763 330082465 772352901 924967714 709790667 727800651 369644678 137313205 501164771 608882559 793231619 620789793 451063657 497455254 625458806 269680446 18745271 178686035 938267751 566122575 88718100 389044535 434418300 737591000 128928608 327778741 253140651 489376877 165914535 393368924 250283600 367015318 874975512 966187004 23407950 788794322 628207510 747956362 476331273 208885117 25016181 946847379 797907809 875736769 592827071 382675673 450060903 357557380 343912212 174394749 361822921 376614700 408141734 59238388 736285639 968706761 765951261 190479121 750009099 996250378 709268002 997712914 949176254 918438859 147440760 805671493 298513183 237414537 990354769 88408251 332383093 787960104 44119500 178624590 838393220 997541882 282791540 652781798 914909794 947903592 21670893 359257274 365093220 324466765 717407549 329657849 18771502 462058140 220138554 910987024 246138317 452423015 223331298 433414103 370419991 348099790 32724079 159631265 211271295 599230925 224927666 12353633 398408317 53669523 281367671 120470715 225604229 557863689 288133130 412782106 133809635 228658776 305291259 621565041 935176063 283550515 508501120 723777722 329955464 611022977 722101098 727055695 532639217 602787748 624223304 301639749 89251927 351899167 237345715 312746990 402413165 822073968 716184421 158414900 372133602 173587322 840448373 593361476 294644656 411371820 134198710 411882723 61985873 901410016 275861742 810722270 187283159 131136729 23142068 807890812 792374605 171545780 235711367 801081642 775537259 310606054 101103657 453181495 943662695 817365954 583051974 367038275 567658411 771654684 706403943 558329523 582651293 855416701 907215476 242969287 177152973 38134873 226380883 629655806 150369349 661140662 60951419 237906881 191453874 533907432 176524178 659683872 439469603 344246567 800774305 586776366 631491835 161929249 381310421 312378173 842408616 77011694 839209700 238019122 553704719 283950054 46262779 518552516 600135347 161290802 393817243 15732705 148123677 369181860 987656188 942876783 109671503 253456270 703788337 856302213 466835497 193727027 598887853 42685556 290673123 146258647 376760045 473288138 113611740 146106176 722218078 11022381 683388969 678699581 361936623 864976613 533759131 999290785 758165424 975671028 829104277 995826805 503797226 161058247 261191796 810448056 243207088 773413855 442019531 454281752 776950613 192646103 350273298 688392196 876374961 860802802 633914752 778770146 671320083 285652567 373141000 808200716 466927513 752196260 443467335 388835312 827745558 52744895 605385921 857105943 184659130 19972164 141770730 934276333 804364617 63553636 468099901 823654078 429360934 96536340 29464885 662806270 687207710 241257688 650844936 926348143 789566079 186262931 795734612 219603630 93830612 10990544 964212301 406890477 837041097 692884022 951619460 770422066 271864873 561008044 179397746 432109367 59876009 213826879 208095388 614469610 871824818 268463585 488233694 111217446 117332986 976880037 176152060 960446308 230342193 29488494 326164491 136945966 724880544 818824258 491229489 128411747 583448644 687305086 8021418 148746775 584121194 231677886 962187983 351018008 940612763 263397317 574594829 205801034 241807088 209881515 456601767 43576275 338209506 482112917 602594997 126993485 489295064 155649164 408667686 106006391 349028056 236076160 433308599 633227342 318206098 498260582 993614152 816488996 386302986 36053086 1080316 360954835 625369522 778611299 890191821 22713070 663041358 572894014 791840580 975305297 123156426 166346713 904547177 212244231 506051881 242295265 601651075 674623444 16061913 630720739 248357666 966557874 617343819 996345363 377258146 149304326 951608462 600606537 810842938 190654622 486698107 372859510 635521326 201046584 183487846 569029152 453000465 485589073 12162884 996376651 317420851 289730651 96337053 660243215 817740177 487413748 548574392 397773070 575782894 563377048 197371579 716859055 294932627 527906432 857432295 654309498 392537003 271714862 570096774 461833280 505014435 89967133 629235204 995414406 338610641 785231939 453435659 160874230 540292281 306211573 177198280 797532342 339202288 242785746 158682966 327673687 712785837 163732632 963550819 499060586 337655743 257945037 48340182 267201405 803083515 733386827 158153845 237487959 865704591 461014515 800811361 920429799 127104025 78853308 195339455 634506487 489239621 320640654 893418172 698436190 360541810 258761583 766950491 371602388 338950903 486507221 95474386 597240396 114402176 759844788 528604880 226930211 578193243 942043251 278155774 871752895 882414057 363554749 920595883 428159599 465011909 266338015 84339994 524613977 653453002 149989503 460098809 307696864 685157164 428077921 933361145 288517623 982195742 935822394 828277477 602239183 803867323 839145805 606162140 281190755 278888222 249880642 280519599 733473321 961641180 516950150 994990414 67911117 386544382 919595228 192744989 472082148 62509086 680870968 792686864 924464297 241113070 812305874 456442452 644429552 99103944 87896264 256246251 98760271 258638980 870882407 257541432 150976330 195723271 186715135 178291586 585015741 145429113 121440877 43421846 783945427 206070542 635447655 655145610 370446647 412648798 357543190 157664825 818168538 474619096 303389635 816631638 948830302 130132716 426904575 736366356 757002484 48038828 300988116 294899993 495591604 969861667 814815594 966817034 205500228 569075580 564366029 151169781 149927716 639208113 431538383 196651757 507665029 160842037 225967991 6137503 611507099 131517223 447022970 368504594 399558537 371349449 81590130 628601936 105566017 460950001 875888920 938766244 469837472 823280774 709059116 195032566 517258924 741826078 502149955 577075228 775619183 542610281 256663629 159851751 673306675 79884187 172634400 714667665 661645062 294541274 650662520 5201130 756845915 706787964 861565501 917693619 472795419 207889947 687236514 373417362 295800762 28507420 40125641 737662697 808550702 3522132 182532929 185662706 25737810 774162031 116765130 590938527 44551210 731979258 260713715 398188095 47346272 923726571 996710979 36993513 679820900 674267380 990711614 465402483 18231998 158764839 167201310 365184073 328544267 438840913 685371847 777966241 679003630 812894976 406264977 460206712 649942271 497806474 881996332 440075454 597202558 429192138 406883321 766299946 850986384 697536599 860073769 293743507 933090002 593763703 391885785 701211070 222427968 114708510 682241389 474788002 46298978 721405000 872858429 651215409 195750873 756461897 592996200 50935878 74151156 311431029 666510825 793109642 286999739 692267774 833950511 410810476 196473760 416083605 269307876 84009088 342769596 810984024 649300638 245342658 397750657 961460553 722592988 714932088 989076563 778827018 820608279 278725020 319192358 286276720 814071904 106452233 755573289 294680125 634511105 828358700 13301775 965197606 164073538 218739109 526814485 984038972 35706021 935487605 718080764 643366380 585123306 361566315 476222623 128626378 579318125 185922684 656752170 136462639 284427907 763739748 55124206 463815012 12480021 486321846 443623201 924933989 139152010 606942204 617808357 614350544 643085490 862424860 540380406 4732938 725106322 577278448 169636261 997047159 939076630 524564920 94985679 945119221 288374500 329023188 115337532 297309551 860640683 173193256 629351182 256919575 571072047 112212239 928995191 282594139 815059706 661499191 84921980 500110728 2162216 759812650 514183682 555494100 356747659 535104699 622953738 277896874 93129271 405614764 269924306 507471741 869038413 530169385 5265665 709324525 678273839 960766902 920388078 640353696 341775024 539666272 830505642 489869388 281471826 933160465 574913646 344842802 610016987 749638850 240424723 888314229 754213920 154515977 88563042 80896929 632726238 285003304 566036461 958672920 901312479 701580570 857865381 954767135 965311780 673156776 649100322 84378056 90413188 51566325 531002558 397138602 999960312 208687612 720666220 715192924 120189238 285371662 659413142 172166821 318744100 644609475 477276055 632965849 174662456 184817891 540364322 688154442 866137524 539076969 179986756 468865582 261065143 561215244 807712556 611083347 400798224 974619062 455672390 925574409 391492718 247567366 753673281 888455201 822051527 555734378 175496879 817963524 882024179 513884081 871029358 81545677 265344442 165850829 266192476 891098530 268109102 645188701 38596724 576381417 605299371 538888688 800260662 517350672 655274236 519994340 156216689 756661235 295770301 868927664 190779980 750774033 742850978 410160767 425799275 988824672 347774930 602652706 235975666 936097634 943509297 330116225 876992102 357297570 689781679 317455128 947646750 659340201 514990389 814236144 400822217 32380941 118245825 566861612 206947484 51419490 571976982 437541268 853491085 96596037 118406219 538413277 115839218 164425225 120164467 258390667 123424492 343455713 300366302 481705980 137879127 939157352 816442356 728951035 316298070 939450761 515632721 324786024 42672993 379679313 34402207 138184162 269745025 716142668 246249149 448609009 1036063 352963896 629140422 624202862 574402760 18639336 477622427 292254942 845598092 84067440 595953645 963508088 745846013 828735486 111779613 875215251 431267806 670926109 148126747 544523238 73983829 703641516 620627179 249184496 36085573 41362849 587839850 147405155 939546444 517480188 485608898 57006629 783072725 795221307 153806516 533146676 812179621 284586631 280088576 457942465 369207870 490678547 208120774 864926595 76538422 377103038 994556290 627404307 340697791 96969962 24940169 274156169 432896242 707609061 688307510 951992366 820829421 836842728 532964653 753355890 590673164 286343842 167515154 200531156 429039708 646705513 186490742 468200384 878840541 880280761 150404913 296424138 851019779 101174918 256915166 198504868 331695227 196788268 921050259 840371892 894070609 942910871 147509364 974203062 264733537 854629162 266568071 180133560 238172253 346636663 275028282 543359239 924030425 306787124 717781221 158211971 772736274 317221160 977746329 872266454 680177752 10376562 731152120 12605713 178726814 315425027 893371131 715766974 699782442 321261301 134453717 2357856 270131518 350639530 4258357 517676055 793957226 815090420 188474583 523468539 200865910 91844042 955316275 349039146 72271561 532531558 803410998 921576745 478471102 414872014 907452534 961715438 813132463 393240025 611108314 528126542 149342183 406604264 776981470 154742417 202487045 808822141 719630967 821344571 386483856 44287324 530365 310311038 838356574 35836293 645536832 150740694 946291922 549326680 251786835 868213567 185413026 823960790 265832587 260116457 977382100 554279109 212993989 470035222 718379239 790011484 18987067 53352355 962720988 174796493 350410967 97815657 961589152 721998919 912372192 200534761 498364937 590941749 860013359 475397157 221965388 853318954 907214267 717061260 590561338 849838676 188213272 780665133 919631583 986234330 658503892 984085373 26258851 713495875 914736157 197566392 984822629 932235908 713446573 953475660 519553627 250770156 671808050 59269377 412921323 206656748 526923455 89803785 245437034 281165012 237648036 692130111 78630801 197711620 509112187 205063875 705716902 905730319 448213046 340660277 572129768 234473554 401979881 624547822 964975602 700078589 860026473 212279294 424372782 502254981 777246347 275184600 74141165 186492781 10124970 502833965 375594311 877306155 590836077 879908725 212000769 949818255 266958028 353662397 471473428 99920951 912905208 13539678 616059550 328272142 925636053 24920539 247890027 329599785 377689983 191917439 135408246 493912289 6431858 704285019 313283726 227063940 61509664 391054834 685880265 835820964 765115732 917053008 9601018 17972615 183568875 915756302 256014299 163403286 214563743 19085711 468950928 32936938 477191123 667034039 169531575 683833535 678144645 61890731 393168558 952977933 155875091 172020178 396395079 585056741 37547767 833486255 405668718 101270246 863423669 107249275 688128530 590402147 954701800 43842408 65161399 341444609 187229240 682696433 86563704 418773603 227882221 573165031 918058044 709544694 785010033 925649174 240746126 528071549 202197106 569346200 526636811 812688750 669096791 993774556 276168289 109695401 365227393 227884362 225319411 158070852 38921198 568824471 90442520 959262780 895635934 130132537 917615902 176996286 856116563 48466930 699277761 580227824 859201613 355804456 759581583 680924503 643017705 740924413 683469538 700904937 479260185 464287553 337250677 240459962 880802964 410049513 608342013 585172747 700778430 19210900 510835040 781136472 53745488 976965843 630372467 998877405 23524434 632576487 620386914 33302546 861986041 328999431 891596897 189012151 76414773 437822072 849593364 857281296 87909751 824484460 377286725 754348915 441998422 74709137 116160382 828309328 721128441 41953926 989330343 994836628 13415666 88133475 580320432 814900942 69079121 721207230 417301168 689248974 167226886 796992542 108148249 212886430 359845544 365642149 738220804 850013717 846131817 212240432 391972352 489283277 393144733 835498715 235270444 323338454 200411902 433690089 260589926 344580503 363901769 498910485 41708243 220618297 918145071 131039944 280501746 738852535 679135858 583520513 33341754 503226776 356265132 174600697 45714246 666775216 874029891 332834076 485913848 20420778 398039880 248178900 35485522 112578404 464273984 543409531 892093620 910010643 928579935 802570615 298627737 101334692 746638587 79073715 974679495 417055096 691644087 468443892 954362741 890415287 824360803 653216540 68324222 505377001 959516417 772959143 934606432 685587547 442686729 90238875 68060069 729769931 51706512 140224708 635774269 946266944 969538448 468127802 789042354 880877589 935905615 587870082 553152309 500521746 989558292 45339562 442554179 229593314 54586436 228685474 274610616 592476406 987242614 777285453 172598160 547926638 104690857 337725543 928893804 25312036 283863008 667774765 706908567 380259674 825096084 809303407 416314352 948467725 179846699 361634871 966896740 191515443 570376863 741420242 776409795 832992047 553513821 117589757 285500517 192235904 120640527 403102741 192747720 474156545 396557552 811899648 372679978 328001207 838381695 588775871 910423496 2093789 330771679 957202231 261668449 568723628 150173513 62196642 857456315 449252225 489741099 308367423 591088417 334433516 215816715 585938006 196041120 330015514 256038738 478960195 891239983 88439830 141902907 197507831 627585083 357195318 152826383 161906020 234781306 85426817 683822886 770770126 773956897 23915398 948852726 960976109 886668656 126436847 629061109 635295427 768776195 497112369 213703149 710703289 604396620 617192522 566302518 576640784 811742098 173559027 620999990 630445660 469733690 543187304 972062632 854986363 261995936 178680841 815771012 419189562 136927726 701449057 546244338 201092758 803138660 447712072 438286404 721894028 758851083 586281714 105823859 901996477 796083333 87477983 666628806 495624209 359565698 745896902 10122203 147341370 816099811 125322561 670735042 572164422 282031161 328497817 778968451 367509477 460178338 260331094 691740184 872036730 634259948 105941142 710171216 808387331 694152431 99675663 79286064 214365984 563532880 708061378 844042227 403679254 41444564 543664776 869771637 217322604 508411810 581997535 110597910 489060175 435282779 860901544 657006008 746187506 818210270 161151688 269316337 355583816 401898308 273802076 702776938 124262595 47550636 455213128 410853593 901104374 602447732 645544013 487148032 939794231 305980216 31779575 76060809 521789439 45635576 403271881 720228051 315554264 49829285 189279587 788465993 395733699 454508631 130548703 745013189 162184279 927000413 902682873 30725445 932144112 445932467 305225773 885061379 218675536 186714661 579865497 322503802 715325921 48658171 78365183 120890569 452796146 904845370 588136337 811980685 606854754 434345997 717683089 747832545 892543924 564283387 340370532 227537465 85786901 286206993 750574163 219608842 940280218 250960138 517414222 721553248 372899100 131687876 225023842 98808114 421999288 793695021 829298118 12560908 514268689 826003160 39083663 522550695 600747432 876403762 798107744 713744776 334429166 316903074 530061127 257265727 356910351 352262652 501186275 837292778 271989304 910373807 799025548 428384835 496132188 32703144 10568547 384559655 428013375 623769014 924249310 847733260 710707229 451370722 8310135 675022293 419673552 872827500 660878431 384533885 84575410 524869703 581633486 160557470 182716066 271269090 8590141 929462816 404809233 291878213 307084846 161092672 417233480 159259069 616056435 211287933 625013571 881715233 236423765 523337244 859990513 411961834 459979147 763860800 828262381 501937724 74086986 162349018 253395135 272285253 181301825 883251136 449317002 10332076 195384829 963781427 209756309 693161632 182856747 886623989 100776068 17017358 460060546 553148099 520046878 246668591 109508164 651857679 639737552 895613338 31481174 223695783 108889112 161798274 405276832 658593219 218672535 377835161 225557635 446949834 831266810 274593122 656138468 605271410 767273931 871174883 542261001 150702358 95823594 651172369 148293120 408224961 41653901 798711611 899184487 219276097 82145348 821344334 34216741 385896859 279774844 575326785 430005580 409717475 414498243 968366118 29220452 52598798 708500768 634036173 648634366 253435779 331499824 257565169 32045289 769601049 232959121 163486545 523205561 50232326 540195042 853993611 809795709 836007386 210139560 892496968 986184124 631855397 726352866 11853822 419824203 822198395 595151901 794750056 192209642 649589974 8948482 221369012 534274899 449626414 489515011 12289223 444894850 760587351 218181764 366032053 537167465 657823667 487952978 692538680 833188371 680454051 977728275 497602789 854261531 99566537 598217669 150689564 978841149 277306210 442377480 966893215 416212639 549887030 76831597 115420827 78429388 218983238 286537318 428214568 634887055 98072856 702728593 240698272 793605503 215861784 714327346 908685414 282778968 211743749 725329063 306473494 68315456 9817036 57501255 477695972 253059288 411444736 475308660 426766617 138167245 533750919 943489724 707350354 324553356 178136311 164835402 767747596 584456944 585332798 9155832 256285349 470346826 538897135 46300382 302286798 234208457 18100579 192832947 72797608 464926683 215081661 994611170 205058275 924812474 333995964 527205462 445555236 412290165 762251780 703683204 196532622 245637001 110866825 27492161 63519153 53318230 794224547 287438252 920508345 166480717 848728480 782179062 156846359 706219749 547712274 237816835 483152639 984143502 851231276 303147274 757542433 622339564 785737710 389139934 928086849 579741060 45660047 558886588 12088880 960793581 176050986 24638447 386281803 631255442 60414228 266649981 509274503 142712684 268428857 315274320 865120723 936196805 833061108 266489809 892256336 570450470 867971700 212366474 180642077 125532877 504081955 271427152 256325720 466503215 32064235 800419125 998174326 817979774 644564353 785564248 483854498 314079338 846783579 511829286 209953814 483982810 248252273 617849348 886883896 914440986 824609485 708584913 137644405 555685291 13333903 128830227 891522827 617495836 807412710 426556411 50124099 76880921 614964279 977042717 269588994 152380531 697544047 916689822 199186880 492771745 52039701 364595889 585956636 269890607 697460860 1484342 579794552 388138091 199764005 959509887 165045028 641368942 397731308 980970631 175025888 667754052 565111642 856939572 24715286 289987330 25852365 237894158 296202971 468405179 687537103 377247813 415632118 289759013 777385370 552177980 908180679 339226676 67385478 31047371 849802104 151937725 428071251 455575829 106104326 582711843 915761162 24842895 292756479 434836614 195130970 590475574 948692850 12509073 200183293 744843252 875628554 424341004 472766734 215898317 570621177 349795296 22409056 345097551 841475208 494584956 417158206 354735469 989471803 197809084 567123410 672443760 470466784 799504488 893450302 182573625 383244193 597417880 152557355 826132370 413823464 962294333 220343886 773620785 406239707 998116162 554499604 214119915 437791263 958064752 480177304 974989589 83640757 189554833 277190316 979006570 407264855 61071016 746316054 869682657 118639999 245756409 134865645 52439693 416739007 348957968 134433941 584577641 327596457 745999222 826251118 554123984 5671785 353956976 958746825 615276780 551854572 699174324 911451917 892746911 469403579 425806878 565321685 46570994 762056796 250481145 951915893 971487404 230659599 218079404 779105184 159958047 157814981 153256437 27547397 980066289 683073883 762466687 31903552 64763229 240136885 998904547 289107409 41264657 411965406 48659827 425890513 607362417 686983375 24572353 113525007 92107645 905713722 103135810 649103617 588756433 77186405 162937289 301557309 898814945 180376920 708494458 942750553 157495152 294951709 956928956 187498230 257347656 632410797 343141119 137932579 22180569 407389162 194273406 114245969 66746247 863761359 438398760 205327823 606969124 479988824 282923848 121574860 838259024 479164315 757624746 653207821 359027175 745458932 674317738 977130175 372219064 937529598 68023870 71819808 587484702 477172333 825809442 460991345 987562671 828640299 438361925 565867439 315119984 9267961 151291900 354062507 903788096 916198923 609512192 80736517 515710839 623422364 401590307 454006788 381609800 390859219 644305156 416129832 476228190 840809196 792722363 12962991 203960089 691516362 71403898 380425766 757667495 746662702 551689969 695989351 511265116 464820319 855225826 210750713 428933665 804388787 951578188 743814025 761892116 278743536 287902109 893039420 10066936 126763307 613549638 368892720 758244569 76287056 112087058 285717079 519842005 651722802 209056083 520441879 230809959 695609170 565089497 282774780 424984348 146093684 757429540 879123938 752660364 315158387 494067698 956401363 277593067 834790653 751881417 59016438 44272867 604875451 626361894 877378590 474250141 953157949 774106192 142438750 432017717 719554270 417616942 664179403 720673131 389760561 113450450 568511877 873932429 54605809 911884696 41372019 87115730 240901035 772024930 428227165 411133234 610403752 373475937 935275200 463180862 819108325 410424602 96625847 802439826 597406512 131547945 559839931 678715990 114906182 589242075 632008328 132388792 801234729 867699103 361810778 797932894 27373105 303573031 12138560 208885497 538666455 312265775 389324049 457580102 768612806 911201591 696420649 349127038 648566468 422614953 603112670 972484752 188758127 901429341 9552389 429473939 218382450 302189383 290552768 175932899 762223164 430166421 631986554 656849133 153551942 28197639 701311472 62016171 441895618 520563485 654868430 354133013 423649306 356839035 479565784 25676104 741953963 259295789 707205710 769890782 984066594 789397449 326965404 995173600 763973268 850917455 38225828 469869527 984600600 868005520 7762455 121629703 622028057 641773592 924364785 980842525 199337004 414505017 748864316 199070986 127360087 580778113 149215922 7247923 660663385 611750178 969508583 225593223 188556357 704808915 420129637 867346468 112497885 891796519 277670204 162279369 393498902 305320373 375541999 186456373 337817870 829967485 835296002 409176980 28160907 988290075 580082562 653292964 69846383 717530258 350039667 765797256 550677225 863117606 287298795 876574156 282611017 978084247 766768125 163016554 25189971 796384381 303254275 494386483 693017992 853468926 887243299 490257296 458473070 683862996 587581084 819723888 911614123 688296542 307522294 169763066 682698092 525846640 140100916 155308935 915885863 665384296 937899227 839539737 811274278 730887225 712394314 930805800 940435974 766444486 202501829 852197317 939882644 69320054 842137983 213918553 919409525 274396132 455037788 858607687 208593268 854937152 856832517 300809928 976301996 287035021 670655046 49438040 850448816 529564751 839381416 165013408 921503926 524283399 320989096 277475588 208498786 42038420 131301123 445391429 173415483 637840434 686259734 423141836 572905432 498770335 329517792 126359918 292384465 484809158 631875838 943654272 269277044 132158379 598937754 384041177 988805144 421228680 216356773 358900630 606295245 175221085 830497660 888034605 584898839 35603732 277718451 818646654 486408830 352149851 362439253 867273490 165855904 313312951 962475364 125338510 278652998 437272803 74542422 346354361 940155175 210440335 323339517 894300707 230940923 735915738 299530797 224789780 194546566 921105836 186429679 159384978 315258642 613104466 158746810 938627174 92599550 471696680 249640014 939051483 296228771 985565523 406449052 964978475 975174277 695892183 177058705 376743125 697089835 497669 267265091 920741305 525924991 776071820 743828927 952782515 29021390 120262085 32420091 383797469 86710503 962808606 934440141 242965458 175549041 589899553 29420453 905989489 711853711 634104366 645971049 251661319 28826166 878651871 774076245 221472045 709042873 378918816 515333169 791581166 170571423 785554671 809793776 348803447 263635791 588928152 287210960 839072215 652390667 683904606 858284892 622030572 447381314 451268531 174161205 164365788 546078614 980759909 370454629 433323673 8540385 832099930 763888572 314320893 709526502 344472613 753177443 19248894 537599764 736519115 481940667 184405732 85027790 779412957 160020197 438361810 754532226 518716943 755864320 489832879 273696227 904131996 618863885 887693787 450116947 190768530 544445039 156935025 439989758 125111632 604027658 19415246 852918460 117576534 993370662 410920883 204678126 535975173 103952870 273903187 171539822 782125873 124844601 25884650 66964735 18979349 919196726 184245749 357765171 90475116 150548027 106989549 95075214 480614164 548853639 784064998 240907810 139906498 787509695 579611037 395222677 75858939 20254942 563355868 255805926 84168540 824924367 696011503 340686033 260036096 496015707 111670 603120405 657160029 272832625 869187646 504496383 404504134 15587696 227263966 387923496 60217789 426241672 520267342 871838991 15692617 793499127 394666503 72386530 197779737 907067827 204280122 218616252 780679107 646939738 988008092 150979102 64026318 232174551 914951806 231424867 950394251 58742564 943074811 802280269 386467130 292686154 28438866 515371542 285409882 264711390 68298098 267625295 141147058 711160842 208489155 45320617 241113142 719015072 385674091 58209640 253045824 730697089 512936793 791713878 107983499 294281686 706500480 757383141 314124869 596151444 401586531 321056926 855331217 218016056 706163256 985918972 450659771 319668181 218209707 791249027 401769240 727628754 573548977 458968296 647864189 437263185 210223860 338595300 49021404 38768337 384190831 408175827 22527509 916962355 399966714 67025632 307426998 400591567 13326753 774573886 655591440 232861654 206672864 880709215 412503626 750853593 515914529 943163733 441488211 260797033 190410203 356805142 569368975 976509649 825855578 113433425 272457025 376210736 586020918 1970575 165761776 506540859 623078470 76519321 501500133 896529945 431895116 234345807 952549055 323544671 10953999 810832149 423526776 898112042 397246833 171653715 801450043 60922430 192415693 454645292 754203958 794367247 179768649 722170835 22489477 350686029 592347154 328581109 926637808 466395069 514440546 743968151 146114414 194761588 842837364 773446884 452900246 203634878 655412878 457376108 782757567 683857539 748843198 959878127 583333744 62360909 381895861 862357056 357468017 27131753 50095663 252114127 179646704 667996334 603145891 160068335 431765890 859327708 596240608 287311005 180539310 286366448 870089250 328829373 830187341 597681078 84149757 354869495 147241921 243389293 384622909 810925283 412022830 510980118 574219515 137933088 527286428 236715126 163669930 127794118 361426081 881491085 684949933 480648323 798926759 506448735 893538012 173786778 578643562 573409168 753582631 691769148 704594875 53722866 743967952 440607285 274237701 369870046 170629659 407303119 760354967 112740781 688318399 907943289 356584159 184649485 153764013 367127079 188817857 608234919 102502622 208016466 803489280 878287637 761253524 371645085 244119117 702106334 109605738 330249517 470445107 138804976 270219932 9316547 816918017 235399358 53120348 421388988 994699997 667534847 210062712 539731811 856083672 382679030 110825650 785723328 928702886 856061156 40707406 694604500 870380578 631623329 936664027 78243453 837616487 81539921 646000782 439794745 117914842 876027434 57105418 919016595 226611973 920415926 583325610 317843388 252404314 909615026 493364160 483539269 483806536 38885614 121837494 571908130 86543471 671058522 17135556 133961589 986177581 525912363 517908577 816284377 612424103 815723756 228699378 167314716 781515662 562732789 297334361 178097391 206289533 571345297 760883609 973483222 262071478 486255666 322292097 874650557 528804411 285172389 781718621 243857950 619483648 145046754 303564875 246796553 137890957 699887565 781994952 172085591 431452425 532855780 251977956 935418858 830012164 661560885 266313151 677977719 715224322 808000602 551311485 796815618 324690155 187538221 850278698 829086079 484671781 714522244 326326331 777014957 365503294 74615410 384998183 495368632 592239741 171178060 798755081 872509718 149583435 93719207 951769413 783347763 317064367 431101362 661936309 96487423 261538673 154343031 210998043 615737040 303324204 970003019 692277878 28132194 545290842 498243535 492896726 782057468 817746657 859525545 913845453 492187351 142123528 336369557 747160613 112098277 22000004 957806014 201006285 252786715 808514625 295271509 966048836 696726181 520271471 151136509 300742990 273803203 369220989 549816402 443086849 849345681 460019864 71153578 228922340 650306273 107218860 228858012 926767187 373684347 46052700 565658550 702791016 456559661 252080316 35914371 441307018 445263514 267475067 133470172 995709658 357715050 75375059 75658196 209060308 631964676 828883562 85237125 756074388 812274299 695866630 163052178 880998497 696775199 190999454 164773340 22004368 56559845 28093387 634889863 306347535 879527441 453393731 256516453 805206535 955111036 413168564 770260480 282885793 924092639 384294518 324935874 891247197 123255291 285918178 127476152 754058087 346398318 954370251 988925444 640364453 374553645 831446616 27712802 336809960 384164281 239721486 486213900 958433247 192362171 178952675 690085000 354152633 448081070 864435566 199567864 445405559 120020403 584258597 131946917 436869758 206548155 950146308 911763496 865904922 620008466 734362492 87844825 782112342 28085496 907417268 165586116 763365821 87665090 523246072 157929296 755187240 685461506 433826088 138336607 614236701 268740481 298022037 408267942 795572250 876648059 451825477 377123041 493101371 29825187 833532112 955142511 676583558 350741645 919986866 127017583 921053670 90963171 486241533 899346448 798822477 220659997 965595367 261792934 927103531 232425802 944470937 670797625 157539749 111914646 249135888 916877663 240371902 190310476 163484224 256229665 656528091 491624667 608838376 8266094 365098005 359094204 20683654 615239293 264912604 301102993 231115796 190319373 813501770 54217142 741793672 676343941 827404248 892302910 571225513 619419710 166018726 768580252 406266986 72303624 53015257 49038795 717591104 646346902 457025547 593510950 203150753 674344567 504035311 191650642 46070407 916002562 214131937 577790154 24966887 212100926 924274704 262725348 828746215 518497355 836841305 686458982 540707499 283335694 635659771 546630814 421254663 319293436 942880616 21401482 350964947 588603932 983869247 199542323 454588545 620023294 141723401 880496237 227426477 626811696 255154945 332767045 143815954 949716822 551284066 395666713 380751684 377430993 873308332 249994984 148394132 757418832 996912759 212517576 125707888 668803087 190917760 197783877 352247266 215608736 233309983 851326184 460054285 738944357 912015929 208116829 805241827 414764749 16995884 702239652 563714236 224836921 49255575 197281549 215338924 500481956 912353056 42205125 999042626 488423092 343206074 102995239 410140707 82620652 818256909 607969286 254644022 153149249 139823510 151382881 883805150 202851229 756622828 884128821 823318035 989788415 877215461 254593230 199865151 227731904 251372724 293530986 74737489 162889700 197548508 755780782 405134823 993836090 2291774 90771017 635227984 994511890 105392973 291166797 187211915 606911640 686622483 505229848 130426606 657401411 674329733 609318084 551064298 709129982 245613160 820959652 872861505 483507369 568441357 443633833 523586857 735023026 282513298 133206534 613973012 476262984 254419590 206670497 216289284 223557626 864755380 240915525 153735020 383388316 410327089 100794148 663680748 304542284 177512903 77261933 776231058 702791252 119521776 811458644 904716316 820456478 402237210 630072470 970189881 709094087 463288295 662484354 161953829 443566231 661070176 93808347 671682370 575300931 99550662 78103966 803897762 311926132 792183228 537404316 538691869 826677115 651061128 160165829 275847874 967494659 671188361 791358119 699388389 877264311 749745108 582279988 776257661 89347890 166474684 162527630 872262897 76099461 696629662 964948603 951315362 17577376 23415206 832123914 306063640 28175426 33527674 338899225 708083814 441847342 810924986 249358786 159093531 697194966 183972500 718446871 318049780 72309485 770073137 957511022 36038289 16326986 369860078 293808393 236236101 475161783 492176180 150869111 275679288 615099574 809702595 31720434 395251896 140130584 358885958 4491855 421882240 932427876 284000826 538093022 901694638 898999865 643618132 370119141 100087497 350252761 935637922 463020976 452106206 805705362 715479015 493642121 348768089 295498645 167347727 101451839 113130710 984937273 98358811 616414658 310180827 943890309 383093129 452900061 293571327 751255685 321718807 555103372 49836653 906119914 862705455 693693353 399580291 165757521 906786666 841099078 702474360 533060663 596928950 300883513 683680300 639255449 941064848 434423332 542794536 911747373 957935749 17013518 511748189 556953667 148776379 119612566 186743842 102542185 472130291 281338547 235549228 825877415 960458271 931721529 747322684 453097728 654902531 307649561 56117437 80363077 110558788 159109730 547186978 66828471 136116415 389950 350028719 788618758 340262058 132813307 329713604 5677751 789427965 859099547 514414548 934056827 236476159 823762003 296984656 302103648 199127259 160653927 474876470 574253565 357779748 508786420 440332831 676790862 74330312 24828255 717868716 568546959 36033839 152115398 848482694 875631112 71086914 284395168 872195028 278820724 32605675 972605298 192854001 117047017 722487499 595518666 460982682 969591613 718220272 291084624 152430736 812536986 12602875 660076139 193935984 893740938 198725485 352408447 422678580 54674007 623684040 621472271 806233410 393766381 108621153 557364099 272083958 13702813 685617757 143999425 862752962 754985442 723984383 946818547 890005137 43557970 276904743 274938743 738242960 269429631 950857083 751214901 864851697 537513280 127258397 519450715 786685929 217508836 66808738 823201943 481925239 266777058 66869759 631258319 880180797 567079752 690335056 891207714 11277597 18371081 583502883 982017577 403932508 911212029 248847654 448154132 619590529 538898941 510572784 615241602 993934172 459923744 709915168 326652366 780928936 95255802 909022777 923374562 958733891 420771309 369182667 929941009 190976333 300985061 71295391 704199378 194291423 59709898 908501558 522746649 833818918 497415910 963461895 399525950 175161829 667895459 421853899 299968652 778489475 94054377 756579075 958180925 910463052 943310872 97255476 914457648 329468495 121200956 315593300 847294808 652747186 309431038 113769889 430027130 95209860 135486881 31127672 668248960 215346845 622221882 129502309 763081205 116193036 373725864 140847696 218739470 112706263 112752103 412257073 960921171 450949645 224898452 86745836 276996672 934915327 894708801 156145739 186286636 616915789 704195400 909045974 702056856 707351951 4397377 232723037 852367510 788036529 663160953 887571207 369007520 425386571 882403403 21011163 38241187 34545857 832573352 216006446 621526924 691210384 928308083 632729427 104142395 951881940 708740463 783001460 904983344 502979865 764951286 240289813 980850597 14672254 239131458 547802032 239231982 215337733 480165181 723046889 92142532 74121899 782800864 251410000 144271331 27715649 759699616 757287058 769086335 500832970 175838425 63468529 245160179 728511509 946860975 289771192 787620357 324223996 675857985 261086791 735431953 926409459 45577933 827848756 949789368 277651134 531259885 144968987 688223639 873064599 759490455 718234529 604917940 897857572 713869194 41048740 541738481 852673144 374174365 787639247 342119295 774771194 281700697 241476274 820772092 263493373 452849961 265679560 846894331 921570433 889302165 201130275 327561668 252013971 646038136 17238092 135670502 594770434 248647563 600745624 453824255 371740951 974198486 260694142 960086243 543922504 526708759 569360400 488892200 334617750 689195258 206949209 244695909 160975674 181016660 131358033 587164914 706733065 239575372 313046594 574357946 146106076 438229593 943817406 879255130 540211731 456694178 948538250 929043628 783915489 547400495 613475903 564802093 655377487 860022719 766909466 743008912 158491551 642743294 119031787 389844511 525811515 107074359 860918260 657761784 131720080 39277328 145107137 811195134 851548575 182331296 380035961 297700874 498388151 753303957 826519213 942231234 230535500 150102186 592910878 552066344 823631680 747262123 785981327 256919461 171968915 567922159 717076993 685229551 689200285 324846042 853404376 888147912 638498758 69067576 802501027 947073498 654369189 498330624 110243730 212451487 532700643 698003351 186889128 601929512 34554894 850899564 767393748 178059791 731826398 406536015 852370291 6112317 716942745 179220470 613501739 459141778 599956372 940004003 752087869 675736195 353882840 433496160 70007610 663091103 66775512 664567896 762894677 769379671 574119953 801525367 20931860 568026202 551217237 39159408 79373342 882092550 48242879 782403817 230744984 906007152 653028512 631098 491281630 155658198 875111638 108652096 491469839 845577709 278198465 85047223 120705297 769061738 185748991 292536375 632893254 961388505 794186783 208240620 270424422 863561018 501967664 568321435 655113763 383845659 271958141 683946779 288058185 442121680 670941411 977613848 589992465 900074822 185515072 894775213 727997367 577397469 217939522 294357096 263671460 434831732 518866786 89607530 879829945 961818854 900632731 849871887 861213930 462888393 886467402 234672880 377116157 2497721 941901618 654521392 738791656 575375316 87227093 145182694 701053351 246120148 120839644 887858260 612097838 545938341 384994931 9887815 116353215 628623733 3794313 909704241 304248708 164235689 164307904 621684093 492728025 108421148 431307270 520186502 489958005 179654305 490721932 384097580 126367935 888306491 728613047 129308137 937500128 99725071 855171995 542992016 10293190 848317435 380346892 215405803 104400244 13249980 594357922 613164972 573057212 901139606 414390583 34259547 626885735 681281554 238203437 430359767 236482148 731510551 785929472 86200996 631744777 117157664 341862115 116344762 814493758 2570008 814083498 627710405 615970316 656392898 724629346 666948300 111621531 91914421 36006670 5761849 367378442 410120721 258557118 642871611 31012888 218466584 738607460 336979297 240428589 943796723 848067427 852361102 103900599 632287493 25736180 899361714 969052353 443154489 76969840 101964872 975623658 178427189 282124238 400136231 930768197 611123728 325319273 488705788 74946213 938736576 849920267 426336674 569926566 392572906 24215946 738671315 622993647 788494868 552623100 275958126 592898483 195444985 776635518 296927723 576699322 13449606 14471467 619843107 419342399 197429885 742019732 820849987 899814379 509042838 149794174 758800273 509649117 862852760 307048071 593710036 913622148 143762534 18318484 540790217 726523229 978483894 799030214 441021564 778622613 830015800 243471402 37706468 670894968 253552480 694040970 965405316 740662440 855438558 184293746 909186084 12020998 31808626 529574449 507571785 135662382 264510853 311182547 989035232 442052059 683215765 499288945 661997236 783825523 326834833 896061247 598727465 345954828 224682207 51154518 463221562 95972570 97588378 882646753 165328007 288032885 946335923 807772724 965231282 134815612 602411049 471506584 873868031 195957204 502492307 104943792 771291350 82905552 944790620 495926079 711251777 235319573 286407902 143810155 736241625 456165803 815696511 162871087 542380792 316242617 637328826 41109346 343426359 139504505 948221331 932179016 414042947 344297907 837289959 883145882 626755381 532755802 454886067 91176143 612540335 175417696 414477883 860386634 497626254 576232633 150382870 244007708 894499550 757433657 693904460 555490536 845296689 717512646 536181291 437963024 423035072 924705260 803479070 51587827 75628885 897628493 92376290 43548096 319444736 887703473 416378932 880946192 78509832 249104099 613749666 7935856 79664732 678586467 441347721 781373107 177756295 67004681 187203176 535274482 521746012 148395565 573199889 144662072 763359855 976902115 177259680 78865039 722153277 169267343 325351346 914376743 969332724 655043783 237709166 474085877 359920448 169113138 816985714 616672887 677510959 884669718 544077653 45698895 80829287 224843303 441043807 818625416 357468799 148598051 630760816 80143279 430625820 650487503 186752409 418784330 32592651 509568871 672634508 498700213 924831453 742915600 442928491 77357915 80981195 27052140 794236196 961209793 105041725 785328636 411539615 814607960 374344489 405181972 532265768 710675646 111241370 381854231 325438675 511896126 296526029 824274285 64717701 204845877 739757335 595801630 17802742 960123725 240504504 744012893 864363750 60751342 325824258 244973149 286637383 411250976 718495120 966218547 529902916 55917517 11692845 219034563 852112370 31746608 528585020 623194184 331549526 99659876 301246197 847334156 56386306 128601243 711878566 222523814 677347447 505191548 632760708 470312741 987742756 427954251 348630215 387844560 959858405 626669571 634678245 444573120 189202586 326942315 488804428 170769332 146554485 184584778 740182834 798375175 806085729 763149781 22565945 333435084 962453826 160395952 396956734 35649129 801203283 470919776 536175035 840085613 449639455 90365741 45051665 15020398 909383697 155455990 796890202 891189924 136783737 675241403 568680944 410376519 285026333 315152803 18624849 981384887 418801499 774736824 381859387 780609775 162369764 822656038 930331970 955740941 65868482 516101095 294536198 762334691 719897824 839737341 507489215 790425522 980862329 179134652 244044191 111236542 48066369 181071633 511031003 227863701 532014885 178306105 943465566 172709433 197339615 615369117 652851373 698028351 256489823 151723589 241535502 458135078 365293181 929621124 169331373 797424892 624984896 645615766 383467008 660354991 964862413 660853266 548487910 539398967 148418774 171725765 650946544 834510281 166320920 312829161 439136198 410765719 368612416 92458418 614484443 331394396 394464299 931344289 266269777 597572864 795834760 337405935 828869004 866573689 753400660 970023081 341294264 50250461 888075381 58867298 616766118 792123772 137155515 856285140 135197317 403193471 288665785 43951772 150880697 541493763 534604010 11225842 90749435 65094051 896498407 412729447 726482700 980807336 328515840 898288092 210426605 806689383 347597725 822683473 532513754 987611314 924349052 513461281 962779894 110738144 61009021 961365743 754990329 206393763 257239005 18107773 285744057 167599586 698716778 366381722 817027682 732583746 185551388 546409773 160961756 973025032 941089164 259366035 584232017 801769412 749059280 557290501 839363922 804007617 66186498 253087350 375259832 388281123 299551043 526582940 212882526 521318987 808128534 872111587 255671529 522551023 551046358 230259886 320897222 224050136 778213679 729341552 198798827 418496966 764274029 402810598 224584869 75283398 240175455 93763343 52668536 162471322 1280391 959944312 418909656 307248637 676071451 289033555 768816034 243124301 376588888 78534035 136165745 321799763 273773912 164555247 848275871 726400939 338951653 951053985 66757257 452225438 720334754 922005059 163578069 69763421 290495605 139162638 875433968 848375967 643696965 458249713 446697777 847124750 370352570 959629606 292172177 854976609 67909154 93437530 633289335 777547535 659939899 259732166 52355908 286808636 724538374 109982141 898425248 36364808 47266959 305834727 200664776 730477384 264831656 109143404 273386193 124214124 512934396 511242158 829330488 38397673 796029340 428458546 948975354 360454675 783237288 713158528 891485159 705096275 119211 582497368 241272029 264262508 959413595 557847515 909721371 836409857 813786467 79896869 914845806 202632946 67613655 706072927 135225207 829043662 733397627 240092952 108935212 815165475 43416667 793138364 269231665 143874882 441332845 433365666 390239261 524539733 56975388 959736205 448025001 633995371 93312136 949520422 485816457 813227629 45120878 280263546 671394993 157233342 503475629 583502665 670203375 580316122 739287552 775175458 40928992 843477322 869033035 953708099 911386930 538328694 33857229 12841355 147845070 80385346 707902814 98561090 416462528 654597970 522788147 552174693 257564479 346274533 26948103 616773169 491448917 696312323 575356842 469107401 749235911 693760041 572001975 854592390 641649985 741446911 478643496 720780053 204163815 66772913 40356678 6640155 109570975 492424766 60964366 406270749 711867704 764783096 729596123 664568262 842113946 105416687 377163003 153870472 564599932 704370115 534245703 999297146 663402471 102565278 732644589 986416727 389831237 111730118 10524899 197437420 535134453 536658833 724906303 228868839 236600329 361825903 220018450 476578478 26553515 899480953 199095908 613551284 226363067 497589564 88465113 860594947 173826536 941783562 208691552 800935834 644981390 33761067 354197400 685475945 761682156 16340159 723283249 483452055 709127671 583112993 471619409 555995007 12230901 423492373 549297079 787943119 759896970 601239900 581024159 234689156 646226305 796924622 673141781 986958149 86702480 11375889 868169047 253851620 890201782 678058174 524174376 296028574 205373043 656822212 55172741 527781978 291060831 268429303 763147987 802911829 994001358 899993038 799693407 308842745 995016141 23589613 214332366 733558299 118879247 774380150 369801010 220226744 550542289 766675208 541311219 287285959 453283643 10738193 402394558 57701086 157905669 655529477 123513921 89692475 104743175 689397503 52089012 428867530 140481737 540150596 114970866 701657008 473944260 463072903 166933999 12130005 558766589 421661316 136382455 751364667 435501567 72104660 972092106 46798025 342788008 670561393 458836268 317896751 472075768 489521243 946291169 58878279 127551472 24333793 254414672 412045043 544426321 764483827 553584812 512596186 439143951 224434166 254238739 259958824 953851804 604754514 806405282 49406038 509019040 820121624 611543512 985322200 280776626 202522994 401977691 730118959 882925467 995676770 280827572 514601485 19309588 60928847 603751864 187059270 239355368 286384094 455702189 687837056 211854261 811921522 450984815 220874254 613224963 296848657 207040060 523802755 43779154 463706856 423336792 730649919 386566087 19376550 162056107 70662309 151613920 255751404 902140136 122866371 12084017 497218906 496007981 373540221 642345402 505592296 235797171 313589691 854128360 391269910 112029738 388946882 653718430 992012343 960084136 743946705 888810667 548796954 977665675 226368594 228410971 716004245 288537390 919169039 967588019 222072194 563495028 141817303 370687141 172793169 605617595 997534474 140352402 597018982 955345189 613180169 712568759 679657294 319034886 319684845 158395754 138539199 176144616 150737787 826008306 58878532 102138176 297442623 587202104 132098617 533051296 782425429 333201198 11078472 332810632 312153871 5753918 587263137 169887168 191734158 98906195 600402358 540841673 403462220 481720997 424802637 252394918 141018566 958893214 254055591 335802709 246603023 431319198 1046578 528971245 228583847 212957152 926088376 546849387 10052716 265241346 247169405 745419062 962935646 416214727 96612009 443313620 931436797 287767244 414481357 594536609 119404665 871025243 271388260 880960124 284037427 231017194 480110613 735209520 986347103 231020806 358550803 178684921 127065171 919292703 295886540 333213066 76962387 2318317 876890495 898423449 477752105 788915505 684725358 2212565 644202258 921555355 335862151 679302328 31095131 995290896 145305793 441076559 727618762 531156696 31742154 558475453 524016331 695711128 62620405 338040073 440755962 947478212 433749119 517580475 108417270 280896036 546863955 201870646 656613018 218507853 715208349 514629400 799131706 639072743 95693194 650128607 385800984 953437968 542960669 310116949 594787460 94018455 451695968 709625673 608019411 274734165 646611825 416639240 958509227 111128801 736674431 865256791 203263179 449781002 300389376 377702636 478508521 386560573 813593971 959675072 796903451 742064358 65905942 519529607 683682585 977502895 232173950 220160490 137104359 791747985 338309380 926150551 159456815 263253654 21350517 157635689 171794718 734539944 265675124 684438796 68881977 8582540 844080104 988368923 234865637 912580351 317326967 747145739 844679244 438044470 172124504 162231181 197602723 544935092 29767905 660361585 446307292 121763586 332378999 158963697 429279513 714426799 64015629 901866073 820890920 313245642 214548612 777476350 627637785 565838988 219689899 787750685 274255627 968666771 471769992 680114697 112735418 222891479 56313454 42846211 884845391 187123313 772422845 756493272 235639121 789008266 350798659 26462997 584503566 793085149 456878938 629145747 265463030 134543060 47909253 474236198 309684908 646403332 394764430 35124700 733753462 581710860 672218762 284075869 218630726 199494440 904693514 398989409 999755690 473630065 4848726 97792034 901182781 695469252 639607946 397748489 891122131 341905675 225019717 315350035 546920229 88794507 462797892 623525405 865864006 47575901 758199860 321301601 730438092 905745666 388667159 395929626 672521954 221327538 71391649 931501194 532409536 752724354 579199294 924680512 636103692 124542994 998451481 209130743 126745338 912428633 263376184 557111444 631474654 858567390 687201066 436960571 65241740 823291061 767263282 189191520 636775250 870436526 262550051 247756004 56170950 53438691 110316066 49818319 459833902 285711299 82861217 821445768 451061948 488224278 679344372 214213441 549919125 180761456 747575037 387433317 42988371 588867999 471386028 669371003 843467444 251219314 475837409 946340675 418149310 442909152 691846074 621129514 812897402 863836161 942687522 354446405 299147582 215148145 527115825 375434263 286567843 261065071 758760850 492278224 2456563 388218903 69824256 701344576 171251444 276699400 541939812 353179835 399470645 938863316 786069369 415834859 640134755 904388448 994407000 620378257 86965483 111781055 649567978 530172489 886609707 259757361 599487134 117290507 526318267 510679489 123889000 341192953 231922565 469036508 672342574 757538842 362799053 575196925 817921017 707292916 236043323 221601804 205819489 106394863 304036364 915708148 374272803 655284343 862634023 829964413 24674033 84113659 109960011 942159773 199879733 490531900 42045935 52900621 529967422 829430721 344709198 408273286 119675798 764877193 780432885 690571334 636820854 784782924 733937411 234587044 511216893 841978135 27524940 471580107 603872107 167168916 267385345 498256373 417641245 937194403 848506986 183712992 546935763 54483415 423821150 671133041 547414676 840082457 636823325 280450165 438821212 603465140 281843992 742734455 352754888 501956324 930081087 845038506 128470060 479276990 925478786 993925061 36572192 707600130 325255260 278462429 682655992 409110333 229609803 126381014 993876681 602533178 19147319 534996593 235248180 960578228 765434989 830680254 640887262 215845399 930388703 641543500 117406717 781649228 717073225 370420687 138619967 107131471 469703405 789764283 291366417 362488488 107300153 341087652 83228784 295125940 746400450 799255605 943586509 262722583 443705478 794302085 892004067 612807523 35469804 843846668 138420751 837075364 600376484 78333936 819405741 557963099 802430628 777823319 914854673 269847944 666106155 850737089 969963013 219742281 17652754 110085974 811459606 709484863 874142263 865694490 709294686 136305441 956871656 990139564 928732893 682114825 852014788 50474124 248820887 782100037 44074402 78683435 527622974 450508420 798822500 408556753 236714815 466136549 38645315 761351469 162529361 831411676 46584566 857533882 24241135 778244688 318213257 8078055 602638120 666458486 369356184 178729315 752717835 703822926 912578138 625064323 895928668 813421867 412313776 573561449 255330397 832278310 273783337 162652812 682396521 54176370 153914738 179230569 644082831 629848858 749471532 213655419 50958194 620359150 275046209 382113768 197390385 590254146 242899925 954347028 974423346 284473572 861619347 836230657 813258083 852570354 976955311 460568783 995699779 617637773 830966525 712058669 379361661 915362890 298136764 99865207 157115536 961218320 188313713 693169350 323287442 34556122 782379937 587907034 272321317 769559083 822925048 865119970 272184244 761801582 518249237 657254951 19845329 274327179 897580226 810219 914024130 943479039 618603939 266062050 559899915 695485096 90060015 465244851 265504063 97948645 246587467 487553163 826475272 615708906 908992003 76636769 283742088 771090191 695413229 453187948 86879661 717314102 740527723 875687298 982510773 467378436 706783071 615628312 422618126 9762207 560203057 411902350 116401576 394261796 557534621 84125839 623258986 661593985 678316787 956124153 641437678 203302923 246458033 143870910 912831504 802480848 914982145 897134068 351298882 256247096 808001721 985867721 871224222 757542617 766606841 669828702 827349012 321131785 896020909 712755019 162285693 559384052 139895095 98040315 911070372 820663423 12978139 423676189 985068548 109273018 995888801 402206778 661167926 299826276 747410705 349738909 331471560 44049326 217126881 413641377 534461588 766524183 307113511 747124892 164425561 623052059 400856112 604411300 709626950 126603113 579624783 452491835 158091450 929735874 644059838 781046315 217963264 925488997 894657533 310976702 261306279 644692850 673081792 231102194 868691606 884208233 775010755 595713078 361910374 9090972 692684839 724440873 486533171 732568928 450561165 861888556 306441275 60447323 236458777 455842121 99273919 484575451 865819425 614633106 236714265 347501425 284667498 211083921 706126800 84905474 614879924 363737248 317247393 474939964 851264929 909624354 634422929 362527688 239232816 195145297 56927313 403754733 878047712 157155822 925454405 659203150 234553481 501874217 336585783 887598564 346358925 30539322 259392896 81573677 271469841 982412801 273274081 247264006 590022183 238189403 543400479 212718895 942591448 113144547 551909383 226719816 351479420 401607788 17740653 973955439 751562602 469896064 140579023 20776555 776371737 715131365 566839730 838006971 214813037 282134153 285462155 249667131 516452867 307249925 224307592 819548182 659815607 705805332 263415642 627394269 701886024 914622271 975943549 669015614 365925407 58994854 844892396 32936018 131793143 874450165 778320016 323372881 638358378 59015042 424591725 66747213 447226281 494421175 892867196 27555366 980836063 888336662 34001983 578160155 231479297 140799053 190164371 873062858 325890161 661197154 744427539 511564653 412377787 474744844 526990735 128115272 736993448 792177781 701452799 500019118 497182028 682973528 592054567 292254552 622645254 894782345 714621699 643808827 286800555 273538683 978026782 355133451 526304848 294879105 562739468 195207170 539614632 69645122 110085094 957498389 277183962 955983005 170829081 167860067 963574844 620364061 28848175 252542693 288921059 948388391 886905893 519048507 377569696 791382455 767529947 592770578 160960841 379870288 436050010 100354625 195427057 43114919 196864249 188783591 735115552 969482142 177089980 841757099 483661073 337641538 121057516 583020699 616022910 59246377 521864669 615103549 678650512 178638580 602515528 325215388 72933320 5847172 131919982 913017447 765482818 990164645 229553937 805986886 391197037 987455849 4073985 817108438 690442547 472330637 452306618 107918451 545613501 652161786 372506074 743672663 619362440 406488126 84287510 962210654 279174843 671341130 269478752 425479608 299469756 321028627 694555419 153678452 348613519 953674947 595857683 585521885 331213697 23602593 60729837 473102523 6443815 586970174 391585137 240467038 498991953 983235748 544031842 29216138 250556670 394855478 160964037 519395516 290550320 863619527 703815606 918107041 682409493 529225693 180154323 700130334 672663598 894800071 924026452 67309142 115854308 661437432 245121837 47977034 730187931 477759766 889194215 394260125 890955860 872397495 37581158 230579513 47024957 273754877 698302800 244263601 557852253 888624100 159001102 502966379 401970918 160418688 769861782 348332693 232703704 740935367 613830550 44242944 675059197 59210767 656520475 671707283 794615268 931114506 874492758 951254834 995621678 638735185 250054608 817338958 399758958 378757695 320702487 807942917 94820809 935936337 705367405 765344185 274152498 122467574 853927445 331173900 941282509 933215614 266957580 497892410 7925061 921175026 142445856 524857377 389423400 315788761 518401453 57395535 344082423 139716330 117466109 11677418 136936913 406258298 385421140 586007420 640644497 801203392 86575836 32049091 841213537 473461089 455542806 332921622 171561182 666355139 762385951 681079705 30882106 142959895 729402775 707910960 429580828 921894947 164601898 219995066 242299273 97267310 795810985 705010854 889865596 195016177 50401811 671648212 428156036 721865052 160807792 161958630 670010557 93104932 19650429 136522 860241587 707302317 154239474 69245611 640669100 44145573 115972898 609799453 875891011 418942291 132297676 74505112 583160671 799279651 942384522 907263708 875484212 465552623 467186141 272056353 79711870 648805219 473858565 67135128 622656571 744091409 567847388 702315043 548019434 981014384 187125251 407394352 507055839 540756740 686025014 464925802 587812001 553557342 854023774 889345876 955107547 723697726 402776037 504165051 575765844 463708178 434780673 323938045 641694321 223654477 603569956 49104839 175682229 350871661 358177462 324657244 663314063 598294796 802812528 573973175 10536875 159288923 117428383 89296954 483224045 641628447 154044045 761938435 207015745 143716342 659124176 747514116 326816611 402884576 559463680 565681956 929216890 653804900 858005092 588881597 455255350 259459702 63156497 927006326 758756647 906264746 479066347 388358883 911970300 586707993 577218743 525776622 545379731 964694882 19682795 765328794 807222035 55387965 840222880 99688318 253224861 82520489 80380709 619974520 9671838 733134540 969447303 492193358 14884752 326492031 304534468 24210716 227253365 139824367 206403889 877946825 851461764 532991786 883133090 139522104 480520661 323187172 237247655 588997682 841323538 754114098 949710842 590623811 259410100 936841848 120239227 475308004 538147941 25096787 436012469 383650051 199236506 429533367 321156239 667689374 336851627 218114606 319567995 20970240 683626940 641946274 306092111 238444106 613455962 921499982 912044521 261891680 584514531 722521312 10501975 385204233 388130181 472621284 843758398 446573062 575577110 47525465 100187424 553829849 209091637 534441944 570026133 156949060 184700849 347334689 578331362 881691341 364207736 839982379 85271814 304901135 17123215 604012884 231346643 422927251 302204006 909644040 977068367 375484023 732239391 392873549 200199237 527551873 61725110 402520180 125252125 927971017 822809503 730549233 630412735 204428803 572306746 38578041 797389644 973224591 325353994 999773888 527125101 656580757 122338915 33372738 842637692 755234530 54463104 87786906 133026338 848521863 675391494 641971776 20537760 775988943 766342531 915558441 467017584 412700619 44380382 786669058 25948841 48470059 515461168 164495849 20195544 364220002 48498053 522222965 213768834 50794173 650937993 730125949 316476701 279407806 466818856 43356965 42019171 921969936 46870039 463881394 746380445 456521572 944379734 56405423 224307169 687169098 833823768 361404516 454776244 518535672 868259840 974535389 149910379 896680781 358959399 506843348 834976875 33175658 464475418 727776768 92473600 852597309 407533303 352257220 30232264 205855084 47744292 79355616 365512927 949134472 108979640 696129526 307856735 309429304 795230822 986250111 321047401 466680336 846123584 809169749 887687945 850514112 788356362 947373075 138631680 546816527 392956515 132894893 354078421 587468633 476996279 640855411 203084577 874143531 174446141 885230052 219087936 485599830 705582425 883136741 310132379 803037005 573414332 476432603 534967633 453960479 631374999 780453626 424143702 222112465 998167467 10340095 184908985 160821438 445021441 14564110 990313336 217947091 436482215 18631407 104432395 816873929 182141032 232579999 411154758 60580758 874407453 404944168 537122661 990520470 96539746 681715932 157612164 187854132 163259118 922642325 917563008 96385725 753194575 887050075 999649968 681541670 849651430 868469717 616371445 883946100 294709984 762711273 113513402 143425361 887602416 581203844 76496964 244503037 420180945 912135144 735882058 235094976 652392634 298828690 812137309 105247297 586169071 307418570 899939568 207558498 385714848 353241461 159953617 988969063 822075722 689826325 253206941 893529936 815985133 485274810 570539781 698207949 339762575 712122494 612788672 900162863 609730534 161983063 36855335 64508954 527178680 883089678 399620877 29398486 247311641 704524823 758389424 71621049 406411118 482041324 556212156 495520863 243610388 247357121 722691232 190164081 967178604 61897007 775880306 247330892 403410261 998781389 901637405 355324883 185372014 164876478 652864065 639787410 468771459 293187379 766881898 392210926 859028281 601580866 807064354 532170684 185565636 835081094 880147553 111378566 258941194 418277130 706250184 940446667 309613382 398286148 515960802 725570835 840290661 265939784 541086919 811801107 232667313 346090512 575836600 784009182 447849079 881729980 20369517 700326358 168338752 610234461 197366957 937574187 536768223 131514564 111842334 723226813 919499457 177378481 475100740 332943496 587116068 971082578 431951647 803206589 656605409 693516651 688724670 694732969 712087343 281601633 178812747 889570044 738579517 622141999 180314345 319586647 658353727 254026455 55623136 736230436 157138589 222647819 618296265 77309424 308268996 488750275 107335791 694530053 151419188 899289134 763394747 625194068 417039910 845851674 240479551 263889656 68395977 924537792 966829967 985215919 391160286 899922687 314985800 240093062 452645178 925411249 855989469 7529098 348891878 275878232 76560066 317589487 33968780 153732868 132214302 531603181 32087300 232699501 189557797 71246886 564387538 311026712 251346988 247405505 284874859 171145920 598916829 111942527 465519073 267887511 965521279 487080216 41959403 49623507 713114812 883732722 594489077 1623449 384709533 144517924 838722228 435181744 196392774 192925239 875323891 270153610 631139321 862568813 28384039 996574802 511527128 630638911 845303028 9568776 830158294 171697369 20650557 848913934 252394348 142769735 643385066 570506925 167098681 415724970 453651554 432838822 797583429 461535793 995929848 256565840 862633627 653106661 920395153 709337116 580721759 352471350 681651205 478489290 563583753 531187191 510090403 189882918 274884212 974880403 252637070 678120884 464827815 139990210 208435685 416316625 607947461 444093082 585227652 828237545 129714073 549958476 41628862 693194788 402530295 52078247 834627040 658620509 767557351 872464030 412411269 994259860 98423715 957777735 269818217 63958478 211634896 243603123 383634951 193582155 993142471 166640334 319857092 953383619 104011960 193696660 477349083 822468174 713886409 508255950 538029569 654512395 827938402 547531405 605427715 485322393 531262506 23619712 517638567 880472346 70394798 220537048 572476334 534118769 706273497 213920342 687005514 547448858 183057964 983128296 332965189 500274806 439959030 220361794 48895231 985127449 810266253 217220446 763067340 77176885 24622181 286870291 286655358 887586190 368190579 281864455 532048591 44615844 351404732 833023991 519317156 296615441 490645113 765781835 460195223 323187780 433580786 942663053 974007684 850747011 940164721 641698310 656791391 585238592 772060152 229404148 22030427 59644424 197062015 184318669 464589535 34165732 679287288 776807244 251281370 286218410 478041554 877793921 827951402 152440039 287915254 895532032 80165081 283665687 317235771 83037479 771890021 4357165 791898837 257424006 793534164 635338982 561912751 931544872 722821861 262706552 970864797 814337125 148597079 357916091 484322802 157876216 289727745 254002887 5944030 316976041 355774009 229712342 572355332 669303214 552261112 790152930 328254109 556564973 909284550 428258657 335068892 754077678 766796190 55423418 123213732 648452835 120547913 608697547 77721656 212840423 589343364 593155415 56838678 645532835 482299604 339164611 427832065 738044070 506267626 763990673 848059311 390589746 987291990 802658045 110652236 712221789 102317213 137571455 23705818 166389492 903805638 391518519 401455319 767051033 508983634 103865071 807901657 655893908 356480057 212813666 469586980 882496332 765839735 351223997 975479667 263250373 585884662 8027686 414829146 74785405 21964743 882167291 853263515 528006392 127828434 850897381 588328026 435709187 293895393 129574921 671295329 402456773 182832875 815591871 390055469 240366983 708248301 827646640 567839082 159573893 655876760 619523248 794760998 221913428 456873362 524300275 830116110 294150772 199774184 297767942 8391435 647925709 613706667 335638091 531779295 810306093 276167988 293678105 150923711 615970205 577300456 616404177 429824199 46402991 62152797 169250985 11260674 189073394 44699136 228822979 282591519 93260785 538943378 890078218 229048730 990500509 340571749 347947111 879259751 829352337 413882733 23169828 845098312 119755477 561232067 371730861 989340910 310288500 577494510 879307185 873286053 628246062 557665303 947908244 480559268 53883297 525115480 765245957 364931609 799240615 140218439 729224282 12350185 271541431 605252420 135060679 578804797 335016943 408785085 718589573 979943967 825004740 148221522 29059416 289651365 796767098 183598096 159671066 491593066 549694661 110357029 421913629 865059215 543141043 902885581 62978324 754797173 915211702 130627752 345653191 60805080 770989254 34356295 742821208 965960242 720270020 683369749 90674123 760302103 896547563 865139514 510399770 282380545 498141575 90467003 346028066 222760379 372018239 816854544 623187752 333188033 31197222 581184369 644448725 305829777 86597478 181830050 110277334 124608422 859122809 257771112 924298103 884237638 36953181 643850695 973457246 845901499 522178145 902195123 351639221 336766787 21417549 909225987 652326290 431254434 175371217 276151776 36077528 747586543 719416261 280414811 948675497 722055302 105609257 355265018 436294803 606275228 627788006 599569179 980932760 25987324 29568237 55321288 833896759 667089683 670184458 144265935 150372094 444764288 37918716 194296247 998582700 460982920 271969058 744859093 498465284 442146834 706915543 471486549 731202700 196845465 619130333 87355096 818641176 787465351 428285345 836074434 731564626 259342908 219408454 800329112 99133638 15365656 693482210 351278972 48517799 140990533 485709377 537244802 259632783 399280618 953008725 24092589 64428571 456859565 292563865 437176714 839188628 650549792 740128971 373185804 736526131 332539891 213362690 756836702 343826868 332972509 790147288 357883881 484505463 654433993 726929163 260303746 795161373 858371068 417396600 778530182 919744752 720008629 613412793 144447400 694049439 833220931 109771627 161924964 713912112 24591573 195767624 160631000 935005010 210607129 784404221 272610707 538768281 992490480 685773588 234950780 483556013 798825551 440414139 939317749 781218998 789627884 278216856 63651510 8616236 1004246 90343549 496891727 395429532 176721612 151008593 656176783 212454434 957872516 298810863 774604674 779718001 362924796 601709823 781339092 633925286 139719081 375843062 826645910 331105767 397584243 240841543 97230255 19184146 165772388 261135328 250079291 479512257 365772206 991677093 9017729 807887969 481891782 808695746 872020180 55952256 295745873 577136518 296615411 447205922 228745584 375516904 145336470 334066093 924548184 93549128 40368405 275112788 522640250 355431042 759017031 406165785 46700537 59474909 921927602 948892318 649326123 912730602 434321510 518192499 287947622 627640907 949764197 935894532 596242945 563896255 884951797 524888757 609885556 554044286 541372777 654829459 878302934 344976690 227728245 50596810 389350677 85194313 893463766 276915869 155795230 758952656 806362380 474453994 595202213 7689100 702829034 339276122 190571847 724596981 530407084 525063500 973341183 334226821 506873547 368812590 259561034 592489604 216936898 104832521 557213703 906683020 436918367 356962091 797210812 426675203 812798630 811531544 59913365 273931705 141153056 191628838 915601280 106387042 522674054 177698357 163378172 236892739 999436774 185512195 832838762 145305494 391581097 343852335 699540343 843713855 565908401 76172494 309728742 468926843 512449435 911353557 4250772 592206488 964031065 848281258 406654082 120857059 645684288 7605498 455780925 237343824 496187500 929986538 290610588 775703671 143446523 128058190 372334802 324842865 922186314 248219817 384321650 815072930 372563865 966249229 287693514 935545483 632381665 148351502 520501978 646716409 493217254 107285614 622077918 59614782 746696385 776707293 650930888 393879395 919056708 971449320 251299604 956190021 984368481 230842333 416374132 150349011 74290879 345169002 847047407 916185893 844495591 719768140 670534641 188141091 232307734 582300649 154267381 712066788 501134456 843247452 230948422 135908167 301035131 105451123 27486985 799871731 176037987 251833190 249262560 198230849 938926070 110376245 117650966 96958276 959843599 429965023 470473446 268408434 511775925 767970181 694114330 550672840 249502055 48227076 512319343 914702331 714947862 794201140 826104436 263727851 143930447 154459617 701773261 151653514 172301592 943383759 62437373 593659593 444587348 750026629 23615000 661922817 120030211 727380008 928360798 651978485 761017552 803922830 469776603 409613377 968855258 763833070 542723745 22106387 266374894 407531134 238478659 226638519 9262726 163871753 825168387 570716935 903571930 315250861 57644332 475884465 105724851 289520188 714924143 80079549 337890259 316716123 257438948 196766475 271879196 68812232 780812379 969020553 749257171 164542960 761801967 643688794 115571418 698972020 768581002 97875295 604144537 588435934 463025933 472858046 56717221 261409400 252872177 126453781 465325303 743055536 864707950 962444688 531120751 457042960 620076541 384780721 99889339 894989536 889958436 276836240 274484299 764115044 212125187 948591590 974424472 139679903 501028794 713253957 314963362 769828271 528228508 947664914 195460575 194691594 331420357 49873652 187429702 894881785 271665888 194991268 924562625 996479866 951103603 17329264 648309166 557246560 407438488 619758764 796401751 19697963 917746659 873639552 545590852 372374849 3887894 873313993 417379237 936235669 482149555 441942920 289498351 643925832 873980671 179064762 967817688 890258620 770678459 434823437 530508990 76594123 980240578 779690210 982506251 234395499 474470075 256680837 309106430 393911573 242689878 678787903 782539542 829692374 505600630 505722843 548821575 212186908 494654249 434515622 866363831 632697090 602139506 607773190 144083500 669063381 347566420 790851830 233494482 224900800 750930775 535180973 212325447 662939427 473296401 615737036 405915568 162165491 341336641 879849229 139067498 308189356 50009253 816417836 546857307 265425356 109544110 204719029 630588052 602412019 741130120 663615320 88059442 556787665 975325695 985098790 172536214 810296859 688081794 53456036 105763631 399186788 52810952 686445288 752704844 100127623 993128344 63407619 465983838 705906752 584570443 542452867 448235315 794458986 992714466 61814343 894176792 904676610 661725407 177759792 982908001 2016868 16961836 764064185 169810149 16702616 526310621 782574426 330441122 970206694 464547795 271590499 784647721 973973925 990483021 898088509 249769575 77018932 728383558 890323548 248426199 138527229 15819082 752652756 637763887 807561022 501914143 206222991 174652135 77698803 219256614 187260556 71524166 25922909 294412813 449183273 69723753 125932700 965066857 25765055 664010220 901923940 471444831 566734348 9714278 439704353 957450211 360978282 274635300 102990905 255585471 903356710 960900192 75657057 711905885 793601154 844865618 775827145 158556834 496862867 4197968 738984247 416412537 99591715 71925642 542940377 840427986 527003321 216816517 991391393 248885470 175740487 220831568 544744286 13319613 516181124 636990700 88374455 101951731 716196490 391559716 958816444 100924912 341844947 592460226 717453904 40421785 639949576 854347583 304278854 75847281 356193062 662178157 401957146 955105763 936242244 809476314 423058592 793492209 343294928 189993690 45226003 200830329 965009963 240511906 755760683 894443780 18095179 936213321 986572627 806025200 852310090 286120294 445310207 333481085 318490595 8842776 943404586 522458116 242593652 781855795 465511144 949134391 883506394 339569373 589527094 185300344 74452039 997116413 127910805 391637128 81652833 442454574 581562804 197275840 100270166 496094253 387592565 570109168 231642966 874043447 103838548 626917421 544193936 780864804 726707618 166386377 710867921 604535876 328731320 581166433 29079731 842488449 583793056 43969935 932495331 209540575 328591096 623874639 851058782 834294389 222647670 40816626 605114043 934246242 590286743 25284917 69844330 484471970 878751595 479676220 19993029 3760829 768720726 82130674 168095879 530245870 541082222 371249342 431214253 581730955 97248143 512036797 517497773 991142906 548514957 280543765 8626368 171381708 786467785 101622347 247040211 164615796 967455800 77803190 894850991 528484630 738412366 365131300 753986841 787951824 737109320 928357214 438391433 383252631 744164838 742337969 470107427 950867106 733299510 215810624 12961516 309804065 92590343 515377838 609357675 657324087 452860858 13468971 495444743 613211086 179291930 64925880 100095579 117882298 393158531 507978401 242591854 691491035 215545801 162912499 987402557 195376091 842413937 196660461 97817971 452570328 479568154 248968309 663620923 57668386 12614900 749565046 53032124 3461266 237141217 689208054 348223081 766535062 513242639 239739627 968289211 244387971 13049342 93323578 273390515 688966856 839312904 841330926 409124236 270287076 815480151 313930643 331782513 119627454 59719904 432767773 150549963 41977936 265200635 671803006 724421324 970122578 402808501 922072368 499406390 621841919 877386010 768980106 339604006 496880079 368621933 236804263 27239963 122175934 849564017 162681678 919499189 639773465 300163275 270418721 441820697 769729035 513595318 693285271 47842424 1878714 529322913 450316262 29354102 878513462 279907410 81827310 198125829 287390657 76272050 146377641 363961989 254173208 22294448 988307972 755916210 24672205 371934868 843134308 39945307 263417036 434181550 727246688 40772056 769855637 391262509 125525233 569143660 83938031 800199249 626164895 594178115 922409649 684193446 834367157 512595889 150427617 930482130 779482734 866301037 360273252 120412646 381790116 30744215 296864098 691587924 919750760 345830992 275455525 741623864 759947407 974638724 528343471 358682823 108832447 555111390 202696935 392627274 898270802 119674960 547219393 124230871 817295529 908554470 970704730 371781592 997642595 576543227 7548383 102845292 169740430 630005116 609648302 117461162 127357127 579775099 20732355 13907749 656311428 254871034 333015533 325978167 252491243 808463141 464992002 359972017 940119392 944531131 338570592 595950483 832908969 449862218 683510202 943899564 898013277 143341857 966990008 278519789 81168981 724768507 41687339 662346775 366989846 495416126 542437654 387867137 197199276 136892586 919835646 174832408 79250899 761889078 413373383 693193587 560611002 737543261 742357458 529265793 676296364 756609480 677135519 252278860 553104104 943246785 74220394 63247219 724416586 845061602 422366712 284990912 269688638 923731107 126467948 850143845 683019413 279286635 969610141 913487394 226402637 874846903 380820473 193406436 758418222 541183019 285123874 833843789 842589324 885523954 564070198 634237561 487115019 10939228 571987179 735780028 857764242 983277631 982752394 133887848 121847709 954093442 943726700 802658521 97431885 897396958 508318565 192225334 763047403 137197288 332157494 975602009 855344364 14550639 389456539 4237092 625508702 734937916 523926893 380288446 548290904 176406755 237883827 101823607 146380540 578070047 492943091 853897081 529500484 757145385 556828617 553915517 441488060 484125308 742559547 418267307 674597087 410320317 720541096 88140874 658279371 512471907 691090852 167929045 423632457 2321167 184936436 880370144 526036863 542783925 522705947 288610514 370446554 286821119 375524587 613056000 22668757 506908142 268630049 284886955 327364800 386915039 889936300 9186241 966493594 281262003 33947976 11442103 863225398 635839446 881956604 482757208 328590137 115948668 811772634 401231515 191324688 853749499 642689252 84253459 62655257 161061883 762493099 223263114 808823870 976656193 243150850 20911396 99734771 685111066 485452587 250675503 349091351 118115550 729178199 890802373 770880352 700545261 501941886 734956091 74738457 315062905 238283921 415931069 29237975 44905253 320870515 243679749 92869125 872842863 868238035 493564049 742948247 911661501 937207505 492609485 907089769 340972253 942070231 163467862 445163192 623011165 105007880 472120885 836650499 495619474 168631745 535546529 310928149 436473377 460295015 965475276 960637416 324680246 721619380 781852452 102044108 131460154 743605055 235593176 380176024 53781705 243751270 824482698 860336574 152744686 964705081 834936297 850601693 160964702 386556483 48799846 83274857 485681141 984320377 528788848 672885839 218371905 288118710 647236134 394908093 510728801 148367063 871555391 933444844 566404834 991818036 703185987 253622114 474781105 468143300 657421423 673441149 618179314 844793432 633897629 971556912 734790024 955336875 882313761 509531863 434976764 652555890 18440634 591766594 148519236 933141202 322558507 948498082 270923993 347311611 588621082 830995910 82408296 256679536 496565740 488726546 804182572 975414415 673947957 994824350 234967573 568308992 636702490 921111285 469114115 525496336 291066841 876874593 298245239 249916861 232823222 442048970 847528620 477993624 40832072 295543551 503865218 782164998 769921034 14366350 59221478 940580654 800156205 489327042 299903659 316431351 64387427 585789126 311409953 401508306 919496990 300176436 282741809 348547091 216112098 795823306 937224899 12469546 389456991 115742970 516569989 375914057 414834635 665748269 625994104 547793807 294114181 135231365 801858624 931831557 754759443 315671280 285734559 360991698 55020381 920082387 206527623 836994924 913715649 507305487 325195399 386317108 958885484 263336443 804487117 202590938 73353165 855758119 782479874 7763338 527848279 805016909 258125173 955506611 153308339 796283436 115845313 46171543 192343638 940264955 85887389 158457917 686704814 104389942 847952941 955592749 984530698 866345833 618335515 449532271 758734373 466106175 303529367 675663163 159842205 106751267 64303122 90363631 155550136 552638161 292492364 402890849 668836558 78424459 736396731 325163880 831577373 303499013 432354989 489860304 201018992 649043622 282713433 640287369 551292909 927155547 22266355 101994789 603983151 214052445 381475460 766369329 708502222 454441057 513523675 897805646 48377850 286427059 896803719 810982519 726803432 910030823 655176706 171309037 953297019 642405884 441928793 76325884 617951272 831979283 764942032 739138453 681316006 578973880 21594962 776624160 467131255 820485776 769713292 361235554 137015084 464167639 708618353 924265857 76339514 252992521 304558588 267875173 992377244 11704088 297060851 263204005 575557891 17277818 93509038 572511419 999163195 550605882 878174721 339504152 449245103 922022411 338574798 728915792 665475920 654647064 291466117 910308915 992382292 885026984 847184887 550707026 55652624 252872622 250803264 578627953 804353010 282651294 980718981 822559628 438326579 410419519 72575871 364077153 178858170 889096535 278404626 143064573 794487255 467223289 695146927 781999840 136033631 719449687 455930778 192410488 432130059 53124618 913044584 930880980 108637432 310757079 741423925 223225551 964287174 643544750 289265065 819630044 525565189 942628576 730806206 273701770 92201228 4806229 122912580 888497403 118787772 567440773 66995926 309979941 568771318 335348211 745661984 538351735 796868536 332617015 46370523 991263214 580167325 14858547 958622388 277930960 93367026 580162623 166447672 514639989 255700184 286399746 726574859 191531201 767350911 378270810 391594636 357137143 113178165 570159693 508793013 496054838 266613933 300254814 445106797 243034013 170401801 49554148 320062697 778635 183685825 29702230 130748573 212392773 562249549 25898793 372049053 68883217 296173146 127361384 187986153 236377601 923055664 663675716 802863449 885952377 2348082 745220046 933556994 933473890 239358720 402915668 18991980 356298806 484295010 800566468 621604282 826763558 257430946 532301739 933984836 683810011 5215912 904342518 364273002 676712134 706909510 375501499 534904095 838308067 37564267 179565732 667241937 564598518 579850475 749454466 230212132 35969286 211565342 615152516 976415524 43420916 716481239 631180965 538953605 388175236 980333581 471175407 821047967 195905125 209027363 941056141 970348059 817684414 911797866 19804637 797761599 911087820 420040932 523477242 803937837 79051249 16312625 645920646 869429523 535595216 392556135 675193945 593270510 582900467 48398005 310835617 184150031 348341929 536783983 309525489 208053967 706332262 708223993 553342551 47685035 109215979 279375525 335193382 106646130 781120437 238327813 484827498 795320859 362732730 309343410 392773712 172014421 979754997 36369812 396117611 899579879 404981842 849625332 849619930 332759224 517960810 254280575 132274463 747229628 592584444 329668697 579728299 213631500 323003170 816171791 67925511 383198112 721787681 491225526 623169648 798031855 222279710 888064632 207451669 87577425 428491922 604407048 78336958 500575974 742183832 480287109 383766063 287202534 924532844 15187698 535039513 173299543 933543787 207891259 535609234 311954266 717790723 758305491 632574625 343751646 728142705 820496932 154807533 730935237 706123583 202138970 51378977 126895341 514590760 719257463 780253038 815595656 884239183 58545370 714278049 644703586 199334656 327543457 683119759 645747511 249673078 863751321 257234839 129546155 614696961 413111409 10026873 954557194 741977455 493694014 595770516 598993293 551049471 888111406 29867577 220909260 222871967 835532852 710186125 786872496 85446919 463738454 166616483 437610545 247540537 17163403 107420219 122502031 741020513 115575125 380324765 340403313 756163831 565430498 693197710 154897700 314447874 393828206 683112820 426363622 939046128 643281692 484697132 203669465 124991132 75186037 190676416 969995748 218697256 651009053 266297319 65419988 366131355 730873560 673754697 351540464 723698595 130327717 930119827 38709657 172549439 612646817 483631894 446601822 751407916 43566665 123772731 231182793 55935316 966433320 167083551 320190980 647059256 360381325 325092068 311689351 28251178 636931673 923070431 38095941 169146236 528421390 935676707 207185340 71936844 120450621 39526760 433702776 975251132 22663607 516996232 504966917 787635344 729806895 800274999 177057943 322596030 896223951 107264461 452465057 459015205 516054418 586143184 129709727 584661106 225047885 164002818 479920546 390428009 359343885 525165394 633925691 676338504 887068728 407674621 36986762 93967311 141943135 156674050 579009861 955366334 739264025 369003062 755085686 663307456 288198198 180993726 932273362 159900271 697782785 983707783 137550272 469379703 351817232 210923986 660684044 446885378 723337790 127535302 850065107 421203178 844395242 464995345 201284713 81343255 317202044 367970164 88343774 316823001 960462374 981925218 915149078 829370732 551651520 304058982 48034094 867316271 597228663 39796907 483652085 844962010 240932214 158926554 936660249 515793540 2122205 432391925 68749454 805306950 544461677 886029907 988595583 198085834 426508819 200130147 114007078 28158016 253960786 665142562 86845090 801233038 119885633 40407328 799893221 724444820 346047859 820269988 861940647 96258367 313266717 555119941 289183290 351930804 280595936 52871907 437533040 608428071 585057107 833639810 225311914 857666534 909104900 247196455 589403018 642034173 27661536 193446781 581847350 610449788 557895082 834021769 187128770 897368568 203789282 383455821 399934637 973197786 900863414 847110925 518432464 420228725 890942602 48393119 455227576 989633104 808924008 246976683 716763978 997292824 591105010 768693997 249075575 586583239 811340820 141188676 691621622 89922400 193762006 542991261 449444166 860637100 95725128 845003688 944795842 888043189 164106662 597719570 889008950 945704238 290066905 313919740 513082479 291271097 365427315 824953656 333288913 905159259 723791950 71800789 113461494 544947368 558372586 162814433 248954263 486168592 391863717 59967126 298702282 499452871 678051508 911292000 337738893 581707344 7092148 32639658 522171342 329864689 518171500 99522628 177708534 451097788 25811398 842276705 172269331 274324293 845755 455177827 127834383 191530126 259259370 491429771 576023401 74000632 191895712 579724328 333371750 331104702 997980395 315087502 614533231 83847350 318587831 194245092 361586470 96593512 356508370 367791901 702553979 787570281 643315263 95909126 525645893 696673096 747140436 68491063 365650186 115513952 576814846 862441330 727067180 877821227 898179901 574783652 185759072 686204978 249260572 679022517 899748695 570786123 162027775 723944037 165854347 590589608 153810429 810617096 871298520 259155900 254169007 622990330 546400576 621952814 285363138 99114648 307153074 746179959 115085615 711366098 390527656 111396319 4980670 305832554 932994386 208647148 220698555 648173213 996163663 182128300 636865623 276113800 646804934 621465714 39918357 973894462 453369035 229777015 866587765 78286702 20371879 193432814 621137852 488452480 820663328 545813651 453998477 391218289 31076319 453646042 273894876 105396142 486151026 984975039 964348939 883372097 972721817 678387069 331910246 287444248 955051781 837948770 305063433 89752448 543706352 296889327 29354858 581007208 235137481 402357180 37476027 311140492 882276197 99115038 158183879 900081996 116066577 54360408 974470188 295306003 3129732 902281592 905161944 456644473 67987871 974943520 583799440 206919091 347208952 294368978 147325240 765864948 405157110 640712898 637688083 24481935 4571013 861148856 82528629 717664119 138558011 183079121 245858797 895350760 217608227 669277115 624292523 99398083 954955791 577428071 355428964 555397991 643653645 242917411 126044271 899982747 602214009 273479225 457297877 1351901 15911888 135031675 423158073 241510808 797119882 653620897 256973023 130308839 987579093 558077525 329778398 924963767 480683315 214255625 443683943 155912282 794211180 520718561 466442846 403273063 426037702 747502411 393284453 681812643 70079265 237741847 823850145 936353507 693238189 194164444 260411235 640031021 838132891 568512622 50678499 870762498 526581602 171753967 399799096 784031539 728568114 311753126 542862441 704628824 227855506 866529564 40999101 1111178 997271854 853851610 306352280 839936451 34248344 507819882 454978263 733893991 126590291 165890610 308253570 464090035 195169252 365484825 928594355 429373382 936499392 117827840 202782624 942224372 57760591 77525105 168351857 49386221 670150307 904223627 341065627 681896350 5794857 171654739 279377494 194722305 105543699 624729726 475897625 158533133 928013238 853994630 152680335 79324153 630918271 61625355 117253921 861179582 263466356 611884634 218036589 186202916 898238321 604214447 533882493 868894867 199426850 240357113 385308389 144120016 580866694 761476985 483903802 497185622 734615696 947723249 721317826 351750875 673575766 722451369 207325326 3076296 205527432 410707017 207069899 375625646 218339801 145725765 678119489 603146045 992638102 643747669 444032937 340347893 516205557 143219641 585533704 238487203 474087810 255968242 853202372 936273098 220836033 339854591 241202760 58581627 69966597 45519211 825521062 85100318 465829398 841995070 374946803 610028859 238382049 951304997 585830198 526696192 602148033 3722280 699919966 826808339 851098415 143112496 762754905 839595453 16096048 284537760 471588425 667072140 607770402 189774932 9525697 628247525 787588974 4783718 270422637 28857191 312608058 272093530 708917502 182165147 9498390 692757746 714165074 920816825 561914502 265731661 866554218 253798724 828328618 105648396 121551274 863829318 871834820 874463897 184730316 886602534 703114887 801294759 165581903 787942990 422566703 786884129 93516582 773349432 402414503 725313923 830021314 675288195 208861275 542970341 307779701 133211803 319512519 844124546 589400155 878966044 52472379 893184966 209490398 259721980 121323392 408301433 337501234 49291121 314231239 530462799 592073794 624163457 438717101 201817450 933066123 334787207 270654357 395052061 485910542 652493285 693955706 449863523 22853171 900063716 443850272 260701447 382131442 803629947 67339652 14334264 294139713 877815765 470658830 67391242 522321977 178316301 897330400 983215823 483906201 324077026 300996003 639534061 894713255 529688263 869573850 6426742 28538727 487351422 514179333 497003560 3753685 870212434 646979225 613637073 929140089 174462042 253932132 842373446 967556099 677445427 207341245 765284697 756816231 368381929 439597116 435121751 74570920 214492937 832793946 394993276 276680498 28195061 12990141 435744266 779144824 228489725 734607010 226594779 349266035 620012458 596660849 553326143 201490022 563324832 812078019 845985980 698502768 693642231 86022172 106678598 104509387 775080279 502195059 138638609 401375775 78163077 889865317 24205481 453554420 102232150 105852642 147369164 618336846 349369848 897721066 837800940 146131313 868997781 992048018 572572546 52885990 175603642 732846675 573116311 724293521 325273585 681527638 335606466 714734710 476860478 840936429 61012934 312428809 991552114 851552874 516829643 492216018 988205832 947746039 133362476 803421516 881402890 681901789 576433769 44441985 343709707 513858724 90577179 723639335 719923773 72417324 339555945 101378070 28077639 189892431 21507112 304311749 527861257 527368975 310775426 920389140 211456610 366018253 916886524 922768531 376236539 490279918 268326720 381077049 42107248 659947876 807710835 21899694 167775729 211881788 462408015 896288155 596198578 120097004 2758342 818974744 251383738 725684466 183205611 241485500 179442727 754723383 151722445 767738536 838951320 484727592 531222022 281280065 332447745 613614372 250615155 759076982 354371650 216757107 828449055 488311142 628456049 245940796 3192347 777411875 967688513 759457267 139997290 950454398 932803478 179752758 530454045 796542014 576804446 959362374 370525465 891858292 258152634 729175788 884098552 699619138 751440756 420613141 733604508 825269033 247361425 496272628 218779589 130809055 828060687 289513199 749431009 429274751 163862217 509827823 661915528 677911827 611870438 152199034 68733521 263457540 410522125 369967099 562521366 985129511 507548887 805057680 787655685 533156189 215494101 748752558 732811553 399937786 259113098 813255437 254369793 78761316 153108823 270243380 260087338 337003654 190007018 631378514 937114659 107165220 586600761 539356619 435162415 709542962 618399992 460431418 910610302 481109277 17708799 10142805 11862278 415716709 93131105 723110673 112378308 763646568 440881713 828768304 367215538 854528184 314727111 67533870 767858078 570083453 218777152 176203562 811297098 825898562 12094824 169608418 557620378 454097672 411836107 736146683 270407272 894602445 582702272 196479352 562837320 57409178 782389210 724045440 686132300 380620782 582749474 751811437 212024340 371788669 309158790 550015164 577107945 962881695 296187395 39863537 514688463 992632514 123943888 969530396 699993569 586182845 655508664 280979251 731468228 862126485 93462739 208471404 739189894 230188548 976026180 823876456 155042410 598981627 563009591 497982073 276966690 980749180 695563721 491322355 260224229 955145933 153498836 35592902 214759318 90299316 206460118 595721623 807396088 616920482 307703732 336998478 139779397 772953045 417529284 976970125 155625848 335168632 350106626 114327243 751884239 363434202 204623180 254438490 776909520 494704290 581093193 447921722 844334169 523879087 817903452 880171006 400698127 626762008 352936324 898017264 747735743 719567598 675054587 605102057 715718415 428350403 217871813 210548384 266158054 897441379 605701151 386500593 162964579 90240557 109749067 616419380 814002527 598382374 473054395 501338309 106354697 58498750 782643503 994995662 657164039 388720214 798957140 96117433 321965023 81405278 134587855 957815569 440100283 8018094 895101125 925125777 56258232 144426064 435749405 499388439 871988108 104067535 805067763 819246053 997949672 451762154 755864963 190407609 184954882 122343684 529823938 296584873 493319844 697923475 541532694 683910824 624799323 267573836 469254514 521586900 228601724 301167172 356039686 643238971 6361888 692754351 580466843 439296489 817706488 566072358 719235849 715590169 574827048 20552866 700059973 839272558 547198292 756433752 657509814 198684173 651015707 813426643 185856579 747437405 31698376 327000690 561816619 104152465 562169049 493181154 688127566 38786919 72385864 191571720 641592487 104139871 810139135 252038764 85405581 532484931 110760481 403269436 834080380 819312185 314274425 863085945 462399386 801028736 424445566 787417860 522304360 61699955 255564133 32780761 727044012 729105374 270210826 861312039 125798545 761311436 160819619 205250133 516047216 199250138 998036344 809438170 262519218 948825211 919245864 381467190 55023681 321908451 621922468 507491782 806531268 880329301 104140144 179356178 634573351 168718118 621712318 715747340 36102516 169464493 187392433 961737965 641659738 117747556 353720966 83154462 44009001 58292467 188719599 84936013 563607949 810614641 586720096 900513255 505084232 193183457 169077404 692488208 211670237 408111071 241189133 524110035 453511030 528063255 679531652 775203510 579666972 147121728 546480125 131924953 188295914 617515469 290301385 512627230 737153849 995934285 964575534 905355434 908762056 766499695 643917912 262643540 991134572 55962113 658692778 820319934 235172013 309651705 844874607 207407701 261000523 71073456 82401998 144234681 822941512 809027884 893042596 423376898 876347901 280926518 269788178 878683605 705353315 366693536 627462715 277152110 356664860 836106419 583696088 190350113 617160046 281189405 639479047 630203007 91481529 522902609 792596252 428433518 434465189 620858501 617630118 666626637 701019399 739727038 565987743 185754995 642346631 212254554 276672870 703959708 482153375 329590452 506306985 97352724 170721572 275372155 463992457 308869198 321998781 408202501 889898907 894906897 9221526 49071636 889425698 958529299 538007540 832170876 145496414 58555700 334798488 446994127 781265666 751150727 28069137 470473888 952657437 740093375 467676207 330282353 744650043 318226434 907951752 698722481 256774690 596635721 722949252 240640934 552147565 263748037 407070158 979563738 144972466 66196184 269347640 972291700 770993277 301133395 667352630 767540605 44514099 968392567 124565880 321961577 996427644 851576722 796185417 445177408 16308673 370392599 300673165 684317315 107653919 976265960 507461254 939091974 980492665 215217618 838703887 277114748 412644576 995137772 865186006 550282097 866856832 830582224 567065460 651780838 195855004 16656041 896981132 75369036 903199937 216750666 153657554 26873712 96027406 649881974 355796978 473468677 962239072 353891181 648631189 152753764 571460482 707968761 44441489 757960069 250331709 964018701 471918806 435496737 334164629 229032969 707340650 381117332 687957349 35860877 813019188 522144036 921484142 268798258 876431456 594725362 481118748 548114567 935548123 638810864 855318331 492319784 699311333 313812684 98832690 190523245 22549584 434978611 571611485 733838438 790095236 580867777 988480157 248809444 389166792 782017182 425595738 158100306 392453584 989247830 566026171 544647352 52907037 312523317 117990626 633030710 672434612 435384814 668837716 389695009 736383238 251486003 48137198 912768115 70985905 335557237 328676976 838587865 189817676 219189340 292648068 714160739 468074727 134044821 495211751 319781015 462956333 739967198 209845849 11271691 390840782 951607288 129771056 296571672 936989515 720285688 352211966 482999652 456752853 586235608 688650974 949463753 602767595 100328383 333797312 831331152 986139464 189763368 94066205 117139899 82949043 554730392 146225853 862187688 400615959 316930123 24580994 402939870 473691646 423820521 889372724 749072678 139870362 78001771 549609587 975234999 493636042 23352071 277385459 193564538 514965712 827653919 233915287 565836918 259429938 2884467 378517191 369456392 67700079 532933243 264623058 211357047 829353726 216112070 56092363 923086110 241294482 616714855 541290746 917573170 150842031 486068368 714347405 395245422 838217501 232294616 455300695 120052475 847688702 256670891 708841593 629787967 281526913 4151385 158392360 475796909 884684756 111798432 92776478 332913633 629518406 475407442 92542812 278306406 265894642 960049611 221057897 265552468 924013044 891974902 304253830 138246056 13109140 900819805 668866255 823569712 799665596 262814476 409317482 513060250 287232687 177518552 591688166 83855444 862612984 992057853 39370482 622793863 811681797 512529150 118055728 608826080 174241674 547362229 926520306 164706807 181781701 11037916 380256814 515857150 360556508 940195080 962528452 737140972 314863243 390920271 448501937 426773939 822025328 430820865 583943003 763991917 358682978 677567150 892280986 306079333 238895021 377477825 478346157 692571609 172329098 40841099 175713123 913138664 819417035 334315125 167980628 265781291 882460464 112848686 807954795 14374323 944078979 54040472 530337593 539033364 417807343 325110573 952868248 527771686 247377398 998630237 289702926 224252701 275102953 632398732 772889877 725491089 163857665 812599844 640346736 298906073 570640034 419209408 543123539 206102526 311219441 165351912 202635961 651483665 216336423 525999278 894137271 228500021 613335211 848263242 24352794 5865093 181680675 371539518 26279426 234188707 996831200 215669962 555084124 593785316 772062187 350376622 628772769 138013510 856591094 898178790 791073811 275678904 242474335 359408402 663441866 449853673 849010048 473059420 87816011 8851295 861566901 889177125 556632661 255133159 848180108 385017920 815728940 857936593 541615623 800104755 244177316 153444644 221888071 800438917 582479020 304892853 127523661 430260200 624906022 159192394 939691834 560851319 615053784 442255041 249400744 201268530 480495289 834250660 735843814 911231949 838475154 416975434 664883982 981517769 672253328 4941094 326806990 698708871 379495857 578968970 993058058 606110157 509301373 144333619 888673701 825975429 30446129 379802244 142586009 671794436 811360550 954665689 141834012 126966804 694175951 88835613 429319507 211955588 725077948 824529283 206767116 479826211 129095202 979531800 950513278 778358029 145471747 505152514 107085637 946451775 667010760 287037301 524871073 656942178 437290630 913673422 24382612 293693051 490568270 977733 982162464 644396423 108706480 620269608 555452898 478429139 78018576 389476648 280620986 664284294 919018681 516012706 410572495 103593605 125395147 853158247 14603756 688506775 297232453 826059435 992461486 68985332 854489494 531270308 895665228 275527447 534907850 341104050 306507809 75953949 233821877 456343600 87258328 290391314 815030950 2091847 130678720 292554647 822416132 95089581 875076485 260835252 358422838 694714121 686509760 564294863 737968849 818001859 205017834 542480180 812467250 147132280 266038314 645158643 143698463 325010035 558628037 851159794 126579627 65385153 855893577 179279724 70772258 611613 392433567 633455065 485028555 290685661 288789014 586296994 334410555 693763186 354580910 13641599 17631679 313543099 488077847 794155664 144330596 654697477 43368367 16591388 734995480 838840653 451957147 915556132 915059133 138654972 387636286 837343245 810161818 932413233 109897939 177290514 522063076 649547431 924582971 83224302 429680042 213384464 497637799 409406066 742306771 245155800 146105845 20912131 988752063 589922955 785156438 721989124 101825240 581188783 154286044 829945150 424646900 795754295 866552146 492834855 523420464 661999184 485168871 208487242 277586926 492957920 831726665 727152148 165958919 646263619 679244224 791132907 53265874 723097173 524959405 267157097 486889076 602047252 664786904 262348023 421534519 477370841 105554079 529483239 870080067 181507962 329185254 3923338 400583868 709930039 71743124 255471526 469902427 137784880 45207960 822094564 272339887 280578663 80536784 231884930 126991041 386077164 600214794 790796882 624696505 237736446 759691161 801183991 405645434 115930285 771022124 403190351 411729098 24587961 498098827 534631393 678847657 59496656 128526536 347679664 482968758 505981261 603637416 627109486 29785619 4487347 621870136 909931783 514372588 780516386 146239598 147522639 654695555 538522041 932130459 569325479 709538460 48356098 555986546 696987888 104115448 727612357 65305571 250471945 170972062 719782783 430925202 755538822 269336009 713534508 143295598 129899817 373514663 206320567 116546103 623412026 861432395 103033533 94102245 24249945 612437408 724878058 105062620 843762355 191875994 213405030 157861777 457851466 520955415 772600290 255914317 239090617 176604017 731379325 845831967 797159635 165894782 786756990 60126775 568295408 784642534 41119003 156378291 72976902 144658129 624490294 537969922 219631989 95822655 514293868 154240619 963391766 281577831 576733183 80649417 190354168 700153587 83738439 201809165 485513008 227405274 567749149 274193359 419126237 631921441 380144570 196558459 794728822 861547046 755588439 724667889 592324143 247899763 608093795 98387405 371743664 832459170 644039652 683443807 871831682 162250293 139835576 753061957 565052287 765569672 527779265 177975800 782610573 549763260 680236001 955276578 604152172 428258431 488133685 516548065 677423242 272520540 588710096 356121008 317354843 7090688 402049842 619581825 271310458 80580267 176155770 370562855 782451296 118229250 38365894 906002699 109450719 663140143 511689060 302200792 407081026 609826840 129539931 916510238 592900771 128286701 788975460 20918949 345610223 670899404 122991708 804727455 121962993 974612027 104128981 31045499 565039375 189882531 311824003 160535050 731068746 681190935 780611262 959691119 685273896 840436071 284441064 936168647 696829846 236503046 814156391 3601924 972938771 73091006 606298944 785866735 112999103 45287387 254609714 203844062 165315578 828401322 101048967 993729325 448287748 342409288 456525314 949082653 395059778 762584078 386513799 379909513 90898572 105144283 703747893 981634258 851695609 756138484 192833251 266896744 17774120 531989652 923670122 139834445 151793914 1298173 59261538 424692015 445406940 198770905 277239653 893430596 785865378 395424189 504224126 102467217 354829608 773671794 265905050 528854744 835788269 44109579 294160923 69258331 972998434 494600442 933785827 37230065 861204509 82732200 669686259 176799977 584790593 137374774 607789922 487114217 532718243 829816684 587139781 63036125 38938839 954927043 913829673 413106346 437004992 230081116 815504319 12919664 299619345 388271469 159105828 637863481 30217210 557176734 152054176 187553428 588136019 549233711 238790238 460105010 61124485 434839087 355693717 635165649 601668886 993150960 926056372 837806516 507635855 539742130 252939529 860253976 18460561 380824587 945493584 797263773 167136074 175992271 54430024 993930966 479910052 22049134 404702429 554828794 395118689 121335107 995088119 300434913 860240471 3820054 656145918 461774228 383253865 26214652 641177964 779192180 788245531 366231598 939711044 19975252 665078747 230551928 682605109 802231803 513425419 879850584 500253014 392815358 734538311 46119430 984827741 573190199 14894782 810865114 575067241 415453101 667363227 394813268 638842503 9785052 974694082 585530529 1443531 490138798 383140181 619247514 313970217 812768978 62284088 474238776 580186508 460506210 637009489 349536555 967355155 441094305 208455647 963843979 657230917 163950913 504595147 595464149 369614997 40331916 348147158 714407427 370775261 905943941 580780110 6804348 107135018 158998666 552736280 20839922 168748139 499066852 122244042 771022680 844340765 985758451 58807032 595401693 515112971 19722511 232634723 53880370 415666493 255030345 658165549 680504910 938479853 962100663 809356821 751838085 646811564 529707654 935123701 201115610 253109208 340861501 476982510 793514772 790242812 748132783 942566002 402127969 719694103 966076127 435616861 881929871 113914047 493043298 983170417 595419303 608624736 97784359 84474468 444625144 490908397 365724185 367428701 964102535 830803682 704613779 155344594 5917635 70393093 288964648 183882145 500489204 862079128 240910853 673961957 123971978 546034838 863696730 558200614 587191842 512658883 365670579 908834149 886602912 823505228 764652567 618665506 590553063 442264345 34363408 225634447 163664369 631732337 192613323 625949010 499622354 801924508 536741016 990983016 734644005 60558499 206617338 541530068 526312147 103697690 29017258 628902837 280091527 466914418 213749140 352045151 498451463 244408842 392976895 762291866 586729903 614076158 619130897 432106068 371842469 552397943 26525008 69309456 742345022 686619017 884890886 173257310 2485116 161139866 797410554 766033926 521811924 679761130 119463904 413274487 13059643 566746825 741675883 615837330 981509238 175296788 485222258 152750434 988207167 535559741 342917972 886358420 633514148 300081667 651237032 80977273 987399676 755044104 803249847 728810308 485856867 645424303 862489713 534408253 815558622 127879131 993725516 468623613 980437176 974071519 185407461 638922061 900354073 149369516 7972161 292277708 252528179 95539993 321935407 942586483 861614936 544298172 847322749 306220511 613451767 664041638 771489964 127154439 55279779 542280384 117186137 701306137 281822600 958946052 79157924 780212669 47310142 152494673 901256364 945155014 224131244 665198307 753110910 19494548 779012095 563736306 17670958 308027733 191328668 792064086 418208420 202199267 356922069 976847068 294416243 961577402 598475574 752633309 317697981 694738836 895980146 207215433 168829621 142020142 338219589 510168693 66968661 303916435 43983526 324356848 119740244 816360388 713382805 563765980 695130575 857541791 418099229 706185144 468900466 169707721 124647045 658562175 623361375 571100361 933449605 791160439 160250492 9310908 120336574 703738289 573443566 822923021 746108637 28054692 175254735 236100881 920950842 230750188 667021589 907277912 39818977 295143286 682077887 122538137 134892961 501960053 304234504 181805855 56975761 472848164 626293856 884470906 867083478 992871696 374737973 327013614 890348648 631347255 475057109 682808932 144713044 619913250 10294386 106770808 826311633 732841068 451451070 414906474 855974640 954374195 319103013 612249195 819756207 566214146 393506773 483989080 390374584 274296175 393318176 657070472 568687400 51486808 91596311 901076497 346037789 472924801 95992642 199289367 437104920 534261577 779903903 939267286 146790465 50382946 312547763 466530120 519711854 221089585 373926449 869413344 950886451 401730137 164020644 381931364 234172559 437374083 371141733 980070890 643657712 514325771 801333009 390109806 769791202 804846590 819510132 232445057 540173064 172555594 275446577 762696566 104197992 132462271 121507107 575077039 156219697 299159592 597255317 997365786 41577714 976491501 37441024 662250787 786261403 32174714 33824828 526619902 2837948 964015066 100201614 945745965 440072131 957021828 779504985 625349245 406234251 65600574 439499405 301374265 77655881 955085246 783113352 110452983 626029274 206941436 424503504 302981561 427524217 474341580 609753668 100959397 46155897 71058133 838069387 991502402 506965664 447514201 925641554 414471592 399681331 823372134 920948767 799912834 620512526 209013723 993647523 851451619 887684877 951318999 815059598 191195373 183551946 441445574 80486629 241517297 878469301 351283079 927400887 204083854 245952058 922357363 32348462 744611883 141301167 872153030 187946408 147559135 231536623 815939587 829480561 899228241 215833473 356698994 655877031 258586000 774263483 492690453 787515327 294548614 215105226 522636393 518694343 666805034 345474820 234555846 183767477 907313700 732906689 166588635 932138871 207005006 234420309 954095863 591614574 331363605 158284220 929029390 903807601 843358176 420116692 422756712 513826063 418067718 453625217 284528734 734532787 418444383 655526477 329752398 331933132 425989141 360838687 389625293 772021093 196863429 578567929 981985447 164561608 683106340 89790593 810122439 175525973 87215492 407853923 271287109 173559883 66216422 355153913 828058247 70516291 369779440 215642830 317570269 917211967 484795731 264490264 757258483 475267945 211454327 889761194 415149475 637018046 317616347 134183430 183809991 790297129 373830225 465480061 584731282 55275782 753692289 308333626 206917653 619615884 546403671 586718723 227708987 270965950 479158205 273327957 358038839 979868217 147570224 466733509 745083018 610050364 567561889 530715648 463544267 206258067 337936487 595240663 618474933 354295489 285275191 418575699 689970924 821245574 272650192 479392741 30583684 878460903 24345879 192745185 575667701 123561873 547261497 166979639 600504099 871256271 209585184 436219977 706504466 775591661 480854682 940872994 955100620 125753034 399764288 206755423 461589164 238572930 507637562 98761619 653706476 776237055 194188208 389398977 246744638 627698197 105444307 237556673 400942239 506323368 351421376 304923099 944223830 731630126 131638414 869476222 840333507 835426237 290342040 372445904 132580821 324057841 303361418 930492609 337131362 161118160 522667355 801311561 670188817 163922776 254709916 720402536 705518525 131503825 182894088 87856011 437575154 88522378 270872836 441285622 601776739 141681698 105047388 283939583 704206584 621099729 331423257 968575889 207601740 966383630 919384706 212960411 288397825 250512152 300314219 508350126 236240388 443467712 698363554 630093331 839305045 398653384 246755535 783136336 316299335 530943351 660271615 63251536 68153240 137770702 436087143 921192450 364453371 631392749 365921206 179984156 854765930 674528243 907520641 116387386 18679229 666816721 337408501 33058798 154150412 106508699 506301432 703865954 38982935 123011899 984063180 282698810 38837811 349779613 910468841 673646566 312315278 828738217 250374522 499681311 360172137 588276414 449583469 513562801 208108377 96619848 462568722 716842075 357558290 110630577 807661703 861283775 237291956 637304873 457723522 552015162 884557558 279145102 169126718 196128910 772151477 53685073 431183134 732096520 63260481 928231503 4664030 965463757 364196238 817722453 263422666 7055255 321159906 829823294 78976190 109749722 351271885 28243439 237739346 885904240 935049310 244523993 5113122 206190776 737815978 839503033 300328029 913661710 70528989 354066363 703377386 35960239 73088661 219744706 108649848 952937976 607813609 576477674 891735516 231743441 118101150 534621754 47876099 606485793 771361543 305104845 143657950 692246463 57794463 671942878 786799757 553099768 511632952 365875730 779595837 527774548 209750720 796347221 151853418 838614239 732151877 722858188 962091950 162265461 534140932 45127059 566229429 415321076 202049242 164370423 926372764 207952986 742742590 217940076 397695554 282074348 322074068 349781369 404754868 674858314 515567369 875364026 570580889 172343143 922641614 111182745 144077090 205866098 243915029 291322228 785369173 419567590 487637723 291897383 268406565 548629368 14941103 681896168 764304719 348403121 852988642 458263027 86762664 110742017 908207063 76488838 201513502 172018984 550971398 518765599 617795662 208628017 118128465 656926228 579093286 46092247 35189912 235984424 679046639 582277677 462995568 218461587 356750273 387862558 710721702 982103836 30965440 970000509 963167380 835216043 764020997 128261144 931520601 580425348 353148714 302439356 555511101 372861825 708809647 774760095 425615760 235717267 294283260 79478929 423233163 234638803 202963954 599226701 374517102 948796198 207953248 639222713 279387706 494728525 852156835 570094193 599027866 479611510 788453870 294647868 837206842 280933347 760692226 312138589 933361295 997689429 539769256 981967701 906994151 567214284 294668764 784659136 964584372 811141875 42987857 558035570 444757594 777189097 494665216 966760237 622411105 594702700 760406035 100885153 865307810 377669596 785050395 20144341 256578870 840298021 354728044 830626129 656801086 132444862 407444621 176771818 126378537 172985932 512927241 205334785 801964255 676172016 836356357 26538139 101113833 928402734 269961731 441783934 541771314 924313184 97363262 886574869 601026685 996593538 192513049 27065421 114644449 885304600 740393038 835525925 765287110 317350697 34676667 424103064 792221854 21903023 306106461 533955614 208442631 98738463 542483063 981801669 331843613 147321556 115259340 278168677 145041218 193909412 215959976 251859397 186626217 609231727 263234203 383550623 225874753 329622210 465932124 587305089 46821497 610688695 437524338 528659372 328201209 436277821 219319302 440092868 108035224 833404250 861515689 141735375 575396028 163484232 650252616 625868454 719355636 397214281 571004261 206083064 24023752 578307984 919997006 895076306 231027116 89370141 242588993 345740199 408647192 483532704 245875088 168835556 377139662 235563032 672865693 242443374 359577029 112139920 49721811 73886772 653633179 407317647 651691848 91121442 369814955 547870601 14637264 592847674 199575214 683845106 825815670 619613915 344071884 336342040 159788647 190659997 555707504 395483589 819866588 883589558 574710217 296808560 729598421 253585360 435198994 20108118 971318061 12401298 59960447 114729125 192328009 849693027 626526365 350321400 340990954 430572570 586769813 61925226 1705604 27746989 52499951 755067202 133013405 466139930 284037594 886051105 505341396 422160128 358257346 53278883 586980768 584479552 278502812 54371342 759328480 725365870 681988192 227423733 130964159 583053207 182338673 56284532 703064712 628409634 152953346 209728922 250261099 883919155 783989314 712770176 558022288 251998853 317444892 300451146 855898406 598811946 507492102 567351182 109648886 193466081 987963936 543105043 709137225 425518516 288382891 924335186 448372340 15842554 764083080 391648431 269693709 207362145 315072260 286731358 226250645 890968122 690604006 953894370 244905796 81162020 180774643 969104344 443074672 919169852 26472011 529367310 90342808 400633451 803456748 355346303 102282746 844279118 246771077 47859106 532567976 524973142 749971802 561265911 431454865 731942360 696329443 881870565 371796987 355699395 113400014 541882753 39528686 99510122 414366460 573608286 422368656 330008702 771275324 263555000 775859838 321188718 621011466 658433711 242496083 22694476 301423762 617281930 861868798 627288250 900668763 413802583 423192041 576601470 783036171 867716321 781947192 707908426 464934457 317569203 711590920 811849825 154221567 961697120 403418670 11195748 715857976 696740989 139362243 876084828 19249690 61866073 956062429 135279580 892210682 957959115 935594496 608825931 132205991 226470095 362466912 665768489 211038907 66842670 568794687 344360806 413712701 800878256 441179297 660366789 592281901 412350568 429065295 504738248 141893647 327493443 113156735 195676708 207690966 124067908 654740591 58465778 532273706 655812969 192646978 471484478 163861653 744778759 391100067 715283343 848455683 487131469 16572540 215906486 114525020 815680052 430714334 962712802 934539160 471943431 106168751 698254758 293089191 724057310 668513546 277032379 152004362 836841788 291236525 579895354 308762559 918215258 935431873 852063266 272871747 193065466 600990518 352985989 89113235 700735 112193557 364771082 18779700 490312150 51877594 446924781 138999470 581285596 623944469 734854260 720578219 337975188 472973473 141807965 882118425 615508190 537817602 148216240 864813857 304596981 534889536 993542149 639969866 633802412 684803685 589490647 545766583 207102021 89839378 232505299 813048883 78647990 212270441 216370974 20880025 60975528 477435432 618784781 386288184 732855166 458800393 887941157 47239708 630212302 998947506 296725277 86597809 983233598 996793321 145556501 76386182 917964141 602527634 269589293 528976653 996940022 204346107 100015359 455952453 943731011 377112522 80132306 245059067 911210591 223584561 763215291 514455475 193438336 301777286 18421538 173734558 33079771 91038404 762532046 623695086 903074346 595419928 100652969 418699812 686624430 187452933 174049683 340148194 193817176 198878914 34295797 187502813 439528518 438020054 224412649 732321134 28502317 281265592 665462232 583990103 597509238 100484688 832002392 895461446 500161921 668427134 974404895 175861814 524796814 683912454 123822444 379064694 144059990 521659773 3584519 811055308 776532232 731719171 384725599 248396492 319955554 9419606 811811886 920213657 530659067 480516549 541605300 915591612 165357990 899173940 200566387 707075295 618199219 992103771 500194943 979085108 66555480 347157850 460155659 349542975 211830494 762783992 683381333 695181539 494929945 124307554 38190245 879953129 53923084 645936577 381176464 168410244 806936991 618934344 412149444 549144781 571534916 322018563 718425759 106887741 477178313 343595247 275114563 708614540 280148414 572439242 437819778 82401063 127642175 86385342 819954647 762773604 900127605 500662390 611640739 98999686 917546823 303406579 787145458 37978685 434998213 277983473 861041056 388703337 332630289 290356297 725068539 619239270 936913212 61961380 521366934 583933836 953307138 257951545 905090784 803409771 290926253 505741983 611753967 471054369 729585644 102016269 255123297 909727418 317238300 189475746 238139708 563315311 416126647 367539712 73551273 744996839 27353843 14776050 224910613 258301297 193937105 594143074 376101235 756355560 911690019 518167514 401404346 196034463 127641877 111261722 223155422 654323638 549910448 363757960 634690854 552618022 875082398 58622109 346930625 33079337 352414272 579538116 988172241 55839352 239761439 423420800 164943177 260534555 388987063 627099732 258441868 424594181 367738254 131925492 856730698 332318218 282984046 888084261 150269497 206489809 876001612 677039903 541247327 171934565 389854516 122918408 5900647 710004060 888156026 479392528 435516679 271159766 658399803 199100856 489945898 499086631 280231608 421090466 232230028 141305877 151677199 342793050 768941597 524479713 272450805 653454348 187138364 2426852 9457114 211047556 191941267 863887412 470797460 191180449 96598919 68957763 784184895 649032667 3166759 455336068 530274903 812246812 463324729 142359564 285459097 751463923 256965341 171777749 792279924 72171823 35801793 874268418 815762115 393475837 280011261 216094858 223036521 17795433 72252218 89981567 47068280 203368617 380891168 647134972 692170854 325502324 221933631 567439743 207062441 739448166 818200965 132705852 854330090 89343288 994506734 722300411 456571087 364680605 607406575 523566307 655124517 991437255 63245109 268669684 899974472 938418358 595592904 877591003 957819616 715363090 246123436 957039596 410125794 75936660 501865684 241902677 473571535 143936398 960762533 378086564 646190218 604911157 969755617 69398100 276894123 92618183 373584637 459842307 602071463 372590067 688553459 186133290 278283635 96272581 474832387 675332452 112073160 438269168 662327378 626334567 53744475 273904598 604286053 974299458 523605967 755662957 498833409 194491318 565876001 619940922 263216174 6082172 983473472 316055781 105162686 793389965 697523210 937723391 456815823 189106409 564795883 804103236 129448073 167077265 838366235 863338624 274390543 1710861 78002729 353320030 780343329 571111897 638579610 967446834 180054690 91379935 546206897 526717090 180348081 201373800 355660809 987739651 675371481 822914223 283661769 444203342 299065846 710227410 166425456 29668101 237299867 238660017 361458272 77345958 688993507 664047970 165021279 421555877 541761031 634235141 238255096 98326443 117131044 375518983 822277517 291503720 772124343 544123837 272033234 793556286 575830906 325528347 880287875 758206998 710787086 548550141 899701281 861294893 551267804 235350820 78711559 41218208 277713219 598617994 710416009 12890262 979417907 439341572 365777236 887869255 18564243 268294882 258881196 334146150 858551389 606341764 470623952 75125222 320449859 920084545 41458171 193102925 819053620 357772259 718626604 855807778 11065838 433853724 597610516 786731518 295988514 289569696 178174663 897648590 238667936 861428725 615942281 218415932 752629945 51987271 754072828 636688878 319592889 54211445 666334768 462939420 88523685 371375574 371417255 461724365 149144294 432005346 550834506 366792154 456525328 339666470 440949454 654417510 52762531 824157383 57067481 92712184 15316221 403039156 312512659 267682130 693969333 942766158 768481538 519519587 834189519 674054626 709824069 614780815 497079682 921242851 126832739 89975274 985641463 456732512 40527586 520591436 107242685 359805020 768471358 230438273 185650123 382963188 439732711 90598168 477870181 178298574 641025760 896003236 352514654 564817100 427397045 931011942 328024287 612305779 60395301 33182368 68853922 248230058 122928948 429856587 111900804 724805454 264786891 406025065 590076056 110676840 545604618 907006828 306540327 491757445 212261078 212126969 957247730 294881688 738445658 849650297 13981918 18968251 87777112 984401320 3170595 741014053 668134829 911908323 554309098 347653806 276218240 310002488 976437178 972625503 395147377 109816823 527561000 447329393 821541742 318508328 811836441 125424669 480045263 15366083 217290838 373273628 265176867 124751272 423313569 9171358 178426938 381429470 244557306 743426556 115500116 70282071 656048988 319953879 231971243 438761930 665302091 937629405 108171833 277389033 939355831 212883653 98757352 869561107 903817839 754985922 72182714 203815081 101270120 813506817 489136682 969389909 966665206 117374265 100908405 157623520 684320680 55829435 953881464 753976055 539810535 701351217 983070048 199945994 898937672 109433886 624265966 837736265 770830428 906380837 614670938 460551070 128723970 502328897 796000755 891051479 333185752 837985335 922255110 954579186 529606789 380092357 116827947 959902248 550900057 932051798 471712995 92004735 484729758 207756704 195085176 707096566 889655134 131391658 620465734 621534122 951225271 13705915 217984618 717495420 895109956 279003903 503294625 171988339 776450847 134273361 242668923 613043114 863114754 57266402 620438321 247412767 962124894 610139967 186344633 404833878 127177651 97614220 36691709 322886707 856187563 116737617 516510092 57243257 133356088 845796508 764934008 424337547 932332158 147978368 7036378 857293124 18936598 15866469 463860954 689038839 813457360 487840513 664194229 954691841 2910724 214347353 899557372 599066264 43676403 130462637 395201565 393024668 253755685 334661657 95713146 218265754 393149151 165525631 131662288 587009579 194077438 864463247 106537111 815926079 852418913 478695935 561122878 76195247 945274344 429357013 189873132 522936373 561933926 903655214 340502223 6622837 118457979 57696948 163274415 707882144 84016565 245113930 388665835 256061944 921960856 449649002 765845264 836355810 992759078 418286199 208753598 351913008 565255823 732886083 322717950 568444666 816000972 807598185 357422558 911314084 427475576 389171512 809174941 45073086 348382069 982581064 71825327 954683868 77567262 569599456 929344326 770282577 743427953 430379813 593994278 507635954 214403705 657223762 522270441 880459006 497787255 336656730 823577348 933388144 975729244 879309926 460487409 952775641 489919500 813072679 117800955 88768537 706471860 842607206 687823223 12420941 721799069 892363718 589751102 114600961 86642219 267414745 705594998 309214019 700501998 251083962 11546694 2778601 757494154 739148102 803867448 45610411 229244752 764181528 851444594 320976216 212937117 627543327 778709660 233889703 200799233 745751872 777693922 759181484 114722958 895627425 227735847 836706972 960807135 361830930 123899827 944405630 169298739 632077695 563492274 118136670 220696646 761059769 875565425 607790300 289788930 645900704 966786096 176717237 202813960 196054548 635347134 666780028 449118179 648485505 241857948 895084870 953035022 477945382 490186508 277482386 54759708 228120793 891719233 417609815 308637204 845241231 686844347 253597097 497200030 40599992 252463153 505230179 991414955 961328738 711205870 123531261 946042256 28545582 760868785 426594343 870907798 711574076 82867530 126780049 377082281 580938266 100422608 88033212 617200671 659002817 6041810 696791405 457096137 616019998 118913759 344581081 398136499 285541266 31147433 445556000 768645961 845761188 367524833 23614573 45659051 196289274 193825229 753822014 86076806 288484377 823395247 646205018 556740906 303762294 954402509 14583723 340921094 22425837 359748282 601783185 602740926 822297756 326280591 713035695 649941635 141647337 379697323 491530694 656674684 642495720 884891388 150037366 250512060 803514444 331052855 537801259 146801890 541075219 437408131 963704787 994829052 784827310 96828116 972920422 899749191 622465755 997778175 966195936 494627660 743191994 50796029 147901747 384604667 530487704 696068774 40810745 802358707 177302501 309851628 637063869 47798389 164342371 533037823 124512103 794235836 46171934 582823115 944791120 310125686 269198434 702699670 561289510 219926723 857423052 513938151 129387001 344795043 427992820 287344097 879307681 700375794 229733117 119288055 81260867 399466568 406492243 146601838 377550365 641861595 459378984 633855845 756711667 536880227 851043227 496026914 632902171 773263965 383867638 934414798 573800349 532639923 231029543 540128735 956826008 300837400 344653008 130596562 42492186 897857279 847719232 428016480 128443361 842813419 613645557 837426815 383666268 587752111 195919509 697212488 910790434 168308084 864128435 375135200 82226513 70934863 670145983 648108664 828406049 8535148 429584010 804800604 770767167 244153953 440456491 56215524 357312426 905879538 145391161 794242404 461746319 848213915 298303489 241585113 161720804 746090287 453753534 828736281 402386465 879698661 62225440 716890811 34379137 968186561 720217210 449713249 414810400 326718105 226607 134668177 462125442 471022889 301958530 4338415 11464989 392745160 675949503 127017925 63510666 938336047 285834831 104551660 375867163 361348313 48172869 904779967 190518068 150403308 329822650 339042001 4768849 52314520 428509928 798338534 108212929 19980180 393333957 522674710 461241385 367155755 592455579 375442276 870479264 14624341 859935780 745404353 241183480 639589258 299555071 869020915 761799977 805385104 113676448 339688299 555953687 334744640 421089633 323929769 952544637 582023487 643093493 231629445 302522426 376227762 249111277 220341234 421047375 310241902 151793223 61195652 21134890 739354634 118712197 999390180 388701965 82338909 605003530 50401370 464264713 305221017 599805654 192186488 500139560 270724429 988339563 674381537 191242565 265586952 775149682 453997463 998688591 689838525 292684408 250396803 272389368 32585414 474911158 415837916 827437770 347658264 695236596 985009186 331023804 93718786 19400168 709893574 510859869 977429677 561125132 925148562 170764654 597787943 805702207 62366810 205696008 422818406 95455477 960439899 403842686 969514492 5710790 113516106 476545547 437510643 589870787 5356784 676976957 931787249 314800196 510572136 592283928 782294145 523661665 673552809 312834891 686250809 615907191 884417689 971552388 327024430 635537192 891434217 132602365 209996001 716570116 824057548 411004173 891316855 583981685 875828191 926204824 27027336 177474551 600346910 377445046 753779448 537101496 471893587 818090044 470473169 77781773 198524344 873471493 395508467 634283158 975903834 804849975 359565160 316493347 877734111 611663850 229247716 588368276 154907877 447334435 569305512 103576810 497032489 106157090 32270650 33284167 424203563 248607722 436548645 449978969 931052116 626633389 806579393 309243057 817659580 11368229 199257252 444704559 700323060 853159419 568222161 972821980 603289785 548418783 603404309 170547109 380808019 616154192 389932116 707352080 821136860 810654662 257051296 135592872 515010084 64062880 533060845 667444910 143380288 957754920 634909861 721601746 395862658 372307187 268357640 760763406 394796874 579662788 869395672 303992791 190406237 131915234 888881036 521008919 348248111 739792230 303949802 943621824 282350425 609888292 961398265 671816885 848049753 578465526 417730200 220841146 220619541 324844434 283442119 231430361 684919149 880340518 520771543 859080845 271805669 411840426 195051350 454172861 957887254 507346626 965155909 169464144 100946700 136373663 285803337 849889862 308001398 377318819 854893925 773593833 18972657 954927426 396300555 231571724 550245916 185584754 314153289 473329322 697829677 115838344 540838973 986464558 776179881 759549542 305832579 697421692 315543920 849143289 783784359 570829572 595909406 644722526 120298503 969202512 291973346 574814120 774482454 325341260 16385103 314397898 352892254 77014929 11699962 970698272 479946450 873416319 316557833 985216927 739040954 236446614 407048262 334121725 142605646 699328446 624912544 208235728 212633382 950068127 733162941 714792280 270578081 624102995 853121220 877728567 189961796 373877155 902797377 242415138 981851784 329319474 802959402 940948548 254359342 887805799 291712747 306896543 826744934 980613752 623438108 813730900 597413319 379538133 538712793 88133509 953385413 750632538 752091978 319925222 56611599 656587097 557159403 200449528 345383025 196275633 694765688 496982892 939833843 884235243 39487274 360184997 419320588 815116401 342037402 682140350 121266046 233607212 283786261 790606541 968730439 496198821 156419542 248670457 211894338 183793926 197173542 391043958 568938842 714837968 694171003 858569510 112809915 612522329 228199176 483228993 344508937 527166897 767628383 945220881 548291842 20516406 637783965 285991967 37150858 665732429 18060783 997597224 608929730 476687939 96994856 693483900 325211949 30859085 598238575 387702450 830118163 411162006 147212594 8049686 98728785 901571673 910313468 836225521 80221660 378432054 708346954 672190567 488939567 664579715 870903220 968120944 927502887 158169801 605057460 145602878 484920690 758863675 821848771 918254564 548047938 159161455 53749310 70826617 535026462 72778688 220324368 828459830 685707978 487630291 764188192 681428771 806444287 709604677 878022786 328102696 669335994 11883546 10368236 128746909 121999106 598561148 723734098 546541176 561096556 963104045 928346642 988098305 482437440 362126384 240508696 228595840 511292216 852423236 9867536 232953541 912454035 116406755 344461773 736414748 221316742 534877059 381343152 835365369 173484644 44937364 694555598 494210 196774411 787292434 838163487 285824083 244733540 394043544 335229261 73584838 835959718 942699491 136884223 4314396 689820888 670126983 465519577 232724538 824475720 116580973 272746294 157418901 121051444 614879385 9021968 256586066 602074601 739175588 920772858 85286477 658084563 711476205 140942114 571007829 648227714 688943848 816586161 210804873 918786997 753603603 395193568 541951212 396395767 908777875 790184958 897019077 398180436 784120822 975859774 8358243 271343398 452807289 707912478 49070533 129464308 489016799 917227184 231676824 882440868 208142719 298061500 534078267 666334198 290356470 563633204 107561515 571144217 838570050 623378986 386620059 902265124 510404617 263916377 83695422 398210297 159220374 160635387 406784842 231414002 887502992 564726167 876357384 891282947 588153546 230400865 121111032 507592416 12528641 641659823 637813788 460035638 14142025 656127341 21657138 899226310 347783876 212356858 666912224 237995731 293235525 609862249 490706809 906384183 202031339 446281730 843187853 423538162 654262348 748697839 612313726 6997362 822691707 58107260 250840265 665183097 78186354 587535601 510170061 696828034 240681381 104344256 943369040 172384201 112941721 537742061 295081037 435327924 416179039 307396389 548934367 777322276 600208783 473396694 911404059 266567705 659816126 369806647 902441633 278055902 95509342 429487329 293045111 147222636 825481805 385826506 145714114 590144310 839331109 264210428 828507664 882835931 543555758 898417305 312290508 150161422 948021275 22261239 334457435 660369634 2529365 983243220 547392098 557517113 382682391 833040625 132847962 609064705 963279299 873722132 628132751 841660660 47296085 830906164 2278001 508713132 724656886 524311314 74437988 591265069 391849827 486790720 958566664 647677264 380284701 53787915 547062221 196848954 86883220 783161901 410347235 195702422 100959697 277761864 994640565 15220155 422907429 612634168 434643084 117465633 441405754 313772065 541372112 352837335 23260921 744168490 474293913 554940538 89533929 322328275 19541718 434860305 371633553 371562234 907834909 964819634 688150196 908862779 82978033 266329413 851347039 510603506 95834492 108210482 994577687 874235609 602172790 399630735 360077870 606898219 624989173 983646882 926187402 276673099 317884423 415998123 789106935 258051780 62212606 14637514 408095950 11359357 574294879 422756158 975030773 496708323 112022471 704833895 407002403 991129206 641086963 750706219 11410955 685818188 955875156 48099258 982298560 526104352 275082382 819324521 949872396 363279238 126634846 963480192 627644151 138694546 210913306 754626549 130468160 53218152 217404653 168162688 94308725 208035837 258897303 930400704 947640272 314202616 539595208 609577789 413980551 583289632 62387991 188524270 270167356 188763532 31435425 82249455 520695490 144287873 895552207 989143414 56963453 129836023 557704737 371330409 132894079 286812867 257932894 454658281 353043137 637736207 876750759 844197712 437526742 643097677 145131127 256496745 404427803 46092829 433260966 596732081 363817445 75872097 269857766 72030587 362841228 60107050 871952194 293333870 1613622 377829728 341457574 362908188 636812040 722481254 208880374 344420739 84839979 658619341 83304122 862464673 577240955 686082968 697696959 907815445 697844905 906701728 887316293 651407518 122025858 298035296 384163170 617354645 373826480 180618912 264633500 435279522 261637381 759989164 982967876 380274972 709288326 532213843 640662874 155943106 750540454 989415078 138186291 70220223 134615704 468217367 406168207 462058347 549044517 499960979 985925081 601614638 687175476 617227627 90017009 229814213 175299498 616079462 666724259 476434085 386766811 266462378 552370439 189263204 434656343 464017063 997444616 921203234 199306503 46858176 951384514 406300139 963402253 43698920 58198777 780528643 852309333 225713955 615804332 503702652 754188390 882148282 85276584 316344133 767310192 688135273 816107209 852900805 898070454 295452162 303454507 88207094 205220660 54481513 29027705 796945579 626273983 433761370 73945555 852582844 754397841 189653642 707313692 433903946 473041811 606888270 427359097 361171513 795786835 974534206 260579961 292057341 403665487 609716914 709782497 252402254 949543549 696755507 612025465 795676568 495182129 626810137 220836976 214884935 797670038 280789982 615665050 284109572 638735167 685449251 317979120 601120581 207452936 739442968 575628798 193206618 264899455 837444147 490879395 390701594 151017144 896450648 567528108 827439753 804421039 199752442 362263817 678812776 438009760 932541261 113544426 254577143 167288919 431034974 595800734 797729150 336049425 669739028 501619042 987598381 167195158 495590545 105793640 758872113 12488795 716076769 665521485 768031861 229288752 895849436 602861444 791520786 251923095 704594047 411679154 469873732 264166931 29097961 70242659 768871371 763765587 104169522 309572524 477028487 348485389 362983636 663509785 262808325 518076099 285365582 386757759 637296699 6045776 239110488 90490871 478131169 129587062 241851290 640576822 800706505 55273032 80161388 648938609 498436929 805099963 570186826 959038238 253731297 865195948 752403459 651894227 273007733 671550808 308249459 570713504 704439493 22467480 265739206 238407511 133018581 183580824 499119673 178877712 552942459 956930932 216969813 460176753 972461279 894912728 195162106 467004849 84089012 655242380 19773270 828415592 554507557 869120435 665434896 112918820 339418141 973846196 847974336 406882673 12470950 242509760 993773808 501826432 90986545 570767388 502648719 959097462 532284021 117031877 85853175 525248391 323616842 745946407 240914923 668715900 158466745 998215238 856149139 952707042 135145656 251479105 718267910 521900115 768118636 592364085 479322816 501739251 214925296 980339417 994743378 49754826 608587852 76169308 85471338 283925280 18064590 920807883 64952611 875315507 323832420 370428582 395066606 679858462 634154956 718192127 848033418 542324008 211473963 363145164 639868033 245865888 166822537 219628304 694295124 262338854 658388320 316832708 511197774 753657970 55071625 840240159 49179333 791174825 62344936 199757435 553486273 880806100 998822350 574506701 940509004 20171095 387247844 707024864 37366279 908620227 950658013 888112266 48320736 618076787 260589987 473304598 470890668 91089265 68059048 528718563 137401192 557795355 597357428 236096837 968364719 777554543 489864354 115985615 570701809 46341209 189415795 428006103 166527908 45917398 855316840 130923921 99046514 977015322 163399141 78538269 533136458 37363214 293963317 827117705 204156710 723331942 364995284 791364072 677403662 758955860 938077311 707358050 17517549 56308681 282469742 88997739 144242690 465636341 479796435 284334053 527954198 68066753 886606748 297333370 824555365 59968939 26126847 130968822 362079943 279826096 603238239 757889629 809884984 264007507 2428361 1961796 144337187 729470934 470504563 141158611 600321481 636078957 384898962 658970755 295789853 662101262 129144863 437439460 515754473 542108399 268905044 123147142 585811706 701619991 663627119 781693391 157594830 732352707 181340083 171945967 222991917 639071908 414216395 170014682 778261730 70841460 536808246 335412964 980955005 62755328 645449772 431558732 435052551 82704183 812661377 233662109 236766863 601391915 989065495 171450927 746970912 403981628 929876153 117708874 803450729 666261469 788139753 175502761 646476753 963741643 927056998 124950887 900276135 366713552 883902933 111011604 700055797 70815545 157172922 346372503 607183291 682944293 863596368 726407804 645636756 466264070 258578639 16739614 937204848 532648321 826880073 377561718 683759455 298072335 472027334 780853146 996392488 574442179 281200887 198008987 215597499 30523749 428603937 978744039 12250196 233000386 989165285 204024999 700632420 61119990 260296900 231784903 35593218 609955542 462311178 534290487 658814847 167633809 215178251 501333021 976763746 797732195 895938578 676092547 74253085 789036730 71595543 506821455 176336923 109797366 763167112 826627269 78239978 424592464 469518756 465117711 19683516 709746962 938096468 126966598 398905630 397017744 221721470 177365487 972350722 500303095 458055560 955041620 770253255 649163976 878311683 282061071 917164426 904684923 167061572 782719044 401684124 152217062 101213141 516148728 749594063 814799902 155663840 941795257 646379091 87095321 139869503 375529455 591685737 65690730 513153340 575512652 539415794 739055460 280841872 849702196 176621679 927417454 288316222 422190538 873141053 846501731 457517308 146954529 332551004 863388904 197121345 956405816 784285146 938410893 438304992 439655492 841646504 913260701 333815457 381104939 915751813 994040228 491791032 978106360 283712487 22862192 618989671 983871589 547432539 373198136 681597452 718189770 88073785 310936257 106052806 741963038 668508263 317991240 54179471 381041643 63647047 711198586 990842196 542273713 948594851 853933162 723258776 710147726 41925767 189818771 452566186 848703689 628775939 132139959 172555357 118204302 243544459 415643022 465067152 290699932 910209474 45218450 142387069 649240846 732675159 207903337 24902961 124038775 913715414 119058734 106543964 664964553 948107669 956383719 259009500 787028303 497288886 41156657 346647498 270278500 51340359 571988595 92845941 990165480 167051461 199057092 209220546 281379873 672420760 818763876 847569016 300938604 693066509 198673513 410969239 929263339 84327508 186205384 62806669 55549727 383521280 954685220 69765119 491301382 943449538 77796900 667867710 31007615 213820618 120648571 145420880 990059534 109166547 368627605 106945822 10046308 870454415 334725784 779816011 601157764 957236870 838303120 993642693 522879483 973518511 249177468 697052607 241612040 124422684 618168910 989248231 802364805 935533464 308904771 41916811 893341602 125741209 162410034 47161720 291162773 526202970 823047238 883034558 257301730 86517676 5908151 855591691 270768526 733288048 729500447 786127396 198749095 541197155 522212411 502052975 249480997 517478936 484472379 330362610 150817947 413954148 118885128 801382596 604009012 372470559 653826023 373080023 375241869 922930430 856609317 779403464 380905154 460252772 948319547 28268350 810157338 272611972 632027296 626114693 3842071 520388260 953069767 593173620 108760540 195822507 420673053 34257893 282802355 740522935 462200403 935220606 92347035 849923259 927033713 233149450 212257560 588467101 146460867 114655387 374625073 913407529 818565921 25767669 296246587 116356670 49567005 320428106 824794748 970435275 816650980 704971495 462213332 205573167 853321283 180835790 110421403 999986951 692567030 461676857 850799825 230978273 855220119 949190449 857347865 3455031 726538816 980192124 74592899 318351386 713709789 693385003 31439303 929550885 80258682 430295850 842815916 326522114 533703362 736656790 160124287 788573959 273886403 479880704 383225255 837908230 75348885 268217137 847892907 569262278 697943759 340550750 492653971 216040952 583052165 257699179 499458190 771724092 628299300 245542718 756431867 233564240 75943846 948565721 192917327 391345666 374110944 547640538 146660758 343494463 185175546 284730314 411186197 279367697 824224733 471889731 155039534 190226892 915855766 830054595 331671166 989982320 625653220 473546564 461321135 401882831 765799062 55986454 179451211 667016741 978700901 863308457 159950655 53122735 26252541 898469322 378971296 948511861 459565527 77822661 581665409 302064935 674322399 296277238 922239331 318133082 854760959 889087965 137023814 433758778 912297417 525441842 213667366 133600892 274201637 528088026 571501504 620615294 679400515 739963683 499885917 157031857 657162855 450432467 985264721 659319635 354827894 52088976 136763066 89275382 54073131 186468734 325386251 78784903 209171788 565940858 33939639 908208423 32632330 226696548 541791676 183203781 46246288 529314894 347553861 62807634 414064074 643278905 740101530 909374711 677333174 772790532 693038565 546760531 180639445 151930047 480777164 860792895 452582060 580849502 142861130 765315596 788766948 503254691 200873613 197958021 68428646 456836270 249680072 351668376 102333037 399856526 792410459 896567340 200326221 138434379 44270766 774204232 72212518 647657465 693539704 60566101 342246476 432024848 644161390 476611795 124528691 758575821 907303258 329540004 347401371 357735560 135191183 152821452 106266794 964593004 504987872 706528902 429462178 439219073 171481022 162657913 349598866 651806978 259339998 15778562 877838467 892393048 811516409 129470166 888334781 525283239 558676188 568473077 273702346 588742321 435990537 165908786 702455109 2171353 206106977 709399398 71004427 455281096 209406267 331009259 434076277 855406891 566936143 576020901 241560963 622225277 248519292 249439732 786263544 94936557 226162202 860464874 118761970 196159210 455061350 466995090 705349922 350984656 680789961 269778164 1652820 158229269 808829938 894815732 889019945 172202411 772221542 314648404 426654465 672063391 517995719 482042047 249120489 427508158 675399825 358925338 767641096 94106525 607792500 687729140 226120891 970427398 193869066 298368465 379002854 251268345 794183975 894261321 747573669 644720985 54981728 865620251 512126683 716309916 927906500 180430314 514032920 43606911 843042163 754793047 908965906 706395491 726417664 133737215 809357664 492864365 503049716 876371201 968251564 184284923 866856093 290802242 720167212 477140124 393430932 698030246 985602191 84834425 124081937 147534915 434608062 338228725 255570827 437907671 183519639 352889214 652079874 443448108 703179886 953494849 330024582 676905303 25338891 69297917 868346087 869045263 131051288 497126496 961301325 549257814 404184882 692037116 587662127 456338736 580208523 930985401 320530483 677299724 198028805 859204126 755138541 406233428 156862079 544151934 893047791 804958449 344669475 772857696 262312117 97757988 995097582 160464967 484949532 763159709 149580448 913052693 917858986 725394939 41378144 978788173 650700789 352922959 982186546 846987987 576722060 242696546 22758492 221993296 328933906 575913711 592186876 589227344 87843775 48016736 237707610 858603294 437774097 762872364 660993697 665930284 93102039 274960241 880454948 622976732 94303129 971284774 133805197 127576380 180208739 950304066 93804611 585841827 208654691 864155018 806650055 152000459 185042500 779788704 598461335 229764877 426971058 679296293 230192261 598394112 17111366 35121735 167904748 9215639 852131562 582448358 356690882 207337313 541040607 456488988 210558987 360392139 52630475 805450299 349678496 277890677 585943961 661100132 89410862 80174539 120454509 62150994 865305382 815809842 332662359 345613259 448086160 291206112 193244872 497784937 705381981 162592371 303861750 708866633 858279775 787529972 72962587 977312072 668067514 651407951 604105269 197957469 462837672 653286156 852915096 321500908 340576843 277889151 833571456 822334500 236989188 741133396 468521080 895932243 288923178 191277376 573457797 777658417 210377915 105974967 226349511 446938504 390063985 122276147 319641009 317815829 458273019 764225239 958438639 683086411 870325268 775706439 577133918 749167292 396519164 905983459 163209563 973616340 886201834 298806312 245081603 344749393 434440622 14853804 508157027 496491653 313695284 787700023 40828179 657365124 206504709 910476021 476170302 364634324 783916727 618514158 227284458 186806858 256012504 515049928 761693370 777710368 537489417 605162831 683283006 649388004 399056789 631343760 312181615 140530211 784738899 480732236 783701033 713385907 312850998 286324858 425528821 725730841 487557254 271132821 542431674 119381150 151575587 642138573 625343287 472559216 989034544 294884748 518166904 71671337 801106924 23340330 97043714 97085017 592238463 605882084 777316295 925193992 350557653 546080264 436317785 680666929 168232824 150294526 353592215 779175561 56454548 621608636 158730828 899322527 22148457 394371585 898129464 620290683 680907913 50212786 323255705 621942732 218870643 312170101 717779576 833144176 630956599 146057105 770719601 354770480 74120584 529876406 628416152 862750460 965791843 641539187 175106961 809189473 157713660 141608344 894026523 442406368 641411755 155647715 558841175 426831519 531134223 537691087 776369896 581892210 212072216 249541823 757209658 277187617 563315892 285880335 9692398 520178172 596043342 247858764 327865545 509470704 94128257 61340644 854787387 872619540 207704296 980876063 438033745 450887564 523274719 428460728 607228979 680797254 777691739 283437700 177849232 64107900 693825454 459497625 186942675 388964116 39398611 330298580 187699276 718154602 694099646 900466973 213496338 357512906 28305980 122491451 973403969 917119930 381147690 834179139 95492404 481882295 787701228 649435903 533303107 578649860 987101279 357686173 223860962 390547075 380302789 924468730 268098627 944273769 695613899 262023893 536123395 246874835 125496315 258294678 614126024 678356323 425879313 184086815 198413209 969964216 212645182 204800545 501456150 554526013 701749340 31714440 108650661 394941267 243733735 411513309 14006787 405179953 293306342 191791893 333569824 908490118 325039765 719173820 165119308 876656437 897156496 624564890 771276088 963561371 805239892 939530178 799448612 169332959 282632263 749040224 842850352 336255360 298689104 174106494 632635653 486909025 206129335 622797972 185610049 837901355 106495560 451482092 203400349 637017824 320059446 802070620 460248998 57370706 625612571 204977497 711310887 704811836 801540977 341371706 915744576 766881831 96446728 914508564 816493265 80569815 447867971 482866822 325430069 367711573 311065177 253327055 92051206 280303046 859336489 997326404 367550705 974871178 941089013 945488777 362337114 556866382 754909850 167307694 853768347 668186094 364408301 225064909 776875048 694519162 17228152 472377884 372270437 760782622 680441286 47527382 81398732 742696239 276131907 978374640 733765182 820702069 342652114 573847781 493257342 795113067 794827384 31449944 55110237 778992995 724131212 442710973 383657049 997676323 770202861 288515807 878729117 305170843 338966316 463143697 801132572 595723887 68017288 846822328 790541415 566508063 161298745 76291475 525866773 568637838 438663668 885815585 522561985 529072989 126101214 935725291 433791408 664912764 217821988 119724148 199554001 63858403 452336674 438034616 124705293 154472513 278106986 812487462 949263180 550338383 82230805 352480560 737936604 246898147 788098209 198795797 982020243 201766153 625296137 122139237 452869390 493446340 604198706 466135730 208111861 140654132 204848851 5946571 830442849 387732735 183923125 850582047 795211741 534996154 281691365 927750476 261544868 340496718 921548892 218796510 676061106 153895388 648726988 109528673 509139997 746488202 329378237 713643077 834742116 725066161 690070240 517953469 819001257 531911529 805414953 226001949 521392763 739912811 311183169 530531019 833625375 722368671 875462658 801739549 226448472 602949380 898445220 130617356 202090315 19687227 728633596 996004186 141042901 983134720 635330056 791105847 674882918 714198732 352412003 496281551 473815033 722104420 528346658 206445322 723414002 923500015 386623224 273245828 216285998 851504565 55729642 384332855 254461566 830123665 610440859 237849823 760674498 853623501 692078014 126515146 881431721 347491449 886291160 597981428 335061868 206778045 907285642 792869209 75881842 198682470 919443390 318971202 156130031 166126940 386688707 389330647 438287706 122785175 569793733 700012963 681087299 975281714 919422105 43678569 178823098 681213642 175280255 610214069 582912578 791830518 106101601 862916602 874315153 848824104 826706880 438362783 216308885 22776540 649671268 263384726 669561628 672644577 986546307 196684584 194398700 733335240 972416928 966315070 692993289 989682571 600584049 291334137 211562667 731880750 644380435 755760395 7279496 498650749 591701676 379152879 351233465 307454777 578428775 55252241 698130030 523612174 277003126 85955032 772970989 645020829 646580142 89611897 995936646 716175308 977744208 460997412 156893953 355363426 999433714 179248172 135628972 845829610 65532733 482562535 694315957 740626099 562641019 160042034 657247510 725498301 616900465 208171943 309370315 644514883 339852798 387294511 553571421 444372155 633731714 923929490 724067900 741262132 806080219 640080391 617806569 232910298 473696225 714405390 368721679 27880152 248474420 49373695 567178882 807554647 290611712 854934088 33936300 219693686 585339093 459612766 248223208 209306828 743447397 437054741 867181600 170211247 978160206 240055836 996333927 678043772 802635144 17545691 108959945 178261264 18997864 335329847 277307274 145849965 134287525 663454013 994371918 850668547 46920821 129629624 590792801 418464570 247707443 802437091 128774418 745198554 15363821 928412053 1180816 787584669 219089320 816840470 323503319 509767248 166311437 106568060 891946546 798602500 353863092 563562640 251425575 956630055 765385221 132349906 407716248 588102157 562826029 374382249 659847374 771299142 742561354 878441062 630979448 66683019 136260752 75923136 33331371 851240224 1572823 682441267 215037791 720115380 176075976 452857924 200292696 447343433 672808892 546149168 259750034 499887488 476171986 167846212 639436784 291558863 590676158 729302368 833286129 301986213 291540700 70365876 363994852 782421688 62773442 633137753 399992118 393064862 359828547 576837265 630996552 85559857 846161677 381592889 263667157 589973719 828893308 635121438 36387402 940017955 812905257 372723587 310651887 768246375 325553300 188361577 134538001 963626686 347580052 250101382 66864809 631891801 372152011 665436138 511326447 136508556 253934753 27030991 849504371 747659078 316480356 601055946 614788535 167833348 228621388 275281097 865823352 236697843 144629311 555012447 943977527 588026596 335585206 371441792 90987801 286507464 774713782 422185437 628504148 642167280 222655936 411447471 73552736 53188087 523943890 168510629 857835014 171096684 797928674 365252133 673760670 619522449 771676044 884744042 882200482 981915779 457052290 609835201 386828502 442060816 422616779 550283725 670113060 556639400 834977402 412517037 136578172 71173957 296489679 514764580 250967408 233112323 498051236 379096012 781049415 694184412 244697437 569121209 465748075 275542137 761397665 399939586 634185623 317109442 145229936 894040004 671525029 598547065 625457809 381847873 353726181 874504189 855917843 93673669 689406436 524681267 977252404 823071519 226675263 99195542 265129843 558148749 918646652 179946367 423183949 262745742 587311921 610367579 457634792 10267417 267483379 197351236 743715770 231764860 414878049 405645230 909881648 133458173 202088178 65782664 673973527 569307491 364507174 29529825 593733311 880573769 156046696 85252198 306633735 283402715 714326580 153560595 659705606 558918403 92456929 410677422 52984175 199399353 513237485 625624551 200646759 764980221 699015861 77374691 694480027 526813530 233290467 273570760 858245040 65215973 690401228 789879168 371647380 504099887 229306452 520312766 324336903 899870248 247740741 660105706 83916359 185270577 677139905 433253287 201794523 28235385 693808530 874165320 1342986 896657151 923367680 474079913 341144346 167951045 447679689 982619531 395213487 972148606 590597337 992206716 732384909 316473028 525081775 735180004 229052356 291505250 67350367 163940583 158951656 46338096 257820116 732636080 242359920 549599658 682128017 934266935 446729709 587219630 312552368 261220452 436027334 629494729 671152016 68195739 912824040 790252471 550058780 97272581 131840701 512821785 554684294 428064637 660680448 592196463 612990624 874299139 579259222 503555195 337291784 218579153 968246253 24033940 658984779 467675363 602996627 207736424 939019138 191993677 765008545 575810655 540848936 723813522 34117592 124692151 265522831 500652243 191133967 107573014 536635213 23354791 294729312 884922069 606227624 35739782 697079834 270795733 850003474 978000213 287718622 660810804 308253451 447154555 850101793 222840902 948332377 483098616 274798558 575132930 734087848 184555244 620170585 715718537 522918479 643858301 70081157 84160320 110746160 274334192 15783417 974830291 193914477 75497088 192272563 330574782 433536422 18072357 54482836 704002012 649280670 137760399 175843504 637169618 775792002 967680405 160550863 263216451 822579496 352645967 173159945 799344024 907810933 346275331 197650231 27267130 387644912 548645275 565279782 901366446 422388092 927338941 8551918 258229948 529303078 90801873 259272344 692753021 944513497 668397684 559510061 259893185 393569575 807381244 455545047 124513730 457742603 406808285 691568783 282295469 924704977 826401311 343278872 104005311 631925896 111727897 179177870 736966991 814558392 705219137 158666082 582941308 711804356 690471673 436002294 266872915 57430366 934053861 466890049 323055023 53998931 264250115 109134415 48856856 637134784 236883895 203965395 30874000 955222154 610862146 273832611 974772715 191482300 635870539 3103628 331824377 195774275 615233651 126893147 789240299 929690247 595861092 479953557 79747287 140038724 32671333 586737511 407426718 160985314 684873416 321531174 593004624 4622521 678154426 658171980 579473750 135905361 131066955 421607082 193235024 896165416 65795785 544984085 247034519 502132932 171052812 226198977 299548908 915612628 431343474 61775156 611986135 519601397 918276999 235190199 502506906 191227356 186533751 615904136 722254899 791258656 109924009 596598982 601185465 544302032 863040808 193910955 996642501 920841849 714861197 23195239 368416591 806582643 804945648 125514685 221664560 873362401 815411402 121002333 838161193 267596478 280569275 83259738 745261244 133621141 933846645 336054930 961713625 937162503 734076133 257061898 383840723 134491238 64001350 493076757 253605995 534606030 275128825 930841313 433085300 1281107 267680273 444272063 129059039 423213256 291463969 806871950 4883905 104762515 728144210 356784540 17253979 803550881 450992188 548789514 222863589 353411647 344167545 540930076 681184674 251691060 599662463 230190864 153678126 560650682 606876972 616345935 710092836 473475977 484859194 836584002 107923115 414121384 720737687 275144450 649608578 855137943 483533954 509735389 444634873 105564023 797835645 567464065 177531178 140411829 205986455 635514546 125004080 420625781 907947429 102898597 233045889 590174539 459499471 127560539 273583303 49984101 274023752 113753133 190156318 622566879 495024525 436926020 991057272 759766185 689772949 274603738 149443875 417160936 284875540 28850269 361754427 147510249 981898114 749044536 393384031 849260219 555121637 526796060 560824482 366564176 311416031 514517148 1994394 500295825 486777012 455236109 459847901 545956237 435170875 17557160 834881371 989142557 77656516 297821870 137570243 881567217 829257244 177969264 714840240 973595464 196137338 182792250 921764365 34543865 189595821 675993825 517000142 991004922 351226832 397190264 761358427 635502287 680732487 704974337 25227094 331192265 524424930 133004162 437592460 885391122 581235089 878014781 81642097 659713323 363217082 701289958 733578110 218774652 190905318 736098675 630585022 625466304 419587755 707423150 274302014 467792609 171483529 148416056 444964329 25882392 866042338 972401169 670469321 792862124 990806151 285478554 372521429 432352855 707109600 515038845 766863874 647816758 53168296 360195882 477995220 90361353 926205359 377368219 783065110 719427686 244755541 62318705 538195321 182139207 83831422 952455431 171847474 771983969 422217370 608250997 900589044 438033526 782392074 299512975 50789587 914684655 466724606 880917 676928530 148462371 956487476 154686280 380241826 112857785 766979675 14696947 5256249 401967630 229412773 365926589 829015277 10129616 64633547 223118725 74417958 516400595 899585523 477905241 275499158 190799976 508723260 147270983 36949991 270469631 271485414 70689010 292809346 690171771 983716310 441310967 905003966 633415357 82140546 731562547 879388656 353041646 241211098 68884120 621907937 425414395 596005906 998174469 572122697 43394945 450373346 785320923 639022314 245696894 625499116 841217034 384927069 409048904 744482516 548233812 350769437 124654613 324236374 374436612 38726703 814309017 413681961 666533845 906545723 8145316 988681236 11650390 933339588 810626856 271480435 572716978 738797167 175618230 26632373 79554664 772087569 431654191 918239182 997123828 18412169 187652977 856216480 857008491 477993603 60185242 177865633 639883 23171154 238199718 400306683 653849557 257858152 119185545 857157966 544564041 297121170 591266845 9494441 576313416 922062690 148202138 720284610 281593804 109285121 408055127 993978391 402371659 793911083 183335098 884154642 549118964 127058694 559028968 620352455 814662220 930599497 607871434 74719016 789566893 722705957 148909564 49777026 9392857 521825189 723750025 311953437 727460350 860693773 933560864 652100496 167832312 330671573 761854425 179304721 400242930 536837220 899874472 741287711 561942911 543650846 632986300 254317691 239374579 929714964 231670898 403750579 207823090 395493838 977297953 654220991 590843975 164242862 825529908 783059755 164571745 476148099 48687949 994740674 141535978 327135427 373082515 64783448 602233817 25398806 8297757 21540127 791375727 997565560 44627397 216247753 831726130 340900092 657787151 216736544 2462230 587119011 677685886 64700905 743246192 662112762 601153450 750960597 419398178 841081120 861995569 670604577 133829822 803801279 945073631 544757470 80387372 538892367 111118109 883790171 637609813 981577506 181640624 459240060 851769901 964393978 316654995 192659801 980943181 570889404 701024886 876989110 108156602 776999683 69937988 342898908 256691360 960571511 679250522 866178824 69793689 525026564 272784283 885886778 761456297 567427963 74608849 275863965 76917477 687160893 486673168 558816724 527280533 375482813 24641262 114368281 70198787 186653343 778441144 921573931 56095659 339162291 16876578 142215432 168593049 142043270 630711713 257838455 229815240 94624053 476052810 789638353 940334228 555050069 167275089 576145643 41888108 50197339 303744514 442117768 98122612 420616539 287296803 699593083 371029669 507587871 234331439 821133259 8006300 955877596 225669267 137236144 865422862 897865679 15424092 907862972 123267590 795779164 906515356 119809314 87438976 894863677 523933728 778234765 939475944 574170053 207169979 53979145 322947758 193850072 317572357 881997936 839290997 896990166 799750129 455681703 240454742 668087526 161235253 312408687 205849380 339597022 834584017 894975946 472539281 511190109 223933394 572902284 756159739 183647061 49346743 269360441 151333829 71351008 19739244 86526535 501565560 39708868 558800986 735631388 687712524 681325670 906714437 339818410 221067684 876584330 574282807 8509775 395996892 639469115 75078231 448764465 975825920 229601672 770624667 329761671 187996940 965188439 656363483 351584521 166187428 120927690 146781261 994305545 73694378 315887927 33920784 955513613 726697075 111906304 244017852 464268692 496742140 274790369 155549191 29174928 794516073 442338854 738646272 32674450 217800659 469264930 129564647 571940140 700076617 228391431 792261520 424672360 844639845 232691251 635300277 611681167 411763757 440896109 580062078 683499783 535481880 319514855 669584012 278666792 637508850 192454398 453099793 298130111 396723297 465049288 613258824 214506177 885855981 753799627 604749220 598069138 845095281 581840584 101689520 736263038 924945092 838561727 273854802 271852287 301741568 68794930 52866609 175267298 896604679 872368132 63126418 47529237 692824655 244298335 362966562 250214800 233228019 962119846 235556972 517185824 202252805 860856711 948329616 609142894 431132079 132237714 816350665 643023970 294887787 217968407 132509842 343154548 505625983 933245536 819271765 101893654 19846367 270073044 158721583 668637695 810441906 525457445 22736303 273211204 541610608 649632757 624100244 17156096 498851718 459704311 162211135 623206008 38074490 60896184 899632478 517902825 930151046 570047013 248165780 716993944 880627189 682358484 106401032 545355217 897576671 351825208 371701549 215850161 509504919 439520785 478988639 888491260 207389986 357195182 653200169 981799283 530035994 592930365 393782199 259969406 857292554 213457498 879881885 246078618 117193782 401245597 38781944 248834721 765027418 850885074 803162188 340315225 969682118 21574463 657836858 493552962 66586098 551170051 60325658 489174437 722911613 850181961 607967192 692119226 164637672 311178956 939595860 841908897 902475123 35841548 71760039 526921196 168257832 540203630 682388031 718000790 976608019 214099098 34875725 868259258 847799039 826354223 18996369 211981944 743576292 157668233 883278744 903115527 773545661 847945566 593801836 220109595 429269004 880935202 481538833 906242963 844160631 252841756 447589562 484145087 989376506 515583481 174397775 517568927 90441095 351391935 387998985 318579828 934515905 139025510 785914569 484039944 135872206 353303755 593603096 242912840 572234629 129008503 378764518 635299510 242591490 122775657 874974002 137027247 750896024 166746382 175527440 394077065 226993859 240852524 807533388 713364545 811797908 231439225 977911781 471817074 459945911 732373348 271121712 672580509 431580408 508610269 853758584 257661054 306832365 727468154 498653054 260826167 783731101 406740924 907109563 909388153 388995705 541374090 313184277 684626727 635542579 567919175 637610093 744190941 906883056 507874228 95432684 842941635 339439824 103241639 593133969 20939050 623042006 762093713 755992769 207697736 530258983 707867437 937538842 8740572 592598361 342009605 101828596 251198075 107098014 88785996 43522925 307117711 493546200 985616280 350179933 491044732 207794959 328124473 966158261 33412898 278644949 590863311 477321595 316928309 992627509 580682591 214543010 140092709 590357436 136741451 56890373 411579317 71822279 555031190 799356306 235796217 750685107 752112688 547267120 80321934 109868576 747171897 513126141 226823760 366104150 379322890 592423585 401610734 124476585 119029324 38663254 64080870 918871952 76064827 97705038 420556882 326551436 938173437 260552828 411066229 634178154 103765286 621571480 261360311 392134683 222883127 665221658 779746572 65128256 459462228 182573212 281815844 359165569 326479831 966648757 690566117 64019143 675024249 506835664 448448678 670530848 496868348 581333656 769473314 807248394 447871938 999366862 26305292 747233647 665862414 793621224 79426820 54117712 269733324 830045159 895920523 309161464 848767182 817921060 399983329 825367737 249712492 857811139 684595475 713895326 91094320 652014609 62125403 443496354 426192057 873709907 819381420 78667309 968024462 387215868 17986010 352682451 178892416 872047262 133129631 331196243 485128873 275605421 493245234 193034164 653970631 225697253 888260727 835764780 892489166 484827765 206187201 222411090 975324369 682327265 693761123 243137425 128731821 718976711 238024153 713379791 879129796 714676273 613699716 176815665 702391057 547641679 8331282 703693205 943211127 56091508 382692307 91990382 933796206 169171398 990976178 790677492 40722957 614425670 94641657 651030149 563445902 822936451 649967356 188581048 63242385 156930121 166208339 208230789 794379389 280581657 412193686 66350852 839913698 188691586 217837355 296413801 614006685 412509747 522388841 299282730 121547439 19757598 859859400 112490802 616185722 285018512 883767836 443720325 29234672 427135157 511437844 365080196 677359290 117766674 614447496 227808174 184434091 582074425 530786972 873016753 839135856 833705227 342008502 234244524 585010306 40260732 255613954 17193902 285063902 524768492 719210790 596398039 145827471 208461298 744696929 946074261 572892837 143765960 309219520 385072114 665986625 678184454 516146401 162407794 456642263 825955563 144672205 337180981 840189053 460727952 977893981 373658401 367067223 296830334 310321157 200466830 126092508 370334686 78201515 174656423 914681570 106676595 656354738 644057611 21355961 558252956 273876014 362278002 614676882 503282070 363381466 175611850 49251060 200627610 164530639 887957697 381784233 916611971 367284591 597636460 162349495 521367942 171303509 22495466 623922384 484139980 491427316 467629125 756724203 67210674 742693120 197174113 460994421 336543580 471246410 399734643 887434012 509961275 506533526 321725348 353884955 229071878 53450025 941223338 276938161 78534407 414800160 485244026 396246767 225168815 872970785 617329980 348638765 78722501 169364339 325443291 780463824 447045118 769119654 634885376 766865854 159038478 590165525 921681713 931690051 952870923 320204709 487134166 209017877 665660444 40272243 989109579 549290371 835344127 518506122 668198295 180831891 999830060 428750501 151006103 94468783 162302886 370029608 855295573 713248099 656462688 78289223 792704846 564315416 624021218 758056691 199344231 394022138 440875271 879017606 508209573 614389629 867321198 565531145 134581069 48365907 326628484 334773393 509598781 101066635 641778711 90940226 431979034 823472256 482010712 995399203 668050302 676402945 421340005 38292447 713718751 345533592 496690447 110808410 112959627 938255746 698427630 560528570 432040126 866829639 257524579 452595451 139558667 267102316 284221736 710924116 239308424 815519379 230979757 62069313 427041155 57878457 799479087 97258776 495469651 329034718 500907692 223778673 21341328 628960843 778824013 547062603 426455595 427365563 978192599 323166376 196288277 7990193 534683394 277932965 110199498 692371540 785344635 12671964 732107670 459525023 349454978 46369454 573399844 106799163 738432122 906116261 778509290 825888569 208069819 656792256 269572207 50570750 252427974 951304037 933933776 11430856 867828115 797030928 371790121 395857378 952980363 127188517 631546748 642728389 197020721 652327579 578092704 867653950 938411220 272894228 78745962 784445849 145187783 788581603 146989107 70469119 89528111 82161200 53832044 996906660 460447283 682580602 83129115 372847436 478664579 862996112 622260887 700144162 341485962 172653674 718363968 548224640 834877220 560484697 546144843 497896076 923758101 958155078 286735251 845196093 259835257 783144439 164599112 865033980 987877341 186288855 152771745 515497834 985195546 18645528 164996663 337114844 146507595 865815944 538503538 470798679 290599796 794717488 723251946 227953484 631843665 630491615 493366362 686036653 149084140 578240152 182189613 343311724 527549293 521165834 696164442 218309664 363046456 204074240 216062425 820552570 580089991 358798389 810193384 406450660 563815123 34645440 619133177 832882396 13295544 322425969 133374929 65571211 671237601 617314464 141922989 821125261 624038529 313102454 659347126 826232676 503266030 331960937 899181687 625509745 518739668 588948749 433213147 708553975 820974438 649204982 895623082 336816547 59440766 727568520 812635587 646784022 541441200 168865994 988885103 235938070 296733760 414443857 377446053 776712246 194749143 234647174 639257052 754645650 410857709 291953814 796312985 25349814 102508482 165104715 898260021 170076342 59729202 293657856 146393168 357116617 342718274 697781677 799467681 183190973 983513871 160613068 330084861 859976550 246016461 488307718 372482187 349438201 819127217 162301705 541652041 153359538 293351630 880398010 864799662 500704848 257081445 519925030 891103046 983902670 603843245 706784114 546005818 188081413 405567671 235338996 645527837 956159495 971365205 602286005 193209280 770149978 667743195 308070337 967698161 344094083 537126547 125398057 651709069 619510739 517697754 239514351 695532484 589787536 738987298 101172310 500735268 160541152 237963912 58366266 859122497 75992593 950513952 927301871 921726356 773121487 236416004 938839779 774358142 372312824 343750085 780801957 861687714 242571982 108786641 397607643 941938869 560116853 816622487 992907437 235498971 670554937 545797124 321579007 94122282 504995405 855402542 229563021 903180563 15889670 177938688 371163377 83721490 60717583 716484385 597932174 959692276 41545449 269266154 771828652 641158335 737759660 168348104 260832821 904082194 311370863 813561180 330194040 311114101 692990395 804922600 571155988 973338464 785789300 961407969 783856784 555855138 147659277 949973558 720467398 259527679 438786702 308802620 767792726 54312126 811847312 425576185 567718612 142490018 369375942 917068556 719475765 970621766 464911966 607090463 995447600 375926626 67052105 335474971 59675307 907451277 419599627 758362158 206702631 692327056 513467756 461354723 43201784 974625004 41108315 400404763 724566883 281522303 839165424 938513309 971539553 611109926 186586317 395434908 708803109 118382450 963910958 349884895 304875029 791651496 621756422 522203889 75942554 241348469 144637889 513698010 179618926 697415987 849176206 135381274 993385211 585903675 944583318 830029594 12274256 757624869 186131242 445245090 535410247 489494494 472170472 981813407 510874349 598006240 418735735 749665173 470146023 944423688 186228070 437749506 60763361 773775588 133502142 269515009 210094658 413386634 829092540 238807087 682149209 141166121 802166681 404461900 923806165 949418568 603434477 369808731 792794946 880534284 282675457 233393392 983771597 472371609 529079991 664411497 531936982 69095238 156155492 439980556 70943559 691751814 877301751 419904556 500518317 633255194 558015345 812004020 746267279 376469217 837790002 262381259 632110697 213262364 280970051 613932055 226106337 318511236 488504479 479980342 865965024 390111577 269927324 869660298 70230938 678695552 969583461 674813039 383737798 917416250 280666793 321639074 754969939 241400660 111510848 820796423 128121047 140413774 471249236 395219127 837775620 382308308 490681721 646795653 610046052 665838126 474783660 941447575 894186424 743213851 875769160 604438276 136365052 940967912 575866635 517554700 218471007 640794421 324179127 816410886 63259472 131751088 577998144 928830261 757966575 354247520 325287645 406922369 324998956 214753766 393637527 471224696 288377611 814878785 479832227 226992147 904864864 435419323 681139734 789232745 808383970 86965925 243631933 198181541 387597699 692849004 325269647 606621500 88330351 364817103 181622678 313527628 206301835 648807833 280538031 857602849 210027346 401498760 57671236 776950499 80050944 147258277 515353688 924114985 886887295 469920023 347364875 503043430 477463926 221440108 125311810 704961714 699509779 923854529 499275296 712983770 59932091 98366645 898032633 43092717 304933053 592960355 299771432 814500662 620197078 763907988 294912150 537201085 974056297 644735195 16842993 497093592 111862233 655419121 35972139 900334045 997002080 966818221 179633263 52701977 700589861 118017436 589202872 559751793 326896943 250044976 437302707 696446970 291823129 104280241 689624150 804049556 762944445 722630015 352762545 293728255 667125749 135986748 394428993 978481381 380705748 660584761 264827533 440900354 838833263 251474648 627047024 733668949 657297334 198351086 280204913 919854908 932273242 81793443 805629255 37433386 585670501 99175007 347524228 578903917 918231459 124966471 175624803 735929643 8206477 144663858 847589613 507724858 833780482 685358238 782236481 148954159 850644217 675177298 181896613 983411904 246131853 93641017 554454585 551940107 222545955 693439957 532497249 422932333 106049564 745359539 136759625 21762029 768452251 284261418 339465561 132999275 238918243 272139197 999051229 322108279 411359199 608987438 245202769 713130890 881804225 357894155 646379398 36754057 166689394 213250490 387526567 263108835 770359052 387549354 713770155 31407930 526933036 668115904 515412328 162238241 33718644 214687885 302881233 317441608 669577578 763652571 772074334 476439060 590270040 600558849 305583368 493314501 996928728 329126663 121980411 686566388 572239458 946364213 665863473 919679242 442935231 484129749 780986580 315850522 408179420 654169383 751935953 948127602 241008755 373909152 617408409 125181105 965513543 614429178 905910757 42249995 17257102 283409401 936845886 22161314 149472130 321144936 981294577 975454734 661216541 402354535 361935229 532110772 257823398 448868535 994739281 181334625 819743394 285606768 154436628 174189488 912444746 626604321 427939816 850250875 304409916 270563383 845169311 481139887 470083066 239373394 533441762 164938449 43551390 834540291 811414771 465020789 74727682 200004495 828762375 197133876 148694476 776367511 941780699 525023742 98797746 917941357 734152929 436953270 451214111 605801326 948901662 885897570 418004601 930774528 620266014 263802826 824079490 239161469 498613319 604626153 211038458 759213851 153687279 478854682 736575404 151177410 592380739 305899278 98056123 62252740 873973019 335684127 561543644 2587787 978472880 60320310 456250747 688232953 305970970 319156540 293479940 722036307 238313741 809041160 521836782 13540693 216160069 368756912 840663431 327437469 189802958 982597591 841060816 250858552 662042757 452265696 509744391 95532450 137919875 700521891 14455103 526504340 234283010 234829629 838086745 205445474 612922067 493650099 673695624 745413186 817479241 976343299 59720598 474708438 218296937 501067498 289270279 299881116 360524991 367735657 142151569 923115648 792294081 494409485 883231991 223117657 43205320 630480881 99245206 122531139 349538206 947048541 667853947 717962555 378789133 802981809 67421938 159957730 244133482 594882007 573721493 254924072 28483513 146028341 121882057 177278038 230102422 969504564 240933224 666827175 304528475 360922803 200720087 381631054 586705981 881620119 954760368 528917372 361239116 530856860 51814119 342462945 426244308 431116577 234587505 113503257 111566113 766000089 471319605 300840949 388104790 326607630 783268886 142877548 602202370 532198444 649711281 6900976 242660094 70452178 7784512 930231374 203692842 576520074 129296354 505389614 128938031 250511545 728292799 853072512 640498028 451389471 9132909 995766391 717606476 277105535 428858660 61258048 191525057 207070012 845978963 861017103 458263701 677170425 834589357 756141394 160025172 208270759 949939874 521494964 555922358 530946752 724320223 618498074 997589486 877153448 83077944 773595839 449775548 524656794 402790900 721274108 710046808 686431162 787693810 402900633 16837922 930445085 592670182 951378240 849023758 841614968 451649577 378306305 149485673 874181503 346540700 544557472 953775867 47211345 758834399 673372971 91122242 484118709 607390413 514773220 913600371 751213368 153798680 671017820 737699578 419654299 4141761 787215996 779003842 67743606 250917636 704361515 287872800 22193258 747766498 728652391 175995272 345636201 947954525 607852208 17335229 193278006 807249458 586077447 597762954 954549666 748412397 105222393 807473154 184534550 997905583 70609315 848039011 390289534 373484513 143945205 974100555 659326398 434576805 401450427 788755819 609904826 654855201 469311964 52775634 431738204 928898666 854790050 516938392 610878978 215469664 155347952 2380728 578993023 102097674 39185202 310563556 156445787 522741891 325571392 174138250 569144300 122076179 153303532 553154283 233948704 367466146 526197160 989524295 140952743 505264639 59286949 802031481 193236496 172407041 367743986 952984085 690496888 631940125 683362295 345571152 100801974 801777905 557633573 586898135 109124588 991801091 253929108 313649475 993628192 546719195 866048881 350555353 615456495 82646095 661553147 285351772 421455518 507341224 74119581 273686242 128997332 189726313 974451555 6672241 535162398 53262689 862671295 128456518 266777575 999768806 95858790 564830186 662286018 727709479 340757277 353286865 637332049 34161419 610398426 311082006 119654234 848459931 219764432 305796285 604672472 189534486 663052223 284237446 645224794 106762852 833197078 289043547 61962171 79428807 349289499 329705469 622432475 561735076 947521380 214688631 579549633 129588173 490885262 900404371 688085095 978042599 264312428 238883041 132628278 76284561 676367640 487154751 462706487 240103303 161250734 93515180 479551648 587975305 135706368 504840863 493467738 75068642 208223094 549811656 201459752 620673074 592143025 962050525 277368967 535570508 788479308 215473928 827912727 775138630 401618706 178577443 550704390 423380387 638951349 598383983 551107807 348164637 691156180 107961419 202208385 482044379 179234439 211315247 823072206 119391829 392676793 459566411 721791716 854319502 301967681 246906625 39184801 47232937 521726767 721593221 99900080 194579849 526277284 875987980 65193846 97217058 63027585 304753611 85461588 939288017 784350323 659649996 275112253 112296672 42717716 544449235 332971491 627588427 93324412 343283248 943680506 682921891 131726975 114403727 431252661 240993318 136485268 581192113 715335375 816015469 890649647 452806650 25620523 574901618 432939078 838955221 191587070 460496245 196054495 177538326 938906714 298772835 725692062 946068586 704302214 107572720 997766750 173505182 594753911 422781080 934967762 810420235 957311705 182142749 525818666 155580061 356027343 115308026 339088696 537204861 33668641 493718202 959185120 423206227 294183711 402863598 812662867 428099536 711936088 492670348 59149264 880406174 436540717 332012829 294199546 62230082 966401530 572924855 915335877 112589878 103009576 443267980 181789943 22825649 941300752 385360879 443040906 168849877 203447564 886731791 533864225 610857969 679094487 306947617 911764326 85857991 540217247 707659904 231537611 884675831 47846630 111540590 55517212 455762885 148844707 114872768 589005588 903458976 177343179 312083227 626174364 680337067 1967393 871839618 119624092 785773411 316438057 444526554 953062612 987469078 881546847 932675498 761110507 260161965 170240625 718573465 987511507 927896500 581013178 45256233 178439588 452407781 92187597 347945833 56816350 372183472 245408550 447460053 871438233 100829486 334467042 718514133 774467307 10824597 39315620 856407872 534880022 167850815 342444495 654245916 155010098 247575900 854837207 8362785 896404867 741797289 605508071 526963358 786817773 181611549 210018149 176949341 21172794 375676487 899406570 934676789 641001245 69473378 770977458 666711145 646111587 541653745 416522992 631638167 641955886 838518094 24596743 754728320 308785983 188830794 290470679 238588856 258480065 516009256 307341365 665885709 818426848 199348302 382065852 726940317 57478969 458087216 250282527 151021760 995372388 494407649 312542171 420795150 637021650 279191658 59526769 104535108 605828714 981680350 678706901 286258225 935146586 340976245 766435125 519091291 109731861 840585739 942125863 801696468 200995679 785338726 47752202 787519080 282871897 5853881 749481909 344770303 209524593 313737458 482064964 192510545 685140781 163824693 145247720 898779816 139260278 541409640 622605204 52840554 136301286 219376106 235848368 205882440 977934707 795887349 568796947 43704703 333619190 393465804 273239110 829918010 957132236 890382260 312199626 286440229 384194908 310647238 324870178 873078545 478435603 116040479 898815642 370785609 784318022 703623134 513363236 453009749 278540936 229112952 638071037 229561376 49169120 330960434 731854702 534477802 903867849 12319767 340838055 942364060 966128190 636189075 438589352 229152824 803818662 640803419 481591976 980417439 817215183 90111319 154482965 934552707 52428814 981137688 433933628 904684854 284373847 685080574 451985696 270550012 306417829 915463833 475451731 498659449 787372113 408669754 37273733 931321200 783841730 258879827 332926581 550860943 188443205 495076674 281286130 752277255 455962157 919395884 188940035 210755560 263533956 188884618 645063113 457505574 145925687 806890968 315366233 422033090 23514485 193981492 291502148 653257725 182613042 543776824 844354073 786374926 568945776 493937211 335973517 632050275 691160822 75918044 783316969 420113937 69701244 636314141 49449220 201483124 922314934 86805788 820474420 811975281 610884820 212093207 105079593 357109771 648802794 253757215 309892857 471169245 985893213 754201544 410420044 466235975 23134386 544575786 852665928 241732252 386862662 909752505 802512245 267495657 76774391 940063797 818989736 89521784 870245830 346544544 511177896 276761720 340793454 297599677 741595584 466944495 222808996 828387300 812410055 255817082 58453855 253610096 320792169 398916826 769028570 230380406 259523910 411521267 34439851 557368037 117461688 690458538 288334794 229431083 784896188 20265643 275516528 914592204 497022296 458245262 592025028 112276464 870474538 5837256 972468394 234892372 630528662 118772059 68545624 225468465 944843976 700464978 921543039 993180871 6239219 22265272 656831765 745143606 982359413 135440640 411585344 464711948 893468435 820551135 642617041 547255423 384818802 281419592 446504215 172986285 713890230 174064654 371367469 243096855 789941561 645432130 401451041 387712420 90248103 709481146 517131179 272426396 520854136 360293940 72772032 927758458 268820781 566406114 998722946 550164996 163979834 485324933 968848420 320068689 29271693 89136366 178932130 578385940 308333778 978427096 691451594 550257990 907636393 738400265 149744972 811932369 615821793 628682142 554603478 728016879 994489528 225353744 379163109 931468230 671253183 54022362 168593154 294184621 345390047 998652975 157279786 698109866 400953918 79938304 688127639 333444036 525782954 229045172 677026147 163819293 114154803 891041529 181507866 26826953 118540068 848064858 350981515 141535513 750580070 995646229 62014714 889863497 695839508 931794717 515156291 426866464 833404113 941459218 441818801 143965457 470957207 838782089 390267589 144718460 939242742 451231611 848472735 888476109 177184759 303226970 285952018 144372604 850072313 856021155 465629011 830748699 400125057 136131334 590462019 554216640 706951725 651024545 186309162 852769136 161141105 612604337 721136753 190030425 137823564 593794034 218033145 19471591 874458765 846443952 411092446 140075035 340608836 115909651 406497429 810427673 132599432 496401323 892526800 652514809 684085404 740686026 16209427 732166478 629131319 236259724 589347231 998171156 382501349 492135602 923601066 952224426 933711210 887838234 426548129 872618072 227925592 287813374 227684711 877789573 538056062 190096605 488098018 992886090 975102543 890537649 502163376 637123410 113876610 72411735 123821288 438512389 617445097 921617593 673146867 23436117 266238985 185486894 81485016 773853664 631523284 511636660 518856014 44211034 247778639 825867040 473597759 405164002 671919485 799954567 703513410 138822424 896584747 747423897 802231370 374630472 210438914 103324607 301588731 287946462 254931163 987623372 956315685 587457666 276676232 889816821 682513134 534974175 983001784 415941277 119128323 238890628 806521962 212678690 603475123 452825967 761078078 222924495 438023861 873784172 587997826 940727144 205341414 240762847 786523001 98725968 152029010 766262956 331917721 105957319 206067648 397331530 425581944 547692719 845706469 204475970 729881703 592457936 977729026 739460158 465644803 505149113 321398637 432767998 73867024 599147646 736089871 611407905 102873564 852911899 68725312 938469893 89458135 220684846 930297615 370080874 301654764 452853399 691844088 589918358 201842432 997246632 939497594 583795084 655775772 20000086 440672494 446251584 630687126 4264451 726679222 685957251 496847546 819841501 954318143 38753080 301653718 710921419 208708126 93160393 64963942 217536697 158084949 664523846 269961942 252495356 569760896 916289555 575704788 627199578 27907120 194632380 619584669 988289670 284146988 687119760 747597775 338221114 482851423 328911824 190045167 344978460 80970523 555586352 696031777 680462619 516167906 132194082 113480680 696100088 306073248 422202584 249024852 738765701 797455800 278156304 568092656 569249363 3014064 496660915 630815477 176013944 428193501 511470186 681899848 377958948 290092797 346526497 605197082 239869003 407035026 759509062 121119246 408495703 265887967 962007399 481049390 160316567 661520609 294031422 530131239 51838112 303550628 269642755 505575832 670176268 176550084 410269507 407317785 146041256 819227872 281152923 165575176 227539683 238382865 588552293 397892029 981212642 458774001 529763264 21324337 629663376 156281795 44260482 814151399 82088489 784196192 761956680 972680635 609732806 517105166 616684750 186758288 224840980 308254273 19709339 60056344 235982658 499045827 719126113 761744896 618028407 336759570 886331129 320171192 296620011 795031339 522595665 349187658 37387516 132632959 939344343 523355639 45792567 102352039 568440760 119656235 182157774 863301451 610448183 686264721 510984870 728833788 28095316 265718238 908691828 163364665 4445754 823587377 307893057 654758337 181865554 999984069 242966453 813264864 391941336 372464062 833227438 930600540 41730732 583045251 369048370 362716950 215290644 121477664 635896411 228541713 57062627 856274012 703460459 25241331 646050718 699746789 181951916 399038717 656651809 261900111 711991090 809327747 197307077 735649901 239622225 841335669 719736755 229171969 829322578 357917977 591206462 805158193 504759921 58768389 888185299 420186933 22398694 801818137 538724398 417625209 903202013 315957850 746957705 115251767 13698887 242409791 179442528 467416380 106744710 234885956 288617563 329462014 896424579 17918889 838622929 305028472 466984844 761044689 335848486 684831453 782327831 797009253 281389564 444864256 508307854 334127876 186200276 22777091 557682432 908274404 634994290 950735895 873467011 163186063 195321715 91688980 52112393 832344775 22861300 423498996 677106089 207096147 802486238 670339772 254306983 956390117 146681581 727677283 568185155 236706040 618337075 111279376 426244852 754595009 49275487 645315210 752041010 2178950 287473115 526121706 259330815 335405840 294239506 958225667 829950278 777509761 259435185 97429502 19011819 219186634 178216865 336312845 505117351 629084102 547014804 884734092 561693169 141535931 356270578 543980675 873753921 802202162 221805890 199740702 130192907 620261661 980277019 227957482 394823270 650583595 445725127 114014542 614334636 627108870 166673669 885446207 694983986 179860782 52220006 195498955 393298544 760536578 417496108 621772914 338962493 769433930 944516097 384572374 9265752 829580220 760540977 221605897 671931002 760181927 560463850 608086367 4105861 405189351 892105677 900539611 949478143 886936182 405825013 881404357 545056645 541369911 32628305 938110061 365780412 230674115 42305986 471745796 307472614 708698115 268786760 949331912 33373370 967431406 660462993 865075975 684129105 878057375 60124939 921538260 250092308 810642498 976267003 980898636 200394890 892709697 209884859 969546666 309185707 167856414 387005642 630421041 8846477 707721908 104942874 225451046 456024668 739419055 751266796 839111762 568590194 944538123 263356210 871084393 386936551 923839751 23324306 931787185 230814526 748913950 946173414 665100916 664716833 886814338 385681647 896021159 387308468 715768280 136883710 304458669 672790840 195287541 33668056 171187172 487833362 112964612 327251814 650515201 560993047 761173095 186695849 74441590 134719055 371444384 553451334 221074683 107731564 357618893 893320972 237032040 139528285 832235456 841048543 197937590 867194648 972018936 609247384 881825656 277721065 812084299 413891115 222846869 527998141 440048325 694889914 735188540 475807640 310576319 605163003 971224773 241818307 86048011 306007693 913789102 445829412 406974576 713004636 667517312 54668481 489825677 510267178 767062167 666505088 514986331 266571743 114806949 815880766 626147423 868042893 962572335 751717308 849730124 123593932 254860419 455651188 960736328 353757715 81437591 217685676 820458910 65364091 101241507 910406807 352277195 368912132 617282373 756250137 914732357 673512397 905618418 30716088 983493600 146867623 326987494 577939533 312759131 824004902 201509664 852771664 279237420 70243101 722544846 712620391 472129254 718816546 643225005 290298806 1724483 344072948 649825491 442483365 885396057 445887431 671579599 644118714 959871681 658961007 791150285 640478198 110737547 735137640 600816889 259733120 243619886 94877247 313073277 101070615 685186747 639237701 566782044 410877296 240728708 238049951 851057211 555311502 257692603 99185576 468356782 237600100 519795056 173005578 45137118 955973355 875831522 720468906 964582806 212585711 913115722 726242968 735530654 183311628 687872360 340335785 672326379 64615659 34933910 916972658 563709792 837472051 774300809 74250728 192859027 231322304 835565634 323433160 116892953 734431170 985797188 241547272 707992663 450811081 645686689 318694797 12992503 892671121 698889334 719454791 897795151 214964528 979061360 244387043 59123094 866859368 666029102 636235466 434641546 399932167 133831139 961102834 991535210 39204473 539399883 279548427 238237890 701433859 498640546 249361846 504652435 495960472 218914983 260924456 437141405 714113285 669360225 638412076 1029566 115452382 517134429 383481083 490851207 299597863 728607993 809569554 307835215 305213840 532357497 292466864 186429925 93174631 812278524 148292830 153887282 100697857 7207366 197321832 146527991 144910929 191733161 284580570 820262901 723249524 530887110 885457839 115182634 592519731 226938800 70669217 334326 122425386 147921737 184266413 586482439 431111793 942517589 494565182 838248602 855710297 660721747 441217147 461047240 922998535 710276710 950763962 358497908 779718249 900658483 897378057 507322394 478296645 573603658 742332389 404518633 161315448 611586862 850657990 137999450 414253148 537508075 46767228 194513785 340830961 517568814 423149646 524990338 173853682 951441722 144397308 538299127 141448543 314321185 742243015 678031887 286317109 189969395 864339890 278359597 622022391 297395443 103181238 859880467 959532881 169759623 565483650 726452775 238004873 337256879 97649696 559158537 580172820 260453865 171769798 131430104 139429161 952043495 27493794 217029909 552611381 540529182 690230424 882599223 51393613 276941115 539453174 186537055 73261674 575916853 399226767 106969223 805217877 606414568 446092360 968855113 3517342 94150206 58025541 172931678 639849367 34917301 266461228 67797413 506592398 976809643 312360821 643801175 791001655 218327634 957055421 545096610 368490614 416468273 155951908 338884345 191623048 776057935 94103069 46321187 126342602 426357744 194591233 784175414 611644197 115865817 19307341 590807802 275671012 603979251 138981151 693867345 263445324 269862203 126673356 482022957 111394631 442415260 752999272 142167594 369861603 761916255 882198249 249222542 792184064 852673058 765667478 623570382 959834723 581492022 387547396 11874647 110059974 306796907 550254175 644370329 106068064 211480383 960611731 579584539 833188988 463708791 558654609 665566071 268228022 206849054 433955662 868120674 105868485 142961125 866902976 20371421 443940142 224762295 223643255 440767435 169529590 103317436 937726911 253232293 275627530 664521519 267598799 625485846 73327655 802309790 627155000 935454806 739613180 720492227 215678051 652333414 515038004 505303908 697042403 93140176 349570064 839207562 289437626 430266874 768922349 219043111 608989693 218533322 235450569 310065918 348832632 540527016 712704164 265226618 551357460 4072871 287490874 459758487 541148329 168942379 239146389 461455619 518911947 673822053 6287335 800114086 316629113 951142721 335805210 705707598 470367041 641453584 608503546 802233872 247922026 358498474 170825476 713927648 268983157 63942361 585831039 88925130 699649115 587252510 608563812 793549134 975442306 644813339 594546775 816977225 308228626 797906142 400206951 394702377 379093386 909035914 416518259 584003142 247283585 769203776 283188598 363061865 127379250 49136900 398088109 994374117 852541915 242405202 35400431 935978304 582462519 184029896 708695559 645391922 935543589 302431310 663701107 693587172 364204383 497664686 714930038 593718005 418556690 442064536 682922530 63552399 561377850 386151881 184131246 137931274 265362937 234609913 351761874 334368170 163612725 159017870 791890367 535635208 432761746 644476227 819935008 568623797 113288552 984259670 516448487 379985901 396954305 277625039 738782406 220029400 422678401 58733205 569312353 428790011 108784525 259330836 892017299 928970056 360125006 442603195 178693348 173185431 48217936 256707263 96955973 188474925 806435099 335884910 597333301 203891136 709187970 19593954 911888372 375067553 291480356 787918318 395668908 700488810 613510906 713545438 46021409 683740930 705703246 213756096 571498655 942316783 755727012 896493446 944319593 636347880 499086896 100933299 161902339 941366971 869264657 428344037 687805106 206857812 482789623 100078553 368388656 512088421 375430141 209360098 801656691 227576244 458798167 253458133 38768264 111085444 480330398 162062932 831794626 818197513 731059698 966400311 428834159 549519738 812860374 955553690 355863698 494804056 668173676 741310027 883478541 637774918 267126072 728929006 464932163 399340132 56379763 899468373 131700539 608066481 440992675 885984303 519434527 501571168 214283953 865401901 233722278 214871953 669486145 957136396 606682864 235692222 729481427 177480549 760639713 9923729 727076232 708539211 852726165 701048774 591874109 914180225 496824179 376088856 227306729 160413645 217111771 969921155 676628917 291621547 733702212 9081016 234108571 712934381 467999748 951835919 169842720 863749337 369169228 910373377 354337186 817303106 337004431 364875590 395505705 493262340 892661009 255675683 101659647 965547600 187837244 729956621 56399218 145452225 587125757 758449787 275495771 438074078 847394797 519110635 958023561 856633897 552770198 321155231 940156128 885966597 458279453 286477311 626456898 793136717 904786017 275553907 852999690 639997558 209220859 321234345 837914730 56031415 851573356 310091071 693362487 824649210 659038058 695706127 271100071 284335881 461221595 290872206 716960640 339723608 77116447 444381782 188458674 848428398 612821397 924685511 372105853 808717023 878357859 55565450 318918355 432943814 302802919 796111204 696383223 379335265 83314266 479363598 228181052 363458902 201392496 631021747 32226903 493012453 842486950 561106769 665413447 653890644 257188331 245105867 452062878 268876390 450369252 570252627 900793969 535786203 231045830 468416630 518838647 747627872 557951005 549039578 460173825 53393425 110339284 715856966 712429492 44054492 832137401 843928351 994866973 817762314 928333417 105255047 983537618 298374603 764004166 186716845 477009617 589036568 996498 397281380 596652862 133834944 417006570 611115201 261309327 147886475 160300763 812370333 861535210 811845695 183934172 404315151 52977382 125094948 317611936 647404980 778308252 154862216 691705024 250648827 660826554 919522515 936423457 870066441 723921368 973004938 921122798 44858611 852112251 45513171 152322307 226435562 675772338 729870482 15887992 16859199 343279350 800702877 90373501 866805732 986457151 494443069 863810876 252717377 997356241 128324504 805051074 134339440 668888426 443567315 174233196 622129674 951538871 54015099 402644262 272674744 155203980 75357772 154939400 740543469 40380039 189147878 224201285 933629046 515740751 637579814 624522139 498544899 682290021 499975171 896754676 435242459 619272493 144595021 610015492 55422521 329700000 81393056 216665409 538538034 551955443 468363281 262916062 846642509 249913251 153155394 692135165 215328151 258667470 27914219 777964613 189763486 68205787 105595429 728016634 125942180 21736499 489017574 641173470 83118070 646967134 72634878 361865900 300388410 265941716 784452438 36063011 783457926 390174456 476609679 132805360 799859490 485484765 472856460 78814995 539490229 98395399 592513220 243283936 672616611 660741252 26030390 312857558 663976712 478721419 472426100 982193515 114204660 167954592 45676568 832336204 717691944 237774678 270748104 328794842 438856203 768175540 263077574 927390362 399268564 636767159 953006836 126489217 618650119 17847069 552592806 752360251 667277407 801666468 174088814 171372172 276282032 92575607 944431893 931253006 497410467 341424598 380189481 597939254 575308824 712634270 331631308 745926625 64792652 213838050 250939727 696953501 530585240 200586020 764611360 4705877 278799791 759412659 875415963 917576746 42096136 572059619 620070579 772432843 131595352 571551709 983802189 698063671 796166212 196201602 951870349 177020987 400025554 598228045 221788387 516205795 583580956 712705932 216374353 405247015 23385578 985940072 188628489 942088871 194503772 377472765 734083218 760700120 43702807 911079923 727564996 198526616 952613208 111299186 262379957 385830593 329980423 784124708 721715069 273488125 67244132 948239136 982017191 249226538 76831080 874129238 927829965 522745802 244115137 938480494 238717347 978308586 522130349 958315190 141570093 274638316 111353050 775876002 991418999 97934695 773438213 390748430 940765810 223831035 350492905 856355769 299385178 512651281 322577494 289234321 390034020 840119003 896677231 169412072 64513119 326127350 962441157 908919561 944002598 486970199 877519115 959995817 425010821 889047827 40769162 699082024 231315097 492090894 366953115 624431018 41149018 710107196 459186411 140818694 655996931 639828117 670680786 472029173 669502805 783642687 913845712 470769563 160558784 731905395 519011858 128517066 522085440 895701602 765828153 786321443 477048759 894994113 245322667 885355829 163360241 18313508 344321844 388218393 286187457 285162707 169862353 94833251 600285135 27678537 430403756 49675434 129071113 34235183 85414387 658116241 160507017 28355424 80603714 959617358 639019036 174872503 743035812 707071540 224702437 996669086 135624548 484797502 24591275 307712520 817645850 413734841 644093935 204495251 9202777 915701134 764030526 836976720 996301090 906280884 265139995 421559116 77453206 129238266 147384702 263871458 566483334 933620051 805296792 845756818 210002293 796406390 839050457 974228483 814096476 233131807 202278096 304763836 830270735 998283773 506288023 851286756 329452876 845027005 804412245 709617214 650823479 806873420 16913966 69783227 79175885 160347666 159561685 98142782 421328604 694827312 194894604 847066644 933568563 839969338 381445456 76849130 961339111 802199782 119161646 517382419 897941995 234709849 193177536 151085317 980285999 818931372 20141372 19495451 962558815 578898089 37652355 609122857 267850292 433204950 163611239 282690099 15566053 588831977 55145898 616994046 768546930 917605685 73966604 198635758 384686906 443529531 200779309 726216851 488531811 702154700 27209100 252173470 545750413 421950773 190748779 412270267 820669741 729198917 384246383 738646423 340495814 546640795 31711627 576940357 690398578 292222917 544818552 974955622 171513324 215148070 292158595 48803522 255238834 85742440 198787720 969657722 315867531 12242924 379881963 11579043 614308087 83759858 151041275 539442615 305750840 93983827 19471204 362298878 112390400 934176919 607355455 297525575 836741998 309540083 713123171 712621468 717116403 597751433 174129233 605834958 593366974 662591523 583610294 39018478 157144584 576310301 721453526 7165310 452012117 482196649 815183392 631943119 77042375 396947262 314202964 821348696 156950663 455128342 133542306 759742384 399076181 512029819 499085291 855978196 59528811 77222149 462671671 686804089 76095946 719554666 841470893 655501639 40986543 367650503 753064547 248113680 392694814 5756259 297279888 476599978 12921049 155072748 815457134 863244555 646801312 184270741 606896092 951635330 240754749 311040186 759327994 449787784 413377395 732333571 318964374 856603274 451506689 597642536 622762322 269793245 420634252 266736503 256359484 747281916 245258094 19174997 255504629 774492854 356919859 428405124 86587657 827850109 417642940 37745460 72230487 782298203 54372827 914443491 593067863 617435098 686061584 970590808 467543551 607592831 683058905 503587723 531682033 992093059 412344460 267008452 200308320 902602199 269901397 547853576 343493348 740665408 38671571 433749651 895957741 441660665 509060500 360018720 190491452 177081580 362785188 367363100 18373338 923025438 383138815 667854708 445406071 628203105 889886586 573998810 806866695 141912156 325884612 305848438 782392075 903159553 134081887 428640594 601478907 400158212 521327996 884487130 958313973 27504491 172860262 322692375 70208884 731526672 598826771 381309071 364074047 630394473 548455154 345321665 544224613 63173683 77565252 206324789 266440784 368304467 199694579 34659046 259820223 879577453 401713230 953632191 250359902 83202091 174797854 762779853 660565073 688975221 48595470 322087274 334558773 913006947 35264630 467592297 576702732 737481846 856570677 165391202 792933559 782382931 259844242 256980245 520110909 348061799 53007920 438875669 499353748 223361589 263867677 890285289 515148410 655871928 317173401 912464065 353778869 388644483 157145101 759487993 649971243 373619275 143875193 377849627 558807126 533690857 972212901 875082005 560810829 465253026 43611891 351561969 258150996 222873287 697001817 280778098 740584315 808321259 579212776 138408702 131878160 746432696 499378639 112622359 611013446 313738629 895720247 252571046 948492060 394447638 719895976 305828905 48508045 920022510 882042428 211200670 123966632 724930701 455976393 212240608 168586084 577291676 206525006 196218844 511430114 744130959 923627830 767358299 645966253 953213987 45123556 317099039 676756593 612846491 954166916 727702762 729756113 56137635 307058721 316972352 109777291 323417019 920266044 424832787 891669743 981755619 425832914 197214307 186322822 597025887 838051625 755297115 327300822 197072160 710978711 973257173 282069727 849589721 462127116 283315546 339146930 409999888 828888095 193126561 435695602 767473814 659458734 57517237 749208237 102248836 386044514 45272705 438256508 758558133 566337628 183278927 561073022 597998403 150390463 648588961 698859975 234020711 175439613 403435214 205292803 656621799 309653143 295403795 998903431 884888574 144753091 449040841 761704977 275190664 919998855 436263171 806755573 351436859 630017201 719496348 675122455 477541159 618310062 93697531 236743595 694213792 115603093 65352199 740446207 980019377 109532571 807111651 549118446 961073054 285191215 658688447 152771642 613372929 803889945 589942518 777527236 692534326 521420075 884491350 874535609 989994479 407595815 273132465 631056820 347566033 93688948 153752519 637871743 52737987 507581854 192665706 344115800 53319123 374905753 339236834 661072598 883482833 193220284 226992484 662023707 208927180 260509289 606733908 963249989 681015886 475636898 434900853 600156794 683454923 670220338 342566778 882843721 943196270 707835618 298584797 651423129 713859036 465615533 6674097 454263359 59191850 236785260 287675114 510891725 10249471 351881293 119878700 867489296 323445452 229997524 163985338 448941596 603989532 16106848 278861409 575544997 61823258 21526095 504600180 473718538 260114682 560434139 549511040 498499917 742648158 911200936 152860142 492061463 103280999 48353903 499917029 466377107 876228230 810081291 242402325 988812927 416679081 83592676 363736381 512783772 890938533 464584684 16889701 568054993 71570197 215368542 986155931 313784904 636508437 795513485 947367581 872625275 859391284 60234875 588899111 884260770 12373435 83186865 225946144 619895091 775908654 237122979 352331102 640923874 30020351 25934055 139196679 696097 710671489 470655606 523000449 391078399 57707195 413593110 483535366 695447640 630256734 104385985 363918516 904472732 239740621 6961044 138269088 548603332 147406269 339153351 353768569 32034301 658738613 516814805 461764607 893461025 783209704 691514741 45596483 910769428 77549621 136489679 77598519 528103601 955696270 369758428 78134606 577511918 893257784 868446862 17602122 41504080 15268786 405184816 749134906 784603323 980333175 953705751 637572781 636555077 444659848 556203739 486905189 205733878 360576328 625124444 816719054 986262665 556401927 921485850 719512046 830254360 189116221 30857689 108576295 360247472 18811024 278021052 276597597 731536299 355667233 351951326 80208975 484116339 790829238 7404537 898172091 882367500 113197785 371816913 835966780 299469479 95573940 250977755 483762784 273909068 161215401 130881513 191017315 628425918 459759864 526793034 144856494 766317357 660025482 126692223 17392747 328896114 446820757 752316948 128224092 17985102 808139830 192599379 183554782 653264683 87749546 536972223 980691991 234514443 11474448 991835331 381378305 545877337 306171609 477677519 993364506 654520528 751931121 4024842 180567255 975782690 465948864 154857564 564652868 930404923 270187203 71703081 576814604 928843087 639859814 780259 385067616 835952290 141299453 947832052 246136770 521452965 89214398 925110363 940099214 862586003 53779724 575307135 661046536 926240472 892313266 269916310 626267302 957140010 435498253 345772726 247573618 441376961 873869854 189504998 741346520 9979682 652419120 432776379 115942511 112685246 200060853 502009395 753158220 186134662 990037614 266573666 960582780 779520821 24090738 837550370 541129233 291269424 603520838 983662480 510395911 305587968 685456872 275294395 931147234 290170661 866684516 711086341 68108763 689476087 53005070 705447960 349587396 790529552 266792861 299775198 9823949 13379706 58164969 352987680 330308678 525658412 339977365 754954372 264279634 509264948 316051825 426709317 255091786 335234620 200388088 867925211 321416981 90416017 956245185 61681728 803480002 967334133 610240574 472675071 860831035 397440323 656561994 409339176 220204460 202141064 830897203 372844208 547341211 125081251 219998984 427791277 394880227 598644855 959007711 580476891 683297550 621500215 749971318 838082324 77604703 907420818 901001715 233555704 68744476 835626639 448630242 95998794 212024151 387141816 381510443 852413975 442758471 11061705 509720590 164012411 854562826 654190577 171935222 55585907 99397887 883689935 771776717 136079439 981557695 462412529 122617790 88865745 361462643 481435722 127022298 989373137 31408097 757252432 149236242 197648829 849440548 267413312 112000634 244017463 622176291 210549326 974904569 282145167 541558590 105383255 188606020 287985806 674905335 262394136 214147683 4503741 597656663 72651903 404652317 347936590 876091426 926981486 798863253 288560279 97400475 917923742 144345309 997302890 621736471 733591387 536804055 546229903 105843845 653765605 185355007 954102792 911463635 794325900 591443729 614878698 21769987 848098355 607900725 514931888 153050266 389889549 543452092 958031847 921452630 122277617 17464076 722442818 960516474 776039957 783828672 665471358 534927335 126048141 849787421 673020573 594676675 944873381 483403276 404713887 775939691 586196387 270959359 56027144 804744073 609977542 97704338 1989567 994795709 954529152 21743452 17188853 358648228 230326753 378868439 841134050 156990016 435324327 471480194 146286448 596689732 268149682 66029171 84940921 250613671 526228136 399524199 309514993 484925210 876270025 853862786 384494396 687660369 417054638 379777828 480072182 150182800 968672598 282024537 544192630 902978512 291063436 50078637 460873262 893446735 400115964 75247347 28306329 1565086 116629006 598124120 335925801 633824619 885054537 737735521 926713872 231863887 206793771 480322442 424717637 260124209 442792912 421754896 426326945 586403662 854229341 191626522 176028771 456485715 158605355 980063482 493882907 609921646 386230393 875195434 77103503 754625926 231008563 118212060 223438781 742656076 582955927 222309453 877388318 832646238 982806858 829905306 772454314 849284725 150055200 116615506 509195084 989372206 261408061 384683919 980938345 764546441 909544053 969163956 644809397 159804667 196444239 21841831 316488256 140659360 163295743 182511656 136567200 813908092 242065352 874631252 37994988 618235840 595841392 860186859 970854015 405763875 371323119 465172007 891530311 385395948 159511612 767615782 213476329 612051378 681903585 33129989 405664245 326798163 442259424 882394024 800489967 760041930 282404080 799353037 266048358 119571526 970951821 752784664 102104926 361349578 612944733 450178758 543959960 155041850 829854711 219974695 100563114 579835949 260267207 716302042 807940926 744547776 579417431 41875900 189827247 1964744 855392950 769090915 215423052 64947501 760571202 504574943 19893908 118039233 422202807 41717589 584884424 395747008 681478360 810214065 282710235 732757273 920303529 859815001 783051331 161764123 377720014 875812147 54793632 737184020 172686014 90321634 594609368 102566332 610346260 132963915 256261125 192440716 745560031 249337616 913111288 815523508 512265725 472182846 260574290 892197169 234281772 119146394 327296681 407539054 247850872 374580582 859824089 112098161 223183257 858854300 204996466 708196965 182569693 790221216 181635644 303419132 332716977 229913413 816552310 576452520 767960558 290510997 619053856 159122934 862717556 974512863 259004270 780336266 640547734 756232763 332305527 742074124 459619192 4595273 608280841 994611084 396366643 704968455 180640891 175076559 358987665 357011872 331423262 626119519 75198866 478876482 295869441 243541737 978987791 87409348 440877221 923043740 213919192 299244077 749128909 30836709 112623841 285591423 995882996 191134446 688835449 323640889 989092853 644761546 837141997 609448239 580911828 542074061 213035681 502216067 256621513 362905898 870928274 837055826 117092268 222712883 790977009 154574476 164408678 968029325 780385156 885734385 480607146 759166995 798732501 100504037 662799649 69119552 9021991 935110650 658480003 937326411 497649930 426021393 463433012 981233215 965860406 158081110 628585379 411424749 963473157 321660145 971227803 973101332 490032633 485786896 813283981 663699786 856592600 553335337 972213528 456683492 365612667 879176025 784717179 654709169 268079636 411750596 35103776 661176316 257836341 623628508 325426416 976150644 802831602 991086252 148114452 977811064 458114998 471356465 502710446 722253707 451690939 599611902 624720324 979705420 714288409 30439879 910712888 67024239 79359474 736204958 566909619 324779521 262335931 54332673 451514439 332677052 56096443 380935695 531089267 717443430 876199729 838104050 300715773 305536072 463914206 771108539 931331162 409447540 770051864 459034761 783889743 18390870 310289181 827941448 762789589 86067343 495187969 767138302 415857094 54962594 792195818 218018442 851092792 612300206 179418709 930516899 102385987 134988413 629310923 604568674 123236025 22018 559916960 370041951 518058385 499033084 114142620 306405267 212791356 265919972 950926780 28403447 196501214 273065396 848798355 501302730 47122045 29160399 953733893 962694774 24253735 19332051 668038544 105526804 407245063 226906665 949478912 557323873 692432022 51870632 245329675 234264592 849358601 142134894 942057761 879359959 269958327 142552025 178624204 597967320 957181901 665892962 356793378 122748316 756453771 17522200 496906558 620265497 402622183 531752282 298295076 39057374 733739103 347026569 393093357 132847724 5577578 662761526 487393005 451802663 467676669 21623413 110401542 294575478 410249639 302742307 494824501 359842865 667052365 258998369 73537428 694857220 515898029 306760967 299400810 521333809 135609396 28670818 958726396 85000561 797303781 905546953 669972097 599075956 616880402 60979293 39090882 627864316 609573420 523913033 68441544 280986238 119193539 442657874 872940163 476377716 758566323 109727158 243364782 812801444 526873577 182098376 114427497 264293080 282379376 943152469 77381936 160976900 681527497 308648261 111755891 516758697 37292406 396194174 704066801 989211346 328930580 243762124 925468006 578665428 823027062 703521755 47113654 857415915 240795836 459527222 605918977 498522896 497194523 451805458 528493420 121096488 165963712 954021763 730098790 777982967 383791729 277852945 601812046 267012004 859310813 320329307 324918134 174042494 851788487 302753532 277422039 240413397 185834449 281065552 128802413 873950887 320612938 993329076 372027973 251188593 558697758 586610151 391844433 727669875 917135068 189175196 46117285 749266824 55554298 284312399 94634112 588835581 245299738 226286752 591676318 756566335 928499446 396932265 283016239 88892763 972219897 315041619 135801101 164461331 501585926 473092563 149124098 397509467 974679477 410661362 452243118 229206448 111750692 950496566 255111990 71426246 825017559 835312367 31780931 546878974 780957006 381320735 132588320 404668483 284527121 992150318 962389288 807860138 698176396 291162892 583464033 883228086 613003292 607315293 25612166 112468201 584995673 621719528 210710696 148028634 196760324 475919585 52890754 847836510 340686421 957190064 247160949 223868175 596509429 678967705 49903242 669980713 581879826 108905388 656941593 139406362 187902031 10002483 874134800 783961765 847211205 404829699 825886521 646166887 628317794 45736231 485323361 136719644 841453377 265202279 344977168 518207741 568279636 167121053 437945826 39980128 665625508 12467482 896018026 283064555 848898686 639645342 770721576 536293762 501765807 219847401 664437393 619918671 492852 654875155 235262098 948351590 877862424 295847309 313484100 605590788 725757362 221683775 961865243 974026466 376945152 684910464 462604338 861142827 434215043 602961528 891323574 663497295 272715349 849217870 386900445 365648726 245621833 638298220 770230996 357450145 778665113 62068085 207042901 458003188 840318627 320216891 399367395 909029748 551184610 642352224 216598276 161084528 978406702 199947369 788920496 796628887 687831202 826681416 364176398 247991180 419359810 319745909 668673897 378312281 300341113 943555990 533570416 438399958 200292980 224615836 302580341 591100330 965138853 51897834 248325966 158336255 832869494 602396006 942211239 336640380 355198078 916272119 320074925 742583866 270048212 188313087 485123618 860241105 887145523 254180902 427995429 446961179 865424515 381587140 43248846 831793718 133051726 815488121 425497405 476291861 852879451 186900634 295087700 637157720 642774143 240500707 291595814 837999104 110433974 435504804 525363567 206030338 401869625 184968102 849010573 868331639 365610999 744020426 856474779 382528207 594980066 790750709 634275099 213744024 176210488 789528611 716690961 47674103 503477309 580359614 261612333 81654299 987135166 371573840 706793943 823676902 784841446 187902020 20638589 871379467 248032906 497098883 497605539 277877379 731878540 156251090 661020128 344172944 851956735 632065844 769986269 994306072 69231742 88983040 971123042 221545396 514166712 256108731 630780436 331780128 678933463 440713514 632741516 718491502 73168536 141531190 486451827 752563863 547923511 111250630 752065564 345069083 938565372 360203624 124574775 425432381 26490711 936154784 578049455 662823118 74993808 535699088 361764924 533269459 496767087 963456046 693564074 902274739 429593071 479669750 5917794 508067278 599267062 111434680 619953824 966568837 875749988 591397770 618453059 470535543 685867881 341466767 217072004 292169107 845817819 739847154 344220165 488034600 801430830 380354875 627642308 732231897 499288412 320610186 651925854 881658712 818635932 940819343 328488524 193554204 137011449 169220495 129198778 707900391 529311808 285984224 169174433 744816849 196333174 433824737 255181747 584252673 356479111 912578699 606891272 293519299 68830691 938183060 107777129 475785965 213492206 182548299 496735672 107797597 871524431 942148869 740225062 51254361 991998185 486346298 438169187 398943757 105781063 920961350 293843491 428789793 766162503 320121023 428862052 853775249 160435481 387402095 672959363 290424930 88621809 426419014 102862851 237662016 685615012 551375295 811219340 656692676 353434996 113620790 607436373 255487835 612675572 664099090 351967569 257168672 1640892 263850492 692362857 192353756 279346016 428750730 505355402 811409668 589131697 705648274 512122162 979874071 781288449 572769157 342894511 802241421 811892354 164736782 93645110 212038198 29360493 214839054 953227892 750262903 891997939 268712665 861244656 195639500 463529364 17861486 265715182 147230877 79688881 942220080 471334087 918777462 904745455 745265391 58001279 320392431 625992615 942873254 286584631 301880129 725799352 955943970 879433166 521264926 540854811 470759822 132723594 241508073 262811088 480064816 580130780 523640925 335626466 673711718 965409378 950117215 932180867 924538243 361862490 700212081 322541544 70684354 50613356 339649106 531982160 973010370 654653626 524928465 909809839 689706179 194997737 935048326 494978250 613097988 616384999 405281300 411812343 237165402 117870188 973872406 31103222 428479370 282445556 124787257 86497293 12620194 734114108 94443087 389746375 817582659 57852858 630946782 991757179 680969408 989127182 798299377 443407362 256748630 168194223 878439575 982796330 945481736 109116703 715344368 425896826 531181368 728004104 49546564 2558361 121093724 558473778 748783225 586372950 13666413 663031104 757477026 849371036 585572340 308373751 169227932 167907418 282718130 471997876 971901560 192456108 984618993 477293711 200165201 160073760 324728551 842123761 272873844 37687857 115257343 357736624 585461131 443930752 857120357 985035534 369346261 202165467 13841463 663966905 630618149 386135005 673923198 952225062 200407848 227912370 653761219 496877081 734691140 354849647 463356202 36160105 626053342 164929743 48036578 79639858 54928547 302486024 662300017 790290442 948515904 69624264 382574323 202826790 178970135 674311677 250001436 892235042 481397607 93166222 766929566 972160874 61950622 648135839 288725085 989259289 355259536 282274795 849972350 482320538 878070122 302110171 309154750 91449127 782505821 984615313 481676120 751390651 359748867 81324955 169786254 496533017 249888501 818147151 775216919 848041263 440525269 441948156 38387228 343431076 709192954 173121419 425060029 632724564 265384728 206362215 320772263 233210219 88349922 497555437 446196765 598979371 191821521 607974398 83238895 356582993 35165566 779622439 399998412 550633008 918059 901283472 743070025 12548726 695534344 972914307 977834570 824301847 636705092 763217626 594352188 77950014 933247249 231172581 413009726 678772810 63823366 772780270 983788398 39283748 254595683 734481507 658981746 184678313 196405163 789975035 499908485 803633731 300836132 298093378 752689943 18762518 942527822 829338470 436636904 939454279 795592194 383404939 762201385 488935479 109083042 148588999 15272740 956218702 247122871 745794172 998036605 542892198 38828926 71151600 946692601 608894876 159247181 339293494 105458398 945456140 418481791 458259320 728554758 599657767 996603548 841771597 856643277 683671179 718875981 428719401 143410957 111834138 387693803 66957996 889585353 116788675 8285598 254321472 240573621 324476052 884703261 580348715 740788041 770080407 511772142 44104697 757248012 774468704 566456006 44416065 473786727 563733995 671850924 766127986 699480753 234448093 85369131 677201917 404423402 281187027 675379935 392832430 148813283 868877244 459941905 937244458 457585063 610505090 895973504 652266013 958142164 575605810 462717200 870370979 832127206 170096240 94601812 659870945 901128427 323256749 286136357 434825859 736405719 971942717 473780423 738447236 343424166 580422779 534879821 915618751 925737665 48823507 191287890 321399701 83152467 552154654 867955412 680894669 858424512 790546447 622403455 853097499 388503189 359294490 426847434 722818001 798109396 547561974 218375054 280084525 744937908 36606944 59748635 445740244 351857062 264180069 445590052 656072820 936586401 111934240 501374856 898548974 739296005 117340858 293310633 860652292 381119325 460039492 174765937 860406042 11286893 6708302 275547847 209876099 135506695 27260510 297418692 671352212 407950656 786033122 178348703 261835746 971616044 312602569 737115034 210576221 361112546 176312105 814571778 777370453 654942320 2260761 236082693 154015197 220645280 903112373 294740903 521173961 831983694 512963686 272047883 682091741 853471625 442542202 283968317 346425963 737325749 21616405 688542160 139779898 421405516 410162007 31101587 927845729 741148253 970798821 146744839 1427270 413938876 967671947 254222959 157258490 317806958 726264406 71362420 537177184 665433211 438914481 996039175 934401139 337653080 764131295 642127729 949710285 65191782 863166245 787534190 522769876 875433320 147063275 25676421 49026636 449486920 691140415 89589206 673249799 324071482 107892876 178628813 123565161 459180161 601226129 49071436 211212972 645325979 383714890 153451953 92872387 907427903 603862000 591077515 90901537 82358383 604085276 866547097 767589780 986467867 3037301 377105619 301990016 518723710 713557325 489311475 75385496 913157730 43269354 707580527 306878263 677941010 259456100 741206684 685012311 301342367 812841464 474681930 240921374 592322037 766033820 257411847 360362057 626710069 919922286 992510602 97970304 814889073 745142854 429539032 70121744 701578561 180002002 541993085 235808232 218197344 558027167 936126320 296709016 132961453 963230694 42572236 586367200 687533819 462812299 66923728 796696894 258229787 704062723 17063686 765206516 683821673 919780599 904388095 581549593 106939099 241338328 98624217 558807746 581675463 801004314 887334462 886308123 640149650 547183534 62501078 817747885 111799346 542064535 56315132 228760894 491429464 758872674 866927655 279993664 304740425 982393311 314260276 76378709 211763901 352308466 379372171 376049495 255641713 778914900 922232792 502955984 431393793 260433575 566499789 830826824 690678435 307888465 698879941 52992069 559225634 165993280 763938975 306554939 618238516 698375965 958235656 491503494 236742612 246462899 33367224 909198816 136369882 100956736 657110165 692884958 456410237 177800772 668580064 693849534 395430891 897445971 303819582 272772690 636183657 205905539 74929150 932797805 966020611 388063894 875797848 791554841 683252195 895231657 667220042 765916264 523353377 48892466 983042827 174059059 515542449 724949092 973568608 753115146 674651978 8970004 976393694 573616811 727224000 619742072 568415795 834341972 93408201 748212949 958868506 834441070 388638141 949168057 43278306 799958636 116242088 165277567 793709591 20801901 832020027 3619537 372538685 841518283 883904628 343319125 497018090 687366029 275471187 582866223 140181863 97919355 323132809 172195183 711377670 463685929 94783248 162835555 609885141 868573710 49373046 576252560 994522298 265509724 671543735 316807503 394435712 773763695 177996170 958944823 158305558 813671208 687074242 688139329 939318167 784484860 238532946 79874392 973330531 650842879 723326859 371155757 29791147 141358476 612042969 72922824 612966994 191290711 904966022 219176650 832532912 359226372 288449515 100160955 907598896 650756786 426136725 793261747 274068505 159596794 510815345 271375136 945322716 626100258 408583344 234678977 148672106 739558823 284282880 163076911 167709218 754592889 292947639 712995407 446525299 283302186 679336971 702582620 504235774 583867477 101634299 286654720 153743221 909501113 979630259 428162142 196987319 307683089 948853670 433569943 878488011 522527070 92472963 465270664 218210632 66615800 622120883 293469941 555184827 975578550 632707630 169579496 269240779 114147067 783354311 422633448 109319452 179510701 434088246 622421373 116561579 98939886 496440866 567807215 638828857 907869802 783244948 223031799 187780471 547791727 380550981 233007625 266303615 906723700 882144665 481308386 40389667 297036915 638439204 592866412 5349341 894522342 492562068 195592804 939181919 157458427 318088514 426625280 256266067 753768137 154326263 139137465 364188681 196085048 829993432 280597421 826743140 153599386 774615832 417314534 581566265 727630750 583459359 277579182 928691204 881685237 656469020 560160835 365714300 532050293 441214856 15307628 472053137 914499454 451989429 790409647 410673447 463637457 179502863 164665063 556499867 894191060 405793609 391778750 112331906 524443436 363634329 317557045 1018709 927322112 89700236 120142255 98886959 193173938 392996541 201241689 278481108 353854379 500062625 341196260 689653290 281871483 592908913 78718087 873625138 805333831 423395195 812148878 720719651 827692046 306280414 612854459 590404305 42794982 715464312 676814247 457079176 851867396 674451944 530092475 682861294 164230971 559055924 69589753 267872537 400424671 44209570 906383196 649473463 146623273 183923119 217582654 644907504 243564653 848640333 698720903 879984161 117367414 248936066 303368377 874738521 42716159 662858801 810411527 92436142 622803968 900019544 502743977 559601724 945991911 175708176 149582701 114547250 372543798 646430147 249483339 225236495 574881447 526457744 797920483 44767701 975465490 99865713 77613243 850576104 1638247 329701315 523566894 898661075 146849759 95444749 187819834 246799724 81123886 357029453 134038709 132989000 4822756 869418385 560576461 845574224 167905761 384281970 549165842 697452621 121794665 888659490 419353985 28251566 821504172 281238703 40340315 721790837 917644550 200748212 328213953 283306073 4609384 120204797 538315078 50384257 923487258 226790301 287575237 591808384 379786178 45486168 15750795 657061126 205524936 156839073 715046403 731014947 532125767 225486276 78885183 918623964 862366957 581478520 915611692 73178609 550992135 632603850 713823988 97879377 306763373 963010614 173385389 837152431 54220281 114140615 119636242 39503121 724509362 933249993 965015836 469848323 700842655 99661171 195889424 21010916 561567410 538538533 337112103 239670797 962938754 173486307 679204176 438802626 906711408 228644441 611484199 12170089 183737801 347445048 302324931 776822802 416891412 286104782 933048006 98567926 263161864 183938538 241176333 266085185 949809811 853139127 176707392 745321376 327868273 371773877 520546324 745818901 78369005 601717114 714943817 457473010 508497981 905138049 45795198 233139703 633648382 270675412 218575775 859333543 518829752 288653117 233704009 773220530 552904763 405512126 75670377 940535703 831566167 682900218 675079264 101017982 115905004 85657795 918102716 616070470 552186336 202407955 854239751 531262166 211001270 103298820 354979547 299364844 750769522 603261584 308794283 269969223 828267457 332389714 148283892 284780982 237737591 452961421 417936252 502251458 521802953 866145498 524287995 806807329 61710310 800505536 719090376 126320640 269323249 186447406 509309672 376973641 104823081 529481604 97280598 25576930 656305071 57600118 131456524 274496190 185188995 385666738 980483245 162839152 111397155 811375020 772186638 121975127 455507557 380486201 388646179 302898390 104580580 204883265 555094649 401181197 979134972 613131851 21980479 202205137 156565694 373822371 911645915 808747074 149409446 23993202 720920504 101334388 620437449 551560805 194975054 593510338 63321182 594153582 576940125 114848359 267337994 258627375 56421161 812389975 673506781 203118122 957121381 334144196 189272125 479217923 419839443 90327597 64122990 473452903 471710153 17693136 109441443 278532 627745496 42265425 298000788 426130527 794746893 269219243 775704394 214984119 471299225 700173706 668593777 714542518 699527139 860027149 904040426 754088703 613896094 249039585 239384056 557331767 128307568 862313346 249470249 210545794 221834087 784008153 155803520 608993398 924457352 369363104 245963672 116074999 927532599 642067916 942315344 983709926 342456774 438889702 504330272 765634089 903186583 606220139 224511142 910793370 147084543 213449485 547953930 915034108 61039257 661112542 212088056 941296642 462095433 863202424 600878477 783196395 696581901 403339833 559576893 222418719 955233598 853761603 937271246 436183525 37941308 99691844 144867080 772414676 372002177 359240412 82691539 99039819 889210637 667456493 799996324 401889053 620051869 209575719 642375202 449950526 453639130 348847301 859190687 307630570 337060560 166602367 333251258 456187665 572024103 567353339 734787739 450669160 733640819 107741382 76663528 353106823 506081149 141154383 372138633 274139761 270379525 140550089 110906390 829932810 222407559 694194029 111551917 115925840 281724270 166257876 565822399 540875204 235937064 84509871 237589798 476457220 31774429 660576463 290716475 895258973 590227409 131535107 870088277 419522207 218031327 64144330 782985788 138568617 251999277 363407272 75249153 547519906 680114917 604132422 205728593 375532085 5630515 397507376 176189830 898809283 503057414 84179509 32771316 294133871 179223081 58348847 993891008 974857059 848768736 30708156 848030492 209516301 344875739 71887775 373019838 756719640 273043679 476031102 7437199 739901284 388655661 435857210 804329478 770857147 201179511 183684811 235158763 190637455 958966313 5399373 53555507 242001782 713398690 409618949 633128565 986716718 985590445 124762092 846110407 809082668 290532657 844365705 266233575 209913542 580603600 26120168 317814994 393506343 283689286 627114388 131812906 570321525 668200311 177762603 6253728 816869144 828301899 359445805 169081510 275751151 136408193 281596591 961035324 224127526 962288918 147566832 602390861 347705384 165052138 598796311 364447651 221484617 732573643 417534368 563476398 770765587 170607929 693314286 788502600 573509508 835085592 353010649 1771954 355730417 12815552 2223868 811185924 982247649 198480899 252163975 681133084 429439741 491477198 73280040 983861159 867290331 625491929 737504664 397303679 155719831 323710431 843837429 184817262 240000691 55397635 601277576 961895206 851220383 49501008 717393423 533467723 767431945 45115717 157521846 169474849 916559142 71860720 207906466 274619966 789306108 744005676 995602847 740463329 790563585 639704085 903161749 359074162 542104366 896890695 432726770 148653593 431378890 690318973 602363409 42259810 234307793 342956482 209221861 504902673 739572633 633213434 187871642 377991129 243080900 618399790 600988496 471199191 201376509 233041546 820583271 495205624 338778083 512592103 551663211 314499245 711318404 76275526 30117036 721818509 339331735 688929538 405219914 705941603 500749500 346725322 316804558 941176807 751965079 359491772 315712458 308223390 621490435 328393498 767224427 471871323 297924026 478907171 216305886 724898770 296766681 558030404 307899669 695684862 309459674 348442862 457807199 606676283 266214430 687854457 291756437 60765449 99444958 192379669 952330698 89721883 215600928 608666013 310267864 489913097 764865558 705164729 114900035 543710338 541801024 318621232 136612438 296400579 393025213 265971191 119039513 195781627 894473250 926762327 161589663 850127525 736286318 945100603 932261485 747388742 583679288 838994834 860778480 182739825 278359387 79725739 393992824 695082645 527804458 251205816 781681374 92754842 755509031 416140524 440835273 418806637 747375071 554376242 817484085 489356746 379102263 365801354 970954409 754915570 466930358 747365307 795643590 839270956 85100728 638975225 745393903 433753387 163328602 436117768 46546156 145157328 209655428 899679836 219844584 2123278 908899718 18036121 93230426 796991216 911365135 114429396 576535106 952554154 176835263 515194150 918044337 137260272 962075952 350237069 355705410 779209230 374913528 814342146 2625337 113432934 37392514 522315818 344359496 699536335 407391315 808223671 92651807 414284068 33174313 529344851 705435445 605707439 378228778 776668016 344908636 494914991 168462622 96201364 777650554 325787904 36745387 892835266 805553273 749576459 295637954 643944252 672714171 216249936 861752261 726537092 20637866 699045529 389522632 304041807 257997151 472291110 823665584 989589058 123593445 846861594 293835686 760045655 482243356 925017021 482572908 831917847 953896165 784383026 119866527 90722389 701459950 969629677 504247005 25823333 167824811 516803953 323205132 895148880 776116133 806135220 527030416 733318359 187402124 788266026 286561439 412507704 620651358 725396068 574661554 199527754 657954043 906277656 984440134 756020830 941291744 171628351 771122963 323128497 716805145 102975079 382940245 114867908 502746042 669449166 100520163 472867616 953240881 625330249 207151935 205994162 225742374 971686525 178556433 246498499 87932424 995222293 617110272 283601928 704689619 644860226 658962833 17259426 259820571 341223398 262275001 411470848 701871951 228411826 510787500 697551275 349582641 283717069 70984065 290310049 207900972 143141159 197539757 904291556 288932236 344571550 94429829 270218663 770866271 219956853 699024192 392739532 706859466 36500465 736911035 379831824 907818490 23148948 293472960 441323028 214122694 495882139 384753504 92547553 982650598 59181837 619386685 249717914 433409463 805123057 759501061 819485991 925740617 953713516 492180024 7457985 77220176 171723108 148389058 70603873 448366736 62937265 465535918 508019926 989090070 700516256 401543945 377152831 771810913 295854570 473877871 549448824 903316178 943195249 822630597 57703302 843880344 690852093 570648201 755478469 67346233 675365337 24650429 96279088 736348387 681754519 626240843 478859868 654552477 304009065 599428510 742903118 815988902 408098752 592302887 422141393 590304692 414782107 360625652 615372388 773059606 927536427 916274697 114869044 299798009 142206826 581410785 636627735 810373263 602655082 422325117 158957928 168710160 602466156 237015767 786790699 791483810 655957310 283965885 603697846 422149140 976751322 562194766 992695038 398529289 282826884 645377034 841290779 956343737 30834212 998724542 410482654 653220386 960548463 191028251 628624548 679413946 753722689 713058107 904867931 293492714 603408900 921326780 937402978 543378523 639744221 201084148 337446938 23217924 62390054 269477172 479873406 36954584 153268297 241527128 620579955 585984001 689243173 928880127 842948567 211663653 615687039 327601954 804374089 707458425 51886940 854963573 554967691 604253220 286206692 694881631 104075031 788380592 833105121 942309931 292020413 987079749 997998012 316026044 845079530 424091108 282280372 51958161 529951657 85074930 925148714 235717596 77358199 169775084 890530757 828366715 361380806 847192302 458570095 221456862 336534833 757089036 818617637 902149410 844721237 882549123 563975703 138935045 857484428 110542446 210086656 727778476 738475938 41671664 980085763 686093976 544850848 326749207 885782184 560925139 786493956 496822906 649344434 371463972 53058877 561534013 749062516 289562337 899297523 451138762 407351525 538738415 508008403 607775390 451146150 325984224 12153222 497652911 63845190 447607382 437627798 165609626 319081644 188562422 916099340 883714484 396164290 845188105 135108680 845827501 875798635 337223968 239369333 682630403 157335998 802882378 456346365 248290028 665613576 834099177 705951049 19165622 879440642 825083510 810739908 266975661 858918794 663186879 892925939 217689344 253019289 480824686 475918858 847530519 146314006 749017511 817745141 374586622 988079344 112932259 302124679 922963014 428376827 390116097 439071501 726007986 715279582 278259818 308742242 778239087 483681544 190485067 992716439 913332124 105125894 834954627 138138230 537384041 23011052 291117525 111666510 699504405 719660882 478734103 716224104 785732769 209257765 252884263 617771743 860834974 882802688 676778712 692606605 125895611 266198680 222202451 141763804 78127933 468380193 714210077 544604002 388320697 748762650 798779330 946097208 791000856 103522392 320772542 808763251 544444978 203650282 288688414 595410186 601920728 307977590 494210321 141086065 470752198 215619397 794907609 718594224 984068436 921188107 855542334 448849160 927983956 641013526 71990681 31987651 930130279 848120331 127017518 209728574 455419645 595044198 243308280 687395740 435293035 312069141 675777151 755151930 401615129 846913686 269871975 369925496 253498330 3234546 424074636 167102288 89932331 790154940 125422331 569291801 514027796 432009023 245102368 427277503 845893460 651686193 157121854 152456784 719306240 545615304 266083080 377996116 446756809 301123587 890828873 276079768 549742900 117952831 46870477 330393915 546857246 854489192 831100672 886770654 870097683 665566877 523426441 47636388 228706940 264091430 416023885 624134249 174615162 806356584 132488482 462410199 447828187 219624490 706318709 799278827 125266011 635309678 770870577 565768534 184766410 207702769 846970998 305685275 401862709 758889711 2808315 617946674 947143200 681891451 278644102 212104695 434310938 321269423 860639216 390515712 71054420 485839017 403591327 556813700 828841324 276479901 185739124 945124273 255214826 352131391 563635535 637549545 184011772 56218211 870575726 736982196 531398807 49709655 80251341 217076067 985789520 497701055 439133644 437565820 244313280 770286267 449024354 607188666 393381138 102281963 343075896 585714867 889107325 401392823 846014745 696508144 46689832 726450577 810769330 99130998 37000992 8945709 18390960 579707109 37267460 352107794 228385568 234329844 618416456 650240307 928821454 959973692 696018935 985996158 213846440 865155215 358835899 579259141 333929192 10800974 605751432 491156612 474191249 941749350 916903459 812553987 903325774 777360338 754554432 945576649 76023631 176213129 99424589 18711164 445006038 381705170 787456801 345481684 768348135 492315876 454813026 210245114 562363094 427035713 38240973 590261106 254154789 104987864 123117310 13315087 156392761 207258338 240755781 773979162 614519174 603544347 862467595 978706360 396398406 54070586 923518841 764017206 85532051 485358129 373149670 100682789 568416334 462793641 261185699 381252784 114174632 860751396 851233754 701356577 686331843 88182178 183975296 427763037 215223861 239821503 718488050 771356749 816898857 889932243 715519468 672714370 579902617 581278669 714943392 945970795 110206831 648574055 423555729 238139672 416450876 71039487 379398401 224169396 560840136 483830334 539805900 221413266 495162321 666116495 519137901 229612585 756752960 891765148 986151788 174319734 882634951 262435359 492800585 311248418 637327422 100604729 322638288 67642964 28867081 939293506 418353303 697345719 916496800 347100528 22769791 286531869 717992744 488318458 354959584 124992778 10882830 650859163 823191253 645577682 552352103 144166039 922550066 475335231 581101210 680670648 380277497 806505376 788359029 570655296 711660968 999993554 444631938 860306774 175903535 198449025 255247459 178992354 201123990 639951316 22133828 181719523 56444858 664858548 283499749 366302990 450805058 903302632 374026690 594237934 574036163 296860655 609424268 803006130 825677721 918235432 784377399 686997355 463787979 741733781 635106202 517946399 524328445 407281923 26306285 480828410 824054011 270985729 355521812 192400286 371837487 506100565 126781759 841209120 225809715 60652581 357820161 729825875 281790005 126676200 803731856 636440583 143518444 524869297 615172080 591792126 215134941 512610131 677322323 969996187 890920900 880946315 882535058 514540249 295337691 824497078 368843521 654182578 962651691 507377916 247455955 96238434 365193181 3147640 124876160 739000567 415137860 591266144 167819320 60511989 984927280 82413034 758603587 869816172 182810470 112018262 950463790 352015800 562948347 796082479 297037423 336793635 655568914 743568240 88577497 461416125 857807735 989004202 760231785 666476247 281842522 35825292 844347558 517117632 970621001 162175981 214962114 572524701 883841482 867848431 390072184 731307957 807397819 8912460 994903660 984358016 559125644 548526505 979082808 321169518 894170690 893662105 826450019 770388117 562598456 118685646 332961276 919265946 567826254 130564148 635095382 828774978 488632974 117714022 163560212 354837069 96335638 804340828 185542400 849445240 723693694 314113097 169760303 925512043 31946932 306772056 154577969 325981496 775826394 391337684 927692838 173755327 77443784 275980511 569214070 895559336 760995275 709051890 540521642 932360827 499488112 316216952 358055371 329329408 306210837 344752399 507745005 37653488 690347631 58839462 204670893 121309640 127054268 659841508 34392213 934724067 59122762 773056843 112943831 133767213 858508754 636587256 145919210 136996034 89213432 12133864 453424862 559740085 788457441 18565987 494899692 10596257 542111443 521674062 89308764 820126402 172830808 29694522 793596728 544737155 144951311 528239578 901898489 842475753 948779697 207291879 432243262 690855198 852977539 91412096 802823439 819923695 537494894 831354567 183671890 723717694 779061918 132979767 957506295 435542893 502194858 745302048 689939654 28082101 848512555 71692761 250923468 308453817 904592664 229983494 789279760 515267136 322625409 767843677 358530524 544530843 56276146 13616875 399578270 262836762 940332181 840574207 171334141 342832790 151586702 132806081 113621661 158633506 109072048 230404683 184747495 62447518 892401629 2742847 689549018 92705903 408891561 923202909 312940349 511546374 831486767 286041694 583410283 396926764 752151605 765726729 195561008 918351348 796190880 118673295 163096840 336764781 388671056 563183721 695463580 508163210 793920490 938642052 172560843 647526354 850545810 579066579 452648953 682911596 498973852 287590478 464329344 696273202 907327733 137128633 872403117 185652010 617409773 409741866 790095162 603396178 910417891 548979585 283586077 716185339 998500825 501875508 991029099 295037884 440295301 947057872 157794059 44384541 235858523 472441071 552332190 180900403 900239086 637967223 249920960 71074229 585215443 270330023 304811468 897276726 612399334 489841117 535310024 903825222 887098191 29383979 300815677 85599980 49938756 860250373 649485734 302596712 276991105 681172786 487291413 94099312 563671653 756854058 374203280 811181981 29872881 101625442 133354531 267862370 367014342 56556264 767915823 144735956 810400023 287456818 292781258 236931103 234523696 777442533 345722201 407094077 3744341 929159256 409653134 905577826 418571523 674821411 989620157 107447674 454487983 796020355 949019035 354956154 391685145 160872300 556449571 991322018 117522232 258497744 159393690 265854249 872621013 201105856 389467104 317180997 351296628 675585207 359849682 569154074 219297849 348546783 770422450 916506671 943253842 266366854 866541719 312614229 114842649 650161108 47744336 645280759 723306980 659944168 384168102 671771438 318491649 416434581 684237922 443706873 84256321 938695415 275770458 145859613 911903017 972045496 990893711 279661181 58746355 820557241 824334129 118745393 332855878 187879467 542333787 700161762 868307739 317629373 421003271 890654930 719685308 596263984 107692099 98584691 70906546 800116686 290408164 252950835 207337524 456713771 75478540 320612476 1171554 616702823 699122923 722909483 581515061 957516279 468694723 92926351 799044939 870896925 347130112 510848003 638275072 254385495 633863083 602471643 147819133 589228775 887756703 296067800 550220128 779463726 104147022 633848327 309229295 678381463 828257059 807599925 825839158 409666946 680363479 810188334 914504451 890729767 695460066 250014882 698502937 136924132 85453970 507487805 133878173 467387591 304785071 229965213 32544729 426726871 361159138 349345469 251270149 299376254 593000372 243195778 855603487 799656381 769727900 578321166 614647552 701353464 267771593 368659219 812545975 885513884 50727824 481419551 498324456 127244256 361226468 376709001 623777260 958487366 419093442 91919521 110734868 690376139 807867933 37203881 132282049 15534742 229387276 821498011 991292792 355189408 319049828 583758978 11240182 43820614 159007155 155342567 664923120 569913231 868236333 431279448 425361169 228280802 411064845 402309241 417919638 608651866 483118257 540767959 855493914 962625835 944011257 722678261 715629549 583661934 175244886 200026154 218511482 493817937 590235971 411738777 169711866 319425645 420832809 762935538 77601034 12354106 926743235 697782436 587807799 430482108 36612908 9087132 738813067 173268897 110891041 760797796 217073157 51155389 450482042 890778843 676969253 183307469 107510384 191699539 146858629 437288857 132332928 478865762 994100651 773180904 213860944 947749427 967377761 406030856 807688121 657160132 436625011 225964121 270213176 202302513 147086070 140166022 276542298 207946277 62307888 427550528 655048504 427429994 165140862 212205265 494840851 454529495 500844791 984614153 144050936 777742408 783426344 703812860 8001148 645798962 180523866 92758305 938949108 26750905 86510256 10745969 874477024 793054076 781867387 116409020 10897822 75662973 652097600 508378486 816519062 306057574 545465660 260030675 590833747 601543179 339501413 286718658 668432616 982216100 826449815 579379763 516242464 954641801 670211611 714312819 904496650 738637461 645239349 655545390 376542966 972420750 772455641 137200170 772057245 200701496 687443325 35541952 249552237 527907461 536982303 137324480 678738556 215432444 721829570 165477534 468200834 939454500 436429276 847137225 92792562 288074046 637513177 515561448 606145577 691348425 174152149 687748945 812111 142423063 987198505 636299938 252770566 879144460 20394266 248351200 271497212 215508711 311787116 498784312 150541158 170603222 420245329 522194053 466876809 331295003 446853686 13056114 865130703 53802673 796217895 425798347 894839470 248301698 710948597 856476790 679701585 261636124 706377472 807285513 272005664 299229875 413775983 709374710 772470653 907237721 141828892 272181364 239999449 735158480 171500203 193679844 590017419 285931158 71090440 766329812 480759382 388601760 6621270 191487318 153366171 8370143 959616857 310164791 324640625 774923359 684379805 247805845 152463086 380907685 769787420 285642587 263869595 691934643 328773571 834905550 845874136 467525401 299968906 634547888 498176272 129317558 935948110 911649542 331345531 517367651 251313992 265208443 26087811 854408530 835852140 339120829 26406501 969204018 199207271 255761210 266504636 809760124 412671900 718001161 579521289 962267477 592530968 351565895 773691823 660007487 985627090 659204709 808407689 286500731 121641938 836668722 275460040 49798971 611379105 945929017 221739332 748414262 405920515 538321108 689389756 398180586 180099863 513632856 367278077 191646327 566200817 764178673 230266296 53532335 161350343 414071005 113757558 655471762 988997704 803490234 158321840 293183966 1307896 442490534 2054336 257536212 654612967 520617683 101073917 513446618 202846990 349031746 619345259 127834271 82241480 925138884 687148742 158614112 143755534 351284311 25917549 767531785 956058789 312231098 291072605 32076691 766867934 293650731 85486694 970083100 600102118 475510810 435044673 674662494 463065309 279367302 416422082 303880457 477459373 898092498 753979726 760929844 728397429 361196743 273414085 345902080 329868536 471603961 39135746 658218361 428691158 605404245 199152033 379388039 796807686 877185191 254581286 846896735 612727174 499825590 629610169 708748033 46705765 939031683 47754197 254834762 93629608 44411024 505277791 850860407 549772454 837189715 182374916 705863338 137619699 83579892 529598496 859710453 536355542 656943007 540476431 825347911 587067151 209930984 660338676 174396019 757087361 280353952 702467686 954466364 317405617 733631451 681187852 351241845 188547008 543878191 50232584 929990301 183400104 473387350 863317555 93820763 222937447 997647699 288536140 342784889 252074082 741224824 353268885 237269493 952982239 954307675 456809050 602530363 183869291 56682253 214813546 881027281 582335985 578726000 496905800 126025645 918772147 195741696 767783364 58906660 524532415 787381177 119579433 723041268 393638447 405522206 717645778 176267284 971869802 384543376 65564365 82640450 422123038 191800722 655714304 60467157 419615338 429611204 36531401 387540232 243369013 76858723 958565367 104871716 883101662 407828761 443666256 330555780 362832848 173858364 240484318 45644824 204838847 64474892 264767095 537726271 944142652 326697547 51171532 944411806 17006554 163576397 883550777 332449021 330998163 94599288 799856894 75830760 87145666 73379039 215533616 151041087 749100775 532432285 178632574 528300863 643943441 313375532 800692386 800119645 270183220 463118686 694609722 285480492 638567048 485169680 60135145 292120042 150293565 177502509 831043953 795804867 447182968 407550270 384157678 643592184 385512845 189672799 58341967 515080380 285310150 115743729 168033444 541252031 742076925 692512466 838359083 935206948 927991794 705445618 710818594 389283327 134324180 764473478 74982003 604994946 596036046 665662206 30304584 774017597 637161438 786972952 496446828 337290754 541492152 196185470 782729511 162213294 300651954 469888826 145208917 258783818 626955790 985137907 59039948 176718649 74128882 236097460 1505216 645850558 63253066 597508758 987251539 488599385 327801947 350538684 845829014 44522508 192099792 251478505 188617562 883419674 102259656 57217398 230259966 252495891 235966535 1822850 202892033 739343490 821714957 439150328 231309671 623399111 193952956 908725224 977124468 993269249 797777908 238177015 18794945 101293200 813667105 391726287 814252943 352971314 670063821 991102918 214658787 163111791 230798778 537622958 86126046 88084667 707180280 419709284 871441196 133287205 167523884 901724275 415242549 679075944 707608216 573180941 756105263 322508613 845753196 606556272 874187401 964817833 716226398 635572068 279872085 621466745 983523702 997508977 228093294 958886372 803077926 660892086 384085940 878467187 549815583 51714279 180594076 460928029 603606213 491764258 448194282 994387309 43200708 85919591 740648862 175511066 420472180 447110222 222843724 215987190 426602566 641915990 372823655 692910878 230658877 300292988 171421476 121130637 422149436 230314084 907888885 529017114 201193996 401936465 376666957 763509359 796087529 810396368 562370061 367638891 893849135 460039021 631378575 155587985 673429877 163909573 25818213 516040449 532176244 976212626 450516255 338029401 100355038 483150303 971598390 36673888 146262501 171256237 43496432 371879239 577026383 254522699 616298806 374693221 626576365 906522685 537739734 159142272 335567222 531717469 496764530 251255514 176106814 918884743 890063740 811022878 98398706 629839230 265187846 111840626 970660594 553174744 272038330 508639456 781512423 874892105 381886832 241725984 120115823 105846506 637846065 113851246 811386939 149926824 326774876 699499517 685520109 896900305 675054904 131072060 363349797 703822500 288950990 908297311 448577648 830297143 581403335 658082733 570814523 796322005 648990516 18159136 737717405 792300927 964301399 692065397 81418021 294624429 330899243 143568613 757953198 974589148 433131871 907332637 881563523 564983262 105712062 809363282 945597043 264543231 48834330 758367206 916220663 994110990 725166035 849800651 416326381 154392956 673346909 864363768 641578808 606617310 579486449 808469305 106899188 381015417 963442447 494142627 8748649 361626330 605054157 241064013 927768705 105997410 427023086 480777416 62465345 33319175 40408599 707319773 633654826 493052792 167766962 6232863 982225027 124125011 113414579 245520243 700444605 105659674 626087487 550268891 44715531 666146504 300981335 857365816 741598139 262322992 769477463 478939978 294967460 928199108 210340640 959490522 194761815 204436133 399985473 804754990 977174155 342483731 926668131 512974474 286423072 43994387 614550033 120044699 9339979 454544310 990936456 998244550 536191114 608206816 878167517 78918492 212513288 851477745 776831811 910216188 593292437 888638786 882191115 931747864 519318380 909380539 393229774 774432087 169914720 656870075 865767210 637263828 26607982 791433801 150713072 730846099 287611872 182183594 724717415 692119160 386858946 949391231 597718072 953670732 156457334 127119218 946126757 883886148 589997346 305027563 644731620 393204178 568543235 470353788 416196814 336140492 683850867 121557715 752572968 530225292 950307562 73134329 271002158 70058201 611962898 243966821 105498280 434692434 368305520 674287274 767701726 299771545 900793582 254203528 385031561 116985557 308491810 20849358 53630731 723462400 209436371 144072763 14129667 82849320 274571300 999079118 618284903 582756770 943202400 819332765 133964502 463838906 545027643 358428413 640004413 736603547 276079152 768840199 271648128 876012124 791938989 370676205 878766461 522930742 285654326 135555915 281963662 937334925 173123165 956872759 506530442 497870495 209349182 90738478 543696509 186576654 6302893 34235475 652669253 15134453 366352712 313797206 409633406 389948973 831651588 73288704 536344471 306451028 86830733 315934831 15548765 422794734 936375214 380477049 880745527 544147797 197572504 522985725 85685469 277659598 984904842 533625264 722817697 977260298 127490757 212720067 621376203 701716514 115416137 665805997 213446405 102353901 590340625 490285795 894313901 69119763 770372316 777212001 878775004 37057691 535459670 537293833 272114889 943896972 674738693 152321488 175692405 631952359 371267678 63505193 643615171 634721725 789571237 68084275 274509000 93493902 549292201 854960669 150979931 25068003 5328269 407611076 401445880 319435863 837928072 958108924 139595970 949566504 243713110 430587937 447962466 468389151 914340340 56119735 610439271 286798652 932996613 321669838 845370296 75848288 682978969 15384798 1645259 662927971 293328093 356925430 211115478 74417246 282656556 663330089 527057517 88550808 297023590 308958532 763804884 433190876 558929868 602665591 618579143 280419048 602973042 766880237 185398091 178247213 890925545 378488250 290476015 30104840 745196451 311226683 163842910 617611335 598284557 228505048 37893185 848942859 613292111 144159703 111166993 416604704 235522030 883314792 476107926 275169721 865972384 194241782 677664309 678070232 138543233 929241949 979634194 764670208 371918674 581694139 720772157 65689434 770118276 454134705 911434297 18149481 392230252 977821694 666401844 871372243 369191602 347372250 108791497 797881490 628272717 60730738 31645779 558287249 241770667 973737856 361044328 139891234 291996044 733559285 606574362 312448613 292918453 271782957 966799570 478066889 248636524 272512120 764627923 925464138 543216399 931964154 467677710 330686874 236602469 800616071 825360587 765295365 82869628 194346843 186512357 32948778 621711270 610234000 369121578 329700288 880222095 839461437 515505063 580518876 460777034 80211521 378494870 262575343 979173283 521039006 253728415 795498618 980859295 590142740 166202239 801794438 295380603 645145297 232207799 215846407 857324073 217841072 595430558 253918993 656112562 92373933 293350065 64574638 826262656 178560088 51124822 32807158 481045362 186813080 157293403 35297076 733332660 679671618 581985738 282144394 461552508 585137497 759512529 910741229 813304867 717356868 865222532 91650783 426712832 113784663 992041618 385193778 119407142 157101723 101863603 948653288 180541025 6212035 36811658 117876257 113336425 737056923 217830688 82618621 565945146 417882507 864332408 911817837 356756803 332698919 685175505 899136585 789921933 639645468 758222775 241731025 866019711 433600723 280933668 494219693 549430764 179034631 979739205 972129026 57203717 903361506 264595116 44331880 121980321 806608542 773346746 502979638 489237662 738869407 133681218 279558862 362802503 290111137 174936502 698616078 216367769 607260475 160834198 23885998 641920791 14212899 418539902 539600068 47878944 42683210 117214399 726923095 721518954 363622199 122789624 96212584 410237678 715742735 820074645 188007843 881496149 688236785 65374876 734131242 569235299 920170162 241626276 949651173 513666476 449451526 263552622 261869649 164229075 890970347 403426955 289433665 631630391 227230509 796159460 41649661 323221658 179915238 570061423 382999285 810813758 150457348 231488252 801844891 2283917 216216306 538809393 575345219 113759792 359293842 614078155 505162383 217472620 820676673 294329791 742355944 58388812 165984593 493813995 611020349 75330382 438039839 916933427 107751323 181337159 783647375 808171621 747743776 10969204 889216379 656491788 340454260 190865798 859368834 44201816 73348612 379333086 70882231 889538305 48031096 219641071 403502056 690764710 208663611 580978634 47347156 132888100 753873800 607862008 969156135 248874820 117003686 242216623 462447392 4052049 509908812 974359097 384043720 328910011 310204482 676038157 353161964 525299632 791468919 502791511 212298545 352850478 417667298 856959786 52688483 151789353 945991951 969559919 218692423 546300366 205760718 169371979 329035680 253774844 968601947 290822270 877934684 190171774 767741592 951837620 696565177 752794259 325983429 846113402 131954937 689658653 672842316 406363279 281409613 316358046 259584643 419538138 516927248 322823084 580766095 160404396 696418203 827526800 383789524 435672336 875770750 571114596 743219700 452533459 250604815 179659068 114621965 700772615 635835859 500408404 872875245 824909990 427261927 201447202 949915213 91590452 755672565 266834758 174587082 810967067 373874780 417616516 95684226 625223777 90301538 952949102 784148264 289900360 624139399 847129402 28232644 702814764 28515736 356428287 599255677 594455632 242596149 134693182 325723072 340481388 375157845 804764971 855635574 320773016 11157345 227117442 583682203 41647607 46774113 725419470 591561997 39622114 806306105 412999478 395383063 566147782 21195257 242237588 854424868 142695391 466008057 275753971 710711618 667575274 575452861 937482577 179411991 297925299 10395613 705545680 831967802 975350163 468926719 882520778 518992838 23027564 283854716 637514751 76176022 91215257 705760970 534728502 658431274 697441844 958323717 401039253 937244085 88662482 410871294 104495241 922414950 488558669 26706090 728365761 693162169 258286375 495098381 293521190 922008399 868231832 320916247 653980954 459942094 504478605 185324586 16824045 917566372 969980203 978062224 584345057 470109357 961693860 321629418 160873717 536855599 809359568 680725475 515229938 604849658 859547044 28453529 219908428 985409166 189896290 543784851 104366547 210471742 653003036 195063084 726927108 880133470 761121467 437264552 137523489 269663112 808335378 928905274 948028643 278284406 331638915 815795761 545363407 691069786 109044126 418502853 532191590 233887531 976344898 355520414 600445535 620142762 233532818 401947282 462450101 627723657 656068551 350136100 443505838 287891837 22785791 47182280 836183465 733582277 185180209 863052680 923541747 747618883 12062750 181481758 79126863 200856785 953467076 370963099 488712724 786805576 910180613 745400763 207452255 485061066 101627737 977460966 925278899 114605426 171926946 872201567 985364307 621081608 127486839 986748724 44018905 366041965 619160127 827795417 801504777 20919276 900159527 806920610 973040523 92457177 336328135 652775714 378958725 623987381 185209150 886650990 739131911 834725660 770102065 573119440 973832139 573826503 760060022 324445095 443844763 740297727 219975594 321489497 205512281 799305808 320933532 808842863 248991554 144388329 821911628 189232853 7527083 116511714 902193425 732733700 842498623 938449783 181085549 24829736 84110764 7449345 528895390 906016826 379576921 768972505 908961066 855846689 525472270 206502936 113581850 101383366 634358401 156066750 391210793 306080848 391057936 99389661 301353397 462309349 968009069 933352542 39372886 221120241 706257302 155041845 964421897 807610740 901722273 904065469 90882447 622533061 79815513 161118976 313458117 662349924 793808045 798301746 439549524 107154143 512045708 476617625 338179944 380688918 666153065 461375595 848459839 940248176 354631513 625612165 54684925 218044559 819979911 234406786 65007655 322029567 551267571 701042473 317541287 264035522 325880433 559317 428612886 948687449 531121589 495334822 320758285 759862784 695657550 229572530 316849180 611248412 155933016 474760478 475130535 42313011 84319502 113563277 191779180 40065933 186022724 646317148 275390145 403797121 919080631 92981514 316249848 685345881 567869627 237264788 223052586 276837844 519941192 687601777 860296128 244287661 564512489 658732834 976859645 128371264 773477962 873291947 78718845 574605127 863354358 822431422 841218773 820506845 65095557 238766207 181291007 408337090 719031119 810898922 471512163 923150665 978929538 101738292 962891926 839232423 411427274 354900987 187308641 199608883 24298238 470733544 445787658 609930972 995457887 442698141 5264023 803072312 229763878 469204735 973629421 833019235 734589079 718863434 278790493 128101033 786584024 848177502 340604956 742280142 838341116 427399790 138236726 638789276 67468814 597742066 863064013 710496110 958327735 200131565 104628759 916557182 676718847 573990353 173606948 941919060 274576728 918643086 587600623 452405683 58265965 103999150 124639767 649950134 22568202 550665631 686443944 132886317 982977623 939801573 352862472 44740649 504315785 229341747 85436340 717941774 517963919 305911578 100756627 791835257 860850691 478119051 590678641 378453483 975139925 807602583 702639977 819319319 72252414 994541782 218397891 411679700 972972629 602731410 968909102 125817048 895735943 229237863 459213772 324467410 84938750 172971189 29817740 873839222 483471306 130599944 370551052 455313117 649777880 318305906 280625918 850374153 997846669 734650678 338488765 627432705 174990144 484759886 459457551 453958452 678130089 544878327 861697834 955855125 358184077 966983653 381780840 719726892 422876821 381033514 138663999 364569782 813032222 340435590 412168229 174606453 99913923 556541316 25534907 156389166 474758050 491059376 569202055 539782779 931012113 301394324 990739906 229789203 771801512 288937121 50638301 72606435 516871105 130212818 367767391 78938353 397655645 866330359 766458037 918651908 326375416 49163335 457439260 902072541 19715502 589170499 72953402 34426348 844018084 18661100 610225748 233819661 366623954 420947728 365959536 49215486 603724952 774878882 87990939 186984331 516326099 756065553 923048574 176080279 134636476 169955995 468078848 917864637 618543157 426909279 427443908 781066056 868839206 779307028 306048164 687776824 537950965 525690660 237561384 673050963 651797338 264716709 456067159 346443135 836728980 804715352 206744917 193230180 227827472 841689481 505652245 974670170 674884055 510175056 910726617 109712855 788668998 720953793 883648460 819896451 870574628 138823896 407366624 406448979 362705243 630521257 719290492 53910080 63342467 232242044 592791875 112052682 367800989 348139203 624497004 347317209 529335459 865143588 15958617 346475546 786520986 346733350 232222813 544295970 720573101 106835777 246565897 197977593 10534674 720315079 351009549 842002830 609920954 876030688 967459987 651863440 588298617 67126580 942281466 638476943 578052543 970579096 945509953 761659470 721860134 673632578 204146407 932322050 256132989 773702855 212559026 138090634 997613780 19498937 457099655 527533390 826415494 363644059 298801952 794539312 269701146 241657925 172713852 151443269 972921129 736844022 594682148 871746269 306835126 935029334 981354938 831890487 439450438 903578030 645312521 701631265 842256073 621636130 20878730 111626886 932011177 926275780 149768211 683129625 153520283 363447813 165785831 385682018 10696082 458101257 131604201 675563377 58804149 106789381 267488401 317344218 103012708 847293394 933069088 675709035 646030304 447909235 791644750 282053383 720066687 927479651 253578520 674548876 661480024 275008213 486267442 642941834 883970059 65177341 188049094 112892266 36714519 895525599 499097915 225717981 601805003 315123262 311720566 710679202 42143472 852681629 886838121 739220335 292235634 51437562 667669176 650378967 499053905 857193952 683291189 967829668 160244909 172648274 159418841 559291351 569589959 287913802 805476370 164469001 462810379 683083981 560933275 655599063 140674260 287465531 707109767 418818140 959809804 87622259 338353188 503254117 14225282 212285610 543871660 705742019 282736658 942398900 432729241 54358567 167798831 824639792 6392665 178192763 839622922 338125811 70257 149120348 669484870 926031769 286339458 89568568 391974318 363707170 116572670 499802767 530321801 599132237 757236844 877694808 79518320 214171935 291931678 966582587 186058770 499498205 378396103 764656740 491588854 974318917 18409262 302572674 202769963 643975707 698686444 576803525 703865159 24897885 115381897 29566716 655218380 370141694 379098146 922137443 940377531 509481010 427556469 868367646 100260570 244086151 918558004 305622162 434729993 683932974 529214722 845902721 67481544 893345899 365720830 575185310 10543774 262884555 166918044 276946774 42581777 864864802 537176988 487112528 747186173 909537876 649790292 622556223 335951675 59096795 61082567 327160981 317553539 627453211 138359595 960225452 177493815 698278277 648746636 816690003 140823732 482384644 667350750 121751504 796850899 857645138 702455479 537961551 154029425 982260499 7052006 861997589 586230341 778427739 955147722 883274653 230438689 161085672 171783476 134012699 158960815 912718943 781302717 37536623 795965932 268086662 726091420 263110465 419129067 586038023 84748620 811579907 457658672 510844079 780057968 262493859 89196451 782044874 60441296 638315076 296289612 920808712 814819621 287110729 547318987 426550056 53428769 263615529 230463008 145693290 731179722 154795155 904281869 564356311 697585017 837773880 277624053 518854321 239726126 216808043 133955230 796702966 966983674 886183913 298582392 252557969 165302041 268222757 950702862 73457400 121953862 705517396 548930347 266697045 963010754 4845066 60190954 386579187 171525288 313999784 348757371 769385339 319440084 600767065 625887346 421967521 316765441 165032104 419183785 545688622 583508925 506975093 939640748 496095463 362991710 655191322 479785694 440566434 197065423 500783416 412436352 636293535 313125926 404929635 821938226 904333237 984358475 488015062 507748823 922085676 411869743 11993171 425299210 526596265 551179590 41520107 130906844 308979721 246187591 88317882 578321087 299949206 643079078 363199400 655049603 112377903 113616263 938736581 497941416 907826429 383226455 18743367 796346813 231424566 716514180 282198257 387398648 409309103 824577139 845054086 160553513 996207883 868326342 542731581 282120016 81325080 539313806 864933009 282911117 730699141 625291068 748007349 621658921 24315480 445269068 569320928 722929038 967074643 437017396 264849285 495385902 739532522 802262216 2184858 752483766 392003829 211522925 245298580 911425611 872775948 616724461 302557109 193444610 774737526 646247880 694685079 949408044 912849424 960916443 272922945 657743868 293584781 515625560 774178560 165595842 844738945 110429985 97184243 923742655 41040397 230953572 860929104 4943811 125993705 327276068 278586104 846499583 481499444 303328233 916721014 675225346 167552522 184772365 867629709 640820193 90785398 121679539 125913883 993465793 400475791 288241478 895458280 800660996 656316577 177376402 117186172 233374436 368003341 687890893 681077379 377936733 535664708 853834123 631922599 147290665 152299612 262173132 192913385 475785991 381529381 216107574 390807732 266771062 819989727 704462315 297235101 160056616 142831423 181559488 31662422 254282921 773978994 45865399 422015481 323599700 602489276 122581284 887310062 849619954 592196383 465094331 996435190 608317076 644236682 324143384 254450571 878162146 987646767 654183440 113183201 123218190 122910555 381081528 90327111 232003006 632602169 120638632 391053314 625193645 249095231 684252712 47262393 990877639 227849423 307795241 28732252 214143571 286614863 937852065 246944439 733540916 626782216 43397172 307183301 797488916 157934748 678042592 905888293 819893911 265070123 939957946 613976332 629398414 915131222 51033627 369047441 661414831 150650721 869912748 130390363 907782774 62688719 710805969 151114332 196013058 768818634 483918435 75199914 444515734 700832918 538008026 383176977 210858415 48618083 18427649 171452992 392085797 428715902 153368461 812353602 211385152 871515715 663659097 497555116 39548406 564035896 965575977 41504078 664023079 580603993 927072669 226365442 894677463 711895926 32443496 162729505 180761595 640428625 671085296 85232827 197900630 369816775 139953933 670996606 898400254 581837869 620747874 345237440 251417737 979237228 632706086 573002788 862325071 690507114 992779791 486116132 713018593 891221460 527957027 734653223 368272720 782273925 282102974 509226673 356494321 556548058 188562275 263485402 39451888 18385425 811278792 589235375 664335331 910295305 142153649 476797870 239593017 435194537 801807711 545435818 265980753 75681929 980260494 414432703 534922157 3364044 691240645 172665603 125780496 212566208 16389408 434233639 51373783 887269287 63890786 224353534 669777241 349000175 89297740 952442013 451413740 52485774 122370384 433057785 227713621 894715249 208288560 198515177 552910640 645589747 489689959 378199928 878197345 167639091 795938750 677486554 863011345 972222082 98061097 358693836 19613299 963691645 243826688 636870781 414785589 382730337 388028778 761919801 175823749 650244377 648737736 919879615 280783495 661671005 871597428 316340492 725702343 693690427 38901490 71832869 279398992 45108704 727442525 145717807 726801398 555179133 534109799 614276647 795649856 870290758 261524688 50994128 156478241 112438273 982186138 750422471 160187228 814115782 484482872 679594764 554500346 550750734 207015448 354324524 223996143 583084017 267083880 334891614 685560579 161069287 21186349 175982749 878705614 458472960 520151211 667817135 563800095 255204569 103938941 640355412 196380210 351239535 457992732 934082173 640361971 939321283 778678276 946528921 740009427 27096065 587005334 56276266 360877908 54933084 123970446 28691109 683415533 900355559 71812360 501885610 301741575 297842515 229051433 343314376 429179822 163613124 355568818 83414126 590942503 362707421 353134561 63675411 686910596 788663370 98258819 894002187 12909019 150319376 395935288 561777502 974665461 957258179 765433490 737016027 369904481 578049732 94858018 462926714 905709469 137899274 720276313 529696738 456508386 795356456 3000624 247601279 986953034 342603472 544125538 154460402 153571548 698855020 636324853 976253190 597121631 956221598 570412530 981772624 470074050 823676778 504045682 397836106 996773 358447494 260893802 869886961 599562956 913071754 881037332 361838202 261859340 954321250 81074976 394624556 295988243 899125363 2860067 222054967 478651473 974000654 92134966 217838811 199809328 359624204 558856110 657153275 753307286 950096322 763441125 744487612 129788427 62667157 182812893 541845120 905900171 961526362 177263793 601968849 101255173 994482191 763964638 899018689 465859420 442602867 388123964 12731611 35656249 572491016 76860769 823554001 908928047 812318303 565322874 405727813 491266819 244322130 799054917 49404570 630887373 773402769 231662872 681797097 437760256 282298022 5359202 294409471 392881172 750798920 549637886 734176121 777634676 43532472 758573909 888890522 154095268 39215489 179084448 594870927 697932287 166005611 382161052 293326966 46761051 193909898 561360647 984748533 330345261 528398186 448082739 201866839 911553362 926560241 128760866 698959917 442965208 348298205 27454423 40405909 290881865 21788846 981484455 948794896 33383208 126614234 638748251 246928677 152502016 409584070 59123241 663127199 376005731 773013291 415367185 147156556 699974033 220099528 182161049 648050673 183076950 154817105 731008880 917988564 304942816 862320189 57050579 440545227 291959614 254201009 253637033 675802301 304810806 274064418 556798835 749705894 238937203 892581629 253368280 376526037 109216022 793215440 326061615 847691493 81942060 21646419 267995017 167546881 427292623 341566142 858218085 548509483 356701831 887153259 530140888 597610394 56658288 762261408 528450634 493055434 611910034 948408754 425677833 578626684 239564996 159865348 74829147 723745060 85623860 597385350 888832091 502169431 431198808 182720610 63856557 966784352 324004938 257865278 513758565 547209686 144875488 439529725 854263952 707161505 113717561 175411186 981914366 58840115 470188738 62045625 652902941 840770836 738047048 974268475 764071499 692434370 645657637 570509124 866589090 89432507 415710523 321449071 884734610 271697866 238597249 20662442 242896776 29084708 300931980 835292096 758499707 108496510 106738052 33497803 2668733 905515961 767480310 418967214 320581653 545550329 576141160 413511296 460906813 124498743 298359099 698985642 399139562 848145001 377459336 61928048 280079446 445692628 236304971 451497339 961567950 704039174 480049697 511289686 215171661 137970243 89463721 827386846 327674918 170133284 839579484 383814828 817769536 249745456 343970941 910705393 785256341 227507259 4757204 285803979 355964919 389850778 621060047 75752681 383472721 747209615 347658588 89442568 314038182 506198747 379880843 327466422 853372378 52295026 723544572 612715022 764895589 528899974 380886259 822637599 8421802 305089466 186595430 914309533 224224304 724421260 610731924 62283546 897083177 879237544 503934292 524605417 19664123 859837054 78413073 799347873 288620891 42539029 325846104 588264231 98338986 478174971 891363067 900399488 162155255 121024829 540372462 758187260 328916142 798116717 237074098 85043195 470691394 747935992 3437139 57063076 303428324 97933499 790540751 945135020 648075003 673927634 902990700 122587031 694162627 607934213 64962584 763618966 454702769 436443167 234723824 753820340 911336842 322934071 518042203 909805668 93846828 891551897 146866116 273262405 467437966 744705989 986270562 674856785 157218624 538573832 328102085 287946359 207063970 355447934 409253035 331057811 245990663 194479987 598368873 448500137 493788202 273226514 56156063 48776573 159413316 685309523 980421514 656151391 227996142 676668315 87542589 347251499 497974347 70458228 396485869 284038132 756036059 452367050 656306342 480610435 60177625 686391629 465994700 476419439 147032319 672704447 774753807 150713947 507958554 999029838 918478577 152046115 953785693 883313310 461421971 672825166 464188960 915578264 842514040 460683188 183836226 458555397 476465571 262856975 967235575 78301125 563175081 491313152 299159667 798008784 61604675 990573965 8272431 238793111 898976447 888044633 331226330 296582177 993154913 326821096 958827564 184013774 199691394 723845484 775301766 607717682 97539212 113570586 937680668 290735135 761339128 529160649 601682028 92300399 639454874 180219265 951647006 774143713 859310300 753270316 332636524 683672397 20494876 945846550 890795383 150986214 293777091 936882199 85473339 906116107 578731422 770852137 891374134 830475161 647007545 152340421 48298053 897268766 224589615 799030272 429785189 594072920 649278845 180757001 454735631 89008072 377342818 812913347 366877771 591598771 110978028 48250103 192263821 912991830 769589339 95341122 508243748 996546310 222113834 505239890 607269004 736243177 298837970 896338918 519076208 115206245 439420676 657849647 133380910 597481085 103305414 452482909 62700099 102275624 344673441 805870741 622715419 733952766 161994295 700381846 721492770 549892547 240926321 515941747 202261557 182872565 924853859 278062845 355804251 33759839 453704303 97283490 261293589 714130284 73452037 641542511 681231848 840833194 998146715 807520857 944490695 142706406 817959679 408065681 445558821 693976823 711732411 584451066 823214557 612169842 681256937 746737352 959908087 271077677 574779970 318647898 496969030 478571276 69768508 367660858 756653230 962757025 5391094 175393493 649281122 171156299 562160459 910607937 750879807 423957078 162240430 7787811 559961792 594409997 88443789 219106676 404057693 931320143 811759911 820693520 851614593 260698525 539046865 690748338 413607097 159987219 38883613 998233444 61939497 949562221 781087866 294566014 749666400 368782301 728588587 365667393 837164147 410940220 34650233 968229098 566978476 740508355 159395329 528797094 600336368 264240306 172713180 352896730 368201614 229333411 734090845 209683080 450077225 152195886 35247809 778866841 700425717 261393339 157769234 100405162 475951728 202227182 574129212 152639964 335601138 108218697 408741352 479520820 58426567 744640860 419744159 434243431 33720313 865764226 760955931 265155863 251168046 109252186 995095722 177429501 507092505 198291189 496315397 768679375 292641018 389756844 846943810 829650377 467591005 787255508 579913949 28702468 529760583 421210660 258522672 515036990 445419623 210397600 649153842 344901397 752006040 118160961 265956814 329318768 616649717 107656111 500554552 545806103 124835039 796583919 52834824 374455637 878589442 607785423 384386640 544604003 838317191 237199089 200598803 40863124 412953503 804977231 718070696 942409612 28856129 546322402 234939027 135609817 753687058 741627542 256652499 210175368 834829665 225410048 721590031 226154277 280379333 831995538 146986582 62512833 838168627 887690605 392571562 426660346 189634054 697044805 266233413 801667646 459760095 144468635 892608188 390275389 155732569 748102559 491400620 240779974 353155463 64583972 40085651 190085581 899377407 144722394 842460110 420480427 241429466 719110349 653882906 564452419 730209755 210953682 485615043 445249923 130909472 176014931 625742241 46136090 168348014 744742449 609019217 154368113 165693152 407374836 195363082 990578905 113466944 64345503 91650429 149584020 235065348 682594583 801686260 981125260 944009500 106863530 801915045 684948123 147589627 915797644 977340172 50620818 778101291 197957733 400244528 663953597 56095706 463741238 630609587 51197993 778469377 989400227 796317026 428329187 759701758 10941681 730065903 53306541 254110777 452851454 553852261 318478112 159388647 18048359 678909442 361929120 264707472 80142346 826210261 280264275 134347941 671324832 92910257 1053022 588575580 55160217 356853740 629313302 391927244 27770428 257626438 690196870 165587064 126527113 564315390 803923474 724513841 553843358 788812496 34986773 738260823 797695249 857498896 197328277 892194134 757494198 732071687 741327375 618943247 127765822 785226726 503392081 645507615 794888240 172446195 186591390 458917747 355387646 721821778 258370404 348276875 451047540 59565209 133328535 728857873 806438876 928628897 675103704 162545658 984496453 38673392 887369973 169230421 13187225 310537832 552606386 355830788 636190695 44574734 208729229 184125404 75758997 321600793 78846332 615598416 834952323 456098982 837888248 859178404 498482120 549917345 144483784 453134394 217721727 157282313 446964812 809639867 491485952 97641591 957212477 488529550 459253088 994749996 791257936 14067019 127510710 746610496 97065499 942305887 341994466 1866444 675830409 635020778 307552111 809296038 760276795 55525555 60970648 372140121 950901381 260522553 165474685 758132501 694941922 138435841 192957788 117091624 784530188 293089973 341220112 304583179 961023741 74156869 191819405 78930343 419033937 722663 359017357 859119438 977605565 148415459 886219557 482201996 655420416 881000331 606601273 367264069 921688405 197577323 227685759 608194962 453309065 553455629 536003187 170989233 978466482 429946818 285821652 400662152 898977 444266192 776740121 377267125 730275726 828216344 775316389 575618498 97911420 342870903 724720335 789454108 547093004 790726464 94387743 54666195 523014801 95625255 297708107 888264746 510689920 416935290 388180458 429747346 262415672 880305012 583222001 609603254 80330095 827958602 540006811 788505380 954927712 805072238 898611995 882592108 189169707 258738264 680653338 883602113 893180203 835611060 889203385 990363920 643686136 305151962 513924800 79402796 967849698 348721669 603481339 257267829 569009204 142868383 15272797 966268217 283982915 217736720 483755240 283822829 956921482 563818330 710506008 757910955 199986501 508232428 840420588 605308580 337620374 753073698 400687575 117317520 206644828 947835449 293650938 621843043 920103894 395754631 798812833 256033845 630990275 705539716 74061655 502594754 516095477 211760668 773797552 196882305 90730303 510720087 3421491 346653301 711454084 642501095 805167656 552088579 712040487 114042080 613498085 162563681 826524867 715405492 135918452 180029651 500188560 994435650 877317260 120961525 542684518 734712416 823661016 882738260 31677245 468751498 986929562 923517023 338586020 309257590 527803421 868364269 593402486 830877975 637267641 816162457 992372474 961310131 444306562 858783578 167258299 158062128 10211346 976723491 392944348 57763307 237544031 680029877 627343467 732540534 599550255 991567640 20300019 917331137 878736376 996712919 916305878 584976018 411899262 165912233 853357280 645110084 659410741 233412451 224112592 315504373 117227366 398265888 655984 296318050 282534151 62492155 820724751 408418989 391874257 54178382 983175869 819400120 981894806 761445317 904284304 529019061 146057300 613514520 90069934 728843383 676248236 515321564 934661122 353390237 261592245 565305225 444830344 540858008 179930063 60724308 942608373 583364193 590735074 984296566 750503896 883928333 269185880 790217508 205993204 110873229 751839976 730243204 175131677 676050179 396583891 450295337 609642042 468096834 482205345 511111868 774297368 659260384 904128830 306027149 692064992 327766643 552498076 618099858 871364462 718315881 119996320 544830237 487534984 62636483 472736525 828904459 366787633 287499273 18572170 101491154 699349438 750152052 9092533 838230188 310478759 466653871 876112256 492176305 675291115 261807538 819074273 399013957 97980202 51795555 364398128 607222019 315728738 406494015 540616053 15296434 778905850 827894674 189595005 240050125 216233274 112551317 347596557 283188630 526456164 368019317 465820610 88023025 600989750 369464381 796834340 874584158 816546174 163357774 169485631 295661554 216033234 281014476 702373797 958349163 548785276 424487409 993882307 975926474 619771869 895278207 589393959 955534247 81162785 803350610 404887354 802834361 50397465 179771903 109071573 15846470 636342477 35009782 40566931 538302489 124304215 607891995 680998200 974411573 382039264 399784298 138315447 717640680 150915060 119639318 794141354 675923817 294532574 643665162 391843004 882371258 806290005 905666829 399541333 428164050 26782344 260337718 599387483 350216452 993724010 15297416 281690519 324403006 390655002 123712649 316926270 218576935 570775427 106691166 93087499 725905654 529552046 842619182 422325991 991401644 12412947 916262680 288099024 31604443 976601069 643683078 369312792 924060667 2263154 836302791 966267962 685281839 127722606 878505769 104296738 344144784 293850948 77537927 525555344 405889174 142767555 130557280 253198180 83168790 974370810 984959720 359432564 819415757 878318813 354094257 149080285 478866432 906531283 555771184 552085327 34696377 925078380 431547989 355001816 31363803 623315086 376901058 270522868 276146582 287981914 63727923 341514032 640681885 775630918 935758018 748904218 32548849 529364277 823960224 725802814 536806200 568277163 254196285 585813445 323381655 716068232 366766348 943203671 989503404 240688412 481128910 519716542 712933736 92915223 80051483 385596339 41986833 612515646 170467872 980932673 433443669 27078781 742614379 905962394 2481815 128160338 791292616 115878993 246323033 332079270 275293514 895941875 642983176 132011869 579894892 392393917 436375192 79000990 941453420 365861549 14572960 186854263 638063068 327700402 918015091 210517650 442705915 638991309 30862366 758537143 520052695 435216047 202811616 853311928 134859156 143106160 193758604 256541173 827634354 297923619 580950861 434127130 470122755 770097709 600661113 882039441 655045938 269369295 594206115 313162153 285380347 495111189 916298045 853379882 530136784 752807481 127810408 399767563 541370033 336425131 390913859 961962856 35787481 110039164 450389665 332782752 810080059 775647507 351365694 880359489 255959306 484148946 70109734 76367902 589038711 672766024 342622288 9250019 654463516 890581791 371162810 725487209 428143804 711998692 83442462 701241184 714695410 824864673 280746420 679969697 751522375 533200253 532438400 821860664 65657156 391226193 29901594 963158424 969525086 212729740 312635560 745362505 626438103 109707736 231696077 488146656 852744594 291495437 117358034 845178724 291795169 400772199 221957240 198949849 676100844 422424789 750385101 703444726 222126102 557601631 533022059 9459886 246567779 676035475 425454623 470832025 741362456 623938482 749584389 423640011 266826206 390825523 560510016 284179172 656826357 563371423 449651943 700398177 87855212 106526196 250946209 61982666 40044508 126885251 312486825 998433614 292526099 712009765 147738977 615347487 107041614 550619199 10348922 296226705 269015449 173984270 777954246 912717627 316124655 12658200 485073146 538098801 93274796 30452558 111510099 755125751 942987682 729283034 200841382 209677616 986216756 900949631 622441433 734091644 995087480 168844144 779290834 522582329 682029573 273346931 681701356 37662857 813641378 141301872 223197114 130221102 993359525 927576624 495338527 190281723 186886683 377340209 177807242 271046376 277000461 691317677 491478248 282841503 716715370 644117299 182274266 639793397 541662411 955471395 4148353 508581355 941864245 717089765 629545321 833805463 555606960 477001067 378868440 987487240 801063988 31691159 654931824 775774332 135079482 863994003 535975158 323699092 667015329 650852066 18938918 62618871 474063412 89666065 223100911 955731132 216957038 818247266 290327336 748735598 675532032 909004618 700153674 375193021 613738202 98274254 78235420 65258192 605181183 785524208 866883325 893193538 389515188 690591198 161172456 700968049 563113193 430391813 70850237 640850863 271236077 737725516 984181013 720570033 103833665 683142473 99371651 948643742 358138149 896457205 18411293 559972936 579857154 322829673 679145079 468797494 935175256 386781974 194049782 200735516 303349976 100917176 389404105 571222251 702179933 738276614 165198304 698629022 16112302 163612930 895664602 996360538 544464064 505181022 13301060 130466691 850326691 522777646 928671049 231189716 132850257 78140307 459440323 727749090 105053150 691401798 382499704 970377669 980491197 104552635 251794778 995849995 457113722 819191026 556621307 921992818 641063418 785528661 64827548 85117219 326491357 841239767 783566183 508848034 987224494 827416658 749937774 173007628 851912068 443771404 157774585 141148986 664852281 404171295 542704890 896250442 759488553 255649137 167310591 643261414 946827063 894560372 68063183 774416073 546367036 275086205 564848552 965110515 201590291 754781828 691719800 219096928 470413058 544108147 227602297 798146066 998497207 301608781 202842998 210666991 523405130 812475372 627377397 179752459 337133440 154948189 665601009 546308610 290889410 643885763 297950447 214203567 310783979 360948200 345028538 5071679 818458276 547026556 673337169 655537783 788875541 961671060 999554068 471020857 106430710 546697458 39994331 736299714 648049379 111276880 613444093 207779253 219496741 13630753 627303910 872768516 77836630 934147724 269422210 416162244 960552149 871905968 338926695 225481082 362078534 817905910 31154760 337487962 671560698 128453961 270754576 971214421 518698076 641042307 903262021 74551518 676436827 591275258 291550810 91738393 525289611 732532826 294625001 392000987 721044183 662739125 75741012 512173274 392031009 335308625 842752920 987491238 23598076 11161071 951515558 607329855 1277682 517442271 174614459 694548288 337928221 195274102 824538499 601873047 223319142 196963287 564007215 397458575 105850285 951899208 178978314 485554085 128231815 768407680 354968572 500178886 131222800 678660152 649966251 838976922 785367626 840600914 570434038 422399337 171488097 209027159 281867210 83412103 201655144 695362726 445955481 995657528 971642705 288826501 8545173 214678834 841828097 69621656 651939501 810408721 201886018 397957357 522966365 320016151 999612481 166295590 782774421 423432121 741382048 579572547 431159710 387945514 201295296 51813483 87136390 253091245 7392013 195903095 210426301 861181959 242004359 693877137 796392902 606732559 95258042 500743862 612291237 722677183 554638099 879787558 89335069 967213337 287954658 987440175 625867875 577391415 25817552 412742410 146976553 553261173 849145083 193119357 980312801 719296741 230365448 438934420 869642106 690552851 286747773 926100331 568885666 926858341 459267649 424540956 128568606 467416891 120220369 242990049 923909675 137324576 480490875 654665968 974900753 935003578 774826196 199764694 541718069 183187772 300263197 89676615 861661358 379073682 599549674 814945391 223685800 961840301 297275137 448111662 219306273 523337394 565264021 616696969 155085788 250823618 149467345 453773612 436722602 180742736 129704479 535086142 82935573 243721941 917486044 548334678 75362680 104518556 728987548 251153460 273068871 316883382 688175530 193391221 279182940 601268610 372804612 177804900 167327278 151112054 918653984 36296884 581415246 786160533 54869369 787749104 482651764 505886051 77681303 39442744 44799583 534625556 674189656 479120514 669681458 318483773 173663162 635922024 307758909 34203561 547907254 446435226 106728897 230628554 12104152 720152996 430839412 186748354 311288470 490753669 545899274 98024014 310819868 449722086 86874183 348510195 405995575 335512361 334833793 5142698 246954206 259301485 781644715 193027308 573813837 830447894 500833968 364360622 331694509 258898127 955798174 630519326 21365421 269711744 930250312 474690123 125623748 108613201 867335844 523545982 160666236 502340808 391818381 254694605 499513031 905607593 300776388 533954803 249491836 295944909 297660006 85995487 572546732 788359826 531711169 823746506 758948397 503332912 288482897 266920755 935290092 356412998 465515232 273485375 327094415 79636676 257216535 451366499 594080707 384806181 126348314 428221107 549306273 796385433 512857086 723242567 929786618 102646511 727210675 265455482 141144193 107320281 118301325 999036036 730830489 266593867 217597810 294253213 145709102 40083965 682781453 907102681 235752241 471752621 612213310 561483730 904900380 118285484 430745152 752813589 928011613 897451297 518365952 548395970 624924990 909367878 872536449 61302811 816049199 210139530 780969180 613183804 419863389 639781731 141674791 992366467 932397558 249742958 831708060 663326490 102020266 98993206 855097404 784908204 303837971 134839581 969582409 264179373 608864804 812115224 889959631 350721817 278943331 12431415 722815002 142315305 664503963 875132471 576318153 795486045 733162504 793278193 29096924 306885767 248723113 382048542 878452176 992235764 107581067 701009075 555778395 185158840 576855408 686842316 916521344 176805516 30351686 193969447 340370763 146481773 962369843 992548140 411885886 149879214 261043332 925771874 884726353 496730800 919293403 652511879 42026230 316412886 250162411 714238189 167416528 574190169 323406177 28420931 723664243 717073540 134349995 846462408 344315536 157501184 669467666 982700978 513001048 848531151 229399291 953646729 744988565 15902592 221757584 848032942 224335625 990947988 384766120 7582258 347842475 690484483 629778461 337665604 825659670 893452987 631885081 657677594 15653732 231052189 516704467 652296599 103653430 856831038 52477176 922417475 152796136 947576013 753132027 863414279 97588678 810866662 82166871 431138062 925279965 51023320 447355549 79509798 29340751 862516510 867013072 146724937 708711019 13874474 302451359 552464947 427591758 447013855 826796843 269895527 538698828 610954369 490219335 550155174 307633635 621751277 4457147 626927074 833228080 333506208 447929189 685493832 313935708 479647632 391853384 24894560 997938439 681147502 74543685 754929000 186579232 725861328 894066732 148766548 29625636 216570823 861281011 986203109 20730103 81215086 64795872 147710868 748181476 164990516 696488288 841392713 777987073 450676077 338396666 91674328 581738742 141072926 306516696 298196645 914752045 391747390 797238967 948262148 187600354 924456914 395363339 23295351 993816831 970563981 905730762 972138488 437174482 376024679 842338232 535727922 909614810 564718989 24712870 368473116 419547850 730336890 981289399 740713871 509028108 388141239 429239146 560462972 754589361 702346703 569562551 486056747 8632106 296619563 649186490 428747817 615669594 562357339 910604297 87833261 375572228 822662603 369637072 805440875 110800778 752453323 50449425 644208986 931369814 16159291 141871302 105195790 461862731 692917154 453612663 149563364 509834620 191809779 93194513 366157582 385678765 924674967 402009874 254580627 86502501 791059165 429353966 403913708 216184469 358019794 620278217 395658104 45494698 264688242 254087378 828527054 70865894 152723665 201119626 312939873 819925493 374393503 558450880 550947003 38130611 723676174 751043919 969998992 110951024 62291639 250769050 73410552 567485513 191303600 133083672 337376838 278364303 551985835 406684842 613564148 932194160 401727698 712604916 315146959 47950605 733229784 462988368 554905117 514586331 74444868 403965069 712274331 750468671 199120217 592744394 284470366 708611035 705852215 13583619 982254261 741512741 299033705 691600491 364775747 980034316 22999807 210999764 706160829 942483266 61359002 35336425 498921211 663621882 571484323 250981615 529634115 107760803 939521735 360904654 579607103 318075612 194314882 36704423 549892019 172477628 823867143 258471706 856950932 253233827 497864402 765008233 698381050 136638227 159808243 813899914 726514837 319087163 457718303 772740372 40734099 983724987 268639638 833906182 223329593 175500963 366522805 381964099 195227315 371394652 584706205 604052409 515117305 788570672 945925731 563486167 661423663 339935924 590168440 232929484 447611223 997031991 219050728 638426165 406005419 604731557 198509602 362713300 12038632 726493119 706284472 434446238 776253684 565771310 421539760 138144298 697731738 436508764 17608117 703959577 552983884 174957638 915543851 253986824 540106766 370689591 284374399 884949210 369616513 817280843 756377178 855437678 125290189 959533014 880009095 63527024 876016960 837916028 261260738 355608230 365003166 258815165 283608159 944303888 194742602 499492240 824894398 440171234 802701 138634442 127523926 174999225 47837598 575310596 960836242 993317537 690877925 170169511 235978579 840781321 221641350 127896921 249454069 623825842 262445561 408813697 34543355 708110432 396478042 960066083 252946023 421471521 28317135 926353178 108185152 639396529 353649019 333410687 732402861 586135062 194673980 385341912 625847695 486455270 603535137 123910833 344182004 693785431 555093431 219339373 150998242 909316372 498032439 675786927 186147936 495041352 20206197 189229487 546122128 158331566 668814409 873091197 474823135 506107017 122861866 591918206 314139835 25051348 287496023 747805882 295649495 957697822 539876053 655630973 244498054 645154504 549360549 198801776 881011636 434621338 2133159 387442542 910964323 688941483 626157333 364756819 136666985 48815695 930426711 73937772 365684285 479448149 300498948 603080154 232997837 743065867 770575653 547539815 343230291 747490744 820329167 876097512 917000582 510471867 12616959 927074955 616408957 194955080 20300336 76402227 453852419 802025201 140760038 866805250 620133518 98140503 109106954 509909397 768031165 902162850 897934358 572133531 188711989 849760733 194118162 510796689 984945413 70944189 758262255 87051455 101385370 957426318 10898281 81581579 624796434 102079851 58230727 321147679 566547619 38236826 7746884 219992908 873471428 26366514 458033441 428670946 386508266 858433187 68887093 760059392 892515866 932221498 363094485 563101850 674288486 147980746 577491931 216978519 636691706 417408963 32246181 709858894 48824586 374782291 296773137 88570684 351752084 349286358 706924996 452982598 743419558 593882670 335016283 520355513 845490238 208122327 314023326 848396256 354314342 869801643 845846012 459948582 87142683 456944300 986182420 612516153 256587985 985801419 555138742 406447182 663178936 952564061 376758897 143941007 458081831 994525 945568641 448759105 623562070 100387471 707215416 740913234 397512393 767420533 884859146 920042000 566429028 264196959 476029390 639054304 437411196 832687045 802564092 221979187 770349784 574287596 184309267 921773002 932585820 375628816 241131972 253799364 375595466 12616549 290742446 877884550 378530079 630848788 441736116 862817550 329311681 404191199 622083041 527188020 193741001 227943727 630143761 544612131 334794766 602694689 355429606 613887987 781202422 950613191 120404530 183621431 680081254 20620077 521889388 75289734 111198071 185161758 234823786 689981432 306127020 413602365 716949170 937749653 727975093 127325728 107275065 172605747 353543176 109111055 874097248 10439686 631807898 694762116 452650742 311114612 563320128 72144212 297894666 48801875 255125559 20855130 723153998 620224077 39587945 190176593 836275019 280943560 569547687 108938110 860774551 724368290 503838537 139987157 518470909 600611294 534495700 85229324 692407666 560649885 330136309 783234397 22940494 844770407 879732012 16732694 37151128 816020306 903295792 598170496 848306879 927909183 138751298 641439578 959655665 720415190 224248170 666283512 546441533 620653337 214114776 507026130 350602801 129048748 833943862 286000469 944446479 537051571 944781400 355969516 693678675 698703444 589044099 920108776 492204534 36401220 670972044 782514121 334348502 723993439 661765 989908995 745602598 668516860 557685176 114218373 601629049 249944939 516890497 373219455 629491515 218111494 319985036 794929165 751565341 445603931 969254605 791930921 635293175 2199429 602045815 208447025 441402937 305759791 997172912 48441455 39938398 118892456 251508529 98009526 901317772 739978878 121632764 853635422 743156804 524064003 637550984 207990186 29933921 358726172 939922752 925482938 246131822 934635306 283040543 626866768 309191824 479240672 88490475 278063855 613777616 481865855 214568206 772996649 968598603 875250445 744118453 471692705 266116729 925774894 789008523 434086086 621635605 137721234 684631809 285071774 382028486 550782829 92866447 967045389 169607752 26794044 29108739 158534716 207877980 133119211 74823615 570233734 684014253 756476252 694630787 748060987 440781858 151062344 461833292 311832737 704215320 439256492 670749121 385592933 775872277 296397620 225181665 145038190 432987701 619392724 443928417 835305435 501850047 955116327 526606224 440605758 114498139 703181132 156492152 526111606 210208171 896065494 63505803 542289167 996618411 736760255 845072364 119131817 309950929 697724526 144155953 174475482 924051104 690360468 371589137 322966774 554353304 611402782 407029693 483662224 187343271 906536244 143465336 408426716 718678647 258314431 389142418 807264311 633067310 387638392 703238880 797991469 38575309 955610101 278620765 464998175 335685513 292139670 240674310 170290005 523733045 114406159 433426881 661298329 55492373 14637428 196835545 429521815 240841941 767291049 32483077 143465889 28334714 339137242 162422973 305164678 306938701 848447511 474291521 631810960 538528708 790838459 455750280 194852252 114090905 550442063 72486120 86424999 57153862 905736469 501544877 671021755 72734749 48882144 567833018 709405478 711002826 623181773 730717366 42969464 425315643 106838893 786334969 527305577 452401538 864648321 413326902 637984733 861781954 404320612 190861197 875399941 619322729 10076538 845276148 691619862 845340172 42147396 958955924 41186149 707315357 147744547 822380585 787078174 564121320 417746317 260991320 355549576 377950044 331824637 116437945 653724695 688529676 692559250 540741158 81817426 480938965 898757639 857334037 976605610 780625197 896681758 212703639 222249728 34733847 410030742 308201364 341900059 192049127 74060213 74425257 363607087 101363120 564140093 83747709 293465757 425772182 954634081 933621454 652944009 139448811 613966200 914965279 485577427 939409822 84226577 489925227 821620083 722064734 49157591 449452359 989560775 474629861 345599676 288470773 267745694 728413720 889307960 427180326 635955544 615391535 165621645 208186203 129651326 442477397 68082974 525923634 235759873 762191095 261284319 106072195 459349552 456948499 618575707 357452127 466485012 51621456 397991932 260707201 117615963 847199663 803150418 310691589 38374612 500980373 104094960 32047075 833721326 273477388 752444214 313367853 61875115 373144506 98399007 990930347 618448700 134718430 193039676 945181515 347534226 684745447 31066256 370756618 710077352 883712659 634156034 31509962 444488388 19199505 851684154 219688889 334281604 330255845 970479889 96694219 108205792 527344332 643771797 389522798 143514490 449194299 434396645 911558084 500707400 636826404 785174483 774735240 116090907 170110732 433082562 313910106 44133475 614079192 996478270 198089531 773168312 371529120 365991343 597213919 936736388 537829405 923739454 704411525 839351722 335419089 915756948 24343750 775724154 758286155 79546272 59720230 67250647 272172770 738372337 477112086 305048088 106180827 401166248 394784537 154520576 112500207 519432771 838132388 167131494 21952072 617521604 313090246 954127994 270265323 115317083 409075606 905283616 754624642 218189574 23950596 851796609 310791745 703593688 53936981 496148484 776766051 50451631 793479804 98493580 812352480 213348423 228951738 186873211 907656937 57698568 504019972 314141797 930342800 178169959 432946856 665899805 828909133 810843872 82323110 705081028 692875744 675797635 30197351 941735954 443368228 668360863 698958303 276463716 417423190 58388970 270304966 665531407 415692221 247415743 358720680 123996205 132497133 356263433 979108196 349881455 281288257 46313672 487333649 265147879 791674681 365187604 173435114 819500731 836204152 996887700 65938008 436851829 187413052 376282941 982050095 938080524 856235912 832962426 589223477 500827685 56391161 775859100 63259781 329680991 469899558 219131933 334409691 875349865 226144456 94398856 476207924 406953142 491393913 180669064 831250805 137323960 496792794 940314089 317686972 778441472 845353289 412281230 827521006 779314971 660472696 483449975 833637394 498876945 520279047 88902268 825174696 899950070 660675367 523795445 141501108 520445156 1501074 344197015 559679351 548827770 64975393 414663475 967833351 915402762 73623803 836033484 477329088 637218959 298744137 619762954 614087832 154956888 973378440 28978471 505025975 212059632 561038663 254250034 666626042 355846544 713709906 60220459 909026936 106787075 866559738 533035555 318770154 51191059 739337025 564303964 299330664 111565281 339316849 384646399 830556099 37901568 708080169 424050882 324186795 199136010 920273115 464659537 607451526 869759104 969954621 355256975 530697458 748999858 128938451 935299117 341510346 139548593 381875037 391088638 118111041 529147627 327890745 245732279 45594766 30744191 664663782 644126742 301632342 974623188 758916438 844081922 352606697 119136235 655983209 791697009 657678892 425496998 703084822 146428457 588150077 18802366 205532093 952805293 142281420 179353047 805550810 107277763 580877265 810809738 488135765 607259473 550003114 430417904 1644792 408088882 19309786 632634724 391449417 888751996 166471038 632584412 44816472 133632270 388106819 412726536 638670978 720474129 660761593 471271123 677669107 247672536 170715917 212538679 179070576 821088700 812427547 111655195 327600817 314887096 163009430 287053098 493442812 719325590 84318986 463314217 74271724 553825998 392403845 167701729 332605273 51649259 106422553 451410088 794879483 536789044 852152213 315818315 304287732 124221569 17735283 396162855 112160158 44193586 510246705 886915888 970669661 26929639 211808750 772037439 324577576 180498387 81054966 240318422 471845063 743636299 596661328 974959238 688286912 46884624 246064790 516582511 243085857 414184164 7303159 969855232 437261518 65575003 871906037 220855539 190982730 795019437 451968657 755303899 210096395 37912762 490849150 686548532 917585602 157977022 190236552 719119077 282083989 600938966 287046900 307896600 812702618 297518062 234028086 112086633 787923634 364825752 30874360 45988918 934703689 596452740 809851543 165425453 1684266 707617043 413470733 684732005 925322028 280299283 73531536 219810851 308708045 355130727 217978289 616233095 508943111 528319219 806775853 826983685 815932002 943986167 271076069 112862400 727650701 194100247 670670282 380474869 912247255 404979668 569261782 496583874 559114662 933523280 499341142 27083589 355678872 829644416 377942114 582823279 254565419 925154605 578773338 695165220 301656481 390931742 973755188 631260245 156028101 157005773 416926241 549700922 777789981 32739122 226500286 37692874 307073177 487142982 821277891 275947261 835100988 113717339 189217935 53211948 981541642 102285715 825131745 540448104 646704534 275371299 396951158 137987745 657215963 327016419 494262557 291947576 809349953 138392355 562885542 16433844 131517949 374988944 555328055 351452714 115553257 356342540 265838302 726953649 257654300 12759632 213666430 244545969 488200728 202296159 863341957 885209412 77057487 291970582 106837384 201745424 869105586 851206002 759122903 700098001 475506645 159850942 880629624 134313069 282944262 701378405 268529971 120924653 221385136 824371358 223738061 129824375 938869206 75665210 182419916 945582014 159083777 886329089 629602883 263672836 187363981 676658392 487779800 206951497 203760807 469450692 682296512 454822262 206724423 719705169 191892508 683422563 905700350 806040903 726091375 735607007 324280015 414786098 470196240 314866698 755281292 913711173 828880808 304618982 358088526 526872392 346193320 985406285 370856787 372359022 962413199 635216169 45778053 148508038 568382823 140716731 632763010 714589946 716884001 949646086 551044135 578601614 563517400 205096106 934546933 646384083 319963636 267199926 75544842 875228077 150987175 475004256 761202106 612106082 127171579 675200687 878794972 664816114 925802426 525913009 181134047 598388684 466006659 135721170 338878016 708529016 808516521 534984387 578907404 846654532 202635762 837993749 602658146 468078427 621361947 652748048 266323240 794666283 120928490 242644324 600529121 695710937 111772622 810225684 737698450 598633426 437089953 456864669 247506371 268404490 150249102 568178766 747544455 560697910 394625408 183159925 139818239 263374581 564800986 377962343 970064146 194546794 325443790 722468363 272560682 709290718 46442969 705679079 241386183 60090735 62023255 880343156 967876907 572113214 465412881 372911598 759929187 384299190 940163622 348112866 34288046 455199277 476397980 848580857 451356176 868822458 315393628 174747899 109620750 718497690 240704329 599127907 880093068 449976619 220526460 259091105 173829557 932121724 976637831 489933469 736354545 249760093 688980444 343276834 574919418 934401972 719759212 739637624 740011643 148727203 207788003 87108250 2367611 915730973 452093352 543097700 967741674 76821165 418382569 317955352 372816817 846984689 730108797 778672379 910223154 828013978 785334170 240392187 228955449 803972421 869295661 100584468 783700435 995245287 515879151 856929193 727781352 72166023 127818201 987672476 241569453 155424823 1836424 592959327 862418571 49306240 815165753 77554760 531256845 914092521 240710230 116601621 80623180 302598753 902659345 988697699 859951566 994833312 391734086 151732260 59499187 219980991 401522288 244486932 192465254 661481421 729351062 46475859 851416191 628421624 610825415 837861996 133194993 209015803 288728624 860479022 276708402 43388289 250598375 977074768 96045957 403759295 653650492 572869172 587280276 450571675 880004180 861751095 538650804 911970756 772545257 519595400 825024960 555166544 274480702 260799846 542285659 249831058 978730515 894761149 89848249 798336400 650763085 330304523 43067522 957209923 520759190 343276253 754918161 692940604 998018817 65436388 276045593 600263916 135971229 4002199 517201150 877734401 98206774 792686301 948671927 206123692 127120980 65458864 243050901 339998108 44724464 417799475 119045403 155249617 894845261 461103482 688776036 663910874 81857465 777443487 414037402 721720455 527980509 297736937 588122990 801326677 345697230 194238653 507885137 330550971 998999828 761285885 642538395 476896794 884522940 939655631 287151757 777998196 937175529 978785849 315402954 995201805 201314581 208365077 129089351 145269538 6463865 782633741 94147619 653074495 208779370 514566879 279922346 736408869 870255064 177194894 240321355 789472050 110989801 669371909 733234790 65410693 867743967 66473869 952769262 96433334 884478786 945276478 798229625 714826320 772708296 457846173 720946581 941183262 108178069 534051015 856482460 59857907 165035599 28353442 931161097 268951253 585966860 853091298 297404397 107988175 865486356 886472423 697447113 562510409 715804491 221217379 84411577 179937526 270702756 617193086 570699121 89732790 569761950 461796798 114476650 939634562 315305025 4765221 85735536 177896064 825679892 480254931 246733121 167325792 757676743 2931505 885716864 305094306 897326322 780702706 809290483 856663789 524089343 46073375 833108594 910175599 501095217 733020531 175675805 719758422 213771487 345392552 147794790 215474316 728051273 749228645 195374381 68257171 262851191 257696324 727965199 982604816 153377262 115820032 291512998 953850653 642543024 527593134 973856510 490787037 788221781 431658815 432587117 653424276 457987253 73511073 547332771 575261170 118401667 110353693 938873191 185105516 348705714 2493437 832465011 435779613 37212101 56281141 201645884 66141713 816394628 111804854 30174058 957685274 508781392 243904469 520728515 462015585 667444958 510045600 889745504 337099221 702308723 78956398 891260544 217720169 253757631 61587042 55400374 926342779 916122340 950345356 378076865 141014040 785292360 624923307 939264329 167888419 145367056 819390193 580083163 763275461 200319141 695621584 602096742 987167993 60897930 24487604 176204056 740315613 453129646 962701847 159904928 629183951 638939362 729089803 850597398 465342941 488021585 219897271 983271047 371384523 612980749 797212581 924209690 932332138 129719786 513360642 23102512 142898576 730235744 21438490 823171158 286133472 641676264 516266016 413573637 213011679 911568173 838089215 928806177 382460834 634455442 677271619 416445183 806691831 481712938 399258151 758493939 263603290 74971584 720046097 720527174 893179403 643062242 806565569 958962396 47548816 1680690 125173810 326683360 685112944 242648626 502332420 493650053 971274574 151897849 19420826 302334349 702171835 68347055 331886376 649594058 923466040 928490623 619136686 612607713 356259679 602742283 784641260 744649326 460488397 488617638 243828056 752431372 998932598 598080795 647835082 555562377 125681843 89576735 543733315 938138878 453656895 565412068 332026764 904725175 350191242 740533731 825871301 582305158 552605190 843658806 24845125 729859512 497223536 237043458 917235717 330793573 157625138 380257470 588017943 362128472 259447135 775119024 519060072 406361332 695920073 13765788 939161086 956813559 606316324 138812351 152015919 369499464 990112320 355601518 904513601 472018243 817427134 59399981 240369027 551925307 926761896 56138698 111443549 139201607 365364375 971029059 402422308 521593315 372594163 473198856 211522850 702597018 623072649 547399486 535551530 914861824 384070662 691832381 263242238 165444147 725276701 299773867 148493721 989401266 73788994 866232077 276925375 748377630 878779140 618105047 210485977 754982860 560327652 755059012 82060005 405933115 728430131 906080769 484357024 139407538 716956669 755520922 296887286 774323526 929155721 304251299 274992848 422373906 716917926 852945923 109491975 341785840 118258081 637154032 377872504 895460091 248189745 60637664 825476815 652287227 455275213 193809187 51910348 670224281 104712767 924635039 72913683 907343225 837576882 144919691 458431467 2838982 808882101 127361310 402881584 883509000 576339579 80475349 531938172 31368715 126772379 512667580 993708809 34757845 377653046 696357294 971301170 594433594 346525260 359238158 193478469 300655144 575781579 299682089 567348784 16498291 201419840 149645606 842747699 822164848 304417908 46664296 629528150 168559926 795889982 174135611 117069692 125357006 319382556 61151305 956494521 463232932 88806069 578583887 671269088 271107312 849356475 27248688 253269029 469197902 182990341 403341344 772181320 801420221 816649185 692048973 551052068 491056878 711233005 86965602 602872524 120669294 562167242 488200684 120644038 568396037 113537596 962300644 753785862 298382582 328958121 874329183 374816672 593356749 412333471 800524480 109159076 159935752 359587956 819670091 696050751 439442062 768910462 374618508 513327420 296530515 854516355 744716880 159204274 460686562 558277432 207682992 83577734 33984584 326480308 265844586 897870901 213387459 886163508 608228518 669829661 488801236 451555193 884362942 375182206 955139059 892994513 487607202 600793831 495372133 590993322 433064356 98766170 504484107 596847329 846250174 424301908 163165607 140219025 885578653 115211781 18576455 442267743 949775115 342504762 428551986 302003267 601787190 514220398 793330915 835985401 48711363 639686934 728487971 842143935 39083079 756110308 984811897 277250766 410386902 256339145 815249871 234491568 725609623 17194155 329369222 670769129 655044381 50953270 405787889 268041456 621754098 593206900 901452647 845258707 443328699 87414562 220649927 17620195 973475524 61788055 170850983 601699319 95178769 535879577 947689678 278731279 230541873 797730503 529310397 61458377 555083475 934528908 235242422 867306358 679951355 262038443 260679610 769708293 684825952 119333575 647677832 116613671 285748165 930421987 18776431 409525395 3934839 360889395 808894915 214306721 670842897 830005104 738024713 203535152 905032179 256591053 491236198 391709774 248441576 217734753 786884609 167248256 821710956 68658561 951767337 758940534 836302570 558670830 231926453 424694113 121371273 877327591 880832988 345557534 863720604 396968197 716681601 725096357 757686456 687974790 544412806 138162406 891623242 272374328 299472501 757829356 922829240 522725337 685560853 70043692 960461667 520885447 281217879 487426399 845977774 125715451 115815543 361876479 65606292 287410102 379716825 695062176 63955119 345460371 218294379 60959251 151649624 621982532 191533389 271385694 551261650 248035925 698825847 418791090 266139532 248437079 644074719 192350565 470791741 425454338 386316056 497867055 614090976 199659928 751110256 881130780 670214615 568164871 704234478 200155332 693192155 105860374 907441657 893335589 509307410 475060989 889934197 287098258 82153253 473745016 591482364 895520553 941077990 42449583 770431165 491971246 483387874 972127822 53955859 246286796 462940310 624548679 137276799 282797367 133235944 422249791 321529730 727510028 56347861 376576538 621736181 881990804 166811307 840560820 195003379 473333398 804937821 289722745 441129335 616912651 895239107 216670899 273961687 825612568 728518158 829177605 710284669 528611012 13862586 734736977 393356618 189410912 490838672 404030617 862858639 448810687 173084715 726232190 939552840 456428368 805705248 141378084 510207585 159094946 355242175 982732984 131390274 392321017 60700173 684047411 83016092 200264902 400402770 804583263 604910419 110932405 246638372 871479876 538794237 963375433 444172704 786777769 13766167 425196511 2445625 200172139 598766804 875220073 563848926 84213252 542284608 27387103 2763592 982095930 86609860 197426255 732423966 691574787 396836278 145637398 977001969 253408371 223857776 76836300 602959662 872050359 379158437 153631324 198401379 372007111 36754006 796065922 180211737 984424859 949143827 633807147 224947520 300447462 310422355 621923398 658737824 257048544 331867634 588158710 21796146 413016568 573039763 598549176 762677210 194756658 174160136 196274204 414401845 275571948 200131904 9940154 738818819 564754158 930609020 90256828 742275501 521957778 132325425 807811044 965608386 8533048 674035882 460188897 69742467 85973051 82825701 829220483 686550507 838755714 54755847 48064726 404052435 619221386 761257357 266861129 987288598 45520502 544576175 559030028 505053336 77104632 208629737 293824352 285591915 484241450 245056450 881234218 296802467 851756572 314461720 314575795 222117619 106477181 153807368 864312692 447444933 217385632 918723471 187881662 659488557 726687935 217135378 170508987 904899581 483158805 909951565 512781527 808874496 119697053 927525444 682151283 186803304 999574045 875148159 768556904 190849487 980022321 713221741 473503995 422042554 159946213 233621031 763573257 182410992 863813402 196997378 648138543 154706795 225700874 883857873 64408365 550593066 994695464 629598768 727915060 89061784 30606166 415214751 99226639 52486968 888183846 966046779 191941806 862305192 589543209 466770756 740587489 338596501 277292967 90858700 640342756 432292197 272825752 507583101 505880219 491704998 415526883 196364222 368054893 532243570 883756675 852611553 680085755 1956957 34134899 328055213 642470041 870088063 619225745 885058158 389720084 852078157 198884111 556566590 130595470 315333809 977894260 948084965 974167803 298237382 246106199 671144609 670806107 751421154 56938087 53971503 152748774 422198815 270176415 845958136 125070551 810141975 131593737 518924542 239055961 234185860 853843203 445481915 120379328 233160647 476922191 435617841 724305909 567508122 919342393 47377603 509651027 502745316 156167038 219231210 145219852 927950123 205095308 663611628 450780625 303011279 438160895 580595662 152897398 287479357 17914891 674175628 25705276 646098377 180357822 651206399 580638636 462715954 640024082 106438448 611470712 27087725 611209949 188975648 643547328 447923229 348106771 547370564 225797466 909401705 308271204 661960822 653093994 681062221 965685327 102232708 807436252 47141420 863417144 569054324 491676973 801723964 686549724 974745945 659751737 104552157 561158458 982487611 576757782 736297183 265877111 748400087 15316131 127695428 271312565 777620367 362441087 3655999 846402031 496955023 764982153 155762852 805722548 460351281 96718332 113861580 599072512 515820880 813444839 406132419 266966347 91213173 303362158 579692925 447509087 383534967 236297358 545585815 837024700 622247420 998225042 982981535 717152606 189853858 320258338 584267700 524960788 575807227 872887987 434435048 255399482 992866517 809461453 621285761 146721926 716781367 478078620 176936490 763297752 855961497 323434008 285018636 935357220 901132642 45417915 696483039 461912193 834145616 716253294 604950413 656934030 533740632 689688499 165641875 48427912 938035949 385539312 655660654 261105291 84826094 781743228 529653035 683820067 63261208 581523421 195377592 383715288 906487026 336105901 458206849 246199801 351042956 58861991 222869043 209355211 434071030 8852352 567757556 610723574 575741411 857496797 68162900 30147743 109748097 998225120 866437241 694776447 99165861 117111089 376121516 488185618 746336672 75855576 41806993 280161882 455130469 79472182 238317803 138789199 568820266 47918875 162763491 322781220 907129419 538631699 704222301 739584113 736393964 897490630 945826631 28689441 378793845 144129447 200145394 928820881 220722594 575780516 267385302 721844389 828423201 951663643 663645856 825731501 106236560 777409197 990756567 28020190 148487066 365055064 798821434 111478223 702159013 759081112 209191134 589982008 730126324 542427195 379212595 83875631 382768593 914291076 663508038 653247859 996441103 176572027 536360643 272829149 337876807 302093763 743330207 928845180 518675884 697035130 363889639 511902763 226191667 870393967 545434826 975476834 256909424 758496870 73784464 634261620 783783 265964528 908612597 229294666 580599603 957585491 965940042 524718252 641969915 668474954 553535633 148553070 923933003 390906610 106517664 414627191 489472506 25621727 261520547 152297288 34659233 998296108 398608310 8820110 665287191 471523680 888815131 777702928 916920783 294996255 590963517 208344036 293098288 904152648 393477579 210480981 794488186 841181966 139682241 916461045 870606380 395482425 435884338 579447377 478657926 855946220 275944861 134893776 639378005 281566891 276328011 352049688 935920272 437896664 403024406 187735751 716864024 62093412 327671934 179353963 346886058 875115429 304545983 759046465 104306868 579144627 986594596 9044664 519666377 126519956 262701919 121560210 929118114 88546613 79429289 364803560 175064199 381897360 441231489 864674106 165080049 621253320 495076967 853504703 217270100 31288956 545876255 520919445 220825155 309432155 438561116 768829451 122111431 46472400 108372806 666965554 412316551 441516327 992805870 682360578 652816183 977809414 601424464 537693057 434446992 295302706 440797731 13943125 31496266 906612373 67828212 50736971 136378226 115512863 831732551 809220366 806137960 232304276 332354019 393367764 961386852 439305419 745396311 869782558 227920518 738032718 948675622 8404492 364243134 249121307 768515783 754741810 16905616 887046520 331339620 722103653 817333932 339835732 864770915 506071139 569543565 964946665 545108567 393612887 557991933 190565970 125347241 666888370 127515062 173736838 306871989 998505802 165022245 633641938 809904209 119878427 956739695 875787819 873633397 955049880 433634491 378237755 965859754 209480734 114907356 419216363 439684399 23398025 993488663 777548558 234607883 323217047 817152602 294416394 70694154 166514737 81182121 962308377 594532416 267470099 240414160 10988435 38256704 830578148 328981043 615917027 659319085 75892686 157726625 518870285 9592393 607850938 952454651 820340842 798735534 35417305 29831516 505515263 993117964 243565272 454428258 149733606 821464563 206290688 16954496 338584566 648392174 912471481 722442407 13744975 260511470 558366146 507001083 536119838 712812236 533734233 785560034 89521368 480599691 320631327 436330205 747339080 543608895 85898918 402311572 919304455 182723197 604994790 846329795 219522847 775906226 575459784 359972683 32337252 724391313 118437593 747277607 252529258 707472086 902164218 93497598 117200525 360133675 586437938 26013011 521210828 775855327 739154815 12503197 476752851 425766746 91457988 581768271 128765416 967430920 788211982 443219988 141280034 801241922 876469915 233597193 108109412 337829552 33709300 218215692 493666878 883423037 644161737 199096375 314177119 480717894 791637603 815028253 882641032 50736487 482728328 336885159 361686466 585620112 781324835 629588601 38070327 718686161 122339468 390013395 327732288 481509040 410942553 923761597 45490243 383258925 637487623 633278609 461238718 678451513 295903441 199310763 953730502 919599485 850551369 931176262 986205298 878576156 860616757 500187694 141008346 453050249 31978084 621218959 837543116 733983645 704805028 338024734 292123392 957143785 719728390 760062564 683536797 457202599 217100660 244657483 859607876 985305061 437203322 656317972 854206356 97575009 240174650 951620787 846262368 776741670 557751914 174059448 136567571 40024044 795262815 47824173 326486466 541355148 632289499 727314238 91629022 270515255 137770478 828843396 402443131 554709094 630130423 697135544 187489716 76890670 519374979 988341310 258936180 123304549 569869671 147948361 281762672 660578027 172766478 617715984 97132954 212400181 68340801 107457818 661514336 265986349 859827249 268421510 99846499 273408074 759769361 656110626 131759689 232619452 414675741 713693420 65358200 879419772 115128062 266673801 834778352 869361598 478965425 175827090 17705876 652048863 790396775 676252788 576699685 582089037 216336096 956191517 571456913 51081474 536492221 334441735 538596022 166885413 270200479 908353420 872966499 403668674 690627322 361406340 105414934 321997263 208822871 646468260 974925014 726271153 504426218 433962378 220388491 343209596 193706300 380679451 202829885 581221313 583758215 167402353 378719394 528970721 202599680 815164258 450912570 789450911 168362156 360857823 780373426 617447335 148149895 465404691 543077467 330473912 226168246 400109033 578970729 626632185 303501620 232102324 70722726 857789178 47113020 777234094 566528888 247725871 546898604 338314672 944551048 252309815 74765316 565486562 2886893 90571204 611166532 167447153 3369738 190475827 147748763 143685173 118923315 253895854 641424326 666093405 179773765 639800154 28316226 742282587 38645688 610653496 293415802 960587518 79697809 700915824 814015982 20987530 40028158 103570583 941285891 957325956 69759683 819824810 941207988 963125925 749475566 795879752 493089432 210494855 307048621 512583817 903658455 420750408 967165314 604461455 108483036 183703082 108435816 115237424 603243358 316294530 637031506 778338225 200506727 177974035 317576896 333113937 261374369 343562431 86952649 403946842 130521274 843770757 857279961 489660032 732435957 657988741 493279130 72820922 555656074 133246198 393905175 164331295 750164708 471703737 566168223 956969384 240314480 971527860 689423847 29133543 933881906 93646764 648191068 770779946 145385361 221231910 772693212 857402434 124975479 950759201 448681125 647904327 930063755 469374785 204571574 658369573 92367783 46269023 633220969 672712215 166376230 627869769 976005926 940156676 396792552 49044186 472405529 994182626 902678076 438633576 271725434 822167955 124959871 19476892 295980711 367709541 933688651 776367307 82260140 120316751 120131682 119576212 419116092 745043628 793465757 85520729 289079000 666465463 400479076 957911337 850258978 356366265 592018638 390855102 7215598 287573727 649102332 608500209 164849520 971539947 111561076 354926666 845633258 940451595 961585795 89613517 893479891 552044933 658276301 347754358 164255392 291326704 576525874 441649941 810898693 186674682 200754289 457310235 983007094 493214571 327292209 971800723 898551674 18461104 507085319 569920074 739553200 406293286 634413868 789085063 928191441 104000940 92559443 928798875 226242465 696818499 445139562 772061324 426930491 670955707 67970724 110133617 521241052 984704075 263476097 902306628 77536618 138719720 412163314 214823314 451323136 12303590 114404801 82187933 809611468 421145879 106645935 347478910 891467261 167346553 233193648 293998604 846572786 88700835 365112831 88038285 793488151 319114514 328306814 632718845 193197737 893678090 616743556 810462381 827472185 542140998 821171183 685383628 872738337 917513859 347648811 187030030 17374858 51017692 350319912 616979897 29624211 661540410 184070329 307595071 185384310 361076763 816205696 794908139 143206815 658026208 79342533 148112645 380732649 219521417 857199686 410604943 818412633 115818349 470863324 377611719 397522996 149921607 440250459 600888895 299812608 718103920 652223799 853460721 4329691 580283491 355588597 367619466 61578568 492926857 716732646 138386385 401474418 239025531 29171453 342040223 646257819 533698942 191908967 139461142 961836161 844945585 699748821 333901196 893639210 372463363 664306812 283249148 174099448 589738670 239523411 986176371 894110051 846064846 136066906 387912866 193787255 257012247 618078982 557398813 586287543 700751735 862967829 193856537 735402028 279106867 14593165 43304632 219935047 41551525 290764896 891315615 413701294 312109620 304118314 742033106 273741475 220469708 804534866 384750133 212690021 265412390 271252628 551144995 356456662 470144933 265456833 94094012 601217761 861171285 842842810 726142370 632770980 84071112 439665830 755096505 956912377 398150408 633179331 335163521 600461203 934969074 124619842 521916332 133284134 642282267 237188484 451167071 414807064 181935665 246985408 641306181 246695821 556114566 977246737 461644788 152355864 260555753 250580888 223760270 388455124 571090986 873732462 658178455 254146320 672197628 748299497 725844781 452246324 22571510 367764736 183368370 564953753 174678357 904097943 148197629 354323156 552070433 281980038 701828912 303220515 754098993 225671104 270082998 67476974 319244524 721693052 452382390 45339255 50067833 319655596 706903446 574635543 612172632 538511203 169695382 730115900 947979380 287633138 891438115 162999516 897627306 358111692 732056674 794441476 390344663 960419827 625660040 150828791 372940453 210846023 754300838 422410297 569850106 653807789 460127478 161769189 559007656 421850309 741399946 912654196 522840774 635128093 25282759 968105826 197131381 739311635 156641731 99641415 157643376 781955579 653771664 210371806 542009725 65206770 223732641 68692258 648464280 248422063 38405984 659915990 476108691 656389858 82391952 519693418 582746931 620270769 828659081 456699154 801555922 438756440 967148092 707653844 844239898 921528645 764238831 704688911 378700648 207946219 253801293 74943039 28797186 659937488 635016820 632749721 375164652 832110626 333076648 61197115 621165967 989069184 921360319 147276883 105284495 460525302 450536275 368108436 650613767 775450342 441177238 277972577 232125015 802984734 734018667 750041745 350061658 709963083 993886035 282893404 860362927 75488705 320639776 161814342 558644228 260112083 253633686 946001212 847415920 924214872 155571520 648461655 302012151 717479144 388133368 923496568 132858801 680249208 317855228 900265873 687033740 712271941 387756145 8877662 376149852 620017592 110741898 361418339 910093165 640356895 343835957 772307671 713766824 980652925 992124968 94409391 810357486 535943859 967097307 773522399 14028436 311718661 836954750 330466586 259794207 195299979 687819661 715717249 891946979 313595958 526819765 485993860 513802936 350526654 732203763 748904638 45015375 206233222 719559167 521333043 601264294 699716808 49221068 601106150 864439375 890263111 920905530 178472215 804642024 184126246 90210439 711783511 795611543 919589968 405334017 927077441 201521666 969378105 272819071 306257783 845765335 125348633 211765315 535653550 995753716 190676858 879917153 129687880 202135629 112008890 530310849 521479251 713391890 781938637 635982783 536907151 234262051 354599249 479805915 177235568 145802741 180398225 765464464 959533308 485724526 858343038 578227625 396355522 976993449 119182404 124604904 135883144 18837031 597434715 106841228 632360016 808392629 425702680 728743716 45329108 240151283 767511142 3386126 966386398 866054804 142585393 167895344 595248908 700064047 561946110 918544803 344366173 724201112 528817412 227954080 197753813 373150454 181057748 842313835 96570866 823445223 866053036 251877030 905496706 251390861 984169221 470348047 864227904 51467467 30173521 371066272 762726470 528554691 47929904 167173093 806318410 238767168 16826607 154913441 336322204 18966790 585359730 630090903 679275602 814354873 287510500 94674446 167859136 702453802 24666242 626887302 277385416 705465737 8968319 591153487 102812039 354937963 933086313 305755682 233786846 208405281 597233236 394213912 280276943 84862400 90769088 259122792 862161423 112350969 618487405 512935471 92762352 153238445 876608806 593603887 170867293 270241937 28262314 845532581 75439660 527053214 273328391 145795168 362978569 487619566 265862083 773731175 475253530 417329384 924566282 631192999 133473676 135216377 453765139 376157139 595167055 103740851 424806707 366473286 966030102 692531395 921817510 915863378 596866556 54515600 41075565 669981755 311816312 353321536 70140943 335200310 903462763 424727196 984867933 145944566 929086967 149814353 353981516 776920255 633689128 631208521 186433793 840099285 329288572 408235197 635758588 432685509 251050525 520088550 776713503 828548334 792326864 19128702 632012037 81589959 144165588 427810960 280637851 560594012 651753999 193090408 267101910 230640185 134589780 868660984 318394186 953239626 508942680 178613632 526332200 379300336 998421924 566402881 34108567 949140209 137566444 323823092 756979357 49341811 794541784 887496173 611994441 595648496 137076358 871061374 744653198 134574043 173649865 424157256 764203400 257422319 51711649 497021162 655737956 125475936 932027212 509367285 65227886 52169761 371941406 967573416 40056991 333139330 404979882 405976902 621495196 548308404 944391796 29599164 470001940 881070978 244208731 590105160 387458060 828880705 211503775 67534217 52542201 448305285 83496788 906193842 367857957 115966470 865721781 93289129 554213699 699283066 819396640 112259656 639212452 601170543 245782860 786515930 93024187 53279754 11071840 567024654 577055434 220640189 227891 709561731 884794338 631402972 110243066 297396495 666325658 844948868 627461050 175908531 383264907 93919604 938866989 753662000 345625132 65222174 302706864 323051653 9322333 706083180 250674754 974648773 491455917 313932172 235724515 231456808 262048827 539456187 432490021 445931475 773309568 180628391 516458066 951751864 84837252 888863574 637305969 879300348 578208747 506524063 783887721 712881102 205474733 624590845 917270636 303501142 346273210 543240520 988690877 2576124 311620240 517554699 304420979 288521787 63153183 529259736 181041102 910945294 196192450 391644792 618820805 693782254 40403666 977644048 502450665 136752239 159028407 934820744 479267993 449509687 334707556 976907489 191506527 969509068 450024162 678664207 451089833 356366193 265854574 995032460 70800402 382451874 856412843 284426907 238959928 211069425 187749230 285972602 219529685 354809747 124029360 679091458 534374130 745602931 565064197 845102476 720930267 181325031 252509048 381425979 930067436 944339274 67133608 141607274 85850092 21982496 576567264 525256619 629755111 250361576 54956830 62949910 832517186 206099312 263446468 213788975 464649397 976200289 608271982 67782981 786698430 855208518 359135909 247274251 403866309 792841991 811746630 205269944 202260769 607333527 294391171 106156579 890202390 115630199 393212859 967262212 464527 24974426 630053779 902340243 393056445 903527074 850888360 419791181 414116676 856307829 228240238 532753821 92125534 628290048 403548730 811284863 615863072 78305940 768334616 113103236 209819771 613817432 817091593 114003563 20847225 731366686 642330206 79868380 383848968 662602099 130697159 192620102 599061432 390560510 745735172 916472122 692056028 422669743 78900694 710885678 121413846 131309558 457566821 422566360 604336828 97930643 406637633 101882587 324890783 65609894 55325768 264436573 832190518 149713706 403721226 17951949 690388509 679451585 891254582 887058264 65623706 901346055 759552452 10216778 545708687 114674266 737715672 118895594 687189633 30547755 465988864 71007448 27950547 148499375 129406233 393143957 29779647 487836900 155981763 174639351 46269878 130117016 523647732 107970516 641017773 719121045 969684630 892108412 130675506 282564056 652996810 457042170 485478283 459705664 416822093 930099143 963411333 225998757 86218782 214887516 842058710 848482725 213632735 823139610 670263541 42255780 136975271 95700212 104228014 903225939 642864832 150605873 622680793 423139241 997168546 189039857 844670996 173464602 47706804 250462875 74784921 330419936 869047786 437237267 773290301 434559673 971727418 61657150 317859051 229643976 749499263 908712951 62153692 581829919 88312792 825567404 394030214 127661666 755309505 801440152 676903508 616058658 240617545 6739412 499389515 266001229 449644566 192003392 369013886 170031417 375332906 204342876 93903625 19929760 852096656 705986072 505289367 345151700 593899043 726162114 173813362 63006119 338748435 216074099 35925030 997432369 178353820 906835032 59349223 72691896 119401910 400156578 108078497 729451189 29981734 941423523 685522523 353749284 335526829 549504532 379265819 69531402 792968690 920338870 578959421 595771654 595855039 106861451 635351770 189297039 803092310 492931181 127788225 29937492 116787072 873683290 725086390 997989289 244027122 538020102 495264922 950486545 213693284 619607860 754770717 54310451 58504889 713771127 190110755 45769632 851408671 441896171 391993111 784628372 170414149 950068062 617453178 242769737 899546630 626883417 556604377 440527583 132214866 258307101 902329840 350170337 112694035 356103077 66361392 180891020 383390797 882168024 892720045 653890845 593064037 523011653 910675304 875368275 746406377 839489812 955788614 216267333 143354083 576478034 367227783 462637189 151778315 683299671 412904741 705010481 219655424 405478702 36605451 276070312 336783468 733613101 157549239 711322501 930821824 734502642 614308133 107099861 315167712 948964023 135001857 485813166 966582628 624499895 948458806 354055062 424847253 484661058 962594082 778868093 140414487 791276627 368333975 81925369 146433420 124661545 293570342 43370540 315903039 952720649 363911360 841256373 180735225 986582686 451626231 495906899 495948719 779352224 356458571 786698169 31161191 693671887 377581966 553464136 202676050 474938849 177403210 738223233 178255850 292957752 499202279 950069537 565156247 453219273 760675104 919240687 817431864 441882781 908510428 999212446 484759835 373227958 261024034 517722894 570527569 779556392 867179566 877693391 133028676 843078796 60323503 262467195 959378025 673713533 996190298 236162132 66466542 899695918 154793330 226134135 92911255 950516022 825924045 591993357 56698193 650164457 556939845 117610951 76808793 175405513 637729825 485138860 328065947 571821214 83710760 8617987 139546833 987321132 187685907 432644408 329583064 882747247 233370516 598107731 3770613 908936691 147296191 737014920 21351529 597585751 704234557 188253709 180526720 306342028 201307255 624696871 937420147 800820135 450815528 362641961 240652262 704009223 535870736 484169652 689754744 226954505 20509172 7451116 269528786 779481068 790053951 923930067 401373150 454281881 222395330 760031980 715871026 46050612 597116669 409866276 914525993 421496688 812111843 163481926 823049140 928552217 461070005 311931021 430294919 419333946 828096718 174330972 907117384 796152314 497723637 40829232 63603865 679449650 672576056 465469727 459533207 129502381 896919245 240755036 759359523 491010375 530308377 827166101 242482243 136923822 253282245 182561997 286439367 261980319 376188803 871171180 959917070 95013754 961540081 179678847 75980520 341294737 232966249 626253817 658952907 286897940 755320662 64690448 914653237 371459076 446735990 547796056 693111209 687664780 516855802 180841498 996030272 36149768 80644626 168583540 546842658 973737616 965815861 427262243 612696484 76284182 256703498 199827715 264634254 363424971 500485481 373850906 493568709 304635601 155443483 215782449 465170273 838508265 359179228 227834404 676599784 363745387 896117582 979534514 83020970 173239341 201533008 573391737 635884843 98370882 647421895 639297004 224700711 640437559 423313707 853478739 330545749 707996323 776078371 498576730 922628730 952241226 991419171 717322768 882046277 559773340 633860792 919329086 216746590 923620315 156165496 750307388 457501706 725430503 157288475 228447687 290841391 404439288 691063712 383117003 754853112 442020024 192981685 86446215 361812834 94973082 901587636 245570924 795682365 745832403 703434922 472613123 552131288 728006723 882745825 528859270 597302092 764533576 983382813 761212766 1438889 78574816 695091813 34204125 389499131 571251495 978546885 118898123 431439897 472957518 301587111 904404934 917541729 237763235 993898204 957102120 385595802 6375326 891278966 500861588 122818731 81684346 234649154 921400012 332367935 840197367 435628510 521919734 722502092 90992327 641128891 502359718 556825840 121344742 832571312 271637990 188054245 594039677 295873489 342847058 516960341 141645295 213556661 9186683 726897058 584668680 592590340 190223686 586339256 279274257 223555700 371416603 807920489 415619593 503091058 478057551 592602352 330086837 616395353 98913416 855341850 646240261 852019571 639773794 110536843 142759917 666121347 175186114 888738337 140212748 149099333 342163138 501727384 302810166 83176661 820465840 955672805 869761511 999846549 500614601 49985780 88625499 853942061 222636290 909811239 369760697 615499654 59160239 127209799 201579708 44935762 487551295 564770455 632002968 562139358 383645428 644299142 18788321 119307446 356942083 566210868 952974584 959633346 858354900 820765850 511914282 277004797 891605019 467881910 529742127 276121977 9892500 197511846 957059798 613884483 551689993 780857182 50067107 888948999 642960392 41284813 189473648 687271848 205185831 829677244 392817940 534581415 330612604 925598889 916960929 787674157 419702534 628039566 383756581 709660743 14782038 643103631 932306776 159337653 106054337 190648351 51011830 633599545 339077181 747530767 210222796 424656582 71047709 134855372 82977194 484092584 149890351 604098505 316353823 376075177 523761543 92041167 17333806 27923995 451334128 133083328 679595891 727538231 809988110 453606548 351024777 394601917 218717185 607424187 949974687 156198451 836714430 283343392 41177653 651872700 138318248 577718556 246666631 595172471 67910447 261487557 924145059 367350635 888932077 625506372 944573727 368481524 3663200 994841392 350128789 361281112 268255134 89737104 382827818 766802341 891853200 833265651 127097585 500001466 867491571 158585163 667648495 458534789 135826886 665495460 170027607 856001908 699961273 43063224 760601781 635448134 195401905 240102992 378519124 184514665 541087635 679888168 379268223 985413668 717392908 203095292 441907614 975544996 222661597 795379860 615624057 748470368 311685241 232432198 546106759 989872357 876737886 556618278 744528630 265611246 475648997 258862599 317502577 299476975 841534835 839636337 505927181 930583924 157763276 131482550 967912050 934358689 595408972 46915647 349842776 246078359 373268675 905928154 103269504 391108693 891001128 402141212 268774768 225271593 209726251 600245992 426614331 410772224 315119155 386728578 875087506 228196362 249020881 63759561 265640619 710357017 47802333 190740789 193042793 76154805 546842986 149969083 259630777 880941661 623213597 20516507 329864819 755345123 578425930 564648431 713765435 61945084 349223167 824744906 70030208 795317090 129012491 193948784 230170259 981044180 488035529 941812170 166935283 654604384 225578153 111739173 195292472 535605764 159279451 605191678 747292663 238643251 158412692 772672521 403059171 103736702 63540761 456838290 9038224 135061030 299601685 712231253 971919963 484532154 307541167 695433328 500888885 642212253 256538662 279014969 475331005 190910889 815453849 445098739 765577572 819019024 782198706 55741326 729391037 493458478 936505088 147538023 90162414 884511527 115817911 886379085 821202245 744242541 61419585 740498670 530759120 765819049 186703435 21453539 363592928 643323219 197917795 232971003 292767058 277079873 563221057 260988110 215160092 963273608 804061233 362976867 118640709 535140368 241327947 857453369 528280490 11984630 428803538 85324378 247164094 364778656 254026534 704026697 931237011 541107527 761770225 365860481 976965516 73300585 94127807 899917623 613925508 266916612 657048459 539779595 731647137 293393093 718888809 932498328 984101687 977795502 964113010 958288541 353179473 391365493 816339154 741251683 474031626 562838770 410072997 576458715 278299449 757770157 231953175 76670807 179192871 705777867 302020246 118927943 86181807 121502535 530296544 813427996 836568467 874315305 204133389 490189458 781343219 172971080 427195730 416036710 367974037 729201731 963578512 196594442 434349689 407464448 93797994 35613846 498145163 827767056 878944601 307572197 436454914 560920591 562429946 287185289 673919947 75335188 832323050 444349735 70136391 200599457 161999489 150232075 354404697 883144065 548086784 906736591 934016099 813269703 328552522 982561911 701916297 168383943 473724655 347728292 86285573 893488478 523993811 42819687 513623779 410532685 236795262 805036903 720279358 158476690 255641017 78235437 361350265 800316599 589832819 228500103 453799239 491309559 525715125 474031983 407336771 946048999 815259541 346034036 991527202 238596840 496408746 94163554 268901447 101611123 204413735 797435238 241939223 468032364 258903997 331358597 357194997 130594201 120693907 844669941 957931701 697304520 982662416 215724848 91061659 157080889 474333540 440857028 714579605 468603367 905987211 631423581 265453030 441972180 599820783 673556734 199465001 828406432 297393243 534921798 145028583 373746421 991550439 670420194 137251036 750770117 573324503 547283185 264747019 426635939 477709552 505734803 586190144 78246975 907352419 250472756 691094580 549370750 339081107 493542362 739757295 572162858 454291265 933372097 252727688 346573647 467566081 674939689 878189195 412482921 268535958 981053610 856985984 113592958 117014592 621186653 591371144 910563296 690705441 127819869 121989157 114250572 918876524 594167954 130188345 253209123 611028733 357565885 400558951 909382877 100610514 596307371 704623693 983742407 872000211 181288182 717658036 552451206 599971241 806333470 713495351 911400175 631361807 157584622 35184497 797599235 95043328 114427949 718615175 709707495 568242476 124491422 130268904 529681700 162860202 880525295 817418907 80862564 195295056 555135962 100582680 198918657 735527976 200532303 130802838 602211316 528266678 631103533 962822078 431406503 60699714 513029229 526976553 718305112 891484534 216351567 67766 648917162 342228223 722443581 39611464 227593429 356441535 427531051 987712849 831299814 300942553 493907749 506809082 849947307 693987839 143915422 123260777 7997815 126320092 192504478 794235059 866121939 288166758 956455700 409721434 645410149 379084352 562771908 634639200 658317407 869617639 703711918 323085365 375370650 948252982 714239381 262778290 314181219 82788104 637551524 588397115 48918954 956866132 40897296 322216005 534052628 626833932 467381955 174171647 346287007 647950853 753112975 243985994 479461123 587870349 146402102 628363808 11144442 198386747 683728457 116901158 426612830 862297913 268718219 739433871 513441395 948239462 113449956 762609663 552714027 821957505 660127667 441933461 77653106 187965980 982902203 486936361 706740384 173689294 46836635 903419520 662047818 234342340 399297235 698402929 424320362 550737859 436103896 274826030 46248915 117294343 31493172 472709109 12894143 951042757 966006025 602750651 829903547 145645536 105372125 362156796 134719133 245887209 184786683 111974328 543212610 810426604 967782752 431390056 939386285 377987119 747750009 549672042 59113212 234596849 5525220 591818338 372095927 576297362 250642178 107556018 534694287 959039742 236800106 463122987 34234766 762921803 760321055 924867530 94828524 50248784 346595801 5414638 223050420 810716824 874044586 871535035 560000723 347909230 41676800 226788498 687361678 198514170 61350403 616478204 254141119 82699582 5527478 671796178 424109762 718878322 85972531 859578186 505267388 581790016 44148737 579414448 252311546 176395240 735840609 728834867 217661580 783316344 291167591 194560089 808808136 363993275 335654645 464983294 844505372 611004492 974374985 578920994 263751220 847176289 616626592 358035838 611838573 217599494 626140806 386488652 72482697 727109022 407977484 627491209 45059984 311889578 987198648 797602056 766291074 191018394 160021918 702317452 847630617 175243415 663422107 916181390 198095893 896138096 65141655 165004768 311113996 644656718 783236487 123732899 75368676 235194958 105231097 676703029 54231087 209516510 312587415 93640008 822941629 433222704 115458348 577088197 449480913 12068615 65227063 122844786 948033986 218309802 970100481 749883602 808344921 593731833 878864073 7250001 305471078 469416356 337261591 880263318 574779922 354006586 94784569 209309836 463233787 812015892 46427588 659919707 516535054 821682447 743230305 458451261 794842133 204226035 661210658 723064522 23127035 232929031 86905225 85224445 251871144 669475362 461520679 882034663 261787446 432789959 28026990 72468972 449448650 249870147 67138179 192200256 247813425 209492918 366853918 136625067 296589061 578102997 14522689 925526629 566816180 279780842 886632631 189057269 235899375 409024721 741080171 365551813 707935715 525810783 412412602 443047887 159068492 825681031 332249784 205566523 22715995 72867875 325815032 241885098 559654464 809614646 310348255 374341573 953881330 931126837 910617365 1910757 38514593 154898320 948125926 129005018 109286852 230714144 797337219 626703044 356227098 747913464 348245772 145612904 171353986 163497993 734582151 942509421 485683247 737883697 935439810 460002275 895894811 371309443 28649506 242830783 110337592 534042816 82579862 763522807 818838091 956690307 422845674 972983562 915436771 688700203 706872905 872084268 553274470 150004941 323252804 355786205 279714958 27548815 195219001 312262215 841055249 681881922 120685766 276345245 319570075 41794608 578375040 114788347 793359053 823527455 411893139 540831573 743465273 587725490 485430235 864653950 995681294 236534289 767853766 186595386 359080429 806885110 385812114 938037343 259610517 153685211 461017843 741876405 765329446 316001850 594640416 196295637 114306842 275754548 509386337 255309010 804887833 93833956 942607011 110460744 13142539 500087087 9780973 717564632 840994100 907730933 423093412 812754036 71078132 259775179 496956793 147437656 335107593 827366266 229168411 672268284 990290259 967495818 529705593 852372431 942771431 898109736 573144310 811964297 337630979 381004095 222014327 57408305 383455427 766055839 977911093 561913720 578841094 55282699 557888375 708744677 862639244 716538448 94606453 810420511 924772120 242719549 538186859 61896283 145924667 620295814 252231897 316320788 871651730 276234470 191352165 579932157 775327709 941610628 45213140 546871752 610387065 409511338 296061486 611101653 103973316 441137829 79764686 41198155 893188631 371087131 984023642 989268200 680070838 842352857 495294297 712577320 918399745 499355036 999355776 975743943 454253054 246404282 940525135 388395190 171146554 597359049 648266842 790955195 504654032 773060999 196533067 952854009 646706997 401449995 767198428 435964968 152715348 819266598 178667702 89877664 453845822 896388811 451084619 947865235 709995438 327108169 760518230 152111215 157625501 544892392 428203450 494801547 658207381 413491659 198681684 101807699 413022447 583652842 156666238 918103228 258392679 448699442 401367811 51237819 175674219 279100131 401954748 221151627 294861344 4710871 187927270 257441055 51171548 467863731 369027736 918332460 476729526 779979775 481712395 277829141 922251317 289936945 343919771 972724106 860791825 749255103 15188398 544691570 164030630 693937292 56919463 917179988 379773409 960800977 192602846 767951527 539920293 28544361 246638240 141628091 88594056 343676546 801060383 332932942 865801976 728521470 699563603 813403955 903646421 392611043 644313279 847884336 406330162 527145400 275202149 917824223 29187493 569531124 730803171 425654430 466628730 863407560 835323578 28308118 295696340 317889694 489493674 800015673 905534997 315462555 442907287 713815083 679704096 643558751 649198709 836312636 21252512 349346888 279088257 783362186 679888506 159651168 313017997 796369390 581938657 978329674 573307504 789861849 744204751 440150951 871751929 581301154 350415284 693094357 533104349 725552045 853363358 135461807 388270313 811219676 814894681 705887373 540253126 130323626 529564649 391914449 581052465 129783559 454294438 896315563 970928081 532439368 76248839 58933579 50132413 319028569 809562748 475214064 294977084 737739699 161593595 876389551 126207977 926089319 697377913 339782740 169981905 507816433 401441723 296129001 397242846 704280829 23862112 461709894 235544874 512972017 624014701 96986886 308261924 415459824 896303312 58377744 498170054 511812059 754407725 240911066 370598363 74422475 244234024 113333119 183663161 179098682 578026587 902204752 914913733 548394866 397482083 242080812 504719469 882227209 677879742 258127847 386750937 202163268 303493950 92163244 497150781 947037253 287038383 985548129 538005110 558525471 146165244 31815327 527929801 189291796 403039145 216795357 564355731 143847006 744687425 486071616 243196877 408581323 558081199 205234739 212397871 277602881 991642749 107452136 35974803 413339403 288915079 785428038 584254670 610662070 887513060 578834469 106076392 421606564 451658248 904030727 712249586 397172132 531202742 856040752 247274237 937190816 510748924 476812563 67640689 523617617 717908388 632314488 128738711 389836046 121859706 272128914 949258305 837680540 59004870 765858912 741479276 38074480 81894409 69443708 324742545 259908342 41652992 972101966 450474021 540063951 454212772 198447878 145591569 217606206 873625841 998144739 41244029 631417209 217066652 282058849 416680138 461840273 437775490 899943100 147004192 183241615 995809748 756673852 982462712 600727617 746737673 650311348 129794054 254103402 173146534 399931197 576143539 199197168 555782696 85385274 237970432 219800264 69120552 311617506 680786921 181157991 500212433 840320329 300279402 41008156 693954446 902563696 222671448 874778172 783086362 247898672 137756981 346300711 512964798 604617306 157775025 155772920 241133238 90620726 831763349 484078515 355527082 878934759 102579191 394778125 22087382 254236575 149532405 674206901 121086262 758063942 663900651 524039822 39909849 914801587 20922002 510029013 68095090 166604483 41881442 239720170 64807297 884863850 903316761 387807991 6379859 880955792 228737459 217125746 266594686 351613547 777121554 377263584 730870554 608115734 723633716 651417380 258886245 501184015 923636091 299966136 831411410 856186292 575543007 903513988 744984788 600430892 24275679 8565413 417992139 294010375 803148109 264962968 757786144 115271138 222421075 422136067 4901455 896078547 523076579 522160399 335314730 177298334 601408923 458327356 172565209 812437652 365212859 870476826 582521912 75402710 830255786 146824255 420473090 375250533 142170086 444322989 286602212 994656888 504827607 633061396 946661747 206007474 187291445 404799710 491209014 64402566 435349069 89130826 687977662 185346430 646007376 678819761 251632646 131330521 805105418 465083054 244952618 389540274 64964924 828723401 989636353 98773300 46090672 631217975 171444992 882951840 107546827 836829996 99768112 579212531 563670166 23744936 51158847 125537051 909691599 529139712 565656351 693738807 729399767 729878328 75320379 604445543 102000302 2632448 882489256 673961536 141894957 301390833 78707407 169147235 649031638 154749481 235288430 791066980 278942251 502012246 737836632 566501243 310154076 569777013 186591937 223854583 736712972 779569257 759847469 53126842 124466018 188245039 449357200 102335573 757583162 147237015 375426714 207631361 389789745 912758670 328853775 682011304 433663436 502042060 104228138 822881297 473178154 654767038 154923649 899881682 744131036 221526713 64155661 46172785 140482841 234757139 501537788 394393655 553455645 829529921 188005436 409121427 123147035 180621229 642921833 133383686 428805473 228728776 407481744 104671961 17206337 310310598 377389855 367129394 611098616 881383290 611592288 147438272 580153546 736621035 514508037 675809000 926944879 870757236 534649616 42895302 692444521 838677866 996583346 635678057 795948936 777020708 458212689 846264008 423382319 49789320 337681140 962122253 195415112 589698987 302568906 60999471 94829799 394139839 115632164 976864992 719124217 573624181 995686437 173885016 215759072 714717443 286634433 273034836 518196380 839981792 631793343 658526056 357190437 566242216 333742252 224071695 227446817 609324633 883947657 242881455 48724043 415770193 951116527 149719350 49303044 743599072 563666429 632994367 166629944 525314980 873046179 607808580 344242353 294119356 388605553 7663595 354440326 481847050 419013838 372876963 376330068 984702703 891751102 299135418 832276973 926513835 572187858 611532770 394699892 452948170 516169912 87874860 714595577 550149267 494932072 512040429 339711963 754351027 904092395 464730407 833759093 803805432 407604040 577187246 667120793 206828908 729924920 897064856 156969627 243235270 858961092 840868097 1767321 263452300 835742158 978565193 148144978 53668095 114528880 168016442 23301919 313065904 240953389 712218790 728516230 556872657 9799794 51473130 916015936 369897115 214358375 365861384 137095894 247548730 317925787 614756295 423652671 750289822 119745791 875326831 764903416 173940051 672943957 473567195 564050017 1763151 789769319 419024943 903182105 841282075 356366648 9785487 973718062 120278706 151807363 18178462 457416043 978787864 552840450 395536002 248184714 285039652 372488453 987965866 247912280 477528479 461356083 11081817 57477250 526102041 500091709 164174861 572519950 892582157 827394259 690992312 261028197 164905797 509313279 550744094 921384198 233834884 513992127 158036328 524039495 468826242 419533513 384936481 960201153 364769035 990166007 245969920 919988558 725877578 123636503 875485791 972202974 467607568 605241675 299262625 216266041 163136024 844524081 214103202 543399041 797601886 666381282 199066662 252389501 714132298 259608929 303388367 471690100 762568933 604253496 252857618 376814595 900117921 518994562 604719743 617957405 344207910 193835570 256411419 188230567 619876453 125280730 331466781 269346625 718747756 693087468 268679925 92681619 509655059 285285525 31676955 67484534 527253273 663394582 478703482 62302237 468143512 649598794 781403808 351892606 626077869 487606494 639214869 560250958 650791168 73107440 519281597 63252706 581604014 761136863 619630541 331296000 207632354 800609022 351855609 715688316 537608656 64592787 952396019 604382104 606891179 187942663 460202513 190017362 170889583 748025023 488921578 213868493 848253207 983489652 945218634 71113031 361031621 169488832 294854580 886576497 629641904 888827750 968367649 950861565 150999362 401203092 661320286 910930493 236746257 914115106 776182102 210775605 914767290 66337863 706055904 64901216 978433491 991884861 186752161 530435984 847900296 474720395 971462704 258046501 18178478 239450227 803309030 239128848 201016596 9416057 498289939 508713507 750106707 956667472 117116961 627436582 246417234 725482138 955435649 483205477 981188448 655280423 530887736 608904135 93038358 562307094 503152918 775462726 154929650 956886287 239828675 781318187 75237669 84948647 82982504 74597170 722576024 257850574 114849362 103934634 486975585 180524121 888764584 236226584 955273118 98072009 212037164 804182911 970552511 265223382 207601608 344522404 891195205 313147738 70150206 105085624 452826904 443370303 726721928 964526962 183721326 89389461 617254327 87137736 934086086 194650676 649476651 201355755 469767616 847912375 338946697 115447484 356404871 363929930 309032993 902103143 624715651 198982337 889023550 508469102 655270774 216978025 343375759 17566765 821518123 865131379 752844213 347955031 747753926 801909323 367940004 751083736 33888738 761474424 461193716 89795658 794360723 85963464 823637503 594506708 416270398 618967858 755511173 302956976 158367577 762178032 572377082 143810433 216129658 994629718 670611044 761992173 750843975 658508585 374954427 111555267 700498291 334681169 514507144 918868273 683492945 448558995 708565409 86746640 843292541 31807837 169346779 744121212 405226146 800600948 531967006 955855354 207814114 20212360 454927885 472017510 642855892 815058657 495684382 21847742 443502984 480682416 645080800 179761479 64392514 305535045 497098480 130716094 8585886 379880245 715023634 180531202 45320834 981137685 81030182 283792687 567065940 377868382 479136332 470405403 279949330 985047022 382531003 620258380 502994720 462046299 121648820 163226786 710777084 817899650 677048679 940425602 328587678 152094108 715005078 553920570 122882330 247957107 878749221 480527635 329586999 392394970 613289285 773053458 952345283 651775234 925151563 885837648 266501694 983850927 830241541 38376594 590689076 439345611 37235187 824485441 592103453 959548966 103360054 757079294 390375470 796446844 191702104 398797108 389234874 253074271 415821114 618389125 149426658 262202333 702626640 257701667 948032125 602725853 946636360 80985534 59715080 82527502 637971331 263504103 977042499 119027877 738553660 138162924 779553430 811501580 569465132 649953936 392221547 576721681 48751268 15817432 915709748 598235991 141802983 367782947 584994319 997133724 753933472 911720912 578639480 105218983 496414179 104094117 722256398 192094821 484264937 765071269 630267951 95188120 141796321 201351304 339631091 262363714 448728018 138838729 21992630 909820817 60460361 111345956 720737235 618728909 148458191 637213775 650325611 57958167 643020364 222086491 340452727 67613453 108773447 841424664 996639235 190384855 909822807 523667068 739041700 611530635 462989428 454279899 255298920 455967507 257799496 577500400 932508058 966344062 153716603 302796672 631942395 121275478 949396727 299774672 224050048 433346908 197696829 151086157 716367409 86647352 227282171 575770930 884949989 782330575 959463799 409515365 182446619 771201598 149666550 580540606 619683667 181925010 270281777 332125326 534314154 589977561 451871051 795511786 393784734 894131251 168801040 376530 561174990 877173215 711299149 699566968 640583608 118564078 493878728 977986204 896763227 647979853 743304609 49666505 408393861 280268712 833391369 185866793 410639865 597680161 707147683 64630200 857053554 192817727 233846056 959530791 724986047 706403920 866849972 388235429 966464816 164476040 527759267 515574838 724439855 775038155 97634593 369336105 674850015 26765362 665030450 488017783 985328141 754228334 839506139 895374886 335717320 667970543 84996432 965218505 517068353 188971713 618069202 841842937 8161376 241270459 958860243 98227515 806164092 601043765 141631551 597372269 985196751 643300528 27879064 246373830 964014419 483781642 509506505 890643108 427046282 674208380 90358825 873616668 909423110 92412262 256130047 702808186 515146508 710740670 205086100 480427061 111209353 555759663 37432675 359208403 288934914 154633921 691775191 429447812 261143899 388431439 236007331 673135745 910625306 139868675 6995075 284315102 73394891 193013507 463581044 40890782 35445838 461630223 438275614 231570338 158804025 624760660 47705966 225263778 285784206 722812936 551402537 245775999 918773683 204465220 926252741 158870922 461925601 194192313 125366164 730389322 416278584 186357118 493613942 918077838 685599740 649446981 558299730 314247199 154109769 803539890 252521384 451506282 631251881 86254035 714172890 59990069 519534084 568927411 676488187 852387203 40870924 614306193 414886576 44905060 542909409 762860107 421066301 469053849 223937831 553513789 329024968 203107861 467603999 730852058 916527379 684174653 960493260 198915426 716179608 29244850 224891397 154065051 863935318 827037047 450468895 817585081 87331073 177472351 11246007 104406644 279225829 870083875 216881141 141525361 704893869 187697672 640521296 92498043 602258625 934966807 264166276 183712736 242978361 503760696 961391811 594542694 211833752 964557641 138123900 667906796 209204987 192941589 656385218 154241140 317656789 224790016 923636754 111193782 219692144 705545972 975631701 635362182 213019020 701689863 120290487 390357792 392848171 418238179 563101336 365797761 75180827 208239821 526210642 685824389 166496085 972065467 830803193 324335299 244878014 519898526 438098434 132116896 850863756 839525027 822166674 12675571 285861027 136255912 373206007 305513448 281749283 867075849 441174535 960456624 118964367 594310140 611644912 710204221 177011982 256366572 696178561 989941722 498607081 241851961 835480027 443110983 642880111 21406781 773208102 390689552 800501220 857516806 14043166 241983071 90412371 92412614 546235862 365489817 712210207 955781290 966257960 288231368 653716179 720522446 314594277 127974537 150052480 895117564 430752776 78737194 401111461 681192512 624557411 847571085 772751251 127352908 722390485 770908517 837112144 586280984 47550210 126810445 390773033 427376893 902641016 360149905 18787502 396031479 617402468 910705612 67912362 190238972 967620886 221349204 221485250 260563403 658476407 613510457 396582238 424143335 953919883 918584383 127482856 666365334 866673147 124980601 773300712 242725638 586239693 214807648 851458340 36400520 643499609 133992365 138535401 884123489 678799374 72250236 938893604 440305682 295133208 555290918 771801171 590316396 663383324 494566078 537902333 891009851 754535247 672635236 841982682 99508122 341330583 100234136 188885482 638627149 361892346 754787538 862192447 154014616 961102795 443581965 202991803 78131309 828077657 652624506 892987860 269335798 127198048 22449556 530208946 897338111 928673997 397455898 122750365 219528597 577908213 627567185 567890218 996386815 106125557 720820369 559404939 4531423 322381899 36306734 830036095 403240314 843703558 407275953 25728373 390317034 96204304 783376979 337881990 696341902 320052389 185834140 519436853 899926386 143919913 962665491 114846624 473743442 676924138 310003210 493479525 594374567 39232501 89552287 167472247 428940094 559012163 392493634 68737601 512257936 908324220 793915170 267106203 421401130 32215781 583794221 438487369 170826844 148261648 487746385 524642520 205632091 995013967 853417730 79850019 33512408 833623808 670065400 98854481 44301062 629870609 423457511 471608193 427971087 727911572 912418048 794962438 161884610 593927655 927981970 178284636 826146604 431518216 957886936 781016930 138576921 20310072 409358380 931731642 45459811 806434942 986456438 317873444 521215050 184383898 64976797 4757352 279875342 843527357 126722648 228307043 605167572 422795750 748225787 49258369 185855898 561057536 45473067 729132685 628306538 393064577 944296510 489856773 40123384 292917448 205156650 59482011 993517110 533101169 98094124 554561307 999336522 135218390 826445732 832028292 403200401 685378864 50956556 713047862 485758557 771444267 365972070 113421724 527342710 948001718 92163045 585677915 366240597 925903700 114161743 174123660 748514298 16573167 756265568 291396605 324204408 706517657 262284593 144365156 48232339 640119724 82505679 670787905 703889484 493670855 484275701 877397714 539508762 679237960 688927428 46805889 972989418 91534334 890827832 709251715 662044027 963782508 797343555 534975961 288549187 999556829 5516876 846661999 10487567 100588389 898346675 217314449 868850328 329041697 984097094 144533204 447130243 438190963 31935323 49304498 719799407 861450471 365509226 15499341 362944421 320536159 280260885 430950753 743301400 258468142 865055829 282856634 16177153 7420095 241935971 159306612 388555439 360911110 365052688 390894278 368231796 931104621 101266702 131704490 175246112 25819593 363525025 73288060 642156418 765430294 385590214 46532191 101169609 452497027 235124629 454843663 471826047 768353197 148622823 140426780 667582040 267333222 815349054 485128968 623289873 103230991 354080259 532212518 782388253 800943575 838467579 936030458 80262826 13849870 266900918 845764027 65300496 987892168 800825044 135311961 545287042 678874294 893615528 749840878 144725496 310932476 158903804 928129678 519315568 470906368 890001076 22979788 355065091 475870869 727843920 357168221 869006619 798140007 238437649 255865003 651922693 77531406 272077127 837161587 679973235 436221248 593316856 866467726 21003916 835835328 464763154 345490405 364170980 871546563 987853791 705163863 799322723 747226041 178179034 630461851 613583659 107856020 371094994 787101110 410067233 140888969 184605311 253909881 726997992 747927457 647686793 501020003 703049862 430267517 280224479 60085710 799143998 410473227 41499092 765852690 582528713 140371710 260423038 549457432 366451476 191899836 145449748 237463349 708430969 765560476 553054138 658388873 568320678 674773089 964005676 397384404 885948406 412200737 711661322 582447884 119775927 154473505 269720144 315074399 603843971 3238879 422219646 297957149 685678552 768745702 748231320 991722351 960558912 385927031 407560693 699045049 538254300 801650520 250585702 168381351 279581948 605690692 4631838 117185102 777359401 78837658 273137077 222613757 287295798 227351205 484390648 887881692 154644913 22536443 867296410 592466578 419385570 481326151 954447046 330404712 957952794 52545855 376612171 328422094 594788846 467748485 649461364 623079328 155472322 999439265 938610011 181784803 341331134 879889192 820279621 229905364 707298860 313748853 881329622 362306773 418932751 190255138 118938795 110772586 849497697 289805827 156654693 764518219 816997134 797900524 869238425 447645703 400260885 253922400 459260409 268934055 568529449 35700622 420052169 325937618 990070148 837658804 548171191 672094998 903765130 20055249 167956557 648367033 412576462 577880498 525707214 362732016 478249802 208118073 689319099 458315248 337192883 77299090 327187222 266507482 845179970 889728455 606126729 2062476 810241292 283430829 28510577 518942640 402199892 216204074 513377290 808033191 391925483 729744538 961602651 708963427 723455961 964892007 874004548 420631239 531513694 463617857 72799873 416825146 260436192 761475216 234028984 777093149 836560494 640933193 862992740 507708910 369500730 645539852 549299218 137791314 325299046 446695609 149862140 159536654 709553849 253263702 259407909 487175167 256408135 80627236 76722122 606040460 693863578 776077074 423851197 278972330 835517592 181523700 633407869 93098662 788773178 957834528 71818685 746212317 781391217 980596175 865075870 543245391 587858959 304476345 8636262 25077195 587683843 261254408 156070043 548409513 391250998 376214801 385649156 833324537 647792592 821431026 604509527 702332671 98315581 835803584 182062682 286196819 969722920 100106011 287243689 258041842 560397804 383973539 51414105 773134610 24113846 157244857 234874584 793210059 644909017 134572138 752966917 270287524 1606358 626887887 516148545 766792301 772836464 46483201 46801031 437153299 203672348 529430982 174423599 846897759 232188972 934678359 395316341 26982170 102740781 134107122 316294058 903373865 315135088 631011280 195059976 267865101 875077461 283372250 671078201 741000061 250158998 156901054 214828022 111422066 776240013 844033119 503972044 177165716 421144866 46654514 198021919 120304782 637793507 519317950 492701297 454319048 160385859 634161091 513567015 120378510 546988627 162579844 564137761 138246919 515959859 827985988 46535024 912534868 358762518 405232827 496045934 783251100 73936803 328782005 673684644 313104783 425445 689585977 901779020 803569132 161804608 50979470 152194065 101003293 146790099 489151562 882305032 77482403 775656417 121739097 16782276 768472047 145330380 570571004 49234769 966191852 82663344 748395236 121081747 860782050 225177432 979451726 75028716 42011859 271686825 265908586 73575479 40232639 245573342 64637481 33977236 978954917 645898252 721572823 891061749 886205097 798664190 437036674 527275823 471748736 375408147 683501798 692585400 285145553 897935868 925910725 948359139 476318781 68862541 967985561 161701792 173119551 685777895 247839531 267864196 15165822 297872275 182896579 248741600 170363471 64544064 216389784 889129995 965768986 759629170 477694853 676354741 199724760 542613650 202907365 589816204 474753560 535548800 122123656 532124705 559641108 412533533 761301228 882158461 581847259 509152615 852326061 156894926 705554901 505759807 599454742 106137441 566424287 825438063 446243498 868126076 360769280 707640159 291176477 474770439 326464437 884848964 297116915 79942906 276784008 605923281 127887666 507447516 498475326 752654041 147449613 970370621 545213288 21286454 755117424 285851599 197319143 653531729 778214759 291251866 529974287 920271477 850529079 831547203 590517914 205790154 361299951 489626422 748086836 71581489 392396406 985587381 634864625 284891699 244801764 650949890 805153311 305568143 522945979 818070798 950567116 273468983 339821778 420704158 35469700 939294156 443950536 736488902 491504233 201042037 595459760 67241861 360396225 328564959 174131850 436159779 23215628 617351754 968282157 183735126 360168162 87636427 28919452 505613134 272664918 220446581 241647750 247498507 47545518 932496557 107506688 499092155 319992990 769397125 874955173 919153196 390201756 146900321 898563170 366745041 84099307 646517880 42491397 270371257 983205821 390249830 129162337 226423173 512357869 567921080 22977051 405736414 352820683 902922174 452811658 367381061 899561948 630072632 726663803 382421936 94770953 457146398 241931727 965748719 850296685 223548758 188125765 579747200 17860588 464087363 562255026 62449934 71970353 188995678 435616910 459221342 803105633 145845306 99607762 249276213 549093659 758121120 351869150 499673502 360011995 927196307 746329628 763771514 794353468 6102326 791853273 560266352 117164719 862318665 451115571 930825463 295396175 676798585 175688378 838113181 242187810 557105919 434507219 222032308 794630346 946379675 336427858 190536655 89214726 195305764 548348279 758943734 215227016 655618989 552017940 130308166 300625674 181221992 636274842 85026698 580398226 361959985 991226206 56340436 443707946 644846533 154948464 20610162 529900318 409853164 286390906 839306967 236969091 120991482 16554490 133886307 538801030 812501782 44947497 676494786 117876051 867259925 252934219 140733360 84990062 289103212 888321300 954710957 284061957 229568583 379049609 799303139 542658088 944607561 527168739 1810956 990335011 86281724 206477906 10855064 71410010 295110212 320271762 326444627 178331238 941325882 422380833 112617196 712053938 974328353 521396591 414492348 634919219 671004659 94279514 723981500 79190049 91060465 947337488 452832336 539723794 209901257 706723096 168901678 213358213 999357145 128512155 702284489 739996018 288450217 961298291 371904005 812897822 694502887 290966129 977364706 769708506 578297214 751474962 836541323 438568678 557400739 338044462 843515746 413634290 113058116 119035674 949285845 927495708 715712765 400043039 331600642 483930960 763116559 90975149 387212513 864781069 119471631 850060081 732705376 362672993 362067966 869512623 486882610 416392686 195363495 796761935 334360674 558406977 435651338 833957041 225935974 101278243 285277712 85208209 412535231 517768355 764839689 608283255 99527440 680298535 942609661 194917018 612156264 945155114 56900923 72310425 865194577 68605452 257424499 983345164 745910879 929910500 172529639 170604191 979994814 731658288 213534045 767751769 113773879 847944293 227684192 965168655 402452493 419821929 379648960 293054894 930586685 578238473 739059960 865230208 220157951 621459165 801096222 374394700 138847422 369390345 514802527 95537194 821202675 406564699 228875035 652817647 334361951 360846118 162653836 426513799 776314869 125776939 670937509 176700541 977464125 617649370 769618985 936330798 98042538 740720933 831513704 617193080 479900377 475763988 526659341 299043913 114376103 81334349 577281642 931830191 618547714 81674704 678343162 592341506 256443247 990980660 301665423 656189302 287296397 350932037 844870466 451031212 757008941 206482121 973443485 782126223 722175507 329958548 754980789 753245062 227383073 308314634 48155587 368781688 32144027 198444255 964714222 80103639 194534974 449885056 533498777 878584451 674422693 791791535 760409706 265328719 159797200 658097248 456962536 317733740 720333278 195692001 142282243 124748578 792233334 437157097 970655971 926254911 318890540 678982419 181672865 32173977 707984636 129037451 188959336 430172088 755081086 604149178 189497990 252861203 313693264 319435786 439078986 452190078 621051991 351044550 909206029 688471227 261005073 9736513 821387257 278956356 502754057 953807277 797868872 989516593 673108219 651581405 778976840 748019655 11533556 845364560 467922956 946928447 381114439 266025767 473205452 614771010 939295594 3771240 788149149 224157074 118809309 130710077 726883123 345891894 103498208 257193135 719238636 466898227 151231156 601755027 74832887 299879212 599609842 295334606 116781009 339727341 957423147 954277421 567574666 34610132 876277295 878738308 682205460 293278055 966543515 347160908 119652596 241972004 35402963 13514740 390070246 6907972 482372554 344825522 638996435 529803427 320537401 139855707 907216200 305309038 727794398 202044785 267147589 462169442 792909990 400809765 15118805 823715171 40370779 974837924 270074278 366584458 348842804 684157325 815133637 424021678 161109204 542839834 976113409 75990698 557703244 624616411 285732080 150810794 213561306 575038509 865758723 258991881 358083123 174654697 282969793 656631058 165142151 116592052 811584583 219323044 421360647 28160060 209319657 11488191 285254110 186981119 803144304 89906811 857196276 417071246 862892021 855488256 652176 627308284 486134440 720258891 175525766 214115174 201369841 570826762 519705560 51617140 687488822 107800179 3564994 254144386 354716521 792385508 378408891 971704063 827505408 37589031 838720508 262594586 665232848 610493882 672995302 674623286 280579817 82271106 974036315 89822114 248106250 936197178 613185946 986327928 136149078 462605975 841580674 276523600 685930311 780216544 884125445 926436128 54617223 7559209 26385467 670984850 741335596 533825007 48588869 278642149 267216046 225795433 195260665 963946380 255741051 53930594 821830567 108587155 671209267 82069119 690281261 260074639 688497188 161373465 696953967 192324796 270973625 882042904 755382191 654089594 494622946 741295086 70755371 284576573 657374139 499928482 131535996 41016 507308471 294687055 611116325 723105248 673145419 893689593 45669770 701332721 30239159 415300919 123500339 999956177 73760890 119769977 829876098 119933036 115222864 204074581 127996818 851018090 580306300 207680675 148670961 152217623 960445191 478500325 71137763 370733648 361049989 75898248 767960396 419799594 454877215 739280943 606919322 764871194 145263055 420118446 760564632 618623632 407912896 550547613 587383543 557282833 248851054 575468103 490495415 817420201 386818258 325695891 434885996 615424202 936480385 702843950 20760196 277481559 617177500 751399507 729478999 464508297 246534498 394439465 882617443 588422391 13290160 216791985 689663627 411543025 282466099 149265286 893204571 201246724 63408354 442544977 951760738 888280726 356935532 839269934 24800828 194210241 428271298 906429183 320825738 243429152 578685783 839789470 831034318 965530328 73687121 379066733 13574023 786400341 926824054 771744006 869143434 615998089 49326576 56256804 404104210 731509070 181637276 721355863 774821017 889582445 219964506 199130199 272957442 126484442 300837501 346702356 975188533 134338075 396512351 52650392 265302801 833639975 52674761 447013677 460817268 225546744 145437946 346551464 588480379 806501565 914587112 206898114 820799766 456511231 700378795 51820534 940991872 953994976 92927722 507963522 722546272 30466846 279379090 40281848 685512167 56988472 944068447 298944725 82272011 819879744 940753564 590281700 119777731 527744801 927358957 673864363 172984940 887685473 973964844 389724042 876719375 783212772 707303252 994687471 332361034 883850200 544443983 296337272 109846128 328160522 835214 272701889 954075945 128342956 104555912 546073943 459588487 46786172 130076787 625873673 612219728 536427328 254360004 759873089 715188995 223500963 193896703 974574921 377039241 243987048 152394480 460887446 628774195 95634916 270556687 157658365 580929575 466043494 893264276 467322817 893703869 445740848 377559657 3945766 86461357 23168391 281678152 709089203 971630986 769149337 66087191 501163286 148435297 807649726 883657100 74177916 471570584 22880219 732354627 865261585 724480023 762529869 881852849 394532203 154752303 593133731 496730295 33297822 460164370 458550553 25154210 997172704 809467084 809752406 475891947 279691371 483766558 350677053 426375895 633616435 230406045 398841535 142994779 120185483 204692792 722209932 169185435 875435744 161066988 58138715 212887818 899632021 939970077 566732772 857042563 848079218 463720292 171365006 160689659 622187328 908731523 718819902 372544069 502860686 916738529 425615215 479564903 179748313 486926309 791888529 937462761 631321890 130818840 333713670 535875976 677492159 523443970 407481998 290135505 827985604 430988376 339508669 141925650 805130465 942795681 90101816 613728391 672308338 109637357 290605858 9276979 607720868 52916342 718306063 789470168 287118247 425590952 144609950 739428509 117681447 633117143 699807384 578619240 764909128 6332756 293722756 969904319 303033443 436920615 397313667 758649025 342893695 336576747 653441825 246138235 919528639 944517377 808546283 365027290 224051970 108393152 171206177 59137056 391515881 753704864 688585800 517940822 827872697 991718804 291454067 116613006 70124563 194472930 720952763 90810289 241993103 664097973 395613534 343092479 33151682 209151679 563587514 915241567 232880491 943366688 518784584 60057391 251964819 374258342 9170215 90134881 794865448 789489026 872098916 113301027 948513192 445097336 264586364 776595737 93672331 623480683 601454245 686092796 348901471 489610044 417133837 165633583 898532193 632105006 605521181 387294504 746834804 468855235 621806981 85474837 235344089 287619771 803410185 988501581 287944949 511778285 863626228 232843513 389383853 102040631 782862519 44014313 48080841 335308976 46011084 474778003 706164901 213413304 555869306 872409827 512854929 132793243 588556355 501260254 999897279 879369890 678930551 137055890 211104499 109635554 217033815 643003439 423640373 493279133 714652966 172347615 536670924 743652556 27121279 451576535 401818295 926540166 650949638 233398684 904498441 133719028 737001539 197808775 316535028 523434737 133906023 645566059 353174319 580189890 905061103 329008380 613020842 408124216 695974038 743947126 726683741 111656424 774240475 95721832 595392094 149388189 422478740 723348127 492243955 668451416 585470139 192581536 523789896 633400521 652258983 493945413 467857292 95679955 22582283 794746728 146259748 379858723 16091319 765597120 711768574 410416621 31954687 316384238 755530518 165365926 277373020 248425512 13200388 360099345 97565014 995240036 166029149 727382732 25657694 142443681 833874648 672441631 348284909 322738687 228704112 7416694 225968966 216562999 176968930 959955716 149319333 498509006 500978982 653534419 590132002 249522514 24632114 978356967 447627721 878350925 651898479 540639340 142068855 596077072 692847722 528176861 6722008 52506616 630205524 75522230 397978180 915157326 82396202 32778550 476960311 688350623 933492651 766061369 645751982 742177141 22149051 540942799 695319350 883006796 118634131 322846661 117143823 465326503 262472916 976924856 77987379 711745561 863492963 592096731 302831600 405386873 687231603 387243672 934204814 406464209 684225757 775684771 184208378 274801052 439540398 531735244 883989209 339680385 205067095 214690326 47914447 377834501 814111955 596071315 854683377 122651384 639590229 863378626 964059933 116856426 736371592 243729974 667516393 617904164 926049797 196273409 112408657 176966557 279228584 627219461 716824623 106419859 843723620 528985492 30891851 82680602 689108040 132382397 356368303 170632154 637646195 110063407 315059173 193729017 986502756 908304272 301089512 305359748 564979335 13327036 937232052 981092992 743445483 913278139 962765504 245558847 605757831 60709477 797557827 423090234 174755674 528933383 194171977 533420445 908747925 740281641 36778662 770741627 979742509 821812765 724816497 425301735 4999426 79576366 278042779 205944197 314410743 754373536 437508038 87153745 859731256 626756568 609931908 118882756 631659273 4355625 437300021 631909323 396703478 666402916 803135137 636233505 92195250 455285339 514450024 526730532 827093272 310603926 561700971 762483571 704050019 614022605 48301410 118171327 128559427 938098477 617118405 219168196 550208649 774249012 315785932 663544312 118976212 893957701 854670076 694316785 643253153 236514129 368600089 488377466 594464774 922883069 159691146 229370637 191978111 328340537 990357625 365387960 431233881 136663732 461765568 376699451 845913457 882913954 130250446 823826170 89623502 893223635 575050892 238346896 177636968 635670539 374524131 683831710 220012623 316595689 938512870 583162365 79388885 428761849 211007336 57740885 579542048 966535208 763704547 179109900 198758293 5168820 677600748 172941566 529581560 660632058 579802192 661630376 643121435 331705662 999101702 950351724 798163522 280368884 615774157 93863069 830914088 76009478 449791086 463374345 5535670 548024835 205766688 594858469 204146866 460879114 536822418 500889520 204477133 743708339 847748987 134378411 87751522 92346102 951214816 67414515 894518215 694214878 347386233 944508279 985994025 929108816 57273294 318349262 301743367 763699511 12073621 335809403 484784500 841422920 511444074 562254546 778402554 736863861 668602030 482801323 181548582 287953408 328681166 706856011 541217336 271613382 735234013 968908304 440730297 991543312 24825813 84708471 107456137 643979972 689713030 66874121 770223094 165267270 695962126 511851195 534467420 160339066 319519609 853054757 96728969 3915998 56735802 126870428 874226487 191267415 653110087 312995566 193355362 303135382 186533062 93396752 487220654 285216163 819171000 226290795 427574923 338460107 43610354 809431524 69236852 92834118 267890321 113452653 296773981 941276978 51333614 532457077 870379884 743722147 218511290 205935553 221269083 95638070 375433374 510646596 80037661 593838900 231990480 469189313 284987905 580756398 481989721 17441346 212808355 165776982 115418537 229912927 812971369 114518435 576170831 781343427 398014795 479714803 981820573 119310943 797055317 774341570 796941248 769969172 554537908 539882189 7380786 670970797 603326564 463909056 325921563 467617920 389487852 812075572 911458381 857851495 446256692 307346721 115148921 42184524 60516746 459536051 426902004 107919709 49052682 165562841 211781178 613510289 593731720 430505227 263108767 37691220 221804749 823819084 84682175 68387288 151530226 850238925 106637578 29097897 412378298 98941497 262766608 271977263 539023828 625497188 707867688 151961353 474718674 66047870 348608328 276218820 51979640 501181858 676986508 7378542 314677997 822533372 976501347 212494116 502346318 610112937 664629467 807846902 290286806 465235988 906954258 324456917 117539841 945143290 401071453 170319235 252849687 733129248 320102257 186292756 135894841 175058551 436214402 349149832 117697973 24662060 388464556 223413901 522981433 112859033 205782028 512113764 270833704 649146236 783230816 618809012 590198768 147988160 28071191 809866349 662249978 126901119 957496013 502143290 386528017 197504006 530788539 20074566 420315345 32395213 7297732 51020416 178169482 608700776 685675082 414404604 436612256 147952547 208295284 27208906 474636126 212028573 452976111 328472179 88400077 279427720 747670787 891115744 786640451 54391812 846890305 569031047 139201750 797581678 137997756 361230809 821212131 279666593 672795275 394909914 274658320 408878278 736405856 865576287 334327078 188489384 842997312 130409021 16045076 766006700 352555663 324390992 715761711 460608203 232286209 402946396 100065947 726860962 305411972 804136987 395319813 64000632 574061244 354313484 289796130 567062324 13592948 368189880 27630430 60746416 50459885 606311251 663025167 448599437 965299665 674403342 113298705 267875693 346048518 482687403 236384101 759173579 942747513 592008190 140212876 331532681 883031292 259407295 379637603 234551302 69291976 318525066 842632848 294220533 218551126 525160056 69639204 242272027 954643283 807969021 282138894 178854682 403810594 307769078 475235516 866029621 792125714 54369589 701539577 251336165 282600698 570499368 454572960 641888138 416479373 73028074 360530722 298743243 735031787 894491793 160657394 495102488 880280925 953414283 482314473 858819392 86367091 785489166 241404301 152705030 143093702 636484107 99600504 240017342 863416849 22564215 451907287 982524691 391131368 429521598 278619338 317022123 464712648 520047506 746598761 48239882 34763062 910553981 858346786 348397449 281300715 996298950 955304466 123904507 152809970 406314353 690350742 204677587 586828383 599794338 789816835 294378499 65859878 972499917 910794703 857881963 547892349 473282727 380586704 474825214 78605068 239324927 705724876 443377419 191074400 424336546 622377310 811250328 87709742 430540232 390896308 712859769 2052847 958947133 706920669 595124464 43729977 859191847 275922119 775031198 89897827 162134720 647770186 862114662 512158196 696701903 133448237 35298016 94287012 297046638 152974694 308381335 391994066 272135093 177944061 613576133 400080647 943268408 652735781 210791417 886769214 807877111 582425780 758352443 197619325 925846695 421075843 633951905 120028874 598624866 43873864 207531978 288108643 783597280 255365263 982665277 686369514 637790318 917828670 191896883 492567056 711595230 26081089 301555437 489650583 24232505 61835796 398949768 587377984 508271329 68716420 221308632 740485990 860737656 232520593 159790618 291045059 125754018 660874273 156975940 304836662 363882655 914160924 986408548 71694699 448359614 176059430 641476658 447993811 213236126 289757436 154526285 567345491 95928750 290835659 976127369 452735745 680111211 614607537 369104306 179556592 219909696 667382194 729530708 475202555 652264118 333904893 248990943 755564733 281935705 699698145 47528273 504596297 836531864 552174547 165784437 984373805 338702249 2982660 517265266 198841034 77292199 304518321 266479358 432323174 760282875 685254101 456293599 5883795 377158449 162059717 206340948 692257916 854031810 547663560 575937504 8842359 573945161 79838612 104315596 981512540 77330136 55722750 122701857 817995528 297800859 488769381 72220922 822191752 714167920 789494633 22295022 493158135 952086817 538990143 472866462 900393918 965512381 91005431 741369445 583769896 98229637 105265759 401274466 175786569 982234577 193024283 316497996 350591851 829025681 766414718 223390430 846262847 826222912 276058655 518337629 391111015 316608162 296454969 180885839 507151025 414268188 596773974 718808474 750430948 573324360 737149501 838775749 611681946 292999993 435570353 296182892 887930027 335055892 829195980 7957596 195236780 481029285 246809460 107365357 129928158 376920634 477859298 336073429 274742597 325894236 630809693 473100703 193985581 491502216 310680881 623990898 911049263 280695742 774404824 468707643 716696258 714276161 576309424 903007022 215379340 753611399 236369900 771507218 195429744 254061795 941195343 115057940 843814855 159054212 980855560 524896709 962971543 86220074 793360045 47347029 435763123 649900997 515380341 628909984 173700453 650043015 450857710 223489245 73092227 97940529 375226512 146544774 277080079 436649190 762771368 233592848 77645629 357308636 925526122 104478227 519715333 270047370 562475687 455942908 964050417 823301313 445922016 663048260 635630258 65764436 652696479 750096151 634004988 920018534 672998080 578515501 486255075 217988477 275898601 660120095 666541708 425622519 878262350 885323489 276869810 73802969 470825708 317916190 478414959 679983623 763226600 986303286 256379943 188062540 953086228 197407159 556720633 333772238 193462602 814000512 191476043 226921282 429083747 199979342 69591337 813233693 582244259 2314212 516200185 481762837 671621043 94465689 331137361 7501042 815813472 57605996 675152414 428038130 555087260 263608299 770630289 34450409 613248883 637645457 77504957 974831512 686778846 47760860 852240000 941819768 954843677 765494665 65886923 894419554 916397414 212992349 392629247 662972384 665519315 357860826 813121942 738755959 680260167 5691886 22645860 966955428 37247020 423467077 669355395 237120210 269048643 922573447 891942884 530648183 289833968 926196018 695111751 129413183 152130583 737534762 636362826 169316996 742079612 885120186 805299994 961427081 900520297 122529376 241036697 397828967 135574719 974896908 535340677 154280727 708959414 37791945 307129198 688100490 756777358 96810892 301372272 944169688 892681485 367590708 587082654 792592872 551851622 404838853 592494008 132163162 69733979 289319840 769898847 191463802 551811460 978409566 473620221 834786959 320199447 629480493 871187558 716123772 461425441 739176758 862775286 258578299 830702008 529669466 939309882 78729553 986008380 838397248 241475807 408539826 152406865 877756474 114949258 579677923 197364616 455876360 982343902 36683348 844657374 695019887 710948545 809241577 249281711 611564731 433653101 985849710 369228361 747733694 851350576 538880559 366540952 2796918 228910113 200068528 980519887 154059728 149234559 904053044 949404934 8088286 789100342 757305079 785436567 207852765 407833842 789487567 990536376 193780083 816752153 223465312 791255264 902256049 334336756 345328113 194380184 881298944 598592214 425089753 294295855 828186323 616232829 408503798 106754404 240431084 327106840 290980278 171320480 851726038 654498953 788905632 375306547 107510158 174530556 351141621 411954342 389467962 951181842 287277525 981739798 497380108 975265245 991981596 200965254 949934932 568264819 75293878 309465565 403399908 103680608 728247605 139154695 584691037 937332184 665432621 600884948 548136033 440654646 618798273 585452411 944980000 164293544 308725675 241754385 524648699 786037512 614580377 643099071 172542193 985367391 931650613 453687225 167415248 851744358 169823324 942521806 996783282 703415894 887422494 567152689 246062813 217399868 62682345 714516911 756185305 786666189 690738438 519082085 993362429 697941561 918961327 506910932 399234816 986610161 333067301 797767591 892054177 981362743 273979121 839553237 613848205 242274391 676306356 466696609 334923917 286847363 150722051 967102374 63486819 936182441 920785899 419552392 274408401 356002982 393010313 436984948 60747809 61032990 558212549 527734106 108990637 581420644 798882028 632188132 280619104 256479844 182532386 251265049 629661299 645447170 609907137 689965182 408202336 984786664 582465016 165020086 274414989 36452554 168192855 624449285 940271296 468679149 450140840 412446444 470212496 514303479 173295828 174692136 245518153 465773395 230488737 698425689 343108800 648297659 211773278 77219663 583836822 387376711 543346690 39574721 118944311 505598362 366437864 954837653 758051789 854374158 302707864 447019358 239601059 390481317 232562547 668081687 628869911 251982680 263656573 521391625 635535612 871543353 316331296 592486119 599975273 839393710 211603105 518045231 681661115 1086729 867455470 335957503 759186209 691683237 204871554 47883775 607424250 260499919 830974678 804971493 77531622 236933139 301340311 900488338 618609862 535419577 858650955 463695043 550815918 958884941 491014991 894127875 915482992 457442300 232965378 464117545 493995140 561580713 158548487 420655712 173735927 57942697 143719585 865697402 211831203 791132731 353161891 9475085 747751561 581152623 582200669 199433767 124499342 544730881 691423920 261130463 863675365 110147856 889746882 750741980 130375082 908162221 95341496 517385711 647730275 475448558 696770452 139203415 954756128 587332099 486698938 890209129 90082998 134984867 791442042 97941861 998659929 227827095 389368447 2194510 662560326 43445813 175515286 805414227 726222743 697175425 461279068 739323286 119917329 853301212 41781984 819435566 338255845 442648042 545373462 637049691 640922910 468586527 402829743 465978547 417659441 732872638 519467607 747609812 241172461 245846392 136759079 30548512 445156884 973016301 834687292 301414315 363136054 554225709 377145354 629103210 17162977 713136206 969542607 550899765 286664256 461632634 962915765 574059764 133314491 746401835 437368661 480795314 414360883 886404026 602183104 829006688 289796904 679489564 536964319 604163550 464150236 842128721 452662352 5436182 957264098 225572415 580562715 500308585 704427312 33772549 316093993 350704683 123377550 246196118 405882003 780857746 542906682 960755743 456057103 435300240 161402561 20686414 334501230 725346198 684581982 29145967 405855110 296726173 611338961 328129989 541815179 124088976 17602394 417183232 161880039 782381466 891006463 405213091 872388390 85236810 933794605 578979695 800888844 579537462 179832010 916297887 873960283 780932608 15803117 694616153 189848128 106320801 421941825 421396543 409009658 85930214 917771056 961068397 855547536 920923450 343721696 940087559 194165910 218107016 744289217 311478293 215466759 147818168 171463818 32816091 493704478 61608833 419168175 897597411 608867421 926295044 453851025 896517948 354529635 513894218 932782275 12216360 27782099 730746446 21849457 679134170 698588397 744641705 233156416 501866962 34175521 566714184 19557543 816271626 65261689 529716108 756726970 995778678 354000163 81979728 22213026 557053352 635582339 684080883 68719954 184731812 463394200 326799291 266126629 482512885 917404896 484962893 19706758 38369016 105862001 289755514 974734434 353439186 787207063 563598383 586958289 569098178 19364295 952780315 35719125 261988772 675834840 601644824 662412297 955819076 400538060 392416975 258586493 505141492 221841717 727610048 678785998 360433556 750621365 978771353 93503043 955270193 998148083 319893153 148093380 72727998 230188623 957167913 362319383 255597094 258158240 43907175 332620020 542963130 589371179 758264180 185370304 312916703 297975607 207041050 945953993 637649968 268241452 503761460 119994990 17196897 999806306 275793456 784412739 806174119 319325021 258972719 159376683 310847470 930089016 3850850 893392837 484095613 57061126 75365002 676396649 693585042 53869175 942970477 992767754 88075758 803731511 366516639 866864004 272732203 305153308 805969782 837765907 391118589 860385198 60201756 643443122 671507407 757786791 700778686 759124254 303978591 742766075 969915646 236542434 472285301 177210145 349858608 825976716 860420791 192497195 51090755 666856869 414321849 528511672 111445576 512897016 316641892 405756659 22255029 967691789 240250206 96279852 267078001 385839377 537723099 38899434 923711006 67402621 655778234 584722717 286140961 402363181 79559118 86969150 284251584 885984744 81241548 950594447 730850576 908428491 813990292 392679353 205693055 156562944 349463676 545281978 280912392 258662426 422909668 453092411 197140157 296810374 748364910 230870392 515415198 373627060 841623310 524286138 538407169 629868423 522388395 458419385 208438471 263655071 492861431 98523313 524649913 72158018 761401826 186039372 538813944 407361895 506068938 612236323 720820095 296523667 889189114 8350365 544823783 914882115 92279761 80852244 77780818 217838700 616044577 545646805 534335824 915704553 816313443 30030752 819796964 8523150 300271934 267464428 694086138 956680275 711252825 492371853 69667970 548642749 266975497 967473334 23543414 685872568 180458234 63658454 474178268 732166272 277940759 107972724 844994123 751167105 66701349 691782843 104729752 243005067 226044136 499805421 319741344 485424593 152422149 949883302 379666982 799021522 424825938 152541759 174485972 151254437 923362379 397970655 956948107 179405601 141287579 221414455 817788720 964370507 534721464 845798165 118756350 962478600 965791076 932605865 157873278 669035597 797571793 896301398 816637783 868397744 119681086 272495369 592827795 9093732 130732959 211400999 78812725 545653898 447598395 243262992 111641179 62457783 305265040 640339093 804634654 122847108 313120682 900489776 115276043 306459261 99666646 516562539 805608414 825726517 756567179 803791478 243458139 402898454 874453253 229076409 209557058 126167420 928350314 197068537 413161995 974426465 148617299 526999306 614763544 918188023 165199462 934064303 926822723 356182143 609284211 830556663 730868167 717324928 633276958 372897373 894502925 402817339 775114032 358440097 122554314 765691076 2620545 380377126 28077707 385696476 915642626 278694112 691569183 103631423 586909491 406355620 368332718 609167247 268401893 448698225 733092330 109638855 317277562 550068488 873771643 494175632 850569071 756737390 218226485 333013137 117273440 405541008 448164912 497719136 796121936 124999415 64301489 307859216 755553824 99648609 257396321 536146530 260397424 641187300 41247260 22562541 38103891 85912562 291578566 108758397 180430700 336115130 373289995 670994545 111035360 821382308 897769170 919793315 727316646 952879906 161449009 810094603 869176794 248402180 795936600 742114153 117193156 402961787 138576732 712228005 401066332 2651028 436560548 736802716 635717967 824355644 680113045 363155261 813165983 991414584 674584473 581532075 49167194 226583942 478716311 706309984 378023941 111448973 167677705 89213717 740210984 818883515 888140852 216736107 635724787 220996920 432597069 552200728 212996619 432830204 440823291 781350999 262595992 796880940 343102453 635438918 804027463 841105664 337685501 734142783 80775946 276839521 370593102 138031306 654210029 148369140 923105862 309117860 814753106 831313924 97609626 212925492 720388551 602483031 213471440 209087417 449274343 944853922 293505430 848269539 858191973 678666838 373720052 841361901 481915798 318309239 182364813 153767347 572198901 552528033 14867188 790934714 159843468 490833367 188078013 127959360 201272902 994993820 563414576 735476436 535832171 610489071 452205386 491568677 274161284 169274835 862293827 46889756 192573281 706977577 188439580 899988432 158336300 915134336 754385666 232425049 254679987 345335649 724929024 497380351 490105106 655377522 733522920 769675460 202043491 896359050 705688315 331747359 10719626 27819054 662546309 870702241 242696631 927446102 670238398 306973253 929861613 111413894 230409313 237906629 614181321 427399650 936962569 274753081 428579434 100216031 675258400 54584358 268163051 282975243 724545685 103265641 654656124 206526767 622318017 257653784 164955675 107951352 826832979 148848154 419316643 400345323 586688449 97713389 668576260 60869705 376018408 451779862 784409963 607270701 243523813 159800080 67521003 287893685 270554516 805504172 504173298 405389505 973782382 437492213 693112885 107390327 215107603 706564032 27644898 491587688 449136676 24067818 416958360 610467326 223445805 620197616 145518210 990197570 173059750 452397373 602503034 836837555 309074700 244604980 31178508 169185280 896823771 902346660 48119322 301003515 31568589 752222717 440055512 213781961 300013116 11914916 646302211 834974647 783380631 149813641 991463496 103609246 536714759 383567699 143754135 593347067 149674940 228962200 295306436 986659440 963763366 668688077 131042900 439962413 329437681 19356206 144879762 116243406 569351025 485036903 215883260 613477483 647168071 232354619 787562945 543918744 398255487 17373134 224574196 815752588 505581365 246546576 417501918 733064229 166903045 58253318 110020773 456057540 345150858 440082707 611949858 685002269 766374422 755446886 512491735 961836481 917700598 521159747 916718790 849764302 899531826 83139165 930045604 802051484 17089344 468187468 460682022 481763257 168542557 937285230 524480143 7878056 278292073 803479498 614983925 446162664 892448991 161784523 167122553 128272693 643169451 425764154 162073228 604361251 545451953 130777177 500906694 61820820 815657733 903357269 721118762 786399607 484044983 440749026 710183311 705100468 192386120 489745396 460310419 362193439 87237942 657682558 191891441 84518187 373747671 952014376 498063901 972008513 643332925 673183599 362609627 28556581 576982108 200782234 419564382 492304912 694004205 233418289 116133171 576316329 562658793 614203491 943390492 589861608 138974502 617830391 814433663 408413496 703337206 15821786 794176857 35040012 678253908 264195569 823738320 891460905 212367457 680917314 407148636 354839607 16021077 339450367 755937117 454802359 143199533 368390907 393303098 592844667 274244683 660487485 984361030 751269489 718120243 233200167 909328150 173529884 776486259 558525650 580763692 261713776 255497451 166615996 958401275 70365386 850476781 909662903 965539189 179342155 168715047 974453200 766158919 245957222 377225341 692615194 277964682 109954664 802990047 986482052 63223252 221522340 811262119 702417566 675469928 972246261 416430491 541783531 542693230 840784267 853106319 654362115 173191762 499892761 466368333 102344023 515633497 560541777 104644585 819558191 216048155 577184544 290266633 631560455 168412431 217538360 15445800 772945978 738270942 396909109 142638585 230518360 863591863 225623871 561002747 258834619 401980676 372470705 726703965 808261587 846383763 992547188 314967499 115950199 627026917 563716145 885891668 755853302 283843110 758886985 777419055 141184407 337763126 638809003 430752333 994476088 886680891 52663750 521738881 253460389 697525492 201433421 94410695 833479783 285814488 287906399 642262825 687911469 649469804 462054487 453281776 933470071 422633840 235381029 732358089 68768762 844717996 507683793 277203019 982707338 428453552 543912971 868042176 193178375 600468030 794873693 15737016 881343130 653214650 503691240 720392495 382995618 132668320 624962167 161892594 916129078 109040073 740715414 58675433 765211765 396745968 147422940 36054165 372554643 104417198 361608013 946133517 886671804 769553312 600675992 77054306 976051268 222411310 428904426 549883321 532371316 594367206 642542746 605995193 420932365 417372791 430300456 539146586 929084457 406295970 95692771 490987122 868383732 372137672 3839752 989638241 100437811 1915380 226531879 167337625 177737743 636195788 275206140 321646848 270055521 571270560 605017550 89547756 793284074 273726284 198418843 42928309 775478604 327384463 633131429 213515854 92544961 985958275 134918734 66798223 847772901 588934856 143605427 689229656 2072764 226475501 36001936 849193861 116174842 575760554 181046391 603637791 935352899 448109417 822579727 541623963 754240263 442497677 649580082 215199347 996776263 241320569 753162777 20708253 412662820 501972726 635891072 5068547 469919066 463474240 229778490 195618577 709795954 291023686 597607123 280151083 166742848 670201139 267267241 740113236 517846763 937527921 898805327 96875971 410361757 226123480 857491996 710530227 178108525 269385913 53053177 935519295 148370915 217996920 321532193 174482071 181110321 868567256 228694944 181827820 174117044 426951511 544484916 790853208 902421568 98168970 38483488 946167849 934474901 340442179 61550969 817743575 2145408 943434534 473776852 915336030 948869564 523065996 52015477 36004321 815327997 16234384 726796892 749861270 887641385 572076837 937690707 229939340 556710749 444782880 249196604 378945392 676118443 330861280 316869011 610793742 663584160 913012718 761452341 591435433 265292561 448133654 409601233 814698219 705803519 430031855 230754882 680600335 642774251 165135745 38409448 936857415 233967555 234980109 439557260 990472481 142087586 678575108 872658939 587168304 414117292 304653653 474041465 65538289 990561072 929812696 24533761 918382305 906073198 821569077 876432658 999992400 8143337 318843678 598811982 560135475 753138590 455187035 817388526 403244890 985282118 795393791 196334563 601803282 217825289 266960744 116356343 490188127 783318936 112598970 575395944 808412508 344780068 639519231 715264087 331914191 446441687 276425043 724625383 428721318 498747344 525095105 698010385 785823778 831864517 784564710 387651262 178067359 292830093 906790630 509826260 997113943 672422950 222590269 824843148 773892118 732212805 643363224 381240542 416056159 835303767 153654280 246219576 839935500 221693583 608259262 181394017 800745229 917001733 500284642 629426372 880765730 397403150 404528889 290483156 469135902 376853721 150717617 492650607 445557694 57115777 184134864 898007580 653665706 795212330 922235848 354210323 218184592 606444992 870861881 902846462 285379536 779013223 553794362 680312497 676744586 327432269 206559426 904169242 227223830 164998181 444077792 347390929 448441786 148124748 878628641 762328944 312345662 936832161 659534205 67527504 10788232 332879394 61186233 121936218 571369414 397124727 934209328 356333606 678602860 473804169 931923574 421496251 181043517 496330938 256279815 738259372 213151245 91570030 19111779 579714846 69641254 242056221 121124914 644321957 527662136 598107085 107165934 721604078 939591304 413933014 524022568 237615379 294292080 504318657 150182627 131246400 196063545 352699606 400689360 587716382 277155457 562758607 897521745 833812357 824174521 430195718 907756526 797227191 397138922 218881664 411237536 851081281 697937755 25576091 123145705 103114231 837907503 331274226 30233843 509359123 450964030 688547831 880388728 207493461 579604783 141910690 274921304 574845387 741677724 714534293 201745623 33622845 928395683 439957793 907286725 372485411 91915211 636813449 331460407 557907862 636781353 887623738 139168667 262000563 82712955 814663543 617019318 487913815 921921695 88309414 514247569 95829168 596839326 540869134 778192874 687844110 392496086 270312358 448737500 530080586 804940718 986740003 152315728 425104627 79662271 675999907 485744156 598025880 204023403 950937334 869629701 170426147 590611533 439976574 509052454 968571201 861898579 310285232 447419584 450035618 121111211 706113176 331839216 913427162 97153325 947789476 781863367 490743808 398069832 154542284 141072662 717826607 668785518 566195054 405966108 792023950 167695371 413615565 698786019 607912295 66132064 473141192 657446292 747344018 102687976 204144893 808131257 929126958 416529700 915661500 924895939 455866174 170562841 161496929 98666684 588564904 322590214 750530140 494107522 394092575 118241483 218455483 574775360 970136015 597468172 79508332 659466588 733123717 882483035 687420084 319584752 143961465 640504017 891959528 344189101 828982326 547592506 684202403 517978631 781852650 193021906 837857039 255339184 746154617 211189805 759117358 367720018 51393390 579937621 143647699 177938334 565668389 694320855 395573421 831775168 676850797 229162025 944412828 116392857 734467929 782053264 895790815 990431857 87691111 73657131 224731506 969558614 795434186 821258183 521332563 551191343 270583656 715236168 42975215 817580468 688063116 160047096 454770080 137580172 20757749 990006177 802689413 516703717 167977095 817921301 63344692 686309657 577452637 171888380 449985933 72793798 70498073 171395294 554309503 966597835 136436332 609235177 12902491 997911309 795105305 65844337 292573060 352243567 594270266 735127938 187744099 424691456 794207586 166555979 185522935 546438982 91062017 224207325 446250875 346974974 3185235 606784353 926157179 882432705 141288628 745919501 500593632 956446672 819942661 69439500 519410318 309110658 646622684 702596474 519281418 294001024 176227826 40737207 489723002 240270624 538260649 248152021 638577676 65944257 728985827 343180289 857882517 556489074 41399095 547447338 746554698 547840395 714128598 560766504 102190096 765190681 924746934 55355956 384835790 777204774 95778888 79236992 707157709 972020123 460874133 348144733 894317852 457947110 701720582 54738938 478768547 594269264 866558002 16033883 13024219 691373097 821416422 701781954 517390215 357406166 692687096 589986351 801997659 497745146 66199788 610440785 609542486 640891144 874840992 97150669 24829174 2935508 676858378 658097536 947691354 88070046 326944029 581621845 507942303 927160321 255896836 575485460 79595045 803715513 961336264 527841361 223554039 99870461 372588267 145743839 966344136 591574691 823624268 726440297 412474959 899173520 726001487 435267544 903139144 637321101 604117798 272668104 989219471 345732465 130666178 280408092 837952422 954782876 546972391 110656381 866894324 292753489 690909142 52038187 425999195 308296095 143715641 827802224 182934707 305967869 310324666 786276498 341966027 257025318 979430220 201478744 137239658 971946331 834824961 152974437 859894369 477125971 497155225 696817237 81856536 30705538 554248274 228529096 946543356 921069528 819395026 450758528 252068173 882993202 266375745 340970529 201495072 908749335 850708806 962306514 500225514 131220857 186082237 861410685 350273842 429559317 763825125 753683170 633117694 529398480 966888044 513680434 863012548 638741100 247956351 218828315 784794320 129207830 733714614 65806194 510680534 577027583 140682385 461904373 40376980 7761719 418572051 161226058 153679723 637053378 854056561 798495622 458166694 926857185 196999830 767624843 603736059 135666201 489455379 889735441 796939436 373276511 242862512 223792676 249664004 457020856 428663470 806776769 337180358 68676668 38665278 470589424 429759680 755395904 818082848 132592404 522982572 252074838 878326093 339861300 255108084 5666988 714796220 130291996 158457622 649781844 637771766 949989701 380084885 987781922 128044087 708186271 289604386 656641515 650300765 699284869 408520340 227354334 71089750 485570745 449486968 261439719 236091955 889805053 679671111 341499419 59429481 298754817 281679257 438037987 292091721 160267560 631855777 258640875 164432647 664303833 800694657 557697255 797766817 713657102 50316709 762842544 668847972 598743297 247928598 683411992 397410848 56374532 888260243 883617802 876512234 596428588 695936652 536506963 251076310 928923245 599704236 839514690 311829844 593802848 397217801 469117448 611859492 468334850 577107820 950918421 877709469 304836699 459555334 627110463 146685846 281426752 624713981 844051797 789432159 431435811 245533335 177709862 421416701 98696302 413374963 620765994 564611351 704521901 160166277 810499210 139975962 417066490 808508304 816984218 379434277 43080335 598573107 923210586 910413182 390294563 561565621 421276118 633223987 431721511 210981501 311421833 151543660 7127485 788668053 324309551 59022751 229699129 499868824 976910153 339258737 505107055 404281144 322842274 948704966 59925499 27210181 278422736 22704655 409820588 278289 533592067 858962755 445896684 428517124 177659956 805922058 342806884 34649812 531804830 77450658 250325429 258534568 679362599 430179934 782582964 320254898 636871058 567706781 659853248 170647011 74842799 467449870 292905161 844864118 946122709 635155545 632106866 930300639 813980572 11513869 129845136 887622509 751926818 254529172 18214159 364593148 717180062 336713706 404025635 541140462 640840428 330011613 574234261 242613679 76067562 325455649 908578623 985260372 574922578 182011176 601895447 392148169 423436361 669149322 332621590 519409349 883417081 696011229 144644565 9662047 494468963 379870539 232872333 221761429 99969259 825955958 368837080 588433335 840442924 452773297 613092271 929851069 142232192 409136424 844989097 254885573 966943071 65428372 561048320 277966589 908059307 298340411 469478837 661032165 778590355 752736691 501799655 862427607 756917678 95329512 26674204 821099432 938338950 658825894 72651252 27399626 112514220 711147992 462511350 161028352 65550136 554841284 236194504 80631276 894094130 59192492 155199288 920725209 289578313 668301687 286451382 854472971 652834843 417756871 303583280 125010947 613912672 434369469 593539392 8547006 327908964 996777462 835960687 333955802 676123858 503550457 763816646 625627867 189257032 139489720 242526220 279799448 213757460 323651267 336541071 249729425 829493322 766203956 110120866 212077977 827499891 585228073 57191648 934335367 73268321 270938290 401401200 743367004 245556437 419662388 109438679 201065812 867142795 50283751 555288887 603074707 567289030 151561324 77880536 576445067 128762825 42693882 421019578 650289600 177834373 826111612 612663554 762315688 651543684 665089421 424353230 82015915 721266954 168998677 477023039 355997368 789220235 13029632 481685629 653193756 373126513 887898356 880571080 894420404 781748465 96678293 800941793 465111122 411777861 653881424 739512817 167884823 836924446 248651278 5627792 656608629 856418530 701854534 683657630 333619452 190943257 140615012 631003003 929457996 194263157 358754141 633269589 2634238 281524270 792062316 952447537 957185296 241951683 79507049 23343975 750465155 510446052 830073789 865908064 429694725 149139029 509406734 238187004 625913337 499034486 261467037 657489141 287967233 928546935 885072926 699626424 560540129 565103263 461880201 783575241 347675796 897746572 50895987 97796038 154544456 210377059 476787106 341398367 913997505 889445358 990406108 562999075 813690669 911197792 169417122 632207924 205567463 766639921 932032674 69674070 721395816 334000372 733807980 335073113 92417496 495394886 489740295 778119342 777345902 136117456 726795556 362463383 422504653 63672139 563616902 7287632 961417709 53844103 244339072 273109640 901409229 581328035 926680946 759434957 320549887 191473126 339396008 334939998 104877747 408508855 337683772 243846117 707693514 722423898 398170993 254615095 567953880 109309570 552885052 31705169 360453333 411702010 104397911 271222414 660802053 931828767 329130638 919253405 246467874 242799402 401734651 121951713 946155845 192284831 513976791 726313223 26496581 911371177 691797924 179905703 702412378 443874141 55659590 258033868 599333722 578291220 156673497 33959526 596816016 34700968 512761026 288703081 329716384 75583576 552100297 470178812 930099890 295490762 833153781 444351704 869707019 563939407 178336539 715759594 536895952 480341706 853992654 747803250 12389959 851619707 977552501 254548929 278018693 326803344 190689760 660238112 18582724 208440447 433441556 293783607 485088726 55320351 852401363 835136775 923596282 40002812 108505240 72822515 186348192 926372396 180214930 518037816 926422606 75658297 818283260 754808404 43601202 231137120 45373963 451777404 460594588 57409574 776084582 260188055 983051467 112126747 41866680 436207584 824874822 660271279 782501803 992225948 299252854 710180320 753513171 797181401 644054166 186826291 262448367 676397163 68581795 272320801 393865926 155078059 273999035 15381942 551281518 190296339 988967943 336135853 194243851 850081469 108125933 182978209 124825342 678687668 414700811 203397255 875605941 246278023 636417093 993850765 380060456 66325188 808043004 310880751 259527888 283394343 353843929 475503404 957132329 546518771 849046816 761183920 652785359 540091577 171512806 126597047 689149600 798393532 831638765 603935409 916404198 916732045 838465240 139293355 319506899 494175871 827754408 642807874 4932436 688785582 948917346 587901463 433513395 578724024 295160448 352296398 546590870 447071788 24812038 940261662 478385705 521160330 916040948 895260654 200096069 48461419 808891973 407076975 344925307 729411843 667149621 829291283 738052473 845561938 44214474 734177663 436921628 546142683 321973347 582533926 306192195 393360382 310450275 792530335 197927107 54633690 809239899 896685448 135080303 901907013 670589304 595818646 982265802 133580003 634628707 92587453 445742243 493505848 930333949 516800393 711479649 937950019 659911100 116463318 14738066 390842409 319541848 286923473 201362011 833031018 914833056 64555597 300140066 518178743 877468927 555272092 184536145 36197756 240347944 575250746 377374759 385999236 176818470 72847262 111535612 537849511 771376567 954157958 942984701 874747756 885726100 121714497 682616992 499342394 250348796 239518233 267843301 213926537 586665154 516328464 209956374 379120731 870669989 15122715 491121544 186955802 339973279 295561392 496644327 371230851 224703337 223625577 656277011 524641166 795834799 916169147 556242015 873151756 203704558 495398417 100669890 78410727 765884649 560498548 213197458 650066938 625660392 81909680 958313315 267933345 614879534 108495312 466171419 166328362 874168411 827706398 440038844 882285486 874127733 218900770 681993701 643942917 817817430 543475410 24211423 988211783 419385949 210584276 234964482 347276876 770832929 602954612 830758861 168248005 305076250 967418160 810890316 409864067 323973569 99223303 850732578 803432127 853718142 773663793 431097219 270529882 820126957 498895751 72053888 188758534 96270768 29453310 610653813 108596448 588547020 392796075 390703623 243135988 477396896 102077802 156388594 566239259 873463279 425772117 674529634 810287546 47662716 459889038 40883754 532056963 184110089 235361487 661524205 606635866 314839304 855218733 932953986 609283409 652846212 879254186 439381998 594666497 258564662 177010852 332612591 438569529 633216295 247956012 422973062 89594907 934452831 219443060 823601975 708416806 475104053 259929674 179046085 851017982 796138035 803757268 223270048 440491928 210129838 862298219 78930968 209383561 280374607 980131099 372960811 171292795 927159414 693784625 692511838 930386028 843992855 787317249 351919898 64370478 244257372 395903583 291161584 203175266 539159014 974904302 922772945 348961507 932128277 164189333 599018540 92036181 951119626 631675057 932041678 283530021 596626466 508848209 283525572 273262796 426324807 593623175 513683968 125416251 329729891 890768761 205939484 735222786 820069870 19197820 2658241 206207379 340706516 745076197 990097037 262704228 429405688 263780546 507685269 139162543 489085555 537813932 259197687 303205846 37162192 780643625 378988123 63136874 516752962 490644347 20126428 170118875 431036301 454280368 210316443 980554269 242675813 917922589 601202542 403771345 374494491 331184543 764108504 870190113 858092505 260754076 157165109 123997013 700517066 267085329 128531596 695618404 813957003 724160742 864552202 557624059 195335820 247972689 10825206 6546052 495331696 904240727 651268087 53055805 357452781 799751493 800213391 120355236 708112195 625328804 941414105 884756412 75054386 257350056 345308681 479094610 243461149 948349088 130220476 524073207 48826303 978816939 38733559 649710588 224024290 957494303 625650156 323643100 85373854 351409508 271369527 72133912 17683752 274848125 988576037 923914000 137187736 288543108 470685959 325891176 741354375 10888985 807577300 737764214 675740944 884694947 989512699 133769664 881055120 376464822 47356937 266673528 314892747 820049986 806690508 265776123 416872391 905088467 331663046 193189746 326654522 938480776 3479241 639599731 743080445 33741138 23276523 764854974 507302781 964476222 408419807 339102672 156406045 810080029 485627136 979146481 227410627 747570271 87728798 775270855 55619382 203392445 664704869 361817225 387156723 539402828 264378461 677605160 274628771 218044656 721754489 65211374 482973635 469013633 697461660 837459525 84113176 355002418 541567471 648882207 915948782 800226320 128861647 33011705 896857497 261128879 627619097 496457563 103084543 322209913 290133084 606209266 491666692 994024098 845338856 644057569 691580267 340901577 561813485 256879705 924227422 425240849 565723967 953104917 68635369 953099860 710844100 830064882 728365319 554558934 484115888 365916072 889345641 860879144 817110823 576884530 199304200 130670213 914621547 932199867 929675394 185809013 77054899 80767503 885596421 799120070 484587899 257006160 922678882 260984184 43566615 134674243 399511483 520698471 296047754 787775408 729400312 103756297 67124882 122661376 845102081 146804690 753567221 636454162 867654933 805679552 427505240 530198201 193869317 165977064 229296229 70202446 418486723 69894143 436688670 17472637 141941889 183201237 352471965 80449694 160535127 283698627 180940639 54706329 350615219 738362284 665783054 34102615 393864171 256425491 144514675 933401097 535781462 307763663 920437400 166419599 244767013 649655366 19766759 48221561 600077362 87045649 255038285 866684413 292522513 317882675 87427215 195155768 103757020 317067432 62913845 656101097 94776186 612560661 139776671 175418533 312313754 991529453 370122260 772064586 623309422 794626852 323896598 493316873 258811875 555333520 432679935 182850396 434594657 706733150 946364453 259743129 435708604 916339663 438510766 866327338 708373742 645034079 318411639 339117615 173848958 264802701 990525557 818420810 374651284 421655216 776877483 960782946 429692744 690315795 847535356 562355198 578188751 887323899 238670758 701919387 977948439 971146775 50171337 385308498 920465490 998397466 566471933 153495707 990318460 948932203 709861798 530450380 7481743 40027501 10892762 633343084 444699169 880937183 282945078 969513678 714113651 455046700 899916652 931634219 287622951 917604671 406258245 72778321 579432549 522492671 867188745 824840474 219105178 1185440 623321542 813944879 750495950 538688103 606653842 409396476 25206725 623660377 352045976 373167406 229263222 394111571 433138299 435852208 497707442 404494230 568581866 215802380 395331784 677898157 919926803 289472258 953844554 376887298 248390591 197062640 478300851 992826871 966600966 273474908 558074659 235165495 854402836 719188937 244411526 210572813 151096397 383820045 993973530 30928752 681890269 507798586 179981725 763653020 698418551 489054737 297106595 810466910 776399448 66101539 897227075 349810400 108758979 567970005 637273273 183364055 755605363 520873337 970428044 31931034 411614670 154487030 634353206 112833790 613446171 428006458 556657906 234684280 327152864 256703718 485953803 55388912 37194169 872551222 674254527 831769899 262327830 984316335 389322794 538231720 550931513 799416317 503409861 166415337 931149270 175285882 508558726 225537212 492708476 52221768 933745941 826067911 923907028 12310233 867192618 34448772 845979084 365159358 62590895 233250419 567444598 5596704 197446423 680964391 659593503 849210616 727886556 654269507 810955398 905644694 646617545 622223434 286808130 209132355 415522569 355252192 286093762 319927020 722686940 984952078 790468562 281166112 119597901 361347093 21060077 416923807 454213809 538580196 596985247 749755713 61154714 343791586 306359033 50604125 385944913 282983242 687530181 299311065 391766492 730585856 223723339 36524097 890332198 8069291 195504218 592604218 432834606 1634660 233903690 933598217 775371074 966110198 317289730 606470128 948810810 18517646 686124672 866985975 726478041 830422705 637570004 509031936 606965562 358498442 426738138 875655824 256332045 460594500 94310533 530409873 443263063 860250465 856861903 881559132 213295073 996970256 633555244 726708326 502573604 794823471 187976934 522106441 265459466 899342313 800472985 436077603 789668506 234039944 832303773 554860377 876288865 310798142 747156025 314485077 287841941 624938276 939668455 744455926 545759353 634529549 182718825 263514818 221024644 79208056 303259724 698420748 251464926 912660275 991746113 478173056 9995088 642540645 856257263 813383722 744288114 964418906 896088767 60074137 842878622 120312707 927444171 957126985 574133997 724060973 219736269 280006975 116293037 103910009 514555312 145509786 992948175 370063665 975847468 163494143 981025130 170112177 104625254 938274674 909732314 590962735 546055126 237477091 282656151 334255389 893227046 110443189 632513254 599031075 567846175 599347754 128590768 347707388 193043390 277007085 137542227 420255348 391928147 492570446 733236574 925983357 135002511 82038728 313074149 585632456 343375535 70786987 797712346 228005296 254120290 430194557 703715664 19079115 636905405 44025274 381604604 713278373 850834023 699136413 6404773 523482374 277033188 81869307 568249062 589475722 965671 600193854 59529407 602035004 80258082 740528348 912002559 105791753 246848220 725452695 398376446 162603011 640023704 958978892 195289004 506149970 242440353 653820658 31098295 39887086 177053217 307200823 500247206 65300123 28295513 352926873 524658254 934583131 346990358 784142490 37357310 497712903 476152332 941204065 552445519 484971004 43174676 408647298 610541160 758416650 760608242 786151057 108259682 645484847 943865063 121732854 462908746 281781039 760012045 725064065 400856565 359668373 76116890 803880503 941991723 144579348 886503558 95861074 982234008 238484203 4007734 742434907 179387338 230505905 250065096 979365711 283623781 884058728 136361025 421089175 715169327 612306767 62501760 707057372 830227933 184819329 31651111 752668741 35791697 713382276 981760478 287709904 939263447 251698033 150532775 45408120 764048184 380816989 423617393 45855985 146936807 342570373 174187387 279223753 644940809 261635003 640522877 587644583 965480391 66455284 71879343 630365373 543253386 591505331 531913993 107972661 792486079 552199836 825761987 40678843 799048711 148359369 138272360 121653635 288110850 480812119 615714809 501434167 833337748 221287106 98437859 953969327 926013403 169092429 575189289 884772716 929349870 328419044 664617969 975907769 336135274 668882073 702540824 440777381 89178749 59123468 886905715 528308884 796336488 93355832 126083657 911662203 855506670 622942352 258483894 888808150 637417769 384848826 527450533 869873091 778358006 44961608 42359972 664454383 399231549 544455928 252586908 5981392 919829596 864244838 264257656 268590471 97272342 516049660 346161359 665428221 99094736 419044861 665424628 380358804 761563217 930162222 341495944 665746905 262003706 42731926 222920902 854372736 284188403 164613321 150083070 551270144 209377787 964689284 195868585 686577375 276643112 967255219 453825078 155772290 991532141 798618459 321996897 168845003 691417386 753603545 930887285 153046560 671713691 175720773 213138744 76322320 761356842 129345876 785322192 922856296 811873987 524187026 227186723 628717626 123650645 697565162 442143185 184228435 882627845 920570885 501952531 219248998 114283024 276757813 202675449 329660600 638471226 761970978 320451999 15391629 874218410 165128904 780422894 443531810 130830050 178914505 465902010 181124788 982241884 38612406 893658057 954721597 301979249 999163435 530419437 70719466 777902833 468505306 171893223 94617989 926329679 447417823 567848377 440468963 558974451 101883865 68262165 917344347 528424395 235317419 126083667 817463115 104696753 700217987 16526411 475486670 99076271 817168201 220769574 202943221 968207380 498634366 527540173 662625158 830205667 100750879 635185090 277811399 570537209 433474210 594188494 810884579 103773634 750938138 174033259 915020376 784758355 475519097 544061205 35442659 341857773 471087205 176551476 464369141 39212088 273654281 277625751 519937492 790674874 295288818 300380073 127118139 104987522 297278801 551811650 224095887 52938601 461181728 540721182 883654692 182918308 989397033 709017961 54135437 478507801 492662805 276180565 966076731 937959654 102961704 713204235 89390565 877944002 79409812 549886869 902243920 700898927 27285751 56129671 663510118 903396955 278413618 124034980 910613255 855776688 779756718 128075774 315344125 447427231 30764613 822662004 595476744 393970819 85278950 447860926 892794520 811681894 980914832 151477454 490522591 610396308 420479054 78685842 966567542 700641323 386705276 44101440 177666499 480331509 728430903 163878626 402786153 339524471 982737091 33327435 388088632 407702712 228528610 567797684 159864032 568698472 417355179 830951605 438609095 702181827 313463479 904693028 94283839 218922507 903725672 962312911 992291516 54704144 145446906 818196546 431270778 880905803 15828848 424954658 492596926 754430906 639867097 31595679 864696141 268006583 38778678 358789744 127502147 481075612 665796568 95511142 939422001 76555675 835677929 992763225 2207087 577938302 699763866 297440462 226583054 496082526 34738328 312016767 135413174 214330810 628340500 49838363 691605715 942544754 750298006 82161632 86310011 813141617 93049273 705408317 793743480 751596271 843383475 271763031 461623645 72355504 50519536 169197242 641169530 726352919 316472440 486373179 215665595 246765097 979302353 251372271 977318182 337058721 284560400 792861766 330899818 683312351 590368457 574654383 318383288 563598418 451176587 696548185 179569029 215107846 847718422 751420010 576535829 487883007 464655530 386962462 90157584 241231998 743985165 372554306 615780038 564317367 286146451 360858935 728466604 853078567 74380825 391036326 515557115 887898252 792351387 717854820 37944978 608035116 754966700 374373773 12641727 510174032 358834940 740417422 798278309 114665721 310171534 787576878 265819386 370897642 292261778 686242510 502477554 485562787 398915857 453368001 968206732 734850727 351563505 885996353 221394545 583586737 12642467 29735711 841047815 148082171 139973485 364302433 942258797 389219342 259937619 529956834 864795897 462022081 641198744 299885969 279913104 586315601 240263498 642235567 93326582 659334466 95446806 471984341 44475740 910501777 504983940 40272852 210817563 989578947 782661368 532457095 663486211 484490942 469825373 141652861 970981965 250264853 722269001 534061919 488270377 871787925 169177404 555941412 201419593 7105783 679713438 77035684 225158287 136508694 721498596 469975926 242781966 807039240 162150960 230922644 819895550 442356772 231193567 290520599 594450659 780221900 564314702 30887363 440444287 84055053 949066629 847618732 375878713 880014624 63282877 532504459 188883297 291286779 859735693 890539214 877751547 690105943 981529963 146977532 151955420 69836741 516135564 712281087 547997670 368563681 423762583 601090526 900127422 429604800 712707864 960638471 873105092 846032835 972663238 727065611 52120711 958359324 309665530 9864743 945139648 278153120 391293566 580975025 381569982 629079793 57427559 502941199 124534119 689743392 391867755 140732203 818685678 199118054 686205093 228374216 580847966 93425606 50696920 837626255 336057089 679674159 902405186 875579235 786586409 757218909 473261208 53373752 395021549 355860498 946032724 956574573 908223855 626496164 916417359 433044523 414780083 410882380 89300959 663104185 70386798 685568277 748495089 152234525 73150834 274479764 152177984 531246643 31176593 643050375 394743317 684198019 852515785 440011107 150761910 543123031 596275161 797079910 490226902 942015022 763352249 357522456 30298446 793484171 809556120 18006664 153538 132298174 148746137 830006645 744107175 553999551 532981391 661381184 686278985 890572752 184955173 950525901 431138865 74768575 963472844 290920647 996119979 550790531 75788119 750775693 493076650 606774689 3292323 473732449 748688238 913197279 23913284 229912410 43339895 494875320 820617665 228776454 684863224 842337928 945578134 586675113 605831674 959669998 467216302 88493569 618722015 784728535 533020411 587762128 565087906 249877509 849333979 527895659 329471401 659602402 320781172 130532762 948137410 840978448 71548462 260972288 435395511 36562563 268332431 391707943 168343839 947855886 172798685 11238024 982618257 783771397 601301965 834503520 909890342 920993981 795161306 205819373 283478158 485502919 668342086 329215169 59416590 490412802 735664515 700265045 96125725 626620399 989754805 159875843 72568341 46582334 821743825 927980531 331530069 154839644 395006132 318276578 32314272 305244890 433576146 168875698 18620451 524474134 514307272 77317327 216526301 52604645 756113505 402703825 690279104 916159343 349852414 907324857 55809911 861590306 118401079 333131505 264456388 569495441 257414709 370474943 588236871 206779035 214000628 688467650 232882275 499290338 253958085 496943846 573623718 883421854 765514450 325305283 862469860 153899662 7879081 984227481 207400969 721391651 219100393 300246913 484566448 659409649 656061905 193721065 710775784 308593971 20744754 252661461 166103539 589149421 547477604 157611476 338115905 26018631 956081793 687106843 950987125 198247966 36505504 605423687 627756163 322706927 579078608 246084858 376005069 989502406 560828807 849385768 440494403 773347973 997148579 728287470 144819191 320777501 355840632 751032120 232778983 606794931 55387479 650508662 405207094 280027203 351020195 918824567 483933096 394647283 793596893 829148593 47917781 218454926 813653678 129470899 196961935 975723011 585953594 703722365 256686680 303880951 676585328 945940327 221363836 637189100 175254322 170025807 294072144 924681350 948655550 711423777 822247618 728096429 283266603 859840897 424871917 20061877 427592301 730239365 242276178 368977891 548543580 479824957 663337778 397808250 574626561 3544000 560204254 985270798 38246397 135936057 472751102 257139958 3708468 984511833 593932985 814156241 493823055 53930923 398722409 397729497 560810981 806472391 143825138 505026619 505004809 156519510 872350211 138812211 206146744 352696057 257207480 308124075 970267736 242396557 714510318 423197248 236358163 796618453 365968608 500779642 856223106 266323571 90296524 502777072 475720355 275568826 248010843 322777803 614258521 583295131 544153696 394204623 366935638 614883325 287250838 293734539 912800862 84633379 128924641 758089303 160967390 689868005 282276099 291380832 394311625 442210446 647146170 554247256 309029482 43738625 173713837 875666866 543263350 343419502 459387137 683945388 793290360 956723981 143209602 49370690 466795684 323114497 499028022 875196818 758767224 662838507 75172040 807658059 838342859 259890355 698337207 708103768 189486714 289230826 9062665 705036739 260795383 783347962 523653148 860065476 548870662 845981407 33032940 821079489 57472037 7509745 17659751 758043377 300548733 137983791 984358570 993705305 269055194 558510936 755949529 533372824 548414788 437898367 348056497 293988033 808131558 772142217 672957450 159948541 39360555 678417276 237389969 674906581 645799274 367670390 633233207 842994944 305461898 853755735 897908432 907545234 129850813 651922240 653565747 282820916 653053371 372459160 424093547 291201063 398585126 287928516 67110585 135112649 75457824 8123005 450926104 311252453 5576216 19582032 480226471 201654407 905056061 870678146 535530851 948832040 178904257 358999472 642448191 416743396 296348993 394606133 227366480 73217129 157250071 785535432 942744448 795500937 373084338 666227404 977935438 617821831 814417039 843718262 500355738 81225768 153210783 613954228 692341253 786640763 961145798 567249575 477868742 85550911 756839508 919310707 765939109 291970818 499970418 709515729 597970630 56312160 572207442 621663357 617707579 926942739 494505354 856981067 773174268 815947997 734231806 523032718 183918120 33218266 524751189 294916653 161436262 139869215 941958556 715820110 821991729 279798376 319156247 709395502 654161938 820913061 1646659 232137016 923235251 416896426 642878590 346820308 210138842 263186156 436688878 306220391 162428530 708478672 334209172 463670916 558640062 337585912 383991995 629100531 700229606 196661327 685261737 666419326 449334892 176563446 150298481 758195739 780156198 734996858 705166672 606121485 373797866 833964173 553484997 621142707 230805141 54920888 41572970 108004542 203426922 5010926 386949650 696085556 947801694 256214320 116399754 80991938 457583284 506915599 530668263 446718321 553616301 88648228 608702008 387696067 166157075 609159269 872070267 62759211 927980851 91659348 506814466 565059017 380769413 257148287 477455062 969512624 38805296 543277825 914237291 516603376 259320756 492899372 747238648 142348771 91377494 637414422 334806836 837184803 996553121 242635655 855104519 933945354 730407656 249709861 892004991 47287093 943330136 739318699 22956349 63232127 24314682 502945801 73132995 669396812 490125098 338773726 214022643 244291406 901631782 437337845 986757656 189816644 98452592 188058473 430724858 978541609 232640466 893097466 453127137 192717213 911861319 14933504 83626093 193459413 987964559 781451113 37839143 944713928 119930317 496885563 706258204 241884602 537140081 909664015 502840304 263670870 288984908 26182490 709916698 46383495 706509081 209593901 497894220 298827867 596817455 933571109 658018363 86128261 575335220 235571797 564412111 819624995 164883098 58779185 133441066 219755225 212299735 990729569 380169277 206621659 401332507 821397172 772723985 620817690 231296205 729265090 392750389 5105342 160407396 212826841 557620713 894804526 872400102 967223715 139900108 528824404 798857855 352746937 73338459 646199856 8743711 232380139 792004345 302024871 212715103 922254706 110968522 585515813 41612292 552494408 318517085 61535285 695681627 142666976 303708101 816557293 880949568 317719537 21933289 963910448 223045857 215047446 882719262 211438280 531688121 58757082 787386357 546101487 637029219 399121762 707955641 777403108 384265067 991905626 696358733 648348030 559660602 857885932 433223375 196290376 187747366 179733842 518572667 193772294 98083568 124909356 330548309 777033058 526231389 983252696 697095038 362232964 532509154 588254632 551644297 75304927 988353888 569178936 341848209 20183301 941855062 764737361 270234379 487996588 939491181 219424565 25232069 909961128 908118737 157874658 946994761 114698161 152042627 528271139 625816276 259582264 98650127 467003393 483602509 5709109 239315282 708798272 875975463 33135587 38529617 234943059 175289191 366010606 864006968 340563730 397006620 367735036 165825061 642112434 40770564 596189068 202780020 870333440 748745031 380807495 541356075 372209830 765995644 424245447 397280033 212229292 781426954 231559463 840320675 32781698 508445096 179751397 291636138 208287025 604219664 999514464 79139761 382999718 457639597 982758371 601861785 112947749 423211987 473427512 173100127 592765169 86993122 514039846 176986928 276907591 988276196 816544593 499850441 640987974 594741325 409236876 960558199 432957404 669584417 51888028 577332761 129658716 884816437 715011224 582176006 522625757 31916279 271421047 717979346 229390355 298173209 604733403 512925473 458314071 46975044 639655356 635050431 371403172 607639396 608679671 113006488 450328684 510666806 156164900 208619832 789533118 734768788 985574510 629451684 424191365 238246370 244216225 605943743 784377807 49460552 920811290 211317408 689723542 703320573 547704900 710968124 190982771 771147559 326423129 388429515 472902702 411209105 963714936 152188500 80812916 13802719 348127468 186649292 888274270 572166804 667134525 841099988 290149804 839108202 130306787 765434553 986668818 464440411 982135182 926369862 279290674 950357980 756512026 468823318 706650839 671672673 526208559 554353817 759078033 900750650 456892567 226143719 892487927 449001180 969081354 832500159 24027066 534195206 939588072 886079393 51546219 130772635 82205498 916376502 701971305 39872074 1985846 875384389 763424554 570225671 97514332 13395978 90871928 2570420 287698355 29493962 434594522 757200833 389700815 256233564 238889077 921950386 527120636 469796440 70296141 164812751 600081794 404821836 423025631 630269333 244218349 764549397 416743396 32016553 881049005 198740310 39469931 333174379 347501142 449024624 46238004 430923418 213896920 21417201 314266381 25825116 905449862 381525397 740881823 507824721 81073659 439486014 470141759 409512106 352919664 636087602 842823392 622306629 672294912 280530128 816570804 59936835 742786068 314753922 506493999 20372147 205489795 801289660 144134547 316775872 61815574 83672015 207843919 646622813 639069469 255271513 36971673 120682182 446619664 547528547 714158272 289104508 780517181 203640995 53101215 24759705 420338546 38069875 767702620 266496561 529764453 532264050 673277420 533910097 56016843 234827362 89491628 784651549 519502498 762281682 805324137 971414273 677395889 312013339 56722596 405674556 864738847 820675071 93789851 202254289 460802020 963711792 188975469 878248550 959573358 214425786 248284595 784440527 577660686 873484979 696055207 647523508 20392106 671337786 782421516 361359710 262408054 790650371 807652762 53825296 356742620 879556984 191573713 952377440 595029128 763220222 469735360 950076766 999609384 550726446 668361750 858804552 313525139 165849364 47597172 875177365 574308353 39479748 811770277 129655966 156704735 555462070 8419605 838129646 1950212 269516107 996121255 382620271 27363572 110878592 952950692 125964918 479128549 978619245 454704904 932123377 284331923 844250007 261665619 216465241 913021796 12975205 274060757 96711216 521209834 367371672 93858450 578477163 881320243 130963154 495325406 223186538 405647615 209698827 249629055 467844039 431880151 946009868 141449512 7763375 141754469 475305440 415497279 739397338 491716543 72147346 522182197 564963516 398795641 24896886 293106435 777083195 778357628 943072897 225225346 682296460 457593161 555634975 404232566 965209659 864432572 231504506 338990982 121578781 716837203 705884690 955241348 646125354 985204722 723786632 371536951 128652517 574142457 988162223 268588590 49271091 576600465 541415479 755033484 266395743 392372273 913520244 796525548 353590328 62718204 687971224 387990048 598113422 163390904 865103687 217121469 458003158 438779469 554541279 331329900 354036189 37483687 330821411 385869652 849783426 797720815 277683693 175150882 75549211 165768241 219664078 93218281 84424288 98232477 974709124 327069241 420791148 707274212 663184084 161887085 13210568 75158878 65000034 268132769 728515455 82645584 212239859 101063490 287955969 1803373 239930498 686407282 908942166 610262195 611830310 307634314 19042455 360178765 642929750 360552623 304653177 211369385 889082166 84408339 60130656 24635948 940398205 947348672 423692296 877054177 95857192 845295583 662580642 408346555 342050545 76562802 641389767 960207541 825468851 472106827 312609370 392323922 710840213 57277262 430246490 361703467 177070390 114699636 953107551 672214884 115696545 734498393 63566822 781777608 830792887 799236108 738875457 224269935 229756759 810762230 349440231 360366884 914682993 814961420 89870871 944076817 86534001 233223116 146377169 14442707 760195194 511394560 415816481 589824501 159732517 466284158 732709609 164423588 651725484 258148972 943970971 627964126 757191735 36765869 165985359 302662973 129952199 712968823 731030753 142111306 767405330 808768251 35597359 503973328 577036937 94458329 625745458 325940417 813766487 310479919 54369178 731104541 596353379 830660355 490776598 410213253 505892880 514994280 250370214 43822487 345222669 799202811 593307622 613587144 785309263 292874702 192703956 995359070 688960021 405621710 891336412 1782760 537256561 231507371 532816011 118444576 461266561 10455083 382235674 250064618 989368801 190583958 984727147 456835597 683769335 248272432 479919525 841371952 922085987 479170915 759238087 332664986 495971450 648911271 255660390 621643410 89667151 583804922 850036516 211181690 125897458 514784198 188629284 219821048 726343649 885179065 937470051 319710093 313136191 932952955 949180948 575410852 848040371 920963174 166698667 361863139 702896064 37598482 821807730 691974 194971079 679570583 933908824 418158955 367794646 370954151 207997189 885227902 633476018 830781020 338446330 263647671 858154167 53635612 630003648 689309855 111750202 279443383 814241052 701527670 898686869 986602499 46388623 909100082 384478935 565800551 367307353 613212245 150184720 115120420 537473743 995306418 677644484 425812844 673172594 694531260 851083367 560084925 574675973 349538362 691691065 855201360 800443696 855530989 724132849 197874237 6811005 589061774 440230802 657101426 71030068 254564458 257403552 597421276 351757094 99246395 762649676 838020895 546758413 188493160 875365515 171795356 523040346 478287924 641269384 140963811 197758997 627923115 802992066 532774144 553771972 18750017 568282861 139876383 161732360 142925638 217969155 42319854 887181732 702477349 721647922 982024464 294900473 17605556 448777326 725932682 584275350 895574955 8462650 849529361 478741482 113706198 713121699 644972914 163640005 440812629 852212579 197093250 797911053 372618872 636654933 278041210 981276360 391680091 404006817 228630100 803155144 679877121 90414491 342881562 222501671 746568620 67008680 263295854 507634950 722540939 847985762 132951268 484116351 728529225 416121490 236226189 558502467 806122946 743136652 848843655 108996019 592204181 934139475 945511232 258501247 999739639 39196975 109025856 279571104 754063331 149121722 870410396 584430066 451447497 12249707 758070791 449335774 388145876 151541247 819073524 820628507 190101868 762652553 40452906 714939139 228149353 294407458 797996094 810797151 524730527 640953584 781287200 542447694 25482984 57549339 302811535 589738837 115349653 643408344 21649125 218174135 815959762 844188317 952615687 521038495 72931388 597475938 300805608 512581119 87196380 159592797 212080867 151241568 886236212 213637298 189322971 281274734 483507558 715298068 267142559 728940636 573680272 241763524 562855411 601485633 399281628 788003608 214723126 657951925 537333333 149404712 542932754 130367310 150281879 567397558 381897252 262028954 48306553 939577669 488950764 843464222 90952985 865119137 56173221 439039885 376811338 783495756 655747907 287209027 311383098 723401200 678542612 279784033 165216573 384260849 260582919 761546405 273845105 257818904 274381580 644683403 702440449 681893676 446295405 162620381 109239918 263170397 284709236 630401635 569967786 517643514 401447630 175394140 870414176 798711057 740413699 959081396 739084796 519237845 289936585 558384210 332092856 998723085 948342110 104355788 454580036 668532205 117179024 335701191 369555331 854120633 336353893 890303696 534922079 912662456 870670457 110455413 492987206 34849334 111269479 79293160 716071768 723910229 307097670 616973208 435182878 476141957 756590344 679436156 773045643 971866777 466068389 538673517 48821957 991032802 697267638 206669428 51246298 194683609 549922095 167859526 856561061 996212868 900593290 229485217 275063384 178445435 373586039 140899971 480224954 212974055 860879254 404855083 793424856 687178621 341894344 586615277 9347439 700709870 514927108 46400463 819167607 848615003 482352759 126121102 825398076 584255899 70573402 273777696 927467155 797089624 973989182 115352202 757386678 143790847 107192315 615245939 693331813 369494374 398786750 646006421 618181979 578528781 185191332 5367247 803005670 795063468 255751956 445384200 763758648 35472177 842742082 790135208 746368312 642888615 10769725 285391795 194830928 723841637 54176963 644932672 424842471 59138128 930504556 42261922 506707853 596480120 167061014 167663406 20389767 742352808 658452027 277356731 218631611 305373961 403807231 253600709 762654173 190103611 653702732 760557723 987125613 721524771 281506607 774468096 982472398 450437238 365932430 709649397 249801831 190249202 319133844 874128986 949454158 307327608 104853192 974249294 905240647 831916711 103629074 531259327 359376908 665787717 133681239 265360732 56847013 512798746 17049946 278930578 704768346 94009361 608585149 482086127 122982383 234103133 823148855 573166111 196661966 240011457 434634699 447683334 206249500 760922628 459957316 591570638 397949443 269942722 865559332 587618817 630029031 431746457 621597398 161987714 978486837 67535716 526236707 986615105 476304746 319324708 185958997 323560146 26622830 465521364 65699906 823374452 119925615 129940950 618356970 200117943 286098561 613836055 70238761 99028431 162434455 225517204 171524749 759647884 806329908 693542591 724485699 342713340 268154041 970576040 684384053 353563391 694861075 463530015 20806842 355050094 343979309 264250382 594864305 42872922 864180952 153319489 426645691 933267924 346569632 675505489 277510970 987040535 655932130 144463097 674151988 624058912 48213946 884735863 14929120 896115142 666380378 3648734 748251073 170499409 837848552 350782384 623148864 220641085 54449924 77298555 530452129 322114309 430532124 923789015 844725374 513314221 96109449 434022358 483380885 910127046 326782352 379007948 235405343 595051015 33704368 876393432 708853047 390738875 672598048 149167663 795639261 642710840 862397864 804390933 289789131 213748873 414858746 785981362 12482907 9430139 269040423 755416049 799513808 873945553 951264753 173014221 320384332 379912091 147160289 895797848 6504366 465865598 700698214 782189774 491722198 451312341 76216462 248442714 218106944 253972635 269897291 243530579 943539378 542812190 541155331 575150159 36351812 390085337 950147605 800374652 315229378 116115843 550369076 742672793 642613419 688917473 155373668 19488030 829311364 729678174 997601264 97898861 777605902 801414454 700987494 212096565 507502505 196065728 438239686 653606345 341068064 271097119 242456225 874288434 370690883 476686477 261915721 451076105 180511083 290031735 291972736 567152981 315438997 999367843 571129421 103055623 189731819 20896190 839965667 416758948 921771403 497758750 501698370 189193638 184919035 765910532 497738100 939069744 260046543 377768996 448805429 843742847 476971665 118178319 855962916 852536242 123215816 41192454 538333443 341245663 467087401 117958314 153135465 328122098 213842050 87021719 999873107 106029791 105201189 66061236 799561201 59212320 887156283 526750255 991099765 612884020 40575055 830014664 667976570 520684027 391078135 54487148 422823587 73286936 475703120 827271571 284786180 598884200 270029605 678146871 532884806 698158423 728994983 655974199 222240588 892518050 223638168 198462346 893446807 156277278 991989250 272974588 47396239 24835037 375284504 902187714 362721526 286506688 955302456 190134483 469524579 174733645 306793576 413381524 851570108 854772309 99719089 622915940 906650725 15626740 46029180 567921995 870030911 259427222 885110237 365301727 405832788 114501384 126648729 472463259 589978670 424516221 652229194 836897132 30213950 505682241 769861222 556199576 480264268 505931778 859035632 244352909 564976356 796702332 473154955 389547871 835177277 882213821 338609079 224201010 504425529 950148687 499189130 702031989 472566648 583357455 301374172 248033406 204229520 805536953 46551265 304783154 827070605 580044742 54168045 598555051 349552823 178468238 338961968 1725547 2992058 316684093 54096100 562115595 752551335 480979516 556077112 200892298 964002022 57963024 875722027 766175603 210986213 890951441 995541760 536176956 954020629 828578682 180569537 369306913 857113003 803396668 981766997 558542023 445796053 456634257 653427355 387997291 962440278 138331619 437048572 403977679 659077122 249733333 431758921 328751805 29530481 701312933 880310609 613114702 33784264 251615650 800907880 688446732 988368440 992100491 421649717 31787569 426035290 481461972 559328025 660023061 633767271 107397337 185922972 591254050 285505241 265380111 942108415 662631250 360210997 233566199 417738500 804752054 317807378 564080799 918046640 876280536 269356770 982046047 278068219 303794070 576163362 183477509 910829760 924360372 818943174 75816389 446995038 184156981 102282027 386982925 69948584 753340806 608325782 699212368 275426923 535451571 65789522 113838351 2942513 186190119 671440938 54766846 90340289 757577414 479618555 206627239 329569175 112212956 389316578 303925587 920021394 596808600 299493799 528993530 930180784 4110148 443759754 587833478 304815403 112489772 257194906 12663191 897082727 809948463 360793474 195668434 813796033 666155669 208308973 870799246 366251986 19222691 370905701 873752128 629298917 580307065 360231868 258781910 569770604 499106874 335115691 416304567 52143017 228802127 273004068 265439006 347497442 683776523 86160301 132714192 732862913 284953443 211111748 361621892 460478852 377763603 152679202 123387854 438522789 550348425 652156128 713770740 837199461 936023361 614849884 337122871 873133708 474747896 972516883 59958839 904499 97130059 692827635 246501745 40496757 860289427 279152988 787220303 755292071 469623627 792900559 165659163 943971940 558284453 223029614 777549012 308346199 312511658 312155574 164353617 453534308 456314446 807364565 345142854 715103818 760418179 734321499 955238491 457869143 372138237 260881961 268479362 111830906 189032179 405764100 413251072 114786156 415950035 232713141 855325293 478056847 173325607 518047790 452193805 309009923 431806573 347528955 299789262 214479756 15859324 601714941 598716282 110933017 704671099 108236741 265367502 927971896 412648641 140471593 758229858 835198630 310729240 291032959 430716257 110723192 32280246 480286459 487576942 198379630 918985937 17077529 596038516 479257068 346239851 783754661 846713545 17418673 825501332 317010305 396284625 548666398 938140615 91394980 77732817 586389075 328770526 814588900 230666636 438907585 2637070 916769915 703377904 590140454 171710531 96720263 248643271 492451698 786866655 330099122 131280135 910397323 29815433 159502689 933414692 263027555 164672207 797530532 669785896 502982840 606957394 186810972 722344471 423795484 308780139 431627213 903175934 70699280 813193122 929722121 754364894 783407732 485798727 42610404 793380602 876325808 294747751 144132546 400424995 675964383 309380620 238596033 531006087 660623045 82021151 448948525 746565236 847694756 525729577 37968216 182053702 584845918 32822387 622730794 530998762 195705843 415419641 757832847 374212685 344909505 2221645 891991552 657267566 717981617 43648494 943014739 490685416 464971824 649455815 447518831 888924422 144386799 565074222 415994034 229573444 92965928 778879041 62784663 520893933 42101044 32824330 616211739 247826772 717038401 58983179 2529501 904149012 32474379 806393337 55621303 118489644 135718777 792262768 423383037 687681121 149641268 154113481 245280166 941084970 275341512 495860903 59959724 313330980 8470775 670166753 173093247 766488590 220908459 855397902 253510105 60047537 938157597 223132224 327529300 199589059 99940173 348238917 405519812 483011737 389034671 690912266 56780770 451109200 630946447 854524594 251469895 146420908 264793043 415135532 795134698 322618815 679540043 245091505 714138612 249031708 220609073 728819364 846820438 839389119 742794832 623169709 564103992 786827986 700781806 703361093 220447207 942953789 582639648 51715873 262430149 959159049 248542815 848968497 51134603 686371731 95162485 19801828 173192411 969444960 325088781 294239508 844150321 561763631 496492222 221196292 829669653 853907040 651843530 592165856 780173310 409017353 424276042 305222178 734604504 102502626 102718140 367170888 263637266 214808634 458691486 619020178 978073385 107349358 193685058 615515855 523909904 109143457 276234354 837164972 392733786 312328069 314949310 783708217 925513715 875008115 486042942 347919563 157222178 677587506 315975260 946887228 451638550 228736110 259570546 683129308 313298858 609693720 519752078 702236541 612854531 244107378 177850859 965432846 557950749 89511454 325037555 389443715 301100253 530354617 447928375 658968376 583251569 998853505 173050076 641973184 673835 646629359 659793627 377059605 584994829 321833858 969375744 416355705 973487414 334505987 456258111 336711317 909265271 593992852 879002591 518146724 151275039 910512599 609930546 321542809 130713507 101178844 116393655 313519956 275674962 218954403 456033626 643758745 906800404 394010724 940211184 832655923 53935158 349534734 481551368 737493949 391076067 59767810 47711654 6477461 312583093 133424254 288527435 238350837 487306882 888952898 682931146 118779621 10248417 613022382 415266688 157886643 698712473 433804540 132430629 256633068 373039577 104277250 571754788 711681256 683052441 994347199 17332541 720041536 233673283 288565837 591425410 806189873 171616145 217335282 327909139 471066822 861994552 43440515 316012299 709622747 872944465 888933714 109616877 470966387 423808765 579113000 591492106 321890537 671243491 837975740 632636274 290758776 792722446 557414586 102125624 998082761 945988369 735986658 105151469 818436851 325124335 834729672 586889418 938547678 992030180 105019708 592184538 537373998 195796646 55786786 8293863 95120989 387145859 163277713 99408186 6079045 331119583 62025545 616357803 442528108 447707285 177993202 104853473 649454833 563150581 163144195 137570030 370495111 242880404 395905305 308551179 542032882 39417362 775985499 669492709 129590340 844088847 895090432 382455064 659827551 404948806 708528329 75377283 953095183 564785059 486074460 946562911 736942257 192234405 37001053 85007571 334998775 901582645 180983568 696465977 550305853 401388605 669966214 732534195 662429582 102301791 343486701 784775503 614294727 120669139 303068361 773559200 336583595 788529881 784947595 810214608 278330035 366630375 537177365 68596293 60775028 375894073 907758338 235078406 178203384 758585333 459981047 832117002 187003249 332186345 514867925 818135230 698543057 465200543 573609214 801925513 165061386 763752042 450399051 544765174 6214813 161112178 295159628 376329636 199721895 78872244 62501263 141562762 459883394 187652572 242838327 937159429 639378735 202139445 124579743 900566940 672432106 721047089 818766640 390271960 728801022 487307821 40076555 177069188 369788729 444676546 914774318 682113461 225671419 72169963 640500232 166297850 280148096 516297934 691654867 85375884 671975998 437458540 2413546 988753450 726422867 559121524 285726088 531317634 564540755 88518 275973176 409510093 700025646 736071973 11995300 221053977 532616469 719713916 263048601 462434396 957616093 802801687 274907601 782689355 921516310 82040115 304726777 486676354 567035709 759061679 73972758 932954488 264332214 722756759 519295415 381998307 910338006 84971339 928892301 113581140 686788850 808536477 576612080 180063123 789530123 673499426 921396023 5989391 227211028 609419549 380535182 617181823 334839439 389733402 442625981 624121093 443442244 95394516 543331841 696221936 341025105 244795975 836331554 571078925 364115625 28265054 687208424 143350387 232535875 46897973 312036728 862687409 204641448 197632992 568356153 860004336 288378520 923203836 917298145 545139762 78045019 209622013 530768112 977004777 506901831 624183049 956449692 23750789 925704189 512213325 46534095 307799983 429509403 751621679 554295196 157329466 770877768 271447089 806741298 623863743 638253362 438968981 547097502 203845122 353249083 993401263 446146052 594211337 88071923 383007588 968029028 618354147 124915834 829392859 649558693 154076508 169125166 54951610 20243576 577913376 838810532 871325939 659594182 221556884 213194302 169156585 133763706 39433603 193087730 208684172 832659446 188288694 515636866 790397135 525964084 641616007 239116669 341776876 399361662 264011375 730693920 344228504 174915213 222836573 500452798 681876672 522672669 836811742 105006266 628879290 563985373 326985957 487966726 695599163 998558244 628777682 569741315 454716945 851084240 506540921 894223239 78365532 731221447 758217807 471833913 354491492 790296961 792135831 479794548 30789168 972460544 982246237 292104250 294914645 780462160 918198602 278687400 634857432 64446695 762309761 959574278 10806886 19932495 620430904 325046875 39490382 998472771 510404674 369635372 740517689 652011371 416948377 163985282 977880814 74200962 120682825 733779593 585390656 331980458 611128693 384525486 794308845 499724911 153198918 40264411 754137792 836657727 146137843 233681218 264549067 796396914 251381335 525857733 556892784 920599336 558998365 723148818 264777505 742422562 946085954 773840437 464628429 730938481 403097974 153205430 428349048 27717260 35458064 69105225 857390229 176041560 931034456 236483159 278353333 397112970 412971388 485666139 733308581 526510586 401826850 185212619 493173096 311107713 404633391 995955798 369460363 181200265 205217474 977990167 689398757 485319140 388309821 851686419 598033297 67765825 807859542 169844196 831446852 992090106 658022759 688537579 858558460 799799410 832307411 284510048 786445380 967129775 710228649 485048076 879974367 783544977 859447107 811318479 205786478 542344023 162895420 279369700 179855207 375508832 40554951 647657315 152830754 549865034 434989166 502189289 364316471 697056838 295707803 983767900 627855918 314199915 938857058 793735860 452095658 307911438 666945369 658658982 231538496 712387476 17801733 419425046 910587324 325168292 360606560 141707045 218378046 922168204 289036384 278711501 449065798 595543264 836714515 811299462 647388356 291702265 730146623 637047506 645971821 261998534 92830050 144084581 756276355 48113952 330833323 418092272 631461134 989487871 560389907 284115117 587804151 765355429 840582851 234742864 811055619 790076705 762766827 32931223 613710679 101420972 102524450 691498035 693673323 699724618 104082983 118613480 433781160 634171092 679635007 105738819 449192322 469390599 989167030 296201547 661790448 535718621 491479438 365320505 238272291 729546046 513105553 474150246 126411751 850660109 640122993 147989511 511139447 186620091 104561001 884597892 348548513 25528959 102714367 750120788 144889014 13964988 159849066 924451410 527255174 872402066 351312095 758124236 725461684 697138978 637487948 638645309 267259277 979188002 974433065 730141417 899937031 464956367 734014427 144409314 245907996 156905868 627034674 182097721 746622512 949557026 581598830 257805258 161408494 756516035 540897939 263776384 144706621 715947754 267558852 704480608 767645675 704869343 809335468 226237737 190676062 200617191 294306129 94536837 640533895 235245125 434351859 168557861 546651000 356473278 130358910 190379436 139409938 157739869 175652148 766162601 409116689 440479123 169845347 326519958 649176813 343532749 558322541 916020733 28679497 852413410 863401059 426682550 688677962 399800454 703360059 778713396 977105997 20092686 787380260 705281913 144038647 314659972 323663784 913724856 455691072 23293791 921642826 264504677 256804067 491226596 704255455 187355251 339926922 618315102 964889970 167279781 287228323 866829069 348860923 120876177 603430225 688115385 817761509 872052415 675265237 140406154 901658419 392789673 596832405 317943617 537495951 202796572 957303935 585541777 231765190 736001141 230739082 37336903 458116282 966654452 213960195 484556433 599491811 916713481 125395204 144403966 279270135 862554536 190014665 380220484 308324409 229853689 554688230 405407091 600565938 559097839 450289743 642633688 846908786 421063204 8675144 340010901 857161390 86394447 190864386 315315522 79215365 89005843 183154 603699099 134837068 99510644 184060517 622043249 445756820 872183680 142716869 811449374 660991661 603211316 455548240 706136697 688351510 132909750 674390644 647307168 319115177 37050092 356232210 39490025 827665487 208774930 827846049 528825360 369779283 630935968 672297581 390612297 467763031 273277558 364687199 821743738 821570676 793530136 823693045 226974083 98824217 799371451 579380162 891654015 711332101 129730595 331320392 99997722 51922137 580433542 411128303 82625806 370807905 981692433 984910589 406667841 996589078 312187771 280495568 746084605 682234780 848702341 774971245 616251573 408404499 213824401 866533279 222424753 57186582 221113614 954316049 318736663 658075125 397466313 688003542 805163649 867238934 43556864 767833692 117982066 582769939 892036158 95113600 633261705 720304527 560899848 15780070 798799268 363635049 140106700 40082102 314245078 803947990 294087752 255774894 236010838 133842278 685439876 193725467 193668057 966199889 441991507 951730772 211809999 937804166 745646884 496558515 321289912 129888109 247677727 299052097 952868542 72501430 841545531 77311672 996661591 484554733 828943690 972712813 948533663 459587711 334216695 837651794 286202227 813259830 613807917 823391984 210027095 809197251 131928073 345864266 756735585 386214115 721587516 168303479 831070063 162917625 528372621 673008456 360380731 709735432 441735112 798485285 131035321 486699313 28881513 361924310 13865743 653795057 12382341 220007161 266872688 593043490 818032108 35276812 105547971 16134842 441922898 284503870 77417895 392638650 242275029 393530430 93153194 361296779 540995191 381318342 167444096 476699811 832190157 640866481 49651341 67896980 9744395 55788274 500599623 22559244 893833355 513957818 73013494 809472119 396554246 364945156 364154895 635640632 361272922 104345809 593348552 390251130 95544746 327911747 804470234 766519397 79131921 678946006 571644025 465755593 745516823 760720502 805476865 462649247 578654255 24684656 469992131 63973183 326552449 894987865 657742934 598660092 791002479 287312062 979991307 664914883 505875651 576630993 103903606 799789858 684220403 321474803 889106478 748753061 853397524 590477300 903115355 428368625 972801795 997945245 488370256 59940869 286638008 651229196 730532049 238520163 674490403 737310376 17424723 314231952 169088061 161422483 42967297 62658850 782525121 151822829 794383071 458219142 403951836 447408055 395674507 149069567 495140751 441488246 186047372 78589408 906985630 15155509 74461377 955366002 442947401 999513332 287040114 973411247 253869037 505043316 177521030 698100032 582735534 189857946 267082149 101392207 290946102 385843276 278337169 933623488 22792479 375189452 178999140 340079334 98168147 601331593 72217113 852059379 611067173 932377966 986290732 811815979 837402817 128726515 32154904 881917141 705655235 595937724 185651069 57945035 295344095 234752523 881212803 50891178 697276551 247879183 704554122 703940055 919351333 725106332 483995613 491840690 916806642 512856750 706793723 773209760 920862237 836238393 601581977 883772797 938318136 420139002 35951341 857242912 452650177 651893888 201950668 1030699 85606312 739150096 799945795 167539109 832732652 95584205 161822380 497502806 977066684 108275897 596231644 207128680 703132599 17880941 507149392 81202486 140505900 825767103 105211180 365839130 515456294 760039379 254045676 233206600 332786071 796089043 815783189 802053344 547445892 780384531 630031339 245769292 442917796 846333003 284934024 366006516 421916613 881515597 613998937 931716575 143809495 475600399 663787590 345184143 622095920 990745016 724363156 37003919 491241913 215781974 25983495 164118793 43747845 831501967 44907041 7926736 45151272 607627436 808573064 224589510 454959293 718039352 117525262 833684775 887020335 349739622 604828656 780644765 73043605 683309522 382892 610101011 493355269 501791177 664356775 765546155 920735300 920385465 87145438 403651476 230923984 117923012 526790096 563148205 579130214 375363672 328446894 78898460 876719377 38448787 586636117 186579091 10880219 66639742 242532429 663691759 748694919 237305461 162729159 393652716 422153338 96421339 740745227 570125847 623997248 353628678 608832420 377935837 173006661 929433371 393425962 814068742 574727947 157440186 871806258 701540501 196389998 455396176 894214467 549425623 441098100 628722085 467082099 406511560 336276749 426932377 131148460 338794972 766975817 648052262 936002984 94191488 957209120 340860344 955363650 492508461 790037624 661334860 351695552 886560493 107836764 828431814 167493739 551545317 170891523 352445584 327902253 988274340 164483040 920691579 625573214 882649097 531575192 272054298 786247729 460463904 267840996 88482616 757577741 517190291 126121587 482701497 226295409 124256053 73557735 978129477 373161471 378217833 379661946 751496420 26314284 424069025 415631836 944273800 497688942 698658670 161216152 62062709 843918635 811159871 352650624 515139807 726377943 192500871 999753533 32893476 107850715 43974810 726208884 223995036 390915887 770702067 855316935 403011358 11795288 121047527 575199349 405785953 722612050 266139676 555560232 367181876 196057306 570048101 598526817 989925415 433121834 368495385 569378185 823513219 957209495 203873560 74654255 109439353 234186696 383016816 22965816 445342511 32390956 42894176 740999972 90639032 855528159 730058531 88810688 242745110 596838978 912677272 758327454 822722228 791722023 77736865 346516825 724348742 763939742 145007963 506235552 6007799 210067633 78411239 135345082 369148277 791842173 486367930 382965538 989115461 392768894 441807418 898129791 27686469 746350906 810805527 925589678 482867862 347522802 337944057 534864541 649064174 657347647 181170687 138933607 5467147 802427232 137880867 984096172 538164963 727972883 678987156 84398188 237759821 595444560 896695536 989252482 531009077 634896318 753533031 512970403 145717800 852843841 795324848 180700201 796190156 646326593 802635529 369030761 631371111 58429525 162605055 191338477 397031167 681400339 769459830 436600274 102015556 102161433 2148466 189676526 45547348 976318582 668982230 133306301 346416598 769399923 192958955 62203949 642257194 326638372 741463045 440968330 902470087 774996619 463262425 750490326 788228744 528938 784988824 798416501 315700427 683691205 709781337 84294860 248176040 816278063 394916895 533913414 717271239 400092577 745296670 114558186 646074528 921459859 146083178 621008000 275395218 355689295 139260286 947336514 900618148 540011047 576446261 568288365 19374539 575361502 159436545 909048382 937100325 568682217 920321180 117733789 266180396 880731657 874426474 97520863 232523056 799866461 93764352 483390099 172316572 536836904 980385445 912262560 797416588 29678876 745783973 653935699 659925520 201339636 792422861 701403149 127487756 18270084 285796490 90952607 4868006 944776286 860893347 828591809 600242220 154016345 242355510 205724729 2248503 436718798 692574093 148733548 695841282 966146206 274244769 178752694 484976106 960221340 111244467 123031169 309103575 409885535 204159102 865054453 787068762 409565345 671573062 958065561 570039694 819144589 227265321 660748137 703311667 222194550 484082370 307359052 855364621 103652327 184611427 522653391 869568153 578866198 545243775 272580422 409451225 499517098 400474976 3029204 104579342 580309130 290653809 124401121 906903180 722401071 955095454 714361562 582383441 153410715 45165905 239745617 521991308 11433149 207401288 201611130 830416436 422787715 269908924 645412880 347302929 885173901 484254284 210692913 528725475 233248389 369048608 81842826 752269312 217665728 379995000 4935871 594647479 20115882 377490813 291370288 939374620 972779560 899149113 917811915 310693674 117008033 104638528 324647794 764241175 667251580 788000003 275836847 155648646 22225 417235063 940135013 92349115 88830870 191262617 862315167 120113803 49821952 54341179 845795027 206102781 211253573 913395481 27086668 909773576 434312919 671784961 538692174 820921676 530134046 92249466 560720012 598937962 108001601 736912942 68526887 345964548 24807154 103039440 883178317 457474214 552873551 720317433 801491336 563742408 479530068 892245254 739407088 864248247 300106819 705692646 906802421 116913138 933115112 456388297 43461426 138326400 334252474 391906596 336466109 532965897 887596038 643590909 972377582 819048279 599851601 101369066 31348842 578222948 458785826 421433721 844779488 808673493 643701189 766767181 396896402 643706027 152066137 370363348 69257198 14988180 253889195 974655672 788574613 57438123 199364710 566323167 348083636 123984378 540324356 257223661 444635043 848799010 454237172 362107581 606236107 136361788 321842919 818841924 395510068 794298636 93303269 809764716 546702602 496972749 62479090 93666887 668752913 294454470 162583941 628315982 767474142 244942953 562610099 275987624 672871360 759577179 160497646 847584049 441552202 652178472 95224667 290913531 196864318 225054059 36521951 848238968 18530292 17628612 415227144 895151002 259407331 380313870 517634986 666907626 536210286 351719343 962053444 871428865 161109149 411123356 569055469 490636553 807334515 343299050 778965722 529297020 188795635 231458729 111143935 20532636 272473643 952852958 311048009 290901590 376381608 895817735 344544016 832289827 284332146 226272422 96652364 739098275 604709577 238420745 513090703 157277596 185872318 247378564 131025329 383351404 510990930 736202197 364553919 66185956 538337714 439536099 816501685 597509649 202577798 764274769 585402737 322852640 247236791 163865758 199939970 174980481 429824512 224448742 292725715 287074425 719051424 594883868 928297084 242210667 112288873 450628420 25781284 686316273 539763404 167714378 919374958 457893211 281566120 305244632 505225818 606556945 766220378 21072717 409519315 873651639 130613497 476200613 52553399 337197107 738456540 430454284 795982427 91835484 762168554 177860943 918655215 920809144 209668400 928119448 159529854 219236446 207872384 464773472 377937912 207065296 16276718 37377891 925860366 291389301 430463296 147768194 626906783 16536944 397115526 48970581 36120994 379055662 982339337 190587335 50133838 585406598 695497569 850854713 450110838 323061933 689498032 680589972 160639373 188476309 802382019 420985764 119923371 807705671 62917267 308686222 882313277 50854326 492558977 359245989 139705222 923105786 996312726 656091596 645326393 148585792 247844348 886714804 427711356 153426863 273238941 796440341 107746343 733755416 267306930 812796925 872005 784954852 786360024 590518650 999166256 130981200 294445035 873714306 35171137 819996737 465063921 284744126 842274981 525808307 246516025 344946031 526069346 708248115 70866053 675430820 187545526 999462476 222232698 219508221 833436375 181455369 913625117 165737601 695215936 653676720 200433686 632884983 95720116 336836338 525062667 687859927 113830303 865051868 181693785 705144391 321308551 427769719 541246403 938647815 158940225 869599366 116467437 291009286 151764704 569050863 847903166 300639659 749587706 999544050 248674032 387226002 676571100 315002767 274245442 368211739 213320987 692593050 826390904 827146311 211624204 429796413 737374875 816454477 889187769 744934884 102238837 602624715 891101512 323263416 104133492 57504624 342297079 180752482 254850988 19727302 594908225 83922555 863597856 30418280 499509341 594164810 382237801 59254850 716074283 230794942 247123897 193448638 956650678 875449879 628040447 334613532 214228393 914709554 273714933 938842847 35307474 383194837 653709450 769600276 486110788 344146278 162770140 946192063 411989344 67620224 562498703 900765223 250665266 84009054 854976229 439831635 658122759 290648129 572244114 259732930 180220659 467074014 251857508 788384147 830709766 969204130 273627727 770763985 787429645 914845843 998047443 815234474 442105925 614146312 232298843 655451974 85466368 536503420 245918833 808385797 51030671 123350955 724779484 94721295 3319128 660786613 39221352 359783787 589252180 278416154 367194035 372379814 212216182 643634223 763499227 67933074 298227418 828238886 462703751 369801308 943585323 515240479 859081976 164883068 478646280 61066575 42282319 589349346 353509660 669847945 463933321 803962611 998565555 130138034 441815219 197220625 899527321 848658515 322503046 859123379 18479668 490931858 857634191 99341066 199700057 209425549 575734547 5025415 599277636 436550619 280699644 224506775 351520119 14990247 866003876 293413311 439366227 613366308 278700854 822608212 522515324 465310024 396578636 849420197 233646829 622304941 171258764 911657533 648165015 997785798 754175631 806482086 39783236 918908625 46532334 151955709 643079198 673406764 898898823 692889153 340224687 656004956 177841235 482806192 454968927 850389425 417565550 897065273 804448127 97090723 557273427 240910755 825420801 111200577 143334158 604830263 886298123 69400263 696761749 102897431 193369530 482303083 40694722 832895548 930525945 530060109 512010857 639461085 612814817 592436143 886705390 941123038 630185447 468727040 866052857 137824719 127837843 836691726 582868584 70236384 638595137 778568748 34786349 106876697 342516163 58957839 679476324 484455850 608993612 200158464 178336194 932246441 8766882 613297317 958081946 527977067 167037804 28889026 727994729 918097630 979834147 460873275 121792120 18537831 509263091 485505558 36120053 608442830 95081566 848856243 190146061 903200475 157556034 117892002 506383207 426933711 102835703 226719614 495460894 461259404 859659089 677154846 147616699 674661777 876165566 408950249 932087373 513669180 258724223 716828445 360465936 547845249 413359244 58614524 409609391 534015619 711310876 513513238 410777908 685443504 977043594 409216257 39572834 556128805 468637950 490734103 365309201 856261332 446257180 314602525 984114920 792129789 168182330 175762522 428450620 326187241 73306357 231063570 164061587 811716106 299650413 390680542 286435004 434474217 81456236 414830762 868366368 503257795 636085740 75910438 226838063 752162849 201242295 187533165 581993508 88601580 8835231 273950207 534376805 249767136 58426494 360361627 96732792 45976814 616720259 117111368 820795324 518760166 634773397 625344457 665288199 993246577 575969158 161302194 700935643 201107117 740775003 336418238 477080572 979029099 104989418 63442977 559890510 784302973 412833519 296370184 503208707 256555286 118936891 131046658 782887022 518377626 855444016 8281458 797217891 870342108 287649842 892471305 651755497 624049909 866567431 415984193 806463912 568794738 176095676 684661485 39335282 681509546 589671966 623291094 796295590 546697164 104300450 606834628 819756657 772042096 978871801 907582439 854656356 255994901 382547079 707209023 269212495 964795184 391620842 783431777 921000399 379498111 10657787 620684400 519092383 456292193 917344334 42237603 409443503 450280664 368212572 231051197 436663473 520344386 309137486 70695181 339433377 668337161 85163789 920276144 375699026 697114207 453252717 642952990 215937202 145275547 210013878 637530217 955025195 67335015 772507021 59122509 593983826 744422637 797980792 718769715 630911557 700970968 649677056 920609214 430081212 106404624 111133188 396045939 429723213 230547944 535037024 374390507 497597759 561313171 850389595 585133921 361474615 702059579 121867919 858700754 302226628 608035211 788575986 678888080 106734779 408893869 420457596 18212770 690613908 576343865 415998665 463788220 372043667 711920330 429369661 888525926 142152488 696494429 196670114 920311010 89495061 889272421 812970425 8091375 865739518 540725620 875621910 173924558 355223026 881638744 207468245 348892100 346567280 266921056 15974010 607882628 192822736 84036611 852323761 279969427 952027219 2714392 178017315 369901160 277155823 301867742 784566526 873497872 753449249 102623497 45848942 580098510 688208762 915149256 567729537 482096190 864051173 656261000 328773441 80069204 688380483 348843652 268730890 206860245 248235956 792221747 854613977 817023921 101725205 983032575 591976683 717291410 552795754 645197021 863775690 747893031 453449228 914380611 818205728 593995933 532276188 3894961 390143921 520609787 81714659 292713337 784677439 481055789 958729728 206349493 183005796 179915241 202108124 812809344 87806636 226211957 553847211 755392233 294229509 108728184 510281749 183151985 140826023 917371321 306017400 500873219 240527417 122547768 427758314 623942044 697692351 210821044 902620097 633816934 653887493 664514617 298776062 577301472 544411275 165158244 183289841 239683148 48593345 267278814 16973341 904666241 237913185 718283199 995668112 384966922 758669403 912499256 347943132 36445574 213077835 924080156 227665416 170540222 977449261 727359155 485535103 155237896 833485244 764414868 28067219 748535840 538538033 89246588 29024630 320963764 994191621 213216194 212485979 72831686 774252480 929425826 505635546 250388612 462268960 364938415 655600201 930643978 786645477 735995221 238733986 649410020 767405265 623967279 697432662 289044968 714790470 813933363 788338957 724202504 666938888 998958726 875303549 668726430 114009737 212081336 314893195 200059160 209260332 589846631 151915058 634929488 82660571 700768784 313672770 202213736 816881132 446111561 344195572 260889828 343691023 999929241 746361066 161379218 642137685 980571759 503403247 591748593 608147337 830677070 879713739 253548315 441038386 999327316 529545837 909601372 730234504 212826772 150579433 747800403 16297821 132329782 310282529 130783742 76378250 584456491 568355570 719756984 722918461 64711704 961541037 192523270 872792083 69432307 989110248 265899082 271314715 323303900 355017708 860614184 798984334 665368162 453782170 4767771 852077882 683356424 985219574 271543303 512249732 371925045 251116489 407768246 277162570 404384286 918180844 836873047 304919760 273388563 501619624 221349747 155009724 611959621 70659345 185165238 97724351 476165425 839675718 793422476 138009444 918840308 503495976 266306401 325906575 315515190 742300368 895478515 874755155 374204006 647221682 294995403 123648200 925958908 859072882 81485264 421581547 864488414 798625137 729777448 472812651 303542231 900902038 692213830 945314084 221292506 377029189 909396401 980621361 404887961 277052058 62708818 722217991 5810159 498245138 283668849 335162517 916976368 4300789 103092248 419632797 29950609 275802449 75339710 343167774 891544838 157827504 585820134 214272453 646579563 407697861 370826795 63123271 999607344 340456243 179475194 787170736 821643874 839589194 857815431 128194772 838859206 869461423 119827305 931263162 390482657 691237872 956333756 236057359 871539787 141604460 762037212 572189920 239309309 737693443 347233616 775488099 854032057 731667923 520982590 147315055 997821651 739068504 203933838 524307119 151757314 121557171 704482772 500467217 150144265 796893385 719717980 418401784 193388984 701800916 539329295 256085413 162085503 77798262 67650059 174044814 386400641 252482316 167816395 205632569 386542008 626287108 792683391 730634513 687409263 409332718 847820349 820282869 631446668 636573643 920802332 501258606 952927774 836117494 129979529 667044209 139229878 157036641 16968566 308576531 348009916 526884994 89417627 928185750 769563394 398976058 772338683 140578146 823186327 354183828 823089073 266728020 527632706 17563754 173461769 737600810 991645780 115590242 414521222 769768077 176449344 641466711 980498184 623069461 565069702 136656788 680739091 847290027 915857369 140159442 246850250 498392088 662497348 227113260 854140104 689341448 886498085 888911637 8899128 153152988 210382970 134398753 285333214 38596217 223357760 99664328 851257852 497384069 498551484 656492494 705902166 916530852 594538535 660310377 936660031 156182314 239111749 653580660 258038832 270722810 428545828 87937887 292540296 953932993 134924998 472281069 438078142 41970652 946707901 90631993 211179248 54182814 650634225 194252955 137441549 950837135 330816687 479338504 92190612 778103614 999197046 110698707 702436572 521248153 973826055 152859273 958875141 304591968 317843889 64377902 698287511 969475842 739955481 141088793 973079175 679726848 379305219 303038891 124508832 2400682 986981519 498815803 370686148 447200570 383495370 128656782 919090962 279694621 762641606 43451429 592379383 32342908 984638649 264272846 38882314 270054619 425442826 17748065 154174871 206343614 211236722 5164817 485226467 685629102 474314970 852108710 516168331 560982946 739052946 193918147 928031813 84211578 851884787 188943406 560107765 682001992 179711572 618346831 53937102 581094720 270414174 684563850 127812912 579341049 890369544 619990660 905214128 455399314 529287467 632901123 495535820 220536042 277476570 15047418 997521879 789965002 135586743 211368117 349353837 738174595 490595988 174420723 171862986 335783399 90399173 64816457 601170013 399605548 453927863 259771913 235286517 280913 137530047 363510790 814690073 671918047 305559740 762572993 323816854 334569637 571735154 835487137 485935311 277146472 380477285 9400423 907642819 198827866 438764260 269965944 609090562 252359551 892728313 481423577 750723205 30053240 834208570 224104335 450550977 317183487 241229747 256567259 511315800 360923384 488345243 835079362 81259521 209261406 101295000 263517394 13361442 993106954 731468306 350862840 87748968 727281479 289868120 34899596 772336313 583418338 408305626 172127883 335057116 738530142 85279097 779011954 928953839 440444221 106149877 649162734 453970614 295246539 74660244 225324099 961709057 628927101 663220164 795180759 431268127 323538464 885447905 736670378 157432630 441823889 666302298 746714021 555028276 621932885 952526010 166226157 490235101 898495279 751986551 501117905 821446208 607450044 231420156 788463737 341968761 143305908 19002012 861818509 267841831 51388427 790486422 877159929 656409184 57085441 2277704 633771482 612028783 781054113 688695601 279161314 687777506 831951460 595144776 75331656 187057867 428881506 217279079 74885643 886878273 773364769 368342032 191742337 183543991 355367693 11298649 974686431 777979630 944971279 716510290 611359235 444296487 691949880 182424164 150340909 1962841 35871628 491350120 99639852 676439608 625093628 379545394 429187450 915628014 175542543 406993589 359727297 262185395 723688636 114028641 270846934 733109387 823790770 929981495 268291018 922131419 944387931 222475781 661129819 416727285 87772992 559932040 122995740 446885827 72669348 917393892 363085295 141426096 643490508 501019747 907489935 389403332 782155872 30028044 222319720 263803838 845791544 415699986 326970523 573598607 602635571 130219286 405647667 376146480 245276370 123788246 799442999 532945746 245422644 251934004 939472595 130169592 243871429 734433481 264630713 620598656 294300176 802730096 472373401 806389060 435426168 919932687 294237731 554528654 305272906 523360383 620348129 713671020 705815846 72923599 348848731 678008782 412653980 222086628 366580929 523016394 977291262 154605515 98558365 88214062 95433512 444306448 148938941 932423430 15002371 837266987 728305251 414856995 471904416 443192739 724522111 61801856 11192205 334388493 619425014 156620929 772759370 742184098 63155689 15256742 149036537 853532663 335848899 991986955 1044379 166348871 354970438 115549225 937591773 66494502 60803811 924791744 883578040 486434252 683157817 248125360 578652228 527128101 692741080 274728860 800071054 37932411 302386819 316208453 854289072 139852858 450460840 668146985 695414154 171358802 594090725 281251889 71881360 604025690 695685746 554805373 145739025 931457013 528398667 913457922 774464438 251728320 938768402 969634802 999254266 539739890 464343889 416153279 97331617 289352179 110959672 203289375 74677721 543768838 566724527 13781048 498354126 560400083 263520747 843955813 872341250 153104703 285771103 57999413 28528997 610699587 363174765 342035286 21934064 612301039 745968819 802811945 191114658 448855295 669297745 280002007 683571299 21922039 140415547 866936236 305824826 655318165 229972489 806010858 924370169 638840539 838397550 895437888 52917244 417694846 274275479 332354186 747047012 814443491 17448254 2290178 4892413 969228880 502648999 433717451 612507795 682061393 82555269 73628428 258891505 94830154 86896466 723859248 297143788 226017409 49031515 734667309 998067541 449919679 748548707 750234853 814798956 386350673 693509039 767277372 40219622 920783966 112825350 612091728 613353569 606890572 142501575 493540061 226483836 663093983 90290374 605594263 173561572 3182366 224575686 165555853 43878362 187449804 304187698 556540954 449564388 216331096 793377618 72191223 269563508 162593005 436228382 79602340 311628311 252076756 682715399 100289609 817209345 717648784 277497058 118872865 15103671 74715670 102319844 223109966 528567641 268606557 233178176 191413417 153230980 370388572 580633085 241166851 756820166 668380618 326806286 864702561 268204613 482459545 55342852 671894652 592081234 17441773 217533906 442013518 94668033 364093443 524944982 544605229 180272281 552491937 594367987 507661856 55084590 552326068 134113880 721149616 572650949 239112540 555390634 293046845 725608549 629923853 915550092 206384263 454240206 101763815 956509617 882888783 348410630 746895264 959135240 482812457 578547329 240424596 264136846 745007144 801114831 298582088 953438449 103357034 785571464 661353890 919730422 256093408 253743338 91491039 157052448 328176615 118778201 717762003 208738967 67987713 265131167 446168229 250050025 245645302 193739575 955456488 671282342 844226800 160050082 660368966 930414504 802125831 625113940 45516665 749714544 265831507 592714553 513468482 109135591 430118293 887455544 186960551 614085084 356967541 423190164 167482767 850666014 158161312 115155021 565314562 114140848 894543088 873754556 95893108 301976730 682199081 399099078 366509979 35976837 409796301 415540637 100028642 572982715 935222723 36345755 837744323 398635673 9191152 909413167 229990587 162729527 736226684 832324703 514654991 227027402 741505717 342808135 899675442 682395143 247515894 103560124 278661485 25320753 583006053 636997348 364737818 21477072 567450350 699129214 49006165 597049625 964725295 742769871 992109808 634997942 620473314 87339290 176683064 874135461 716311221 445647430 394434178 517510284 425671353 434374140 414829985 896758423 614128338 421258158 92385416 484134065 333258659 303605413 418573154 235303351 633319551 364657822 259237884 511550216 672294617 27327497 738745760 499324157 834262978 163075362 403283646 273056653 32267207 730339095 859676441 63977844 558556474 142281652 661067090 519152010 783346492 131449924 766661235 186942522 621437381 187116397 432798658 102048854 356356800 735819683 527043961 854186513 426405315 97094706 446091705 133452584 184238666 656664129 650693437 8894562 555540445 23448232 582374099 917641937 276903852 907957597 83850732 816991911 578816039 933156655 969497976 76270092 605820998 374292528 479863210 319734474 771797419 260903246 869819617 60574939 280818555 130204387 720515935 637005905 60353552 772865123 465816169 106417947 154754117 840939860 739148897 478415419 522568560 780865521 328481106 324672105 693115794 910248101 296520774 350268358 635020574 870779840 248938754 175916835 232691821 876490716 440853675 554511660 244582205 218420403 1580888 51854236 13562179 402912681 773022597 99602686 181994311 93999250 213412054 29147128 192930643 961369595 18537406 186791468 765859727 726580801 40498087 74431782 440995064 681596781 766443243 178661206 280943630 986881290 192518709 725314401 999821987 520932469 985569213 176810591 108043840 18650328 548065641 164136835 464495978 799260394 108455111 494334451 335141685 123239557 637529136 754174905 696217898 357596461 481890983 275247176 35914348 540356089 7169336 459857447 407707029 659532567 374069266 848192715 543275152 274146456 474278996 887636821 826995005 694041734 615973749 5980756 986944564 488173046 761731130 836558510 307883321 325238648 993660338 880696934 175794345 187324204 837837207 153451596 671237754 26299268 549708997 21024345 671337446 847897703 404922142 258345753 571923051 116121574 126683680 456614970 813562696 297716024 130097319 156368160 131254668 383513587 14166916 253504170 710239304 695381059 488183689 7500653 999768766 545602973 56105594 537992735 288459987 723694293 959580840 161232920 844768052 856200107 578543000 49371566 12304236 22769188 493113374 469385143 204674682 161372310 988004238 165258940 44736023 300111196 710177066 585895473 979321574 796987384 778374734 463186022 992582108 686392287 28497625 257092554 120733908 98835671 635717864 92211300 690031028 131212655 722511147 598054067 270632366 160618038 627214873 443657587 70948515 171933743 75262979 143190503 552207232 171966505 514872200 708879422 622055319 628592085 80616815 387955066 493256107 971220580 874649229 286411430 102753863 246560866 427827121 613050349 933171112 396588111 102920936 453814060 104330628 491761362 855385739 113125542 326832183 445741917 151551786 486614849 847472631 36069627 458550980 672491643 501598730 450421650 737324499 470961349 891950422 220454269 335508985 368185651 749860778 104034061 450090098 779062498 420991682 794540146 263163308 66237619 272354363 215618398 44404302 484405591 420100971 441665448 349958440 891757709 61476137 557729978 184343271 585511658 987223709 483520986 351723725 850879831 289159771 113000018 582276407 925740458 515108666 50590832 848450874 100535377 646702444 88148583 152672747 505792889 200595576 417310381 577949065 282824109 627559596 654212066 729969645 82901471 504284156 265818209 941140765 492893956 333831255 18479323 122567422 585656576 146119510 909400547 940254860 865148283 69962342 697995831 528387756 199859366 30893742 603719536 570108403 269420167 247702456 199284823 986590443 907907806 919856005 157649536 726360035 529104793 601578281 280778739 407967413 403666280 616213630 239525346 363028293 568450990 976398823 458311243 773129372 534228152 594111209 126267671 952166031 532816958 159046908 710776599 19494645 435149198 407096732 218655821 677158656 849313658 333674022 849003679 433405360 900963670 156987321 119514221 765633174 391176453 80853410 976658472 550840706 486430662 49214301 679840425 948935339 663167674 999630811 684127077 2880015 813577149 161397374 324473181 571979153 964869836 882655828 344677371 258445529 540867534 114617585 205893933 367746266 758850941 983954228 424473466 48477254 235249206 121489842 36592912 593703798 772900255 535192416 927677688 625772732 932516635 348293991 705932461 757292277 902226599 931075195 16077656 557845033 242240789 579679858 604504377 885884352 24629784 839415816 381647017 546074489 863049182 352772082 958936502 51655267 875529668 79408026 286586291 738934450 933867950 18735479 652024603 193170954 393443306 646046211 429255140 954678237 35109297 51056541 718152957 290189617 716208045 813001774 995000653 282135222 579110129 768932181 488609401 189062731 150894004 998311491 63890752 574353875 624083054 198863524 595090446 876567968 789127481 671939694 259951477 993156899 235636100 24248505 326907172 534700811 837660030 871564111 108143702 961430194 663598889 893316663 392247118 482426944 97315761 401053698 983782483 506206938 406128802 183491421 824706047 690309664 839856885 908626138 603985630 234589423 540564203 298743595 311599878 289437667 427514243 329501101 769338410 66630778 305599160 99017116 777131582 963269718 231113395 841368201 279205013 633860304 590619635 129223870 162997997 640322705 126960437 430732948 875779617 731826853 646686178 88849950 737137914 707141848 910154193 269764238 324414258 97214104 160184865 17784699 220800312 682809233 388792548 299172198 21159606 555557616 37753386 562510304 568232745 124270572 718179403 892252345 360718140 478163288 210919165 628180547 185552027 66705808 788200351 447384701 857129958 341514095 288522863 442387851 932111180 357889735 277768568 276539610 394651729 627242267 495010871 97452379 327450363 862266267 457724159 104403121 331678079 700567821 490104924 480003615 31875384 84589911 659518658 698283515 288995050 21547781 265410020 259006202 266500539 395021118 376916930 531840853 491403965 659943308 39324457 365447730 34809361 95570973 571298990 973963623 752553594 550313672 70953607 89583035 874515448 475889068 470833125 416271010 125676173 77178428 632805699 68773145 298136032 5182341 459285974 966149721 446052163 861193047 874300260 379704760 207181691 911867239 397524501 65256536 150421443 213629910 796209680 442775086 446453475 660397785 80896558 90547294 71475765 490047136 979840044 541349666 118723226 416872245 938810225 928234562 796772112 187187374 710022870 936974874 567986642 109760157 977530989 549363698 241684033 958018974 442283142 448478245 377399272 280087977 856228756 112361049 245397053 184001678 674248010 32825303 365228904 41663781 195053062 205123241 205092499 350280170 181768580 452282671 708202378 392677961 776200036 604535691 256772871 608583563 410097617 292591978 374757826 520588201 244129995 708904207 291050281 266619433 598270666 946809119 48698231 646919029 248307975 919679575 63262430 251717836 77207333 827780199 426119867 293852935 701940368 301411006 396110551 156292336 171052568 361044391 268667600 948220925 512133035 57498517 595411140 90508953 669988499 412404623 812112447 47285321 570515049 860568277 177335093 113309705 236223186 630297748 695899460 752759008 432435664 626818075 150040708 338981686 32547638 276373272 783615590 867357858 573834367 227211842 7221696 899820010 260464966 226304625 414657850 136983582 610262814 622571743 698013469 298864169 471805375 103396660 760024433 202410113 572437874 684011966 171410349 108003402 819268426 725000159 459839642 175905576 759707328 187491143 681737729 676607137 20263244 315127803 257527465 660135922 601479024 947794440 213519781 163954369 902043501 352192399 983588088 66787336 404315179 206077569 266995950 913875216 126639743 687041968 718088634 497480605 227067987 2899093 34226142 371263267 482164370 409817779 135718358 866050410 534798864 537166998 648056495 457151093 737885559 725337564 199462099 336274818 484398259 887854712 926089529 203891498 88772071 171752432 191864507 126191571 686581266 780695539 796369604 828619893 450523434 406840680 737049891 315605496 401371375 710759473 993075105 781238952 609318212 875707279 964927698 611750400 331958945 12163880 130149913 260667585 912017438 964493255 866520145 761778061 715604107 520648648 551332323 470742717 291520179 540789078 624771036 632017337 307738460 778110689 556634672 213946292 582867579 214627505 396627708 587871450 386661967 854321547 754823336 969931743 813804321 555692702 642967436 166279264 990563012 172959992 796519356 953015061 229041583 480831113 40352199 164647581 114172800 781703551 967138260 99829701 943448359 31551396 719515400 230426175 395536565 264383659 828013485 871101584 402590726 688387719 565532347 165946703 702859438 296050145 568394416 605321352 251603995 748273642 883288416 8872775 483560814 400410058 422576809 952583103 775978179 109763022 918138291 853304368 370067097 767059588 508705570 632565948 948916960 314858558 849945092 596897184 640099749 208505235 503067207 57613033 45778497 648615403 327752506 600197915 260922779 454258921 883586172 782199401 175233724 34715880 290808271 842818792 36275407 912678709 621997701 25987218 654002178 283982551 293885569 112515038 879892424 913441050 836923651 143970648 731599855 257410249 498971990 92770037 372086501 566472769 32270836 787222213 117190958 290425688 861643420 524277699 768203983 223724910 923585502 31882233 18196330 417622846 660579615 950423887 478909939 492144672 543734075 523759725 510986629 853461571 841868443 309966217 944154898 470793789 565735234 445661392 972821278 835712839 862010074 900574167 15721062 25651227 520121256 499485660 813891482 570451448 766729684 293990297 752261478 805361216 301257600 328869290 997919866 955629671 22402807 65456621 676642973 418303827 199589013 894391496 2106645 71602495 778743345 454953579 592028348 59439204 633064261 112656605 789514953 57377473 849894498 297405254 292213659 901586831 262296001 672584394 56959093 122803325 878032334 922773008 319081414 496412478 735421593 261849075 53689436 986539944 166786401 393525736 708734753 71360747 286003066 332366598 99101064 457875954 452180974 363008990 429045425 42187465 402158134 955311571 55019077 282274949 138875964 893368390 917888034 40085135 852907088 532887141 672574384 506119148 682460489 490992540 37214446 101213672 303994768 720262156 373026119 664317368 290599970 75112346 671088751 65492802 863783688 574544579 120859755 586953407 198394467 185263087 46449065 989885733 302819775 502418288 275665322 367248616 67963578 586181949 370193360 202022266 196383213 592828568 200877524 68740453 554602759 118139044 359184257 412332745 326697385 892539343 8539367 470825723 606509365 666985366 65237368 503332914 819961082 461145308 898948234 118848701 899690769 253416779 505777778 215715636 675455348 344898135 766159228 190230129 192939063 169928561 537846093 930909085 500613091 439248269 547397373 433882705 514494497 557436872 483609170 225403925 877703642 908483698 612395536 911697189 672778760 182344496 461368057 361697730 530921380 485172513 257039667 200576780 754996377 720696119 159229447 798768051 852439557 352903904 248189488 429360664 144671578 58152092 793115209 257008999 387866615 520216202 268443318 361022175 558906024 383780708 74217810 103706095 145730103 674940962 266160693 967088423 664516505 329659538 912990740 920135920 522963194 83205884 72244860 703142344 552347295 260030020 140600921 959304893 759308938 222640415 191132713 428743838 884659446 934508045 990683331 774846399 60309979 870402289 503095253 476623287 956558668 224489633 230025216 620259042 651658841 548819034 279330138 755865427 187087179 755151511 388474952 991377379 894869777 222227029 214400298 931015681 671743481 598173310 939189487 402050390 276823524 1514752 525770864 267736196 573914986 329068896 606576422 456263539 474147505 145349140 464288744 540590643 803699308 139287607 660817640 523067924 412802240 95487122 705673050 823159540 724654325 670251871 872652640 56683076 142887500 147508 63126063 661748424 565620942 80698747 127215958 200960454 37399121 850561471 236334808 750006448 389728944 501325120 435514683 713696866 527951458 41455155 44669361 208705169 300554986 164537506 836973 721462148 962773523 286002057 734915835 553513999 856306119 874724340 715245724 52551800 973050417 867958087 973745393 893609471 880979385 473589310 187861849 643365205 186800564 220410884 971306058 64650197 92916169 163799434 204247073 737426250 750709128 401691931 570200312 628224678 141138548 34510887 15722164 223551499 896838156 282133304 398813291 994756801 109387342 21407925 75424835 298774864 865185483 654689463 728186065 324553411 319475905 158336698 351826853 308169292 396893365 307040912 146071614 599896173 876590255 35804509 399604357 502936299 476749337 9109449 95729304 867707150 392813742 177119761 833045156 744463476 154126977 991011443 779331268 892536753 989760932 710648168 583921184 742619765 32521198 50253272 715734238 724940921 157408134 414954830 373072227 612622779 239836984 676604855 365203125 282690328 122996688 901903164 126247303 607150819 148365815 565057056 166064927 778168455 984203108 334782046 349781820 784322562 831547059 824017595 292632607 965301589 935161433 451248843 918794495 113043733 237422179 657249685 666665301 110628466 702013407 473933350 190388624 923209299 690046196 737193550 302962875 145645387 615003587 314387226 43787212 625693810 468219631 964600309 153642299 832889238 979069554 104839657 143052071 545063091 932083139 298143231 238268073 583388383 913657996 776141031 167277882 425793685 756683103 878611257 563180890 901060732 401273826 191613731 780477834 996917417 384719448 530652203 574870976 4688946 703983952 328808200 505158392 488360250 243989973 376474823 104041392 216056213 505073477 486158204 744089939 961902813 483873962 121946654 300348616 455640481 259055665 493955213 94834983 371708050 148800495 829856700 748329811 155982424 182967567 743620471 472856253 63959643 214186665 979866985 381048280 693751866 34822128 143645736 119012210 181268403 352313044 419984985 278255500 880954737 505070231 680104665 882279669 855503458 832736054 28584962 100339493 121041660 193270176 140639766 695811849 11481798 495468447 782411845 141895252 453355583 528780976 787550790 521169956 263631154 857197007 329463536 212423291 900831895 478127860 45363189 931247120 796156788 765053490 992943097 717802013 506136398 44543766 79445057 684849956 360824347 623389603 88052233 464810225 944672161 50526455 806049681 81206666 834102667 609968968 425256655 797992721 580042977 100647409 831069022 272580563 528899892 165570037 800851148 367331618 602723295 290419483 973852180 347131974 368439832 747145743 562232652 25896154 461766546 41426287 252482852 338648179 231793456 248444644 919553415 765347564 169178025 69053175 274081093 572535272 508446333 623508022 692890030 806246009 213074285 975063129 8791397 101151146 733172286 743788578 518447893 440326900 197464739 208363379 28957385 28833091 942378126 958906004 851626953 748943868 103373857 903557564 205564777 475258580 904560814 231203677 50239428 783518324 167592600 881629107 308922477 372555483 43852631 676235732 938936200 75436859 94914455 742652769 612755859 115473178 798287395 572727195 115280979 678228011 870127556 142944580 759488767 419068587 350023656 404447305 518750317 27422147 955665262 18663015 239689401 103804186 785257480 461250984 515402366 940960039 545456313 65936419 913535998 993255874 518872794 666167623 671018253 710021836 531574543 160883544 400693784 765852190 240733204 843659691 910947420 496187112 862815353 149702142 261721251 58790136 178523792 854081485 476743538 62610706 882092748 972537755 207597989 894554242 185943350 376772969 917762372 876971327 637604484 127146623 811180213 723054382 328896439 517318553 141577520 413801600 437536585 901769887 935674653 997506047 677158411 969562926 92605646 695006328 826548686 142360083 724802592 375732502 219129495 3187368 672988229 904331482 213151592 312784028 117755842 248683469 844551963 26750037 49788882 326000603 818160062 892154492 49960410 24160384 449175120 190889 784926018 38830443 387250801 511966193 646693224 381339183 928591512 1325869 518614319 226030834 321550502 545250567 257184540 617181237 205721654 490544356 413898227 234513806 252358795 524721136 603000776 47446915 942826739 252373075 431367226 684981110 362479723 31876513 77085538 623374974 490549927 297463971 298803099 323702156 451478607 952627513 528010432 377517861 586147168 714793586 23855725 999226268 159454465 645532853 414397044 684994634 475341005 60087353 270972678 718457131 75487120 771115123 141873066 15820958 799266654 8488834 672048986 827980190 133657863 397291540 264603353 331460546 289774326 180757051 542210210 216127757 886259462 832176754 621740078 926028733 416664031 599261037 499875815 413699068 209534543 736146433 309732865 197761995 871084128 764408934 649759734 841043038 960403465 145237684 155216796 845911366 243209910 236675151 505876342 481107014 38490420 391933467 355559860 294022609 172691807 208359590 607368152 35729249 768914070 591398390 154694515 997733464 103284519 572762380 540254860 609733225 464121113 508557525 359884852 611513007 782396142 73007639 845810929 661465946 887305849 263023579 104057626 415031655 947313342 877673186 615033467 472266785 243225337 548878845 561222292 864049189 969198000 560589018 450318813 483820375 460519615 44047435 779709024 655361027 89793329 759584211 202326871 496809896 284245160 953063364 425249777 639742635 607328221 433035727 706934667 620708243 696399590 82420722 900415266 231084544 846669555 907608688 398060229 294287339 959382761 382270927 701677040 72581132 35088256 981315974 477919572 906903120 182206607 220804970 759236420 3951382 124637595 637619623 698595651 954304218 703562559 807134258 753755825 743496958 938805110 852747861 317990192 58404143 418273711 229876247 339879584 858820394 685472812 497600705 951494134 987721567 297158943 550602684 663489723 907764989 932824708 868362819 412139321 56635111 185961591 313733293 628964591 728681891 906721087 143929701 819540437 496900046 16926150 171634568 370196587 752780106 77540938 504787336 705906946 165959962 98610129 844393673 169687062 17703587 173768624 175941262 557403304 32853668 851205392 253219640 12788506 151036687 953964886 749269715 91331086 23849575 51100296 880148757 607151646 204923159 679843833 514272754 722907824 845236370 209799235 240202321 725648225 251129975 931010480 461552608 153515836 644966117 192975457 193423114 995760056 934543129 179547793 28064279 30517129 355906992 761111069 764385767 263913975 452275336 246343140 158222044 826477635 986181878 264188404 65486125 930243404 821863930 128436344 638927858 444100133 351498491 648527649 222143101 917124939 87050330 919052327 81975886 427324012 636590050 496377167 359517767 262753705 775266379 133276693 657002820 916331399 214146345 794696684 566570211 35301650 491531967 418041418 647344549 138669035 264704414 619398435 85296794 237974794 173261930 798022978 215000946 228821935 766270594 231976197 645239152 313283614 569488387 671299672 754104986 95318364 281421943 404259127 937720059 470416653 194980381 615483129 981418523 772004170 727886753 842586201 448200038 102732688 536324366 93924370 602458895 699949676 23545098 27167611 705312408 468281431 731464927 551005563 96942569 547563181 734999728 590701207 423098839 131146138 627753286 999890145 191174479 570844653 383485813 531701066 825588729 926550544 451546133 53090695 122198732 846792121 835454645 179430951 777393644 138979839 30848883 537941321 392711836 838984994 909297791 769843129 212587151 714066060 132183776 90994581 352375368 355388965 550800417 646696760 111713524 708844513 828443962 978185908 420057458 550929118 880830560 655440957 668378496 44553415 158478946 176706543 724104131 973313937 572644445 968872079 810342603 663119794 209461413 369520921 745984157 31443217 364014029 161382146 251325592 960902963 382714466 187320173 665184589 768401723 914722554 843992963 225239692 915683344 948018158 705727968 864068068 638477233 94084697 220214287 257631629 548959973 199681312 107161033 217460920 810160805 706542096 641478814 265730648 605118969 379717220 325359259 403415146 801600593 323022785 45439418 39410536 588461624 123643506 118709542 537872355 470689917 803334918 234414157 924456130 786659530 844879951 160476394 993197331 248744503 430512016 924935715 693384180 229735064 375075959 99919909 137008176 763573052 280074181 747708707 84571775 426129459 799118628 682948908 87578816 606037795 877909034 409991796 715480982 182121951 83302557 141715185 939900805 592335722 194450885 885626039 243726711 85822574 660298949 691500123 503105516 183785704 226979560 356090048 854410706 298790091 897220966 796736334 288040119 754622006 216874977 896104784 439576796 971421432 133666550 847217922 401560423 936149732 212456796 635520096 27691971 611657567 815678505 758500193 2085928 524119933 395682888 901742862 241320770 526588068 779644325 747697954 439258337 296220287 791148384 473432629 382902039 40371241 567831166 427670027 542527875 160236196 840346044 832936412 611174168 184494197 682123764 283088013 623131949 970840 779456574 106098042 865712158 376283642 117451690 451398006 13881109 748155310 239319678 77691815 680706190 528496304 862322803 667253343 641644968 745840137 573439342 148499189 95460086 597900562 868138560 250998794 99911859 184374010 864597792 561212031 155177867 158114306 774034638 248858025 733970766 477812861 612893370 496456104 689897359 536906755 575035884 835177148 336616140 577719899 395914740 828100412 589684364 383931518 913104965 123924927 445582774 365779684 768082506 746760320 197308808 273931772 431521685 39670144 417177746 433548899 67594192 361468286 120903783 272343606 183880810 337066200 631731392 681864913 437577255 404265141 475021210 904764417 360540863 936699224 220849523 41265964 78572981 59215771 268127392 798612503 651897816 339574863 207010301 247558095 858159094 846566621 713834356 877035105 356082560 594886718 467104580 696611061 133933091 448127196 339094768 799544780 922601012 656379670 787091698 806304434 762121488 87821600 47169671 30786431 109288016 856702225 524259064 202877512 81824762 887418790 475794846 491334480 96565997 370590295 624193602 385547995 970109342 226382563 998354999 675323097 156413528 524797479 274945968 918101915 558706441 816746937 732812753 611648372 198065644 689733583 893384355 569240328 190847012 646345706 30981493 627222127 12523409 168524637 419500987 173287823 873365390 220353308 446776380 50862257 82399559 548285365 111993389 79438910 408094891 844505746 753416573 520057163 237194085 605932743 163345824 446592172 175530653 545052638 782997839 837716763 871807480 737983263 215181477 639297087 298165565 645078334 258137724 447291601 606957571 718226605 119203946 348533305 931312715 16591725 74899109 792513929 256275468 424284158 484600060 925233867 313364031 885771362 67095712 268382364 177916307 413431171 805614511 10342002 718900893 490039156 911875507 151627941 481851323 140281840 137979874 409779885 90593849 615811741 110783692 173864771 429800671 799399262 221156586 839730045 98639552 933077239 365223553 362231680 251606608 75618080 228059489 94112698 217367147 803200269 825072375 891625305 626629873 740420628 21364747 373012037 158376574 882122340 530063740 2714881 655311085 739638479 215059180 178756925 496913403 751814285 912725156 575840180 41778226 392821362 98520153 193638685 294915730 783994159 143035310 65447864 563124698 258715056 397727380 99899214 28215823 203469142 908560415 987213694 778101147 268209194 540272107 906247238 248505813 898925984 615158476 164525262 403596641 829762279 258958919 432104579 245346212 576663686 265898473 501383471 540699553 227833832 737217094 186548396 768702324 390722770 616781745 404862197 141127122 709218165 159979432 345236097 695032139 669845635 395212345 588606912 550547439 339489482 298450959 298364491 948067552 908584072 360256804 340748688 122299033 43229673 909359931 423030984 953648391 553193510 137839298 438355274 560763308 603709122 15707070 589759615 647340691 468302663 35989618 709924899 330662760 617534356 690498051 292016473 332695814 262678772 345836945 33251103 957446230 310845567 376572920 724738699 916845604 36633620 156603417 34178503 673999414 565698296 776265688 635464351 601296446 477264639 876250075 910141288 833311768 740161819 769188848 99493231 546286963 3399252 150660970 962388493 461176207 187863773 941224804 312449242 488563130 328181613 19619183 397060487 249903743 136882302 418058431 578231595 644502805 700283838 577918061 501356550 581988690 881031379 843377091 188312881 661323695 262901594 531653362 457102618 376049104 710907034 866800990 655743703 543348745 836067589 96894952 816682484 812064122 87475842 355272716 387809726 282285114 574777208 987641501 781546174 844228005 270947128 220430621 49594252 566390254 638923311 902362445 206408475 470245398 858913068 267824212 41910040 190162958 748270602 910101144 954345356 818408606 257477885 283674712 259493169 93840900 769403642 315976865 343433985 922273700 254010139 820233520 358036722 169180642 649823722 845462116 162200843 111371678 930528004 609527319 413433981 712459200 552445170 112873415 657374255 467777807 217719368 85996752 291281376 224342138 373990201 63851862 152980127 104653398 976939626 250936733 8458345 957494181 174302121 735966604 931959990 869921199 242507360 970685699 781230373 581424669 744908272 640016093 917586901 133159618 570267073 123237566 293179035 259937061 504772881 220504551 527875826 536287278 203576001 814618367 246552317 503152821 681351132 596139812 424538123 571167305 699892384 333280274 845500843 600199413 909331375 518090914 180100797 350054621 127465047 840351029 77121837 314895493 256158792 877932956 101179927 366062084 356823797 718026373 611626322 258838677 932654692 141608833 224066980 747273134 166149756 718127637 622571863 162251634 698168876 749188886 926992758 899712069 613864993 893388865 174204872 910260954 983502618 966469942 160330758 450117775 129500595 693450607 61621266 572614371 106303282 159348136 132555697 563556273 721224288 225004947 691015715 432617068 925142997 97336113 701399215 786728599 784695264 172083857 318873724 353059071 443921492 652866633 825193884 336007359 593783026 192354145 820153359 573645898 424996094 230020222 207034538 174065920 200439434 66311629 143368456 574430006 727115422 345018171 209245562 318451357 821509448 744395710 915127558 567241271 582374876 418561694 634846831 640111346 266990887 370591527 805613148 683670619 724163432 606502369 192255556 233917595 707567007 630390215 624746913 17988382 571214104 333088207 40343460 854961316 95535566 495513398 672102565 291115914 688697683 187380619 30454093 538428344 554982533 606928464 569021463 346694973 212090037 979939829 105977353 34941870 954491362 773438824 937338575 932818980 18160068 221661783 274252640 759892376 802661509 841914893 246627078 843092593 395444793 117017163 158789851 863765950 136165543 1408439 542358890 565081701 597625632 895642770 415251829 757356201 422195479 22895897 807424208 580729094 418056279 77849914 216432026 341668705 385971241 569864430 14319982 777181728 20062573 253418516 996546331 1322047 687136479 666111993 103559924 279469551 204228671 869879347 314772690 478826304 500545630 769933881 313885283 977867457 563774466 91447390 352654539 891073778 994576141 284698374 598068965 340027571 340549883 622194212 655464630 164802629 539272641 139064204 255570541 445345458 206772995 219165929 200268330 255358661 714050952 141512418 294864656 167218243 325935068 32518579 507280322 617378389 132051392 412047324 349542035 456554074 237529088 484352561 789332745 272158118 752118155 523157693 403460949 708311887 383204508 714755743 257722903 748081411 956546801 855647199 268107176 710396883 994537922 338607942 747366865 855738373 842355337 703790200 206245612 875769523 309248445 413509742 219105943 815390818 543232877 869977904 17838517 86638015 858120527 395404977 360199158 311640162 592600449 895515330 955857286 678424840 229846880 283670559 687028703 6121814 123219123 988854393 434883923 170144381 270741316 202893396 938504710 477599612 514175148 177643015 803984192 261148359 88053716 450026747 26934725 157745127 281834351 210970998 43006904 221993447 248865537 773074143 155223798 782638294 293108333 36575630 493367398 307376087 188060831 968434649 398543262 27710292 897306368 149072006 421501779 567674512 394747127 691590526 746622854 462271640 581705891 743256425 335985023 680819758 199648555 681386208 794891877 462144662 38764218 72360996 164882545 845449069 225964407 560655995 617596136 727801557 221299823 904239915 541068340 935489425 380614372 627008965 864110999 129181271 44610356 200403494 272173150 47669003 419706622 737268374 643396825 399305576 506261203 885719564 991921785 795532675 933900965 137563560 972721415 865465834 455226507 426355675 843779424 651091384 560067204 681324987 825316388 109562608 372884490 690079000 850716369 754786466 949702328 836251789 294594528 975072670 755566786 660547998 619582388 848851673 4734551 561485401 673094513 306845006 599443540 278805522 100578940 340262234 759884594 162843405 830234723 681368536 140895754 119452803 15371977 768769994 426693042 781326177 70208082 185225435 604940079 372570959 196519021 652427659 645637077 232016440 157783732 47098308 112266698 774622736 38411127 162622622 549995419 962848641 11258236 214604184 801680423 431378313 146215259 343353979 673619321 57787927 696787840 230837952 595424948 321154188 70821323 105368453 481617383 329672264 498436816 518433365 460814724 770986641 831295655 804385404 127897485 664581584 891863910 702271982 735668811 781067291 25579715 297557441 189883423 88421324 209220900 549231848 173850052 478045673 997291286 866841638 837377266 861318390 574781012 249383928 208205688 31873052 909906683 696394732 184572525 377748156 360105591 109095335 270599077 436632909 924660693 583998370 519925705 367698348 325636331 633713515 507909694 208148899 701431183 339107124 621515891 195759055 678309938 190066160 426509857 533800489 259091505 611417726 641309396 941013050 538823371 243671610 427392642 816614426 300460888 572234751 818232749 14202388 225520314 991698810 681084738 374594678 415500382 922555044 233749842 574166314 421197531 579180028 897726523 60369465 170217046 549971124 404846590 171132272 520633768 360659120 849105518 823205887 600928006 787985620 608226663 868139556 138336728 474580184 808373505 477247067 876276203 957575300 17405665 959726217 459827343 230620112 141238078 624855756 93439157 572500763 978433004 766645530 184668063 724754343 28405545 322550750 59460483 771387502 146305427 309982972 184732511 926414314 580584064 912294508 3006515 281305880 102990962 147820111 887459126 148747071 530889906 478210625 523924189 444810411 403649285 47552405 957867198 343827474 396202844 62797916 227081912 21839975 133607428 952274242 422687809 607440307 739716264 295426153 18776000 411904524 230302746 768753554 212547134 355563821 531244690 843299975 537265126 487715953 607892031 57117283 632911439 49967102 427889767 858091980 741304830 580626160 644631244 348786208 572617327 809067343 186069837 98474701 782476769 988545526 682652496 955342255 182690294 896789568 305189995 250296037 30321721 405966385 498155162 25578192 575045460 534757464 213799544 511411235 734134286 127055652 612733664 121025584 983662245 815588041 518702932 617428500 2370896 274556287 474875425 232297216 693890210 33963900 66261264 451933063 160618487 17279331 347087868 990220795 558634875 565472106 286536877 615707162 225148548 963082142 834310288 76360434 803708503 554969664 598773631 356180018 491582078 545118075 428037136 480926733 185301954 734489381 472489430 104833292 701692521 799821787 881087434 809341615 547470494 199650332 184766753 725527570 45937927 806637816 698296235 339467991 931959705 668791571 512528990 30611194 562716529 731815678 700445551 675209911 711886098 322144823 287927789 792267733 14990387 664030940 668679001 232801647 530808181 827954191 440555325 277233744 685611259 503508178 778210216 239698248 920561040 310148872 272064859 245192668 75527538 662894296 175066236 280669592 911094257 375647862 486745954 769546162 680983368 902938229 274745280 302870303 390870884 584471888 600442667 162788273 284817308 516378571 224010661 277047480 756331622 6267127 433686817 714716411 281192765 825865604 385051819 72221959 802285268 7218564 539396353 601895291 764406401 545901427 330194390 972905977 851517781 947487018 78517492 909655598 893774687 573595947 918335495 871949705 766750344 399751572 221005752 588742446 638844835 469552609 599052247 348032107 960486321 109066336 229094120 964126034 214742724 498996804 581285782 191540909 211682797 98700482 224482501 527683521 73759473 134830709 397363583 52195583 290377233 910724633 780984645 348396349 955214630 80206302 33015750 410263987 43233998 859082755 211037027 984707412 377112429 494485131 15900441 391444686 894343237 244545542 250152102 213866426 486626514 59378442 355701337 182865308 336983067 756284691 291803904 957762691 148644810 597586404 988965216 693687461 294023969 373819573 859711851 971948368 135021632 227587076 603980605 419433751 948130790 833802127 556824910 22036720 284453670 310174052 903916839 673891633 705232378 704357751 622600609 712161334 435281658 217214169 303838389 574664008 311804238 818728179 607614094 77655994 491045188 126692393 19528277 775671552 529414220 687860875 121185620 461857242 9017579 625084538 617820 290715687 474041829 268227641 434139997 385415621 165009423 700503664 655088251 682441167 981134104 844492612 667264085 74058034 295597468 283048253 184894906 326976205 138313057 923908588 529433117 487005455 57655261 822932672 428951208 220472519 524781917 161049479 784480363 128290479 832249648 296937498 122596033 406112071 506917528 740614604 883621073 85350544 572140921 292820356 694432816 639023437 871288456 705948657 284625815 118056041 838914795 171758300 769892868 972983540 511404697 603089124 53194165 179983644 768104551 725955360 788038393 10576818 344426491 881442932 821677830 728859254 797264198 605789547 846084529 484974988 83270283 780565710 984429548 971389925 776085078 940827112 360215893 160054193 213663833 966091964 706777213 273113713 219086864 882131173 657203876 360067130 316726848 435808763 237849114 103970448 106287984 163884949 811569740 216624963 126958675 355520423 12333060 833675307 297328871 558625195 368258825 50952345 800090894 939056170 154011984 613162234 692924899 980699061 525241367 41015877 893868765 193684815 870208606 478800522 688311752 908667863 839116646 860725027 971810238 471703749 674880338 436863416 211627309 907359132 195179510 116575547 355868807 71685319 586139133 373572267 6316742 369246706 256605734 191443145 413804481 374201863 890079566 143566782 78275673 957369247 828395922 456226645 987367539 614182390 33868167 331686449 398638706 338490710 521897594 46644437 473289432 98733351 243527373 877869696 770782025 177627446 681121230 140298660 848312839 917270565 649533328 964144533 257228776 733280534 290599213 3752611 134076008 875556144 382634257 665253935 516111972 340916244 629795138 415607812 190655179 728819226 665189406 138921765 905285819 111039566 212028779 731210248 619857730 953979285 338813268 24403609 117820599 112763227 86621847 530673931 999647621 721713464 506920612 55384147 706644009 351495663 523251366 179894891 592443313 144223493 828948106 622176031 294872212 161281837 374019231 388643568 667005548 575255460 797691686 563134981 412712684 516953743 464056124 553546374 301657692 153969929 581937175 935542162 99753291 411054076 70507921 228031354 906272697 906817523 416289625 335586667 908958182 49618929 55550263 317954414 761406031 313227089 367349758 341624823 877776264 327787947 17490976 350565169 676447901 545075517 294394671 12302433 712183243 817128746 341431409 296692952 926597459 664452183 91148947 468705236 998141149 801767763 599894856 578620506 124458109 930589874 12294723 857821232 974234405 197121294 225217508 736663319 678702674 223705025 410194509 105085876 315696058 104257568 960765238 409231528 650174595 83632443 295525992 493321497 197872103 950676902 687519634 918059887 692736604 955545080 885826427 863585157 587747235 469753573 420307158 273656224 919231126 183818205 526059996 519812202 138176586 255840519 777650270 851218438 522011990 126089288 108502050 665181179 935361240 649022213 965018483 984144875 282279103 499472913 156541587 854144546 546637442 522625776 849107669 78786874 947514337 331840910 577019415 909467987 426151507 378004447 241598095 38864257 303220565 827904221 455878367 756349378 812415444 44968484 847099600 94891524 888985808 823975080 797303759 614581286 553498732 16899119 91234792 11729656 771939905 729551461 589766287 676078720 105245636 372680749 270419974 815021836 56496301 176334510 620885171 826891401 452643603 239595991 854565201 4956513 523555758 752421426 814507798 875097641 224978076 522658629 219237583 326718175 630653747 948281200 619707589 376013237 97356542 178370950 414784321 945080684 697517883 344421990 372190361 737709349 996242486 697014910 914778974 126927513 562872768 427118263 642466141 209292477 113197749 794795185 943339489 150092780 502805659 619185387 351005481 33145431 471401936 678534602 113208216 685633197 484292092 328891335 65576054 837560621 960885404 463411922 23562676 683798921 219564855 303047156 686973469 307677948 142260854 938809284 63097219 306936005 52470831 852351093 897885780 221972244 960353365 300599343 188015436 223909769 182001194 507015228 308320443 890780604 538952860 24314362 104945014 590560987 89708733 573609017 51939995 514392618 483572801 217033640 271788893 534537145 372986084 96476140 181757930 226735390 217428384 585969038 112645769 10300088 63127481 328044218 580968306 689091243 439948631 612874474 760622887 116284086 892143485 493600746 752082391 418315775 388226624 300086095 315575482 111544923 715075164 524030078 45140419 142122918 629003441 412103617 245756565 844143009 515112854 221214353 546773296 770043162 816637626 244722662 23817309 358279417 183836648 79973232 959851108 97843972 267981718 370009725 596816849 263841361 410376045 29558904 539746207 146374989 234957144 886494280 470020964 353828093 379268053 839826232 517699847 625632018 547068652 146226080 109568549 139244656 260222216 808454581 887061950 492702772 893092853 960122135 28498909 102716624 921623788 249110825 670570057 662056842 916171996 566988465 759679850 846045221 253706556 279870770 104357977 793700466 456997118 58283563 211376484 737562985 905593659 430038774 940017860 624974088 31906651 161830693 535007505 73424095 60545627 195906359 999093916 783522672 444323727 180783757 798391259 78452337 762773651 389064633 604746709 315908604 701179924 627103572 936087328 738516793 36465953 884665544 378049396 351579720 59721684 244446354 172793532 684689059 708682516 332574384 624392933 228455205 705153229 381365644 217359427 795564122 266581777 873964504 866958502 270653363 809980680 231064224 497645391 190083163 493109317 323965129 786689106 446163594 563180200 399039784 137816519 944076531 240318485 784104356 679100808 27028764 769466775 529878892 752803096 172433523 853970765 265608704 45084089 548075299 260624752 987618835 281709683 420965288 22944790 106660368 972225373 513383576 52160279 430661223 137410096 237062591 444265662 30311794 759518059 763161520 682485438 182926531 713371363 256919227 734405361 330606463 704531203 125918040 452301404 299607954 728592232 518852846 909581682 301011535 553225634 617486872 599342303 849881607 691929984 581820524 495679604 200854914 286484099 932697836 204371132 285656266 169195259 850181957 867082554 191523573 622707862 770577171 970532483 124522318 797294291 187555523 489486052 406840350 794212795 980850284 47166968 587361268 547292973 851226527 789612141 482443382 769911744 214079703 203090428 692668904 359341371 831845735 615925387 245107193 292484817 604731494 644984306 620949578 701989135 854021121 925127263 773701775 937329712 152566613 348818653 732691330 934678490 205544488 297641365 43975995 258556430 879586385 217544622 674026217 484964702 296356050 547423996 348973254 787827072 591444652 578442094 663430221 166137451 23830051 234806986 179281636 478834637 126323428 704941156 630927741 906821116 43787300 329259941 242695293 842469375 755849206 717699286 59543132 909057839 166990655 682674533 690020879 451263590 844902891 140317935 261889648 953113600 248042198 793453685 309459653 229929894 842316679 88308739 251411738 537680284 897900059 510211016 510628427 417438674 165755389 574932650 391718154 465850923 344879750 556826497 257424605 278223643 404924569 163516718 945025032 57164525 104916760 537213809 469568330 678227141 755662878 469370863 317252567 125484855 130457074 832843820 338495232 387055620 672950801 171315727 173301125 181984801 883328330 245976549 619901905 663703795 317162549 983606201 46462216 242520351 281268050 359594432 447170401 413869946 205457679 175670579 818941552 15815059 707158734 218387159 926137925 288248319 191993959 567973907 335268416 133689364 514953778 115606890 818940170 349498040 590541019 127450934 354983745 316293400 495081683 177608179 14070299 842509009 981758320 556295430 683878022 960547677 991447812 197587887 477465544 371885493 206446020 25067204 946885375 810929449 221314190 97854232 899014444 111111191 278792112 752485197 321248034 983752056 109857038 459114555 946041183 920276155 803415911 836565391 366682847 289622824 898905974 94641756 24922764 993487856 917516179 271090573 562939489 365677377 916103458 563967279 509795639 928346759 936013384 326609032 761136667 190469904 438180193 589542088 982430526 142982215 393317925 151524141 331935191 16252212 426571391 292962605 135037363 298088617 341653008 638442939 864766007 272024086 592985601 7936204 772209761 148477785 321733754 68293816 372152071 984448456 761793858 34889949 420476955 133175548 902736719 955218010 733359469 850030453 575326532 10237546 272144769 181715725 661869310 156645979 982047416 881120752 694583429 137018890 556606089 975297496 185490900 106334679 750445397 816315548 698754390 72617130 230306666 25605542 121590970 617572402 104973017 166037614 639274511 211282430 844525160 713464470 636467961 221634126 653253411 340331983 691665573 294017920 862849148 874056165 658861227 155819375 258991247 941081499 377390340 176406470 76632825 303269603 576253729 522397960 800335076 95228334 196329183 49008131 727673266 407377996 131009905 688947857 756401359 177339444 249940481 690536532 261762004 392090345 943367558 465549958 702994361 655601700 677794370 865483584 829518768 279681176 591348368 469290419 860278054 850551995 688832411 388136174 899856623 576166436 766435741 106928783 432992434 666684034 722046421 899234208 453742133 202633695 3484481 74322526 856029898 744495475 520692679 173071626 730955323 542096357 465679530 952327721 938888486 319541120 846187371 341920404 734027215 577843710 890669501 848179149 193982606 8749813 626331086 400341225 898630556 622146263 931566996 999326546 352053174 611489749 678522649 171141024 176488684 480663749 58426811 359279926 293206857 34179303 567780095 145021325 131113237 769406689 422530938 320214742 841998513 353340744 63769936 950503069 781159808 780272028 558682344 297625412 532268842 184314305 80847146 863005804 274123847 522282655 346429596 245300927 366183668 390321189 924848279 91548989 520346788 81904688 997656329 222973350 89858668 175142184 376223697 902739426 547162655 873434642 645949858 724606993 548107398 656533125 93611174 887224299 65666541 94353334 169398071 335798627 102695158 415096230 712336359 555023479 451102625 116207471 340933939 557496272 581718303 733911692 130902648 16619893 622437130 703108295 725576711 826517172 744026854 803154974 536513503 947947160 302780689 885893852 486944760 496868114 384445010 156220014 152002446 279982862 922471088 253714125 620472332 974709359 273640152 741621120 482237447 773866646 467291327 820050486 999955308 909181190 165627536 937005923 613252457 354539878 467162818 102644279 228923442 52473789 352391497 283804719 350309613 81456684 422369123 937294970 865581371 751542193 41204310 439701986 348739349 545591897 223084783 208870846 819075309 96124795 389722276 506786420 225017604 511110611 52866250 941511550 362288149 197387652 419060895 556122115 22863438 937048733 973678931 940761572 500072352 139436616 778555509 373468112 490524200 52741618 560632660 146437984 718637557 895511806 60700424 998533341 309403070 962695920 698791700 741768869 275211314 827184440 770672244 957345300 210487840 835410883 240223524 661216146 638461388 559167143 19399767 465912239 133392132 701447644 572958301 300031611 40574267 394476062 593417554 918301184 465410958 102529371 164439123 36581026 565353571 4268941 643813109 647252713 767927781 123873318 740916334 792654935 253803711 461437829 135353062 215369201 907864109 752456394 845916378 300975911 193930479 74235517 793591093 801147730 57791804 997979733 644776737 802386256 104047509 200680049 593398131 300291325 777373556 595602412 758203077 246934667 14432795 358609406 531367351 588041210 402126546 851216050 533398374 336692135 145547487 459604452 512273936 345245051 631893790 236136956 344802913 391253427 724557242 447055349 301707716 634915273 870705320 198447218 223765465 757119620 343060236 797565846 474784988 13096958 31462684 866695800 18293352 30148911 41151176 535895999 662618895 404432238 592225877 972341655 633059470 784491144 811068769 731042344 721491785 971212331 107068251 62620888 944617761 410262986 430400401 668691582 895754773 36221477 26919655 933578083 966777741 92316297 217877272 265984585 418643317 618120926 19807101 88744154 838504805 146943128 241801869 572337811 300961089 948776236 641902628 200200056 801016632 874936961 294378350 61568126 65162960 434999528 386460980 339484772 341030982 609387109 59326397 606386270 763810840 656750902 180361972 226515669 609910691 540389257 520229972 707393627 57050792 409753091 686227536 665288779 256062856 237431044 577398021 158983614 2965086 946914598 549628909 41664963 363264065 167585166 853764163 175274567 976541881 360607664 388757848 846187874 567964138 346799453 213792776 93097803 915810483 173694995 674008799 175229646 954692238 422708409 904445717 577509259 912473239 989640635 138878734 16440503 468899756 90551606 558540318 31147347 709206140 112760940 367741896 398940035 637852929 119958145 942396366 161851934 833159562 619074712 531468653 10859461 616463454 968359794 446752523 295375142 70254432 211893468 568009468 773729178 778045044 494761720 589126373 628539887 927501655 622380913 297875696 48110835 553992680 499447330 330350170 665261893 133468647 237042308 191984359 397295231 818873678 802020894 719463549 735590364 243600840 315592282 467691589 348392065 909425440 828601864 247574235 371487501 627204023 927327316 862369015 83811460 522202857 806223606 811440309 110120331 118209361 672878930 332344725 515325800 251130362 602129666 915272142 634301076 654817587 454287544 510357202 623047035 919403737 412264508 810036711 45902453 920471430 374525460 41593424 515293393 751966061 136230884 823593052 295077104 857461170 6993607 702849934 322153911 266823525 176241500 473454246 916433545 720999378 74795200 800448108 167350219 16710565 973033194 782137092 640796208 104579581 114450259 961772307 579890408 600945355 64999249 696531008 27179062 124434912 494428580 560162217 376947729 517574123 355952589 401925368 385444526 366589382 199424416 832537455 564544613 251799277 217181338 921696682 133839763 347333365 481107562 446343324 767668052 460877233 915229398 409579533 342293350 109914702 291961985 515696395 823468406 275018777 33108852 302518668 337994190 580193750 270940206 94086814 35321380 11168344 570118150 584807162 15893706 628695744 213601565 642884861 952672199 243998066 332763316 117016944 325058266 894231308 262582023 637362006 525239566 839934769 149328609 510858583 158873873 90306088 98075441 590635479 182568645 408949892 284720903 219110951 172028017 720457828 179017570 700537731 607876184 222440098 15687292 86981506 715497840 859970021 999338924 979843368 116945707 671605582 154349183 913791745 635243936 929789830 210122712 956056435 662068707 208591314 190885568 300261251 926989830 259145990 514392272 71980559 101492126 134257732 279673975 98388865 770978025 837486088 472038372 458337761 338694880 758764074 959717586 246805147 97423488 233497073 278717623 680639497 269264601 626127606 428637293 908593439 344089944 814345957 986285740 60088188 866524427 201374552 593500134 5107400 665882471 643116116 480981602 938237807 831964194 797254233 527738599 287052964 381125046 955818257 57515678 134167365 97729955 614252522 179377343 225973753 676004981 249318428 462874554 740818869 788360097 574925376 430263047 626106281 421671786 602806231 999645852 492640384 612388946 794666549 31028237 95590355 890538585 825433428 314037379 787937765 919603675 439412689 285173227 686780020 149422211 547744817 785945526 692892229 365967555 530052759 902650149 23693495 44884845 435107942 705743930 195344300 690575695 339990686 373366405 675567877 577193303 257304487 395703768 182184952 321737360 54583204 374579352 31655956 941337616 45206513 522316544 626299892 853443658 602109565 956146868 385263653 874573097 5064522 211906897 412966576 537516066 328391061 770901237 948476458 625211046 311624318 27008336 70884882 43433506 307655172 149152270 236549345 628518514 131293507 260161463 925355388 979344725 831747059 758990848 106005521 546075986 27602394 32426557 617422481 169041913 21773499 788155693 584760462 911735067 162352761 187816926 610831654 733793424 991122600 518162560 124890251 603652817 876379077 441955567 936138422 255694894 888723723 868645246 994090584 767026967 956515247 514756236 634108996 51423620 53013893 77834266 255153035 718254133 240278338 384945126 410147490 921950692 643869598 975217849 869621586 37743103 403926616 503167732 395964475 435037933 21440193 136010659 839666653 117687524 3604340 969074770 620945119 883649375 148265571 449324379 591545440 31057957 542363324 452618922 301517161 148910078 405709739 357898971 506510619 611776466 230901961 10557478 547476434 812187779 874127056 633296245 998143764 523440858 598213544 285942237 990855758 243370696 612426997 242758548 1415326 230061709 273511022 457331801 544066605 744227021 463111009 516304283 996683487 267656887 89172650 778427202 400222133 194422303 158826939 828049218 65957814 264772125 843533872 494744188 272240887 170565380 932485679 640160936 870069094 107726597 484507373 300873054 309299162 442809181 728365462 575814197 694322248 927878991 476957835 217073193 399553864 758350515 66524707 278006073 429004467 80420855 809108423 61672607 689755757 911215161 796602034 980585607 716482293 96266906 830347722 982956229 769016662 576947421 178652526 540491908 757005254 179373206 17265344 913521994 733536366 712201303 288505095 256467935 20181033 684314496 4889549 780031196 628856658 653565828 764108293 267927541 741865335 142707893 464634773 827514819 474912486 846774173 829064977 755224151 401605983 464903188 181744032 825129824 553701511 672659039 116021167 145274786 841294593 342618791 664266896 567775754 334341630 572783500 36596947 126430015 319712621 879820286 479943788 214833190 866459208 167002031 275926642 139362030 576612344 389253131 595451177 515111916 735893606 12904897 652261744 494904544 793553121 544180381 656947624 342709924 65735488 390949520 315555905 220025497 993225447 654214303 538506961 750044725 374916741 896029343 598728984 954740719 450911510 135163920 218800162 363791610 237548243 13664906 505211891 611736899 722237078 429292678 403096264 705152635 649324071 356608642 274313391 437082388 63528283 802156894 138611604 303577739 198287163 434001431 156952706 582421285 979421040 870038896 430096758 782011590 784654987 912302093 534446634 599958174 436123690 855032336 60289790 239793342 626638072 485783853 680570770 39699816 252611853 371500554 326110282 47877777 147318338 94978756 272722328 124055245 867620826 691490113 828208911 475045363 957012286 926916091 859947820 369873483 646766477 758255503 29722056 577995568 34609671 746925419 462610554 809340484 704557618 338013826 125566895 407279314 731716535 63172822 696150223 96777341 571679605 308665389 540020469 733386431 781982825 384134649 586339236 212780514 261457149 17400042 911620048 913219549 493796584 419570673 419055377 960834393 928926136 195519405 188138914 771253706 339844837 162164669 767599329 950523881 411058177 40704931 187732375 208021944 250526518 880346424 28052343 961329053 509750264 6965639 86331766 696635188 409091592 257307377 66878702 965519329 415600553 847546673 583655907 659885283 403903761 320402486 773903087 531561681 198625250 241023400 250167551 682905662 25115096 18823290 585095217 827207847 787663876 106982160 738024641 382092328 158438586 605686686 889555214 934975 486472783 619634589 672583743 769850564 376495709 676757446 888459518 773021335 752492259 934820967 450628075 609478577 476360937 370619839 193650246 107832255 150836808 661971739 71515581 914363075 418914828 967576065 261972630 190294992 985799098 354989143 288287435 901243507 249666676 567632846 449931655 12794732 162850401 354009770 517221168 431197831 207160048 525377675 679415555 731299521 308620141 647632987 396226642 15311616 20025648 15819522 615170282 335739632 885130646 232043107 49116450 143483040 647849240 805134043 373041535 785157102 350441048 739423836 832086449 142645908 99065294 730721937 714316167 63940069 728272407 392060475 471981703 122782723 614711354 365007358 945651445 176939280 219216891 992982545 748547881 617951097 40915432 266399256 456208241 843431527 854536 747349404 626985057 35116567 810818708 194011776 826321840 499179223 53356284 552088539 663047017 540064023 19024027 192818107 508433048 830500293 3154673 902524934 101079884 332753196 764843939 26195083 706814988 732987029 208127365 173798845 578405801 699516935 43453166 125136250 533147999 680636408 832805833 168109004 101444207 769102361 239252304 820745952 533882966 417090292 410227703 764913078 294367963 96613240 644983417 469724528 918332189 234672525 998650559 671365818 864847860 226100911 872960646 493288178 445290726 55691659 951012890 122234543 346357848 670256634 47331192 641564836 571747237 922319767 408801889 773642911 354148406 933636551 78040248 403878216 918081820 287961516 467490303 269488397 199726973 777750403 91571166 812878160 250312156 160355970 152259290 547288899 318763822 674258145 476603099 490970861 207477449 798890 774170625 135165318 512010768 752627792 28535011 494042008 265708499 972651761 342671672 465074485 111059604 893209327 876854097 898904855 114463530 980080669 202518686 876719263 794555885 771206500 486998321 788264436 116100214 941167534 536366202 7175776 437454743 527349302 776016367 750153624 443692083 829453634 329610790 705592525 665120933 783649435 853212594 280825072 780122421 140042408 553602742 985617059 299890849 839181380 221326907 935942424 507593385 834419690 132029972 741981688 136995502 285273911 784722105 738014028 789876662 551721714 789407409 643156377 816434149 84816244 63782887 816021769 677958509 656972446 191663207 696866799 386115767 61202048 104612589 563378296 605628698 46465217 157333825 178643387 26967411 141914589 395125615 223983897 967243198 280342687 885457341 60637319 950767349 29207571 89110009 500069007 154357544 731457066 671775356 414756995 270253821 321705638 173979028 958515427 130488430 896692989 432355507 739617894 856175810 931600078 340976340 472214355 609517570 20307726 164152393 669879882 343389342 498712660 99451711 980814675 373350131 687211225 198688307 165335449 355429549 30976076 865121114 971749310 890455869 785733341 852253228 364025043 75673069 431531681 407289764 685945099 928635538 865195557 422498022 368270512 546917810 763057400 276607908 2845778 167022934 965106622 629397241 111874148 214617012 882179500 702853881 801692923 786061581 610397800 137043658 96894038 819408196 867345703 239612896 207859835 58481511 74720366 17697655 266614527 274822853 734122312 909549414 315015394 999957158 900592935 234225237 207321012 84347798 890371877 82255647 175051147 27912267 60113797 512721513 606739859 574834839 144717832 258586666 566470069 340011117 843414944 384128187 65371021 902642201 324489971 731636657 856953251 190108046 193845125 234794412 911670389 619957517 63093775 164162703 382615933 693231972 528302919 234403832 222857623 755862790 111390143 264132090 974950048 925835079 987369937 876045756 468373256 39167760 357601475 960298946 549092441 525842430 647960544 831909406 441984583 30910395 187581359 343442631 329760941 716153932 757779459 247796332 103145312 578267271 380749136 965561989 197271365 787005588 366138705 119085776 853808912 820401389 433913285 242185239 473335915 505116563 229716567 678593786 117826064 944521198 376769839 519071748 813073848 393956618 127070990 807854999 234014927 368821118 779504136 285676849 416956147 316516326 213046685 714815598 38423992 429452587 186940609 91151918 360315975 128973244 262382218 803323590 267639093 880813360 590543 693393344 187894874 268628990 365940376 813637157 899782134 59448107 961454595 719822806 681649474 118184223 830556931 26348136 462396016 516034333 294424579 249691391 694413024 825807059 201836016 891408667 937808185 714548772 975447301 344597099 602706436 646072674 522265900 86047959 476624897 402955652 113188642 290125487 183251529 262258161 360156237 800057302 439351325 528922167 982526884 486711345 934686218 97590731 349075477 686708024 386312093 227655934 915057870 161632974 630606079 399090088 400517547 245815853 824563834 359660384 582354854 776175375 943240491 99342833 760064616 140181494 240800109 973506796 898890288 959175031 838389127 617938041 648530805 750514933 685888897 925851148 251758097 50052462 73728826 24008880 952857093 714049624 693345294 115728230 309038255 729098644 268724788 265207175 114338776 187256527 79874484 249255436 285664046 709891668 12777135 765434626 530785531 423954930 887105295 78174079 912018124 297680018 639914750 157563391 44011004 956667033 983695042 309187827 902960528 677264765 116950430 844865974 387297903 116548125 762771280 818755914 470519352 538087719 264424444 72423638 43516695 24666173 830260971 507676647 667063419 675670232 131015527 776337662 973314284 58903914 338263651 212459044 460133661 478009174 53702808 779069542 245289483 788614339 4221269 868073957 757057919 788808454 182600680 953001077 179161164 327884392 62763722 643699137 479561589 765642649 285851602 183166371 628039170 436955153 730661859 543711334 902930123 589677747 252497947 139989272 705914275 44068591 76636638 389429917 23824658 577441850 314387201 9412702 435018721 441957620 567577409 894118160 608009180 390186341 953053689 543753177 39014975 657593626 621115812 248508563 885425181 585989297 40169175 198661923 920375311 246280558 781729564 557610654 712456967 60704133 692319041 62516747 714987720 783088937 55804386 340318532 231097326 761450015 995156298 371149457 756389687 276864122 781601668 761750230 622526546 95596953 775035333 229985978 205629077 655567282 888864803 68838656 759624020 127146980 90555809 904709691 398033794 700158005 392552778 607609057 171183295 621788949 360465387 617381114 108037322 761023944 245806516 730223951 108529044 556960860 829753121 252318040 127965029 662063265 5013353 972358684 293594307 377345579 613296877 907416841 112749724 922174206 655958018 68825589 467654201 57810715 101566345 734585230 801502381 636422374 700149603 115556117 377500516 442391791 58655254 710017462 15599258 806863125 246647751 176588141 816936047 508843030 697566876 911673059 684471242 367654736 720785321 671623665 862611585 299983286 348140567 204954820 227748764 937654832 395820734 71795326 11820260 173037067 196106098 27602573 283555548 247331997 94151676 553234871 950447107 936396209 101946156 588865720 880418101 518199781 282585633 211084023 698101942 485035991 180574294 865283844 32700357 453850410 192649569 151296467 479950395 390368989 916748852 619092818 935286031 505523164 850176819 309378800 920663069 180994153 935550045 433236531 868842375 338359249 732262986 200602603 172690009 751233823 5234609 34185623 722168132 325595668 46440014 86006859 129173728 237650174 624531148 919094510 765933048 808861944 723380297 944979853 823507114 36759572 767338942 754916064 9690046 64368206 176663409 578766775 635743782 314575518 233403659 640545034 679749670 658242275 204965984 984450459 734110058 192389541 235968013 5292592 752957135 713760137 636276253 779765493 439878143 254688845 106401253 189020916 753770037 644884347 49553736 633847415 688990651 401979840 31030110 702059623 515829109 660290956 426069954 418002142 179526874 876523609 985477143 221148166 876111784 684413085 708670497 361908542 173623883 665789765 663347718 83601026 405375786 763163149 863705868 322858371 101131030 19680122 124868027 756707202 46065792 668584613 713240590 640886035 66459594 554306340 763425928 872508904 834693623 597771117 334510710 261358991 446123380 609782159 689570877 950504537 936559167 385606690 653468202 589800839 177697592 523385546 855348681 266711032 810165880 576955939 928282417 237024892 60610069 264883750 944545004 369114436 155670716 520776294 369108692 648892374 549886795 615639819 394733750 469993905 88353667 830583698 817818020 403339257 671811090 933474711 541028781 655437637 115379212 21722300 45988138 598103970 685337136 717053280 364995136 54206533 71353673 463134413 427846248 70177766 686693378 596963647 109149482 924629517 608825283 762723421 199831205 927690770 878988795 944014691 513651449 360108110 718171849 296694854 816623124 127402319 874515955 23627024 399293364 648640651 74925448 345531841 141988856 529860312 859083982 642583563 484272972 15443159 451004164 81265827 347979352 968145190 375091078 332778823 674092460 86354004 293790443 849351110 547700065 713184009 921225571 864676095 946807003 980367736 711553014 173161842 978768122 976975243 35292294 832717927 344921654 657857636 264748284 198525778 213137019 869670862 253408795 407404753 175955597 751999460 118692708 868573554 635920535 533654253 953283758 745027774 177041891 667213590 942660646 810005217 908252714 61085261 653845837 653127473 944482435 523373415 565362619 112485076 456311849 718134326 705711348 758342222 92895902 442826807 259741618 140217112 155566218 502892200 471884141 663897264 125136460 283505165 205658647 99748279 314863746 518960518 7486837 756655356 142706408 171194238 736850325 729913601 483698644 901651030 337013793 574954834 526792669 243860205 981650102 909830538 546749478 864130142 160092466 578780241 732656084 398686875 205443660 243084562 437375328 244555642 725272462 586811626 632309938 183857417 38990237 179728023 946021459 738046769 146391815 140800584 840448913 47151034 552461817 49951165 190100576 487314001 670544675 415277377 899246412 468124888 495958038 548779104 21048487 177972559 768635311 913689769 541833664 407131829 252317372 219256474 187830787 570136893 890220493 338781956 863378501 999972050 81623178 875548876 63146882 726398017 457171828 651950685 171226222 11596708 500148988 19980796 521957085 584714647 861276213 106413024 119754788 489571849 279511863 886930420 882483661 157660095 829430838 495598284 538675286 205141154 177341670 168985865 519669171 137676866 678276242 787032414 797770761 525815654 580732469 155716027 647596183 995216268 989616252 537364239 206699025 108063612 722519906 283448348 298463702 433015907 733325214 251526656 41468336 957211583 704443378 594375180 866722221 479650785 266219317 800540358 158949198 245258587 869347031 475888334 664381253 276490523 16962655 562018325 16197811 306571946 58051151 805790241 396863280 210303427 621414244 662620529 829004295 161418427 194358598 944613856 842279297 114934627 599453582 199504859 927751720 444324378 78182510 106088049 451806752 300064252 617738951 114134974 304564241 854538987 57486536 628237793 222799538 399652554 652661806 309521986 570026511 273385089 774633556 943652444 368147470 56764432 348162706 690355715 62417195 697837280 242884770 621760520 166015659 905281345 383432717 528491001 841163293 897866629 593721881 450806309 764917069 866348862 576728572 418335404 83252445 448003269 1823076 433633318 884209758 61619342 600512562 850343248 827794456 340345711 739725225 796206742 234979005 182729851 441006278 803526213 856267946 755438096 173773009 277350376 386438673 577956369 511641639 348785551 961331690 565198966 808539257 6120306 763015816 317585622 871608635 273154487 739732925 214447496 95672893 79205902 860378549 924844663 546297755 413162488 297570946 569323422 381388483 51090780 975405332 809231637 906374027 372339467 967286359 674487187 327011749 171948663 354154321 575929103 515433062 884084249 283171540 263381161 731396143 638426300 637015927 324546556 929167246 308063568 301593593 933879568 263943476 136413231 917912708 511338778 102374235 715704531 282050444 74470429 439325335 244757736 930425627 842581362 835818935 230116324 457436322 163820407 578962986 525561822 871570149 933319623 222949766 810522756 584788895 870493740 627056346 508194705 70960029 833240144 136475595 143801682 934813803 910160359 409255907 345042414 485119367 215432035 679272266 404010411 376091933 613686207 4682153 473430229 846801510 130589136 321994497 724833819 854277683 301187280 91709007 570811103 668761406 792749325 920187407 589039742 779814521 120558255 711076719 245845752 772401817 864252817 626861348 175818014 405055650 804779192 655984666 333282404 131795844 633211977 32830291 360390460 705247201 125849185 93633896 764021014 506477913 474910619 380541913 236809857 876044228 424767845 833522434 934004462 139918263 435201570 536149341 484274738 200368039 293894408 356053035 407779288 893994820 715378175 47940532 412793729 109952824 166990706 896345113 207660146 200536724 986758438 992675330 760982936 393963833 29584900 115471870 166706092 451457742 644052128 381710933 747301927 905221413 151349674 871448910 350824696 547911289 569551136 898470668 91202205 259356037 751357557 9850037 832091159 818285828 90423826 842469339 889376287 189643801 256693976 318476001 467693829 508965269 962765208 417956345 556574836 355351864 425963469 138605062 339140602 659464409 38869186 383260177 185533748 63699214 94423285 883819493 612827452 466232593 493348049 463833847 366479535 152841624 600710654 443595823 186446860 826222077 121324199 280236368 413991378 480934734 415799224 371986942 323258594 740502726 132595815 41656839 613940671 391640636 249046887 883946114 468784420 558377407 79346862 955200715 406284921 884114004 918955181 624885726 955961395 929009099 300338589 579014170 653423241 618213636 372629537 476508307 724784793 521647632 476133698 993596136 301383483 192723661 144890709 330821379 152898031 479614299 236703572 715732367 322472465 142818340 326403613 652028786 664901039 548097117 238844618 97645312 150130925 884691354 403448516 279959099 59139938 651866471 315335117 200681515 786830012 397976423 72659934 754196021 102332218 322974050 714298795 873114865 826084485 782949516 561250800 135570651 363974970 227221772 684451598 125335821 796200026 702569736 117484763 405952377 52100677 93910197 208955948 277251977 567694613 311059666 73274879 679567471 355799076 552708689 231367901 247988463 174781266 476036690 448953852 85945694 181345860 904681595 143029330 903649004 883809701 40642745 750953746 496864779 126429164 768893454 576502582 730990971 972500393 632422252 227174760 646514546 459728447 242825065 39083225 865398514 572371080 527360147 14800521 576507638 541118854 219829811 187925506 447286336 987766261 629087699 614806816 784423038 421856421 269428664 444223820 235675842 663788820 731190767 781486311 841323403 867371509 668428796 333889982 806448206 68102712 81544919 758466798 6931304 346744267 964784332 39029514 702290984 74401005 70079753 894560107 690541052 511579441 773025673 510560424 657146852 877037550 85622745 736535710 956509345 460084385 888494096 209201864 360907270 964620839 383057279 246856589 91651001 92944931 239940982 678278572 907454696 971121932 746309375 898710355 867399030 558427088 936774603 104168864 818160927 979425557 283213968 523649110 238110078 384553673 119101833 601086759 130865692 492434515 361420365 914270263 590741480 718592344 717128987 328586383 330298861 77103027 692472691 249603020 404243406 264660802 619881822 247210578 274233999 959087705 198285691 243961557 528544815 42048919 481607087 72023572 195092498 252099081 73207751 712384569 639267353 228689394 885108788 490078418 77318240 4592122 639498011 687316198 126415577 527095122 13588909 586607129 364888933 253677601 536717573 729092707 279825275 378123995 345597957 577945572 314322895 196975953 691379945 679141011 40482795 280390222 66380340 457900166 254885491 333252620 359920127 114879675 701821520 648386501 56289684 831396123 421611376 741801348 135611235 51176249 231197147 491831 791944292 394765036 414055831 272169439 981023997 765505123 174552621 925834128 905472232 131020169 265560064 360958393 175811877 977925485 286895476 587551184 298161595 417175257 549990996 554787208 283388300 991028629 914680219 845073227 961420415 108686616 165513415 400665819 657748640 237371644 899437594 973079179 699795417 155330536 553488588 368906416 985180419 72792117 43164943 70718253 955497055 611107375 583300986 177701657 652858109 441337536 619468116 241487135 277368016 300550141 323878431 541261868 28883000 548221615 988511530 636067973 851724100 626290387 92668776 226603232 681175441 716533740 369641146 502471001 730179611 190547986 219589077 319597660 556465013 748583266 922611119 392748542 58251142 709488921 91654884 406982791 182354474 841246261 484868591 677759406 23397409 211527798 857636770 32170122 432716479 489068392 377700133 865163874 968219167 731189714 844964127 217446522 650010578 511379984 399999157 752930449 399041708 285926352 216547759 953485021 965397115 962606047 914948465 746082258 406646269 944621503 276149330 331857208 291015490 940049896 987676404 77890619 305597171 272694284 733712337 894901336 642727707 816591550 559141027 767963788 452478601 284471987 291977191 156407876 746437621 462506058 221527869 662423689 282858114 715575888 485269687 907564773 118492527 294755922 50509713 19249255 617009222 574895389 986186388 381296295 917517514 1947292 270949050 362616791 296370021 994434534 999820052 496895951 193370303 984933002 190879123 481526144 784938958 743055538 308308401 886838452 344538595 186480448 963113331 116736328 986485519 678172734 276057524 846918669 69776584 973686832 442731509 322186710 525242133 364059732 428136918 451099382 956627678 77184816 364191456 310049644 30309715 598712693 41624341 874688436 967713551 391263505 433839190 562337851 952768378 276603831 169209064 838584435 924841482 664938179 942751850 80209804 593617420 838839468 405739659 258890502 934315004 86963688 490995318 282530893 422050984 693118929 816222621 78549870 219003092 985950967 93610011 871152272 350179160 592492019 173646596 982011122 927206193 129412873 820868874 622631221 714153327 402135071 305910852 396321918 817099333 581780391 147306738 761261048 230712672 809054993 523096431 179686117 758827561 289841914 263074289 818774382 558843699 803844694 374475021 764055831 283123935 831369165 186518865 815673863 164395729 628130285 62395381 368606551 150482676 56302412 584181506 569541457 913874963 162160300 740500710 138103096 946327269 149371832 27375595 93626595 716853090 980195702 85769243 75590777 453465698 200519518 902872942 529502261 244065918 347907850 908934183 948523970 427952786 794073538 564099845 981188038 953424809 549983424 847254578 436971405 982435765 444978873 706343398 120154864 638990566 289673969 680725266 987829641 177909281 161873164 588580365 567719154 596604960 126551297 204118814 183863831 349870570 997105937 669403216 714826420 836611015 225721583 880039397 657459816 447455598 61815286 720534442 112830307 889383309 515859427 577533700 229916994 481715718 256969345 984062983 86439875 893532524 463719048 682226754 421594216 189504487 328457538 537790947 972400981 753182183 139157971 367584657 303003255 429174519 206283229 559459500 975903079 897032066 664934635 335215848 383419602 393144849 353007919 607443004 623246062 760029686 349352810 126705855 583539244 630166341 210302569 962147952 15186141 616184826 113438177 288142208 923907941 697886196 811353527 725808396 79352291 531184713 278993866 889085581 267363698 583114521 789415090 181463518 237321748 795535523 781883682 230322164 243487403 491747265 173226896 886029169 877067340 705356545 534519097 907453738 519402769 534549996 17524133 210323103 591974373 225588778 107629405 52362884 583337586 251354712 247971000 572427439 273932324 37870707 389307176 114687114 793844676 394326435 359245310 305741 126765889 309412177 78542059 722389544 972393795 449828261 769463471 310496226 197390312 562263819 896854058 878821678 908236447 43483104 458958566 523553927 135894197 141920067 96396860 800242211 959427023 430006013 63886558 945918677 885411598 64046542 510870409 878150921 682705311 716693841 351052921 188125568 800651990 412832553 691358640 216034064 251978422 823602811 232934499 331325270 233997235 845190089 279287826 516913437 431073337 13486096 704995563 128142047 700859794 151597859 985387298 485008492 374123619 461886164 727714293 168289584 193039690 416501417 210767816 695784022 736919081 661899303 79384969 374414263 948299606 107796003 802820417 674203377 231719175 114763000 277038849 335072970 343862743 806010543 722156839 212924587 767757722 753224734 170124103 644657850 746709803 392550315 464970671 506377007 631256617 730794971 614609463 751898548 160440698 30450704 180403045 895920220 457310569 713598489 174679760 953969414 745555483 9793453 611659503 427595099 867588460 381594396 115778799 804798331 509615825 890473346 768125301 701595511 490657395 739368043 596376196 287609428 833568041 56773086 189052368 283278194 816470954 66677365 144827738 553735567 42376964 703173968 158221565 419998738 821422639 36708992 164131462 197534324 80856032 986003414 442599381 324663794 946155601 71046901 123094623 1915504 677448265 654038691 280360291 525452759 814139856 687833313 644126138 61452413 647193819 958437389 50631027 393215582 742487084 685479834 895986749 107264987 82602845 928906772 685244078 239443994 781698355 70216088 472431875 792845288 494156403 83687058 186988524 180540291 138311026 499357396 192539324 192585870 210918562 226695670 963089217 807703124 19200117 137643652 496719549 58011456 199500566 66415753 709687225 39483959 492332472 523724195 276559649 159290902 148663069 927875834 83867788 822428839 974215035 345246801 159843264 326644211 826620096 844947173 539574629 873223926 417482660 429070133 783121316 230508697 502749826 90464248 329672850 959977152 928719484 146376582 326080155 189389015 94035379 308840715 383890499 546006399 959770045 14309212 481166775 406064679 815235827 715156278 727963937 697721707 858909289 977998023 104212446 170709669 783550000 558835024 247385264 244175587 843405383 296667518 532557342 52953990 408318958 676295251 482462927 620460520 530736417 800357847 906970646 583940046 480450063 55478958 311952738 297457304 683342839 740952927 557405899 976434376 66660916 250296230 209607085 227888578 215251946 725308890 225822019 69876142 228333457 239481957 97434250 12049041 849821819 490414447 919523780 747628581 183996371 20464244 560731890 136230496 424915406 995382562 832784451 568453319 213167809 758772081 157713111 999921887 153351465 842634995 917768855 143383699 510258149 660728316 670611468 832876617 94091336 137343672 163754093 538922619 851270268 565157178 125459083 764311335 984925917 118747869 297282536 774365539 275649227 789628969 450652807 199487876 836558443 530802942 184202455 558132137 766810924 728432627 491067139 529481562 8076372 131196670 630640047 608643238 249399660 481365269 311143969 534716015 269862809 351800339 666462223 417594255 487517863 336846444 826301593 995835792 541834059 157793811 580647682 714523363 904440222 289664653 352108344 520421774 336938618 589125504 721470136 196466961 353560443 521710854 606866132 383151656 263925151 374019208 297735862 922234236 209367349 380612694 110294095 85022389 966879682 22738814 310271860 36396839 533092532 478072157 699357624 416240380 257864531 442036602 35200001 965798376 58055194 518090556 179409938 819295722 387642272 585140427 21914526 10605330 800149845 561636628 415117287 313642541 844152041 35721314 182212543 567387800 7341276 274131541 284471792 545907578 560478558 587095044 470960479 813356494 17123140 315309784 331284663 247582914 186739021 794785272 908896553 255934628 11698216 87761816 208445805 114827086 780354883 113119964 898933925 455605313 615433135 93079823 10097168 858088799 859980595 306096276 307177392 233261369 436049767 17524647 125969742 494040056 830855603 862480642 779480050 794569539 127546786 701643549 929153929 712637179 836896552 804446066 131685497 450443207 25367413 982137032 702729173 543564081 219515148 316255766 516419845 356179997 744128261 54940018 761468153 918606815 510931193 243593752 647390148 539366222 912284655 168573244 628826414 412874083 41378658 196335056 315134788 376651961 140251192 320588004 47565209 719134021 447624954 299335994 321149038 252184796 677396546 795462812 888146288 622151860 144092499 3733036 858994022 450632018 747739626 901081276 548445601 456076433 914223079 1008346 924129384 475743634 375738738 262722563 843431914 202056766 132120457 381223329 443501521 369287227 492944153 159800738 993896250 239339276 445671159 922517616 152079670 285684041 147045464 232982030 746137318 273041454 889219833 808867577 111270368 583265544 447676935 355198502 45055670 208748010 347122606 202452649 130619393 827318196 223566773 456730820 160191063 44405864 651466873 179686495 408318041 40615627 573905367 664497830 130581796 44317395 146943050 790950956 381592840 611370064 198788443 545615653 64760796 205796218 3558592 105712066 160526413 896722753 945480786 971949796 727522121 122844231 467268731 466108568 580114134 272500028 557797662 114315469 484496746 578011078 313885576 599651495 577899731 607578850 605114849 935440608 747629006 866078674 309898950 568251169 459821831 81350279 937408089 647893227 727973650 869498805 19703325 226971451 103810191 849976675 44883349 289987503 254261712 456912687 732082911 325025699 91973154 818719139 824586473 395536965 556002885 721370754 924553191 709988175 264327135 978521915 404432409 718085079 945988769 860755176 631853309 52152260 210751685 107104729 995476461 895072296 517337943 154664893 368997182 536664853 649199010 116209027 546355566 525164450 924420384 748650974 178148472 971035774 981576965 278277090 179518776 606237856 947920411 826111606 589445374 618291813 729757316 93170872 171618363 842352437 110523730 605902336 276391195 79991855 160342280 972783401 627546293 295546920 775934866 877443470 287686247 903018081 175248402 584492308 29946262 211957810 814274956 381056891 184696503 329945270 24289148 292823857 760762423 819200395 124226497 701474593 93007025 466368370 9214618 376115677 36249692 779791578 893229497 837118982 92362947 993020162 943858003 651071570 89579041 233584240 740699105 610219465 320346741 371355982 627022811 864546346 403908556 477161343 896618296 839961657 695692545 578386100 761696242 457784489 292593940 847056592 101927508 936184401 867433121 749433314 935923847 146909592 78817645 253927997 969835451 57959959 50577713 207489806 204748314 212206739 661569986 837947619 794974873 660417606 94120144 969262802 710935134 911120399 422719148 959628282 261435485 394572863 289822860 618651437 299401463 974735951 579568552 207407598 73593405 565897923 308271731 136065418 917513539 557487764 474476436 464541365 205782787 912681099 159695084 165377279 196644388 856076898 963369954 734342828 483752267 548457966 599245204 689740386 305674286 708077962 334069351 38523720 448549950 504081872 884558336 497103553 691796723 973900208 14205945 662908853 71935335 95285184 244769994 885238313 178719091 250015734 250988711 818909063 616657503 109388651 720609857 456283970 782929803 610558060 771539421 371532774 747889148 422889616 886716900 132821597 1907047 35124784 519882059 79104778 223998165 150417592 823460845 501299537 999317728 984718907 307532575 601394545 908320541 842700745 550597697 127380471 971662507 827740932 727741164 724030382 563999929 523621849 529816657 998234857 906638348 94979042 774238678 388652154 91772996 892235507 100287539 108306444 549426354 853409270 716497989 396052792 513855948 854964357 387375370 978756246 316040337 417790532 494565725 911891202 522305526 482727343 35789643 36876836 98075542 407380910 356899562 639178146 589346587 652012472 264992248 699470175 68787341 831528701 55641719 801292914 639948944 910657666 476845501 989767479 256461094 977200112 230366016 347662785 540490506 315878155 597162440 268340942 290850187 68415083 446212818 919844861 235904286 527955713 143822019 430287657 533307202 753325921 115884126 34381341 341916749 239682941 581439793 708697871 388242825 588433501 292733614 190845688 754634916 386234472 116880055 85185186 145061456 590872201 784296273 388993011 29921418 843906460 61625899 987193164 819176 728525073 226139481 8469229 660207113 136017900 820194749 341971920 936576171 832712110 942446816 403727001 748076735 691334361 456811006 758035907 744889668 374525013 787527042 262084990 165989138 521551689 131041007 614535516 972097520 919183218 414874971 252255935 230472281 149078984 791951938 532644589 417378632 587201680 182089227 277844993 713935691 812003614 77913789 603129465 560672778 783680019 553667580 113169565 979670414 704688685 603429738 846765381 637824674 31639163 13957010 915705230 514738001 202046628 85001747 175300721 741074283 829931487 272024921 349608930 145630812 975428690 465240688 34368202 212183433 391596665 938706877 463855921 55644216 53832188 624005021 534726394 26862620 574991495 813160748 76864255 953009051 377985938 926222532 472628741 200008763 177907657 133891376 50450910 734415440 677013323 97692332 495242371 710214346 408882016 30101647 34370304 104564260 556288111 442792702 58252368 713673713 710158025 424917839 163017845 840571487 816023547 45341733 984536053 138195951 291885543 824202348 129076711 350473283 788885427 187568213 470663211 905783521 328080845 619241226 384690474 295905531 616076938 500988251 582729336 787627420 87668221 228246914 939945445 874069853 55992097 56041244 543204159 83831266 81465014 415065879 641685797 613842966 276104246 394746248 612219856 419179617 468977450 219400547 457782428 590190761 561845525 18608654 414707064 53251839 543602739 40147626 972678499 38875376 677987824 650323318 751317146 176955590 64913279 806555472 711531407 45218436 354776068 49613594 30750141 272064828 933611085 93792535 554492591 130054501 63705390 229324774 754482290 448077935 557988005 341859818 873338391 768560285 246491052 706546007 379354001 619261994 122048558 644070325 511466264 913333035 978829201 456331194 367554875 826401134 836208327 501194772 698219590 189412935 185825379 350611720 193664581 94302127 807978572 498665432 411891161 390804088 148917968 603219257 345082751 916115450 598236889 673793991 437118973 631175002 621508341 650576170 437081935 401785277 177101165 610127588 202435771 308775527 460129544 109442559 946296897 814453974 128271276 432959170 577822034 185726630 372787303 563063239 804896151 731089576 278823580 106403312 393172990 984601991 405317899 532443300 153811835 39235178 565710907 906713916 202776500 390744324 718110328 266344752 683676324 629345866 551564136 366478148 268009931 343650330 724818914 267245660 581147961 631133262 652385495 195823638 835316544 523813841 117199960 839616661 512460021 602454381 73740100 279582435 829447099 215596127 849051133 731308117 19283215 269770650 336358012 559230551 75376882 515389271 126281687 891943684 647847737 27361583 965312063 791724223 270658225 260016263 614065723 570439389 448291982 536289666 123864600 413389240 572906923 502378144 527864269 216834691 312648493 557216827 767169852 782499170 775551638 761989179 53805280 886801630 390630130 454604704 62873690 663589854 440659874 878211438 227501819 567726931 614274502 241793535 200999635 653629922 169815806 282131263 325690516 621028846 939961184 38378442 623268540 958678754 15279433 523343933 696371429 195873364 319756299 88161036 547781943 100534496 905476210 519377284 507802776 236970333 395311231 573491272 116782277 854786879 270919908 609960890 128719279 490306873 392148108 336198298 115851277 115993675 915509020 46285801 494727602 11203479 985939076 68139402 721062156 393815229 676465576 686544099 319037298 58577518 654668449 660759801 547799066 99302071 746502696 483194428 934464359 649536686 762790975 576428833 447212450 564663982 905743377 692717450 735800072 838202654 953416755 132337240 64725793 733383721 674025858 590638857 172910524 865654245 577689615 842020328 283647752 523691576 437496178 489983919 294287157 257867391 78276410 235463465 814735503 890994850 203722076 6814629 731462110 704373058 525611880 104908736 529442703 357881290 416647447 363921560 456902447 45659106 228407971 548906958 719588525 501305701 21203942 206991868 937697899 60564080 267818106 424736094 244219284 88253253 188822708 337152632 101481790 450050801 696124342 863713059 238125749 576442702 196400698 75822395 150772373 369758977 635821491 389867916 175726251 924853625 225623234 80073592 490936699 404192055 419763773 106135704 251563179 441155074 983194471 710269220 870983410 834847833 150473245 279773100 755499929 551949116 95483624 669714186 620862785 93812510 901585478 734067221 96019681 228054472 807737862 169900371 327370365 165515647 702377141 234530531 814567483 285173546 541440300 123296229 553990647 475399110 961865982 404057116 178046854 634808203 260062014 937254475 241645992 703683446 900758350 754127775 442894576 934593581 525185313 569020834 119783478 188561917 381613013 474001033 792352122 191747802 469683481 942089088 562152596 526590421 713538647 940355908 487729228 112350168 197926333 496683513 246813825 426960282 290644489 436442702 238728692 426509345 882854451 809253324 717280078 838620426 453933707 694333332 601976923 337073294 570190033 630191071 512544761 294942110 114087676 400297812 275386404 892561377 86404198 502673437 923781926 999733796 568779896 719581670 388918934 982419224 227166704 484744524 613895899 244961952 4695150 48491027 225044938 464185792 168032349 476165904 970994963 788847361 717982533 623842106 74280797 514172495 811476470 739305457 182741571 992196408 265691485 265738099 109756335 117409410 238804122 402885628 775071363 776039743 343656984 758951529 459985085 589334728 201565858 733762187 196473198 111061623 446868939 927779018 402629522 869738955 109371028 814461205 264042298 488914587 16678049 434375834 201119863 423850827 748703610 140963210 399422082 804088148 200601861 154672428 687909681 317270885 59643412 374886 368093237 727255890 773239834 926272652 490192903 643102183 243511011 663030111 573231803 976879374 206234331 142166455 115954688 360332594 319917329 714824848 280759956 959545231 528151528 175934926 220233554 441954148 746246951 144789447 304521238 182115065 998115982 797711776 481821411 197139557 637615993 975347167 67193893 609696628 284818918 489210925 785361595 92525167 679249214 984672039 436205833 368750770 667530575 36735679 344166247 196864600 109885351 87229903 525452095 491329402 633861273 77868425 645086093 254502843 57241426 624026069 687707903 109439566 839528108 135041120 455065131 315887394 413506630 673332170 984170714 913089321 188615459 207946017 970103695 188533125 337580772 729511033 350133248 951804168 558745746 668138640 640819352 918888672 574561873 645645246 237535474 53260059 582010306 69772353 13647500 170225324 470293227 413352647 605092399 435688662 660967899 418686537 628976297 120268282 85661931 941999722 382928262 879194281 46568275 107153955 298032787 542243580 451424701 97889606 990044103 7439386 918993978 818525391 644885281 935520868 173949305 794041130 788578781 540641026 785001454 125932382 179613713 448031202 314017759 472800324 816686298 611978384 770910540 873096834 14455244 178422757 941993902 452902062 258031743 598703186 274417436 100319991 46221488 227615456 637003767 997531863 142498718 812363243 352585014 356538406 946460541 570392596 316670408 356676566 344665834 944258136 766591566 863332675 845141367 514938278 372686450 271468389 410723359 788157384 740866703 598363179 569415416 359959598 538474601 872955047 657365460 180770680 448323140 474393504 415652851 928295435 491123828 836107617 73110294 760364094 31957487 825188583 477473964 552059434 458607565 107200931 77712932 493089419 658857945 198427456 751131930 475567570 692500605 455758599 488389381 178432931 966849236 918233171 600995292 290052001 934788820 826126126 929137963 771051877 371938725 337135516 698806527 193293589 974777630 151042068 258074647 779376112 301572568 646469657 409647371 419328734 913904614 403967177 769172957 553335937 179387599 376020616 1929945 270255077 850706156 355297699 930580894 169552843 594881118 918252314 775455650 801566946 486684168 696049719 243694947 97278921 543173660 391227046 356979555 489570038 48317025 800575076 524802473 186955695 757496755 445765974 612471827 249073615 709338534 51208632 612217134 3257658 536945922 897922544 830324161 765757383 222496064 137227856 485182017 988970664 695390502 129661018 363726096 601509383 410287489 225155375 108184748 509460837 79882451 846638005 242153869 83149725 904505455 415568639 763079673 121731328 30355868 717611523 681243217 129982187 708708476 103988039 133742902 882551528 78256201 230846373 266099142 616163989 967406364 12857771 752034485 71986483 371892866 230111542 716197560 19889542 445484824 72419033 853722341 856527801 803076290 344366863 590477381 201262448 49437552 289088339 492977628 472135829 458680943 196063161 618001449 467806385 476339226 66636668 964843243 223547987 565912342 955205087 810673420 491694272 392319177 356579220 567356757 366908076 534318113 509911911 739550119 758756906 501215494 670214593 575235375 733962269 231022004 366997470 176522959 941968633 797490712 827003120 300110510 798324041 998818788 165261314 700817784 93535871 962482403 94599784 856908090 680641562 90597157 519897628 241265634 318614010 41946501 62143621 8991994 991941063 534671996 189024448 626703579 575806868 926477481 627906608 168036070 177616990 868153201 150800495 355458898 99257854 848076969 905016710 120810758 217435804 279935203 232031051 259749152 320087463 520689182 742542753 39980754 61089349 58711365 287120589 84511400 308515474 592408897 702553422 775023184 795155531 218688270 800429473 587078504 687837513 833116284 119783742 631608468 499410862 166694541 279884592 498348529 180039486 719198921 497254211 567195349 388418508 785722451 601261537 743820406 616701687 468892961 52811646 646240525 593589257 200185547 388175520 223371693 792945974 186016202 573995125 757176710 774211217 836185312 412820427 624252358 272449277 308151829 750573051 394951754 58047794 270830121 138273386 354609246 150098140 154494303 776098189 111710085 804276690 544862893 58269701 608955615 688697929 812493252 879831089 524373844 528537463 592950375 851802160 429873285 308567508 345517322 532136571 105046362 153629332 275546328 341820903 699817367 228901812 353647782 122177465 904744048 217972783 23252264 154251853 638208661 547161400 971648479 12581100 308732823 272320146 610063004 768903754 323935070 410870489 283465302 142668009 222317374 987331584 315759899 936613376 888950912 921142371 1185412 755529630 580573886 189197654 210384815 514375195 233824628 209368122 278794236 72030888 77568121 578498213 688738364 171654517 479798938 324792404 919801188 541707533 435718534 867011684 831076630 10683964 593994489 253447866 724596504 873859008 822390714 596524001 886653952 909619712 604388519 849307866 149967294 939139470 796669418 888317571 454631393 527088099 182201569 3519388 44034443 125652069 265552359 272839977 894952313 569391594 42622270 747201342 56390908 851570459 911527923 81544719 884100638 62950999 321698288 425879231 679563290 968848160 89152696 768610456 711868976 42409998 508336152 73738056 288177079 824613419 692947831 734962737 957547424 244761825 241548200 363187048 185373154 729844255 858713602 125415440 512020260 653693792 651787199 580854670 807944961 956432886 825051059 446809418 798970240 924622988 292292723 726697514 45325383 865753421 253131036 691539788 734283625 209199015 339666761 250375460 212641689 704055223 463545134 551559893 988465859 101310310 429417122 849942036 429679947 245744746 851327784 243558961 53329037 209847311 1662308 480714464 42930973 136116123 593108735 980398132 598648387 127229204 246854651 4203081 286159504 464305845 329891338 941090926 546256975 357940129 636287466 772507992 322944738 884784099 352135458 182334751 275558202 284661266 648565754 356231039 140025335 407848632 777726873 980266974 821572826 514899644 950644920 872026003 666103977 252674938 477318089 184187950 649315715 1231612 903809096 556388477 523089476 657090472 472267474 884846316 164409906 164305800 974712244 841450502 515479831 961125066 995038384 846782660 206043011 837836037 905331370 101474766 724949595 662313384 180090796 40456824 332855221 926080920 671430780 15952189 324668743 559724326 219109556 237689405 8802126 622924177 850414053 975834622 180837625 861055823 127875530 909554638 634997650 492898757 723015488 242702800 624369914 518970583 473338810 478899948 747089585 440360414 570378012 523633128 421724066 920760050 862071589 190098022 652076017 801042643 645045112 141163544 725423601 943689417 307262439 997301903 986590035 484436580 892768346 903720104 905005398 60089370 616191412 247383918 518150301 950931313 634220860 243123098 453141503 554198744 970367229 35106230 569980320 614749951 70753277 925880916 569714353 2023577 46462642 160442095 264793297 200546690 891816848 706316909 449009960 344597481 423764021 211053250 987636125 381160420 377247087 477865884 69255154 569392430 857834310 839342401 893306866 664721576 348080404 384445192 981946939 314315984 785205368 168124827 457372559 489580189 486693610 682523175 760563036 589947243 145400244 895289846 912452959 883431598 16001352 187619622 304900474 305871996 752247389 231105779 964643404 339048918 184344472 622432731 968291113 84449200 280938032 49034061 647058282 726550122 332009434 345052267 425232989 189101087 830743749 254484188 822750541 868329966 528778541 520151611 41735234 727986166 547957958 687620354 483936538 408001047 522736630 535385536 914702565 340419708 198961053 252043270 202145404 176760037 628645073 83882074 656547728 794226563 252935064 230916185 779306982 227843890 503232862 568956316 4709937 64639698 275454850 558590706 167497646 963625523 213755628 544633578 224509143 721362770 842156645 960224898 933171963 768355957 738725614 257560787 327043311 117749188 269252047 68344172 586776704 888326569 79525491 181926509 200229494 382670524 397184702 931623711 656256846 536526532 118710493 662792586 917892361 364113125 64538210 41137719 364200304 160667620 403804720 93945991 823207409 635334087 297769198 35791832 636097404 190257899 458703042 670523219 174053402 90249646 902715336 391322004 764450226 502619352 479732554 616204768 882832043 773001796 71652927 645273594 701578894 873130710 484169573 260220576 942728999 546020109 233417375 891230768 298948000 615330179 354486014 951987957 91210596 21983097 520165486 747835192 48789904 480327218 364915998 347942156 997444393 529666196 127363543 20439531 314093098 240991712 813522224 259927894 36757189 1858162 177473106 311553170 88677268 143959857 829529589 842073985 178256950 30801058 259915989 707015588 201268651 466899497 240179076 658060875 555499551 103674695 886811953 170343867 276288872 70900695 145896249 456541731 229675360 533237731 570029875 436658415 354731022 597309116 606362453 19524779 99648236 243204655 889314123 181891768 697414543 936150008 469998504 597024865 41936347 580305874 849340084 838395605 678996605 640742052 249596830 793966315 197950749 624592788 931712160 793067022 744760159 273771707 453834027 204756505 330746671 291893246 740249998 170243874 756359373 411338226 465318681 343778414 640411435 972620905 625476777 895243740 349750672 77365789 910036777 979379183 131270791 226380794 604504292 554377754 814817181 337735476 839727746 142682907 351627425 637268172 628031638 285093348 25590327 254606559 776199574 609748187 398086466 52141800 897439696 51592177 297929259 302057261 775861877 887103276 351347057 450659859 95003789 490806919 627551756 143147211 273904290 612149080 556704083 813883701 997140193 435500653 235829970 627779153 468059535 926143464 89556141 633297617 30759033 188241533 612250816 626637864 1049384 82806282 300659208 118181369 715290424 346343170 589099501 548307991 734361791 26055511 994713639 955209105 587139388 730277927 307707085 790178110 592186550 481759861 783682006 638753352 149624287 582992083 202597004 857349328 73740873 655861280 59315923 93473180 323402752 665658677 580113643 744565584 705769066 202009373 752982669 141417466 918205461 604845735 353259019 499869918 98563 694524690 487600292 155499419 549652970 681904283 762361417 434441513 778680097 800612315 227517327 523386323 792260948 71587018 456105046 294358169 671255845 65390578 928775223 356434143 21111367 222941209 777188921 247649300 659486814 3989202 397032740 881636523 818298883 867586440 321055324 337412020 585961609 441014754 21722459 620764593 533479802 73736861 574631046 519423238 393318294 121330690 505197754 986434867 828647234 155466857 855137189 383890423 670620972 776004106 410447604 92462447 968866414 277142618 476671193 761059630 136487723 208977663 149065567 151349559 836208888 995362238 225682387 56241146 121184176 195244163 194769041 888323737 333498624 950350922 84436701 643739485 571248721 429623945 244031534 592466487 353002480 836043194 767538922 80544771 108515659 841573386 361812868 177923599 314514174 516374281 754938633 302989976 302527449 55186863 620256638 249117797 941973864 402903429 840738008 843101824 888593621 464319049 20209542 687261641 458764288 906247915 43294533 22178751 992185036 165115479 373957965 946840994 195408095 467469665 619534057 249783274 965255236 103618442 873833606 905950590 599336896 973527492 766575583 526420876 861687855 207332896 800745105 603237174 335004706 775671315 395316938 274234716 604565980 171171619 824291436 284227083 841024944 819419792 909446392 864487837 909647524 849788437 913354267 567525560 549075942 7482677 434068549 308713432 611439496 2109845 719792668 821420822 445805487 132543357 823747924 8965837 992939638 360407252 236238204 720669043 89334480 706417621 105619355 802650173 15269957 321520045 738627214 316729689 819863205 737298888 52363353 152895082 279233258 374759880 7824514 379427449 250181746 895696083 452638714 177709001 683938254 452399751 670253225 925019145 504714571 961357056 11207406 710637142 46170800 57800282 608300571 63918319 813647877 132733504 128924200 444101721 257416126 540195545 662072983 772041216 441253373 775995469 899125098 858088759 806870798 20315313 41949026 540099795 955996519 393103143 737783802 896721625 178308949 880388478 814021943 523910750 265147212 250563853 332177246 62216490 612683697 271144909 949623026 398139475 886413282 6509204 999916539 240728383 47868863 73506598 773243733 648570364 172870167 312431996 781777588 24993435 689569309 53251690 492085778 582335165 646458399 20982840 417695101 29020029 117087767 265671015 313195097 285845514 180764878 931577593 408390065 151713618 70840511 101360916 710177502 534342550 399945116 214941045 791108491 497527492 532337961 674899559 682077947 254887953 145303634 703827901 996747965 88469431 565587609 396161857 886424657 679512590 289997978 855801722 215229761 917594488 889050775 299697334 769939600 860607181 590180226 27668868 211960303 918238609 261851634 99250811 72823937 998037896 993516778 598229231 243595630 755393707 127603234 720398121 82078441 473597583 436506770 347768487 579152215 443611504 664154860 545563681 80095121 752548567 267788634 928409616 765545531 580062476 666922658 668742319 812155023 228308725 245000579 130206202 428964916 995818666 711438923 560087535 803412342 129514730 250345333 516075766 883887033 463108437 397038491 449643674 875044831 789966237 844560980 687391716 887013502 719932071 326700007 826287323 472010593 730629787 358582591 422805464 662555962 422026787 161223144 880267069 958150839 557240106 594578402 161983306 25024681 682050049 557435840 232185667 704147120 54670785 637154218 869161453 120408182 444088270 182734366 28784066 818327224 741440564 921442145 255892415 248547769 794321219 840450058 414937039 690938046 642665196 802931215 101746207 475117682 84531955 383156146 873360570 771036925 239469642 268188397 422409334 774096297 516677734 512530768 384702411 342049846 193926440 121263564 73803556 391078889 680617146 958623166 433577376 72518170 628983769 782102323 221584939 922769978 259062172 489941314 284341481 363489916 362439322 903189436 958298073 364854259 663673290 675855464 135228353 750943898 88096478 382373747 544534988 397861658 91737464 280958454 31071558 297084251 250655917 654968622 255403918 872853603 648350870 118357866 332030693 511323226 453583173 43117204 648045273 207580033 200977327 693781340 14623041 534596691 762193751 250919713 197231173 947090749 107213125 284260310 346971144 380758050 595041088 381748338 777113636 211033039 654049723 160014115 694716093 75062654 123672203 756183844 388798781 806700075 893615852 985986239 562735691 197026165 114337300 328132175 376562583 267972150 538874760 130472710 113278635 723988082 104005037 17864442 364599846 968803841 184939942 470718604 580664450 52510676 598217381 206163696 552407793 293106182 422336796 513495580 12226597 670848103 29213963 114178752 929936836 7616040 778637148 973717458 256217452 972496388 576518578 254978764 766552573 139716322 761246848 337529976 458443823 434169739 170230498 96482760 782184738 725219899 834347831 670630420 680805519 839979172 353308180 517501706 150940777 356533116 76575338 682293528 192100316 669610883 256630984 162092485 817905127 14126012 778609782 765548559 43936086 274992318 867788652 872485409 818596006 57344254 428013038 694946796 625385125 939210266 814760412 26711383 807289074 535364413 209353007 87368025 341175173 96503175 181125773 428889567 33972436 176052528 80181283 947934577 526237189 636724215 762895755 837630804 767426768 194505477 689419865 171205984 994615921 110170668 150684538 67185105 309387421 908128532 34988676 480035905 470296788 23412121 315225176 81296446 643461615 237622475 297477594 270818880 318928516 278395429 57068924 477801447 799032205 137364889 697204600 773191120 99851262 23332656 733049386 786725394 981019192 551178298 400442523 204193100 348331781 191935114 465836229 514061297 174726552 754170942 217823275 50339634 97328837 6462235 955174698 737354875 399035278 905950167 406964012 787759034 106673354 18604884 591125242 720100316 510459804 942993140 148349772 44148041 355072977 64155154 480778977 586666403 185221126 965676747 729689964 825518392 85165993 820369482 961006459 621463269 881326359 600778870 575314358 965010685 650257547 354958757 852019914 20217652 852664818 142926438 945976077 594093326 368955971 687442036 437930420 237324989 37442394 73649698 507863856 926102926 456666804 187108196 583156559 936404038 758790463 840921468 187547035 811436973 287088358 542225558 170880360 621212785 64152679 752954989 952968388 680647822 152153460 263760187 775859912 495377381 333890156 864178753 891082725 798513395 761400457 504837235 495088262 266400342 396046018 481094377 264437221 731340762 256297796 765949523 984136860 128157780 663473970 628575561 528625313 725408197 968882911 415014764 645535562 233969057 464168194 705208775 338181686 339637142 286184523 318850927 334420899 55182525 672708039 698634491 497508722 585741742 936831365 15223955 257857019 66324806 601782405 327689791 877295309 706267699 181800985 398568854 562116881 318943666 382884254 510882805 211717278 890659982 518007337 242975073 229808525 898435009 293373105 983795939 742760939 541089050 662867383 217623721 991659923 92422252 232073149 693862587 329069484 540211727 548282645 266822885 398763225 607116392 645689821 111143209 520095900 840641904 657587594 261601770 174272617 504368305 101457857 832835508 529238993 593952970 6832323 423396020 815882129 946866152 19271947 472188785 384395155 161178560 583175350 975070509 365206429 239517752 760027265 916206426 820773180 668226737 680996343 456120433 941477453 662025999 805890322 785991624 792483614 280117448 985034027 137643955 39590400 829337598 108793312 89089472 14334912 73613901 148743258 503724747 227697580 843788071 14753914 141121929 136700776 458577370 451323920 567553814 376990350 791706172 219205729 985730666 530722306 554578542 602101322 253231193 850280297 458297771 289936785 109879365 89633177 536020296 597485901 633902540 628415910 146833217 557426686 121818707 295013264 799436273 918677869 897767800 157654557 184374718 795531493 719612035 760474243 509496485 600257449 330512661 463588102 577653331 660855268 282711515 622417014 572543004 593467808 767684850 84293144 728534825 370954248 958480703 505731843 569852167 692707367 615081819 849210843 215978714 89438159 676493225 394604814 72462175 635415951 529453668 181611364 551490042 383057049 339084306 781607588 913552142 894257652 374776033 20831948 975804715 40909847 152683497 149397371 805529764 997721006 43078625 858555241 395962139 854712371 447000226 368825163 57732817 960969744 191557984 107673354 479764563 947450009 850218263 190315951 205506544 101474768 720756723 185885467 612275043 285605603 645821383 283468934 659675062 690886933 917850841 898409640 788368137 54412647 279158129 238099966 443394260 812985684 932660195 450294379 719261147 503057220 698540221 814373273 39662302 123738972 982863274 813639534 717372598 868984431 410334612 497525553 227943966 340166587 938799440 523342491 18913399 75526943 170737525 993535141 57450077 178839784 807649259 459915171 114723518 63199266 289254162 387722070 654518783 75535600 193373425 425598257 558646509 194884949 25407019 316194454 58959706 127110731 483968501 564124045 222346714 701017652 229856385 752733523 362824511 289075379 826209656 776461533 575315900 313610461 399608060 476904396 489567130 242124851 337628208 159189752 381753860 149637283 952273628 590739023 201786279 741201646 278778607 809938029 68144559 889224604 78818916 271988342 110381030 378561272 672830003 813439872 413454330 978016418 267563628 642780061 582667615 612971854 972782279 310040334 173891636 715468300 254396084 283210549 304610870 195234325 541056263 397809172 626349270 41462118 313231763 142368479 487945882 176491919 247052771 296802482 758989066 113523688 26276323 97174456 801873695 804090015 753561435 973906490 355597776 453806416 350383038 832200369 864436695 526085912 345143736 629676953 228884553 152115966 733188699 682028722 390234363 645678601 5893793 171256970 661667418 296439918 284372741 625547190 603779668 53359940 165879517 451829951 335184675 913309163 273790655 389773453 115898474 105139647 313012177 389517588 804299695 26778074 202897637 242175977 865946431 176230622 203649988 98917523 396916068 222581263 216974026 900882312 436311847 180469047 179155122 203870268 612099620 545814456 986438502 996149156 42586965 726036470 799741580 636227022 511095268 497685255 464353294 635318963 523228723 612621393 129785465 827335557 860935080 350967796 304075954 466940605 529679208 403977512 574406888 102844403 922281983 136043192 940934150 91326283 755781444 752451366 642687529 235404157 6071256 265118351 370178955 369861296 460665995 899798345 852914702 215689283 584009717 764915682 183455892 335228141 226078504 114349131 616731020 528011799 392724534 776156348 209182500 249974785 128696642 252016708 841493450 206553787 240727871 303977491 260277491 948732280 932342691 110736563 653205901 684404600 788228323 75947441 963403577 588045161 223744473 334924159 413534655 972435939 921092678 242312959 714906448 404142550 469489724 253769728 96628677 634067260 49894048 397454516 204786576 628112115 526892458 391782799 68859596 581033111 335937458 878175324 225401632 844362564 982748897 251005270 719267792 735905756 764349737 710507423 248062675 833579848 788800906 838462741 752759922 649518313 571163607 522516288 935700482 437308140 917099672 2073331 998763420 606471311 862909233 976226096 976380556 759140721 62839193 181090744 284991806 171179630 690735764 659396830 48564223 52769643 172191270 8873474 548041452 982060388 558464203 961320722 421368145 980473899 162126830 908965354 261956258 92310260 423648746 996015077 166093061 98516819 594298521 87140868 388935727 555466145 213166976 159877201 93991511 204572107 595802563 657836037 753036454 375405816 406653255 517629640 366447149 642799850 333957975 659113911 133243932 849584145 163217343 818017342 576243889 155738373 924425723 849789704 344680569 237178600 302993073 558749781 419846264 592385486 795172024 735100736 154605287 425208572 673819956 272584888 322841388 76445721 63671858 882563989 718503066 224164030 392511743 842246396 176006407 224049267 172798156 171533461 616051069 821409493 355512940 991872004 897168476 458691149 133042861 684371001 754064347 422337873 956348980 692281927 47468345 19143430 898584013 319430236 43622346 746792384 385257179 400669245 694101336 727592806 435459829 267477583 204389880 83803147 988993078 466954162 334568859 893543159 102896992 846983081 60308238 723181206 589825607 824413542 402471295 112837560 641441713 231708638 550385687 266348812 880793920 265222527 446678311 818715602 694306259 803898177 466040837 60395715 343564749 303838955 881583463 742859249 895391060 402572312 264808106 244296203 389037114 31170446 143510726 215910146 831096696 380091091 8694585 281847955 204945701 228488425 108233324 605764458 212524934 967614661 193226873 336607679 715194176 408959617 287102002 448872403 560750444 237202622 477041542 352686784 4126790 16308619 273810524 891094467 317197821 894787633 120246416 529651850 240429589 2347298 798893472 451770595 195699374 211533733 251720638 566866497 757308999 312839037 355641208 330904135 691391788 360884316 369435401 650237531 622082466 716184732 934478756 602141477 145098575 218918293 71542265 756079470 645947843 178089440 838871029 923962276 340734625 27913487 664853317 982415103 15949405 35479601 911653526 23773915 724483975 120392248 873626153 669747581 333443542 269890472 261465566 403829182 749781532 422542695 754337932 987277789 455369105 832503703 63979363 831140458 766662735 84936364 454827160 533758542 402221907 662236886 233603732 606113517 907175514 787047677 375270023 346515362 504417852 359591631 734235330 617679798 49881719 856288707 56120422 122005246 456074073 311806559 598854644 491396754 232780657 271558780 268265851 43308154 500838560 810689370 543092143 641773126 191974154 222210433 696511974 791060520 58374739 464897870 349519611 685137171 225903923 690444082 748954733 372693382 288093045 458559173 440013968 279114523 839352961 546166882 834185919 119412145 978948237 173991244 989058044 783150471 982165608 289560208 317888584 251013685 462176195 539687492 328814175 811653509 290377828 802367889 837009456 919751481 380256920 700797281 162606147 315599730 401197180 42823911 578150038 32774899 885010096 227783483 394917525 904994250 523222664 185983352 789575668 575170727 211537431 391519044 458683038 341684034 487856055 289461240 425695125 924211708 211762556 215863788 761628515 433440168 362670797 421049769 450821720 399911821 650973072 441466554 845779810 823208422 571548836 503528551 404902726 14585726 34414722 125574199 528574098 861732557 808186873 205863386 909553875 206801080 623259716 107459087 370262076 629750722 927378048 57089463 627551787 798609070 220681749 40746244 80026489 593560426 832350916 227823138 435762975 31707904 637020073 712147976 202445408 544814384 831576837 392055246 8165682 943439325 964601054 131270605 932908410 65752351 929984530 745622238 19768766 808674388 301939326 958717928 776231991 669798705 171420160 214978295 692681275 320343008 168209453 926243100 550719622 690542594 228703467 765318709 968118374 196059396 858499142 860442508 164054988 494730522 615897208 730589772 971194048 44946504 39611562 59279432 67784334 309472528 451647407 789082339 517628921 346059614 151058946 558316392 647383943 36574726 215910616 404864112 790177458 157704899 702053151 974248658 608607983 605087811 102091704 544811742 800775177 921036908 606131158 888708211 433990941 898946599 958105264 157458611 581402397 261575715 547044708 264177096 511983066 188334630 655299664 930543736 643673043 163029314 927980498 60439147 370081797 964568732 627656522 42138236 404719796 56298134 105779543 213126728 728076994 730987780 550763808 449948366 548985739 521114232 993381852 355053979 955621317 269041643 583883274 721246861 314932496 858032416 33723362 358144212 50422647 616844491 625952437 156500602 917448257 253144948 411252593 602924719 18832632 541058249 844547186 452505013 242967113 578516895 861485817 404864252 230309807 834406115 813417129 296872168 938822922 436764708 684471517 706860052 366709549 676844043 939375293 694693240 125462379 253448760 320827062 152354857 517613334 180311722 173306446 570433583 160481063 724692591 399985724 654768489 89065586 748948855 855830725 805733299 198006789 332398060 852265692 153461297 965509910 785628546 298834630 172449410 12413108 683207685 176109064 374497714 876571651 995926757 344278241 277688475 786754032 782003110 513213795 193659258 393549919 452247408 246913934 158124882 228974161 293312638 465958057 22965491 683838363 173947431 706603821 6085276 726671814 145230636 835189774 19887176 183178537 145008930 699885979 164237813 448719863 237346205 865999968 565249290 82324897 324730877 940639573 665121368 758198032 352130024 500447526 867268989 420651601 333377357 283460886 456151446 155969248 532058788 695468566 308706308 538530878 564519700 947106596 576529540 89249885 330743971 2442427 860891289 103715423 241717208 55169333 314161806 960891875 345765270 190383577 476007739 333457767 168540534 691142533 618900799 310609225 573386128 938412003 139077209 104099695 465141726 184787720 444185726 719994996 377452795 214493924 416600605 746631741 156316167 902573066 163051383 641827458 748130 633940098 442217460 232987510 608607711 733479698 664350605 31079318 637564495 970939411 434859435 47880089 679717513 481087902 663832394 906448386 758668587 848759285 972717878 748672998 230932086 59575075 130951290 962383595 826642278 496111877 120299658 492553753 595606777 767751809 145771049 333708148 965339994 229949370 746925427 160377873 160820103 649980582 979221603 445514888 386990268 50174492 608866503 601206133 990848524 822276936 429408283 783451613 713087934 393914224 52852151 587562538 138512702 520571694 618811266 283342295 700795880 845813682 570191279 516994093 829468713 62168681 904536285 228209575 785125455 180468381 121644105 951905435 928108301 57045117 662411119 866601718 570696649 75640271 531247592 325240331 539373762 491344534 652986520 436554131 985971013 643744086 626785581 501746393 434256733 930838003 228528943 780300487 441967231 285099796 57783006 894352839 143165024 243697296 390554330 161852947 919381880 335605472 892590285 580260324 520869529 998253140 481825542 111409707 406031914 269020496 957635595 774211716 901121747 752114847 867383131 579520153 26929710 289405054 294619342 620573704 659240447 919852342 642379122 820460562 179646013 162587751 247041145 934897196 247002816 16348626 236872317 485469791 89630252 253599727 342886262 294376921 783839126 364911486 829441046 847740004 179869635 560827888 750536845 73981286 223240715 167339381 110148611 774742992 814630287 737915048 260561654 342083953 549324823 889261632 952707482 811667507 279421817 884860256 699759960 447942596 721660177 712046428 222028437 466202828 448687966 3998407 121757482 607567719 322174451 239586247 988123982 598671569 328667437 487627733 100458257 474280650 723342083 328145027 886658148 422229033 141801819 549199021 842651190 380987771 741533468 937936955 223746850 998505903 173659291 831636674 893678091 617853698 124889627 9427493 377173332 47152398 104850819 831371699 283929809 20525589 759918337 575792523 162232785 266986273 890496966 479810128 120052239 595131520 938073028 232443690 649654273 388478464 741000848 330509875 112015872 238964581 863699603 107553802 456205129 960329197 399768315 365676634 400743436 268277889 62751363 784355472 629105750 973922171 482305469 748844571 231848693 394383365 215413518 106456981 314649848 960398598 508397393 170606623 884166464 524625126 706817547 414319120 656793372 46591760 83505532 635205390 696897185 538713066 240835603 792963901 180800116 812835373 430733753 625778192 403913709 494751221 847020246 885601546 704599812 71165777 855167370 287150432 92911544 525465372 785332068 681171862 687433126 519414914 816255257 562093694 609313772 563712631 677896016 716431491 837579692 725875721 730661550 689522140 643057040 283353891 651587309 762709351 319120213 217309571 543614567 135668338 800278834 322000840 149534711 566492734 450916599 813849599 775864779 408159127 36673464 81589505 369497585 22221807 44156330 433690809 101639794 494132694 575931364 22160619 948142691 278719364 927397926 960492534 244283881 555403844 222423196 310416788 764523538 247609019 777111544 930617922 936643797 103837082 881065103 462273721 229108475 295483414 572290006 670026266 307310785 720276236 402151979 286202883 620629592 180438836 439034512 395834638 950112712 854910052 218756165 662659421 360912186 183840301 478259896 742808610 250141949 364766889 782449176 941512659 66305098 930764808 22581079 842806770 537478997 323058682 826034497 576214844 612047385 169957150 227647318 34715482 813178107 53212123 736171649 87704094 54114120 686337826 976035222 144029824 462442175 112235750 125640728 199998530 222199015 338156198 572214445 900661648 165254133 284769481 449970622 985831691 656696666 241580087 222917695 295289745 510564971 110254732 931798966 312149344 4297323 292640464 844414619 328599 318172692 306346883 662902514 236458926 598657723 772408480 160715381 201773200 495526691 793913149 196130280 816754614 972796972 346888791 728608859 910804162 305892976 685848584 534931265 484552855 701831011 143871454 747806957 309780332 468941328 191405809 256194573 85065338 618057241 98145330 529941098 481533046 164739211 997222298 600385358 881403593 91056770 406289289 543561705 236522427 97965092 718721664 207813526 651753938 796939591 53842423 310910218 707847491 392583033 815242231 929839680 254481474 423161899 157601383 68690632 283431239 747389810 398817791 382187665 859732283 831776700 918533875 271699185 996800127 440569746 36330030 454109049 716465410 888129678 505402625 30775609 796344125 366934019 965222252 143078806 927935060 17889202 115340134 459122966 783187764 727710237 738667252 406036738 408910523 9167207 891528946 261638002 584574729 123628891 494594835 190726875 287932578 762606746 820367919 568997939 195643782 562394177 330464255 652064926 105963302 632282222 22575662 225940313 895965693 435333143 413148043 120374825 280393336 570740010 402667265 66220906 629070058 754798205 85949104 403215128 581337730 154821640 32317067 130269909 201413509 286512914 892774382 681932804 346355581 489153264 136747799 789412506 990086886 986345860 496248080 6082589 309554961 829953667 359544347 613211787 617444308 364955556 561112202 940989103 312423243 456712222 45542800 219174556 167391549 660765540 912551033 177258672 909419371 81808185 940841408 708580665 659805777 429090924 811046443 402531301 947485884 118022990 336976376 419720715 540057374 841405621 70012991 160901063 942159865 534277395 57552116 545301806 641423121 810614065 41633652 282586343 707484340 369601619 308907019 810717165 478548625 253396107 681213634 183717108 397680098 263053753 83292886 710693532 495093348 487990187 349065478 734600955 443622183 969058773 797763398 146747876 690425880 862366765 506665564 90993267 100570306 38326099 319786386 397599078 238944220 703671353 947484601 854104616 127242300 549410926 658528767 523138378 649317445 110168787 322308968 207264734 378578255 289775061 290711062 783652405 117978705 170704847 190513350 179094710 905622662 615818636 589691828 154652518 943219179 138927019 714559169 217934827 80514898 134109583 40880365 727848845 846960395 359093261 279482918 281805288 175463620 135104255 574048522 808704790 301790665 69023029 72235462 675753649 328868876 140943027 841250388 379739742 423010269 230138205 630327904 237090982 321687596 390355686 516393119 589451249 307276439 601851009 556852857 413834938 247918489 332886678 220884408 174440366 957229970 62588556 558394879 580069263 650079352 124466751 940197047 82675209 958235687 826086912 839223024 145024572 971887274 955701890 556983634 928569372 195720403 456145079 9685116 143861904 977515430 479282971 899779836 308189101 816308388 701532230 31004959 993434674 539071451 509625067 390530627 350777532 886149209 108248449 995843009 944176580 40068681 310657251 651730317 768063191 762808235 517570440 758013340 949536425 101285582 121955137 492491414 415345840 333918035 674773113 578626431 877845550 196280041 60518208 283084812 696857698 513872127 519276962 510803655 856639933 200741312 846263818 656824832 913327331 56870499 558886837 670318750 540560121 559713688 186675892 209964113 461482029 459077240 696746981 952139071 393161336 865473766 111070455 114248793 205781659 831081135 120826153 220229895 10131813 108059202 793630344 908240822 364395645 387500716 566546943 255749169 722894308 274598987 266454430 309982765 32001262 797693925 174402525 750230847 647294802 234322935 445214889 815437636 35875719 181819446 184517581 812935323 122082769 899767429 569230022 921222156 980068976 879374000 36496646 590766718 492759021 568110911 278329729 780921955 792657609 929184178 866961028 703383602 917348754 261606715 246686612 97605284 430003671 261626401 12966238 946273266 176100772 375692706 186612249 8563470 352441085 865371863 57896450 715285864 840616222 172338172 268066308 582028555 911466092 105499757 171133950 460952659 567321402 210936352 1628622 55430284 189796513 746813812 663094954 887137181 12506193 188308027 386861988 464040144 180085612 116549350 365874083 72631377 752669502 131445156 924573664 16223356 211670463 839472389 310005131 472222995 675373750 601269461 582084049 707792636 31702802 249092550 12637290 22303419 520296383 821356273 433536380 55678988 657100579 282447598 100449347 432352377 626486795 949809966 188818756 228972728 310579665 776268093 949042283 989279094 193348143 104560469 961095656 716351465 413250432 982257206 877484852 585209669 118894815 584257952 873115057 203436751 88705059 923553103 119569774 491353140 73936519 42068864 896915467 607500845 793821161 29045203 920511302 743219913 56795830 426303287 835670916 99850238 247351549 4069472 338483756 226834858 921066191 101250189 659301243 690275632 825438827 196494007 909403338 100626693 571646033 270218721 600706374 975883017 116252711 267849478 655141296 389360911 72922594 85477504 108587634 625052697 454108863 293274125 621602459 830556915 659487060 334365586 864195483 516552109 560149270 830736082 892685347 188008805 848714938 865719188 316436046 992926030 887707849 39873905 882360295 679934943 901973619 921693273 505012935 498771868 880421848 651397750 562088613 254075194 104350050 741035950 530095960 84945218 216545460 321478952 21784937 323318032 687913527 419288068 545250038 921107919 331829736 6585934 133999464 764202 643442895 17326843 440541155 275242449 64999 533255571 231294543 785432834 952088861 324434045 57176545 547012547 910683285 234982872 15502811 415000582 474665006 499754557 845875060 767346971 311875789 127438210 723670876 368013030 152738493 392811119 305453932 289620096 289179618 648158629 774730898 863110253 556092640 816181541 295012805 514902375 545980309 984016370 646852088 684834477 604705853 806339690 961904045 651061690 550618012 194857674 480144536 4040328 496575064 424405591 845223285 117677115 841730405 171585770 372286747 986214448 108927055 2653442 258063319 475190797 172991627 564773736 522502087 48305860 314868360 233963746 769887875 155221791 771371391 598820438 479374982 570365083 748911602 3656498 566875900 542096412 219481878 44613567 149261183 257852918 245219664 840362860 206002154 45454333 778261056 276541050 249970146 903377189 241038248 690813337 333524425 751816416 903761512 289177105 72497434 130811615 257969163 123464419 219049558 565983445 206124780 95297780 165447343 231864955 687971353 966126535 443981686 805935428 990896981 308025064 143742905 423930323 768406349 735483098 204225808 246272998 447028029 717113673 90483673 181162577 441598660 623456404 769131655 889082889 807757443 532217153 80197651 139544495 557273086 429091348 895211272 762800882 600358715 449076717 575207063 924291824 117776453 227275885 654017339 327365026 492143767 826197444 487602005 990325368 342147926 576773780 356262013 413041870 975176295 759588403 949938007 644556197 464068913 397705704 372703562 910954825 822352745 414995245 319608689 521826544 165994222 28957687 827561677 796321520 318074313 634296095 896881831 128112383 999780854 6460291 494355868 495072174 152101658 772768138 810363153 190410399 716758370 410994782 645245431 331439769 477293509 3554869 150296914 543027592 538552944 752276744 208501482 801763206 746350377 539151014 928186382 998523322 543667347 395845950 915674076 138294111 891815975 650851963 979138826 43563365 866041021 618108073 854406587 65351512 708314605 408968480 770387046 94088667 298376633 64277866 733624797 212780669 748649996 630171639 548232881 188887737 663740297 517494787 296192458 180702004 189410381 30825482 112022202 77921933 419202931 228124365 348154591 59957490 338147488 162951483 882419849 4174230 364236826 835904327 54345147 394173980 471595735 991908493 900532094 197141068 107277173 191252397 772553845 484392981 67339614 57184115 363934268 133923147 503076436 28096863 835494234 929982605 37159799 945423467 284213005 767595879 524960105 651868532 172391780 746876866 379849797 873738993 663496486 59258865 120189684 715451306 627957488 730893714 357266011 64501064 314132088 268020639 12302268 778540536 227593476 402771798 653711404 884227291 96371534 5424373 710984600 105531803 289318406 542920722 180244851 644162772 560920985 993535719 809000245 712677008 163887410 923179659 145760247 169748137 478054071 226600297 199240541 634978918 593674569 484004011 936945679 102561950 691729479 194160133 99701686 209053103 55220076 900946982 404268908 794407869 768764786 569461778 12123732 820828239 993343166 516072319 225635478 678228192 991429360 120385476 280514602 24412110 135725800 585159955 520784600 920906891 238474455 219918927 598983386 591123796 857002359 150785098 223925152 299155562 495385047 534126291 333896582 616821107 13337255 386047939 955975215 128314946 340458963 282753094 497574682 524191828 561406716 684090178 66426735 498723565 250132426 280358295 267178067 543882786 358493536 925857892 121866382 404011356 84223787 429926227 220704875 983533361 986774266 121051746 154964473 235841446 983724081 413975032 267760821 433335842 786693132 281780327 30079768 148283156 38149618 690280829 635907351 545562122 273035982 242266123 479734508 414355722 243016071 768090557 220817286 300113440 660918191 512267704 347192867 806247599 961147263 833591840 389802204 12149941 276821267 14444180 567234027 331988325 480154131 629692987 631445754 49399535 743141291 307367384 112504792 785595947 627581398 79163462 386418459 49081823 268498992 517210610 974956355 488639794 543129982 697102910 768005112 394856110 374555522 973066143 589668120 656097788 603422196 865667052 942885695 661296949 953206080 153876335 796343368 162095690 454428852 262999426 935450667 523170908 208693030 40741667 136725710 913123238 40098412 276619563 730450107 340088376 869830555 167471938 352868000 284394742 711278618 998514479 666332408 410808828 316242264 931283228 598711619 351172869 32143772 767084931 103510207 107015959 451499725 72725182 299040113 999442881 576169142 131203056 616498076 803214048 17675702 745146510 358396706 265541214 98078139 224672107 32949220 288253082 826488793 500725770 224683324 267543140 85253707 561691406 921309882 405778812 533714004 894136067 34955519 32246917 804746891 89893882 642948848 685212672 63511339 297974664 95751089 952304878 68987922 885642909 996933791 553411466 218323572 445166092 595406858 940251473 412837743 856176488 265238431 771281901 52872441 490169343 550386074 582287616 927873320 117530147 933067266 166148040 537052299 470502611 340388830 917163198 732942031 865306658 544590567 682606602 578637171 59771161 514972794 570669121 531597039 273908348 80688137 783256898 401425990 134927445 486019517 506270438 564107176 797379461 263416053 920382427 265994425 50925135 12867286 16200915 971637368 573623223 396272011 389877124 136422719 530003361 940352526 813279793 75016828 926868291 793276724 975991272 409741422 861793328 93852158 526851899 351951211 851711107 372409186 973210497 388705937 408608773 746076418 785799226 846715388 495119678 328048471 627683637 8437174 82317353 122033429 845574738 274277966 31242395 503146159 87473289 194577173 97939890 454216215 110281297 981360530 684935819 250464054 94290531 903915998 454724461 359588463 224565757 924555823 664851578 442947405 729811867 159463801 808426210 849484674 246973818 495247998 682404731 520592061 855777975 886189218 975026927 916370814 248380014 592644524 230090412 543249974 846205077 376817153 309452843 473808322 211074382 240904272 659328661 687912824 356691989 495013473 662945611 936248710 437822070 90889361 608087400 894688411 59204567 608385542 470889176 445166902 174928909 732682761 158255535 193380810 508886096 181012726 625312235 806772120 559569463 157129713 766897159 377684471 792664717 147274305 128481822 237847675 424627739 397501954 482230924 692855711 973786679 968446152 27376476 879571119 410210186 719351973 765816795 137438065 629603927 68956811 369770262 241593244 847557818 441461914 234083409 142349657 869769644 228324886 188693784 183373277 717401508 849068107 860862704 193110425 320062184 753431048 397864473 244044444 278124761 258027230 276711776 743156973 351558702 750416464 624356646 463567570 923266079 70406558 272351096 133602903 751319976 600474032 993789163 126795346 164530588 372140776 655357877 310368871 921683129 243616923 289307294 116841027 444743678 421776119 895572812 959173172 118500577 114320370 212002797 716424395 118810123 20512694 140667892 958062326 534249539 941168614 131188793 92926131 843470289 555707657 799429305 597835596 210745434 782974257 267914620 751751 540633304 672643207 380500169 889052428 436177917 512196178 606851409 20504658 539078184 430548519 214086113 318441272 414010531 47918037 398379923 128162938 45004445 188576350 354098072 480724310 51203878 222029459 372912093 412127517 731939008 181600445 517541210 907377234 729214826 190968256 289396220 164427763 795353943 115473344 21691907 317702804 280307310 473064602 575703489 859686810 952622154 173424541 984338085 317459779 696041471 519395480 12616069 487941543 792318165 823597544 78933005 89916879 185486022 122755115 596703616 640280405 727482744 571343615 536877715 19098424 837759685 802916543 751853699 767260065 587842660 985237282 830134792 379984253 438821182 584296797 516820076 264319081 235123504 168925660 25484042 525529971 147181641 55043669 944791031 106705767 656990637 43294878 170069375 237240683 235789932 41578537 317308085 558704144 145647455 548514284 702182588 268968979 153593487 93381168 76738228 974028276 391651124 735399290 653156546 346257583 902202017 11609062 585893343 495554466 698511646 159722903 855828375 287636595 220701841 901411830 278829511 663932698 777498355 255942699 935751789 555665581 824487868 196125617 811618479 563064387 268894460 56921246 520677704 240900615 276335800 655561429 414016244 635196025 870547842 310278383 958242574 557544393 698152446 941181112 90313957 14007566 5596319 821518752 402376180 117468520 32257071 168133655 85778465 138241099 425700756 513317746 281467343 736535463 484614538 235460686 830586734 764769226 103336199 260728626 936338664 265167492 367478008 95382287 720924815 278957403 654167746 697110046 134288246 581408562 274838375 550820947 949723919 802012510 358804337 172304024 14949654 660333955 442214889 591921268 731931583 544665349 649142383 998728855 308311473 51565128 135663071 835943109 988885265 826898183 183266668 46758016 706799094 30950390 457434025 14706060 708430966 881694119 513007316 474682897 959898726 89496299 194005813 579569027 157283421 751178298 381505234 996602730 193778499 963224585 885435062 627430887 841041723 589485322 894442145 839170675 770645283 928722746 615299369 15876373 59675286 692601633 411349736 784437441 426346402 435668971 787863182 992324937 401960311 64792036 705099132 672250440 146446163 529130731 90702098 747133899 315535263 181354268 371107720 485421089 639535783 7778056 410425806 388731317 993705759 655423243 712659226 287691361 414116413 7642413 911085999 405693528 601625353 31630471 652704214 596661306 25011977 777271147 51427121 640259647 632192760 607838112 765535212 546532396 111656048 184892794 757753928 309317025 419794668 93717887 830455418 926640757 657250888 286520862 450187533 833420539 750078598 661281168 260908026 62870135 494721973 432843975 652208024 507462307 200897957 292454905 700949775 208617254 578618034 512886702 972062235 256360900 759654034 521044182 204116534 179696003 436440585 444127218 47147929 178017074 69780623 840525751 645904663 375131166 229840319 570177092 742143636 220376220 468469446 333411121 700732892 341941423 987530471 89517527 137184142 20293495 908531337 324416233 592751632 990956793 650534728 740165539 97326005 292565011 951305569 199218131 497827150 813832253 223154795 569792155 955811919 568874097 932273957 248327881 76056027 397484809 249309345 316044144 544410529 253219932 704028584 835265070 991773224 580197491 819895714 67803564 76483177 212515646 2727562 892359189 196794767 939050612 75377520 175664370 887891303 208074477 270976494 554185167 925033208 328462598 192893118 714042332 236087641 72479526 394953601 22461087 651388785 192208242 327875276 147095166 57997406 189135006 617979727 390970572 77453965 474197125 402676169 137951089 600694646 519637711 784527291 538976593 628095206 686676424 430428730 599210201 366464697 958633480 276987567 367342073 421051576 443239200 375855589 3699787 915267950 541428475 217552933 74042297 547179075 197182485 766320814 718753915 402372496 513682735 891793231 499500543 611970445 86719378 235430828 106072130 648178151 954578777 601797001 711399993 532164109 268359694 682936251 258068488 159759045 997247278 881855351 570187737 262329796 525184573 493982181 779317455 508430975 147966692 820394251 260101999 806246999 950758738 764049328 751749016 520565115 263960393 681170667 868471023 396385765 550223986 635115630 453517291 712795431 192429077 330211804 801493781 88360112 829335107 21460196 740770296 476348514 188175290 108876128 28257861 9344683 292989923 748513810 251519706 273282390 694268083 386235109 49425972 391050291 875343537 736687104 911334254 1785319 982827662 617662860 158887137 583624718 644190033 805828276 983669623 41677935 64582211 75134281 385704567 28697036 779100921 336533082 961362840 899495620 752823413 113804396 497058795 592761530 26888195 28330960 510854961 443578938 715083281 913542683 808985750 839778582 447227546 675829177 796808910 65025983 740676432 226803840 940304219 238557283 935468146 507763011 734276884 265184537 725809299 17601010 882525337 64254446 750411477 90859892 579706112 322094166 126923361 687098280 206897442 92936706 681630507 407972029 468438828 639025357 82769764 299300051 723876876 821781390 834573929 634291120 183694400 575132480 371156848 486690740 508460272 30479083 977418249 155766563 199440205 263543284 329766295 749779508 297729400 126795517 21806457 202230574 905155426 245379155 217763086 205740985 713111333 456320622 66485460 461706913 227378510 28251772 915978633 574539311 57098013 516325908 428957372 228808315 919164295 921591367 454092485 235987158 34715961 609618561 999704234 84580206 463318762 283424343 643322553 106963893 666520268 414849169 883306444 921161329 630385687 391393604 570971799 941022838 29235001 599753143 568410110 394745372 842404965 779765836 229217142 187536536 665700619 560280976 490176808 607824814 781930814 687909072 627473811 990000393 709946912 181499416 283801207 963359088 895884566 946389295 909583183 540356020 113121363 114111871 626572315 261657295 140598265 201442451 57763830 624300061 590126786 835503345 773172739 937488207 256280123 102540291 476432106 261038789 104489954 265157477 640336639 56914708 888756033 420598966 206771300 438680570 686607241 135205737 308460754 519919598 377057903 716099600 531050676 621706278 370982211 935670761 89448424 255391584 740842519 851601351 830124147 184754114 42022256 629330058 998256006 914050048 41157832 186157139 453084283 443828722 678853097 377467605 439931206 342462218 789233498 56988995 913982356 629115452 714852055 303013104 601447924 539877298 320989243 181410026 517599906 85529455 452534009 994897490 378831379 610256164 145269897 983264931 798355072 918516639 919460691 177540593 13606924 150005117 205838471 82641196 110181115 76041926 578215338 876173991 466001269 441080730 94106946 556991448 685238353 404231131 943479045 835914685 182126598 446452594 180695590 342821962 458881593 376853814 274558989 500939312 35127894 726163571 225688490 908601779 513148305 120505776 108612415 923602114 232729567 130071532 203811446 694947376 602449592 514503633 613646865 956991759 365841939 615938648 635997959 366371543 669750814 809075694 160970133 321495773 127842093 754504668 193948026 26457424 6901422 890949943 261989247 366948605 288256647 186743825 186206600 70231900 886728349 553778719 639945597 15510472 503222329 133839849 139929953 554650086 487197173 323385957 453261072 161199078 337158757 819822298 50583530 470043997 376661114 559838119 838881378 89052192 542290833 166117664 941896573 297914159 866758097 370055863 155379439 343748615 195155877 756120926 412420037 606070126 573920056 456126684 843116643 642877631 87026536 135276687 154868070 329158929 443477044 333401084 745666757 764905394 973666275 172318058 492295336 765541333 702387570 212479036 675331794 344929266 77761806 435573720 304190216 603666503 960737930 287916796 41054732 763303056 749578649 981781450 842168974 99870637 475465405 80001691 263022436 707281031 551463382 82865798 784862605 469683908 133666273 71652718 569773200 139162595 560603955 894870394 945704512 368542378 341591131 242351002 368224928 690758509 894350594 712994941 302903521 97366830 598565469 840001787 46253545 248500621 53072198 116055251 37559928 885183802 243752483 989648652 256055012 119369969 520559043 806499732 251236408 796852999 973414462 940450422 380850753 656861163 848540881 614303133 236671637 200288934 871840004 885850387 145539969 598796030 328702872 357351135 956250206 895068897 705655348 29895385 794627234 176056693 554163797 314514691 765267528 265107988 679941902 210732842 143251361 220656946 189824698 715841584 939575833 183386022 109051083 847741514 971471693 583302025 447623815 291026602 172009255 660307515 130142994 809115435 849025942 565574495 736501765 562313375 50179759 158060992 221793057 19162290 290124732 18711410 88747997 445056262 667696477 680425537 417786811 4956344 546435530 819578815 332551500 168695385 626138428 163934796 783116478 927268493 596387523 221587567 124369525 613979277 10634362 880490025 934599471 360133709 170793485 800823822 31513562 190811591 357450119 832277010 56874225 560385952 899912076 179823087 786564935 585454898 549508361 979511557 447614163 194245265 102760137 590370036 501657370 163112234 485306763 218845504 147908925 711355983 450207453 921265697 583900121 85393545 589230299 347628679 992681241 808398521 929620177 429077513 358459101 486831297 239352712 824202212 184539266 845133 904168003 169017551 98087017 105790940 54637666 97436855 142129760 247253150 57182713 506611093 79816184 892754318 695302498 15394911 364604237 775028008 226365278 267009329 571592833 477792877 4351252 786316018 295669273 817061548 79472034 485159607 389277018 52012324 94361572 635964659 140783769 61038549 19010030 282900553 289135363 952483677 489636732 886159797 370433329 463320402 728650488 240731865 460873498 565249210 212979948 302225218 437092278 134729739 17399426 879543176 213916449 669211778 681017627 46960533 213499062 441442200 91572764 80284724 22734125 813683549 706755885 236170809 571327942 138801763 483965773 651747890 513152968 557709221 892318412 198400295 948328668 827799009 798418166 527048409 56897625 834480262 251099689 230845733 284129853 111716095 970356519 71566979 244716576 787931543 10907630 314869845 886507953 360473588 406477502 33814875 701677736 722791834 891943578 75306472 35336126 505032174 197192672 108950291 616538685 742338110 102621471 815640813 5731634 262268744 151122027 870172429 989595446 613024987 478619843 152655266 45909163 824099678 36712613 252055953 281658475 369369663 54809624 603831228 276221681 22140396 853561659 774629696 863996586 511184356 834010514 194182484 246678597 809088527 148072984 349784928 285714596 956645671 120933784 860737751 921670853 871691367 305040020 453758269 767310713 195651153 425395266 609029301 948389596 90048170 145993175 600511968 557862538 142664117 130099295 411694219 710389430 330470765 316388196 116076562 927318330 635448401 458478391 211664026 512820823 739706538 726989318 971237500 211981042 381739317 41444199 657946993 887604109 603371079 511467707 896051378 128285878 545351277 63623305 110097545 941048798 906468256 262603934 441352555 635426014 346059636 153290886 844902028 242570774 791209590 416205665 11012110 820491115 229904215 819507369 749382999 478797918 522340109 32648656 451245560 78713098 708031049 199337316 793808903 504577411 609638520 186239737 595199238 228835473 562422802 548800560 631084375 214568059 739290756 185279658 452505106 924791248 62064087 52090296 656290057 561831739 944122118 917403758 429370852 909304363 197610565 127123436 599543735 412221300 878162056 680427706 641096150 312413452 260068206 365144774 985026395 539310917 642624649 668921599 134981765 340151491 727185702 12439752 100837920 758612036 966699218 765897941 474571011 678513131 992688153 728304895 280623603 235944303 536463036 898374378 687591468 937018137 66341039 2575912 780505153 32454398 286810972 442825976 143792975 321358026 699676890 766091592 704497593 73245525 121115501 229205707 236983902 28604882 524391406 255340830 861049387 926168749 58564102 376378586 843349438 613009980 87423344 197584022 605780127 353385988 118159359 788706560 84781690 978121136 859158835 948969673 394316544 850333722 297957755 543512306 971315216 880095103 837081347 692166519 198144879 880232606 193906404 674989574 646942032 894287765 930683232 143442827 743618440 472422530 575127369 760930948 506508746 344516339 198420884 808917857 182906137 629830361 769807620 103682292 872474736 609783664 314872159 184999124 965417613 140995810 237122704 919923492 414266598 237255163 243019963 918051298 316946371 988292598 918985594 417540354 178566303 868927881 864960098 538849465 9682019 393063198 427934422 313896828 919417426 808852332 951161240 656697049 303089485 321670230 797425649 791009403 570492040 349650712 525076469 276958017 228884457 264509135 236799228 482925892 234838813 208587188 453753678 362928393 662178577 960210570 37610867 470559588 961133970 582964307 725023187 519432081 954198162 779506678 944412142 914532152 282959638 949308668 381467104 371671376 322147818 116500399 643078860 518391680 825937022 509869321 926870470 859123663 931645313 488060013 696086288 581830026 72634523 601919068 743966823 984524746 708627888 75812742 738190244 901054601 560426561 832979744 129833927 676416880 767964217 638517298 293821922 452681754 842765440 135194845 617539378 754560406 603575851 13979916 204807076 872357136 884803828 608977927 736456888 973796946 534655996 835416708 242366616 17090706 203881054 328899079 378400987 902611071 331323376 143014609 85867042 27285164 832139008 940712585 956716074 587495 162659789 160205708 952806172 942193158 294718669 804927850 336813160 749521594 677576734 775139408 818675358 798811305 321849929 472105142 126589329 225826911 568399122 322926788 303614492 686433009 584601631 880343616 578264222 990314450 140355359 110845894 850966495 227430691 520662612 730237095 687262366 608876980 270161138 983957696 853909989 218297623 815844756 442106521 222019214 100739568 880785490 355037366 937158675 157931378 920347151 7262611 85106736 704272504 108299257 194764107 184956301 15774771 225861012 285563030 37583912 979666578 150072412 242073096 338954756 731102298 226368725 654231614 594185189 570307219 8856366 663924615 115684383 487550398 604226554 456969284 473002079 781404525 867246142 35352114 177017664 267324722 919348161 906062495 348394112 185458223 966109311 286251559 824837867 107643660 552086226 205611071 283334118 581208146 634976926 655092397 89378905 125135502 379245567 781709748 803747595 282221575 140872828 327248856 508309343 395450203 395425213 434788669 149255782 356891353 494396612 79961601 743862363 365176145 218864793 224336370 6818717 753623745 540492033 539579181 96133755 343465330 134768196 902831700 265090262 756261505 459043040 494519042 398663231 374733486 408488311 703924086 219038672 243166222 836787913 359186770 698823191 620951995 678814602 921753197 684573319 690390176 517221536 387798697 376812995 486036053 22826265 240024334 137654124 694950820 962399813 279164341 696661406 386032672 920521550 547520715 848386403 481850957 356617117 673400344 816159820 757798298 247691156 520925634 43588097 573542937 216295828 73840157 438644596 879071133 548132090 228863272 986494105 90698616 516552779 783787967 253431829 196970742 795019149 50101332 628695987 882831978 132754995 515503951 836806048 315951179 133198692 816489823 214521249 731735764 558882338 352415777 946594779 65077339 122713977 750348152 98660978 597587256 743409696 461545321 806535560 151831501 632521497 975481557 332006413 120775646 507216242 360337537 759981425 261125760 819816658 519301778 555787449 608108654 149980179 293554991 543128053 179230405 793633100 713367754 764313234 795678276 283110583 828972186 691064684 888626876 55076828 546082302 119858154 645905439 947172126 751261878 832182305 783462706 813134577 799464020 872314342 596628112 716456899 190696023 15500695 774459768 40967384 996429726 762276734 731333563 831433641 997895580 580191064 656646912 208902077 258927814 12156513 419460400 333716382 242937288 114053857 237826672 317458301 569271501 305031939 651963589 580500674 713043230 613967716 261431837 229586173 500146021 812625263 402913066 671872712 535858455 997145552 266927261 590149555 859766055 670148810 693505546 786603065 572541306 388805371 880846311 29361312 972425839 959715245 249142484 455982474 238427773 244171419 357927666 976546323 978205973 557170040 469819529 410810418 603233158 603004519 717424666 230090642 191216322 429289279 636543617 946512801 122400233 654077564 323812230 254537735 140591890 311803767 117305462 929059473 354797255 32992405 326895729 589768457 891017218 311920367 569933782 895083474 21606782 869119230 925766845 60263680 887211676 765373691 167748237 756111570 811999413 338493615 729707444 669918583 322032694 389502292 150054106 586254173 373651816 574854309 606370641 424887334 51281882 467250454 762012600 501220331 620757197 800977463 898216832 235872638 586992552 938643207 157087365 806769397 93497559 990593929 289701840 38924169 402235779 673212733 653685282 232944506 50222900 248174535 439639527 10668439 641429695 551402794 761144765 134427017 216604790 114920490 929348340 776674657 50358887 142228945 234380387 784473605 594982420 143530520 849181597 825780777 503361254 590388554 963004058 608426163 890466624 372901185 464499236 855130059 229526746 131253917 632112993 393156546 753564087 989294648 784877034 249732104 561104976 320002226 411599546 901498539 618380932 133971141 675936353 360135808 614843093 866312630 650557643 145731140 507861255 193428325 162307011 605097720 803192338 861918068 812040793 653852386 561867207 820920548 988353750 41582534 58845169 519389914 842773191 482725731 23461030 427239075 856263418 372269938 114986409 828560282 867555442 285850357 743499239 217122026 348709877 500718537 24999492 829812988 155333904 595276283 865758577 894186703 470271185 61695721 498831488 128386625 976627978 704420597 389798207 519951716 536581086 4788416 794773548 194173759 52477277 405174190 84201107 278484281 119540471 807037130 793653335 493805773 221382035 541131076 892408757 531792506 749110428 923133957 517821911 150487106 354372540 77414636 921080572 382309611 405954138 582174802 221629803 151166547 652962248 593893146 550373616 709545302 46260012 352188582 793870467 685202656 666039333 856690501 345486697 397834784 854715763 581650231 275907342 260328972 901858787 665518799 260186827 583906906 52501734 242676382 2092050 11689417 198766916 570910816 561497903 774132325 158826990 18514369 685756214 139477056 104202150 614572834 706506634 613033655 79619988 27660414 45297746 308221020 283557892 422824432 929262161 943510071 786318297 650868911 488270352 716526400 282701374 758057348 198927028 208107083 995801379 108796948 537014352 59529795 477823408 151461176 336688162 439480557 209316299 746311326 868289259 546923049 275697835 22568187 197272660 332532310 349729944 814064912 993097939 694299566 236274467 858046491 7943480 600764842 617373959 247313971 120421373 646019816 96393995 662126060 814310310 389841084 273137080 289419946 31455985 836802874 308543728 735849043 639896618 99096789 116317139 491109263 682298713 988493232 156638199 34665467 31255084 529006025 710585957 817087673 47632803 228756709 190209119 860608191 771881764 537238657 201780783 544465036 414023262 849997545 3458042 805148523 961384698 698575775 83238541 65623963 873589720 131101675 229401245 749387634 263294856 818949561 78656309 475640201 717268613 144438117 767395348 800901680 518273264 802575871 589415834 641950160 684930609 636500859 858223081 730659743 350341681 798458541 573605999 828225837 30536145 108562883 257672357 540212542 229027500 4074120 768112001 396724126 334281568 52004735 470918218 562825837 526412411 239289611 381447987 339539231 717207938 990633134 582390277 365331741 689331417 439907886 638442285 231797891 992183458 90648229 510907363 632333347 424331007 768681992 952574339 356315510 719567077 388855118 455361179 663150453 546948893 637516800 209795850 439610149 961197618 852499939 20040013 432936389 377248824 823152951 102579590 779144000 247086097 944725622 838226862 26465311 248636673 157851260 892562191 704158908 269338566 813990518 438417701 62570371 714149209 199443406 267365996 388801990 147617307 902296957 771045388 80202533 916631604 107102566 388855032 157001903 821683278 609196988 185969707 833385229 306145539 803188000 314597908 199624680 380589561 598968053 369900717 108142233 180581198 645700561 53610614 194774338 135396218 34143995 87433515 957665785 740049706 467901121 113117897 471556742 876470898 226777993 104201139 794694412 145622426 75736831 319432000 470232440 977476273 718144409 111422877 35028247 395470660 556557778 266128986 119559151 198696387 108091582 883221073 802444215 297098457 548263870 140917514 847657113 659925600 749999476 615947994 568624084 270962194 277407007 439021008 605566780 203588822 72948821 451558222 922014768 431919987 459129849 720594901 535664415 189864369 226375241 594459824 660108564 845555524 511399002 221437198 619509779 998630476 766199788 750332901 444873131 480496821 968486174 794483630 723159164 713872418 485793730 337866509 669886324 102355124 289799 477102523 832831317 531883914 29535234 771288167 939344599 232946476 836224811 797313006 359878311 583167562 817718296 95924531 870109982 800854119 454523256 310230778 184217501 353640387 778808148 691193721 453991960 913291993 817144773 452989133 792616107 657765692 828122301 255666272 586650824 14788444 542035188 51110345 231333311 896200178 833661240 393023926 412249568 980464407 618767242 790527164 861702905 130286878 557140251 656543926 983007074 36370447 997771562 966495142 505135723 278828006 717192963 737886124 911237579 969027219 354285216 97468217 500583376 617407564 550669259 389810117 324061699 848805425 498703837 842755500 202920658 508308683 481407045 65996365 723727407 667974649 565453944 491108763 553809170 977034003 580680938 382056860 941443048 117036237 598885474 489414184 45699617 234167735 200667131 736615353 59024069 617576562 224103522 455927473 501547142 759587814 708774886 224983784 720157810 435216267 330612767 567799593 208673556 749090195 506153628 276551555 719514529 641688630 249005479 880295300 698988337 78461420 995821006 332592332 240337831 437382916 176783239 287885143 249673907 923965466 786040917 53052566 452629367 643317354 628149794 396357460 726140439 308362116 651891325 878260308 298869774 679127751 593875503 3588249 546695606 820010260 580395229 920429800 807664985 401446591 163250572 324325382 91556356 451067392 233952600 947242635 762340291 200638864 973731904 41467131 793675496 208684547 184386165 260772510 786426116 477870600 808572951 345004135 903304402 591795927 50182520 167522596 717725222 804010484 787887292 365490259 801160914 581275660 624843865 823845203 131941087 839475921 763356929 670632578 446963675 196937697 457210269 833008549 484762060 983243211 113789595 558553831 886307342 226124249 763564832 26474691 590457092 621579193 853092055 433813743 988967580 569385733 172065087 94651211 53094818 585007942 955981396 522764321 681233757 987417349 402979379 554693165 109754592 562809571 645824728 661428177 985147592 936382409 355599481 120813806 606813969 303993302 36964524 97998023 151019834 445685288 699048130 108562255 791939764 254585872 132043727 192303511 891596406 669687141 71493381 437176111 654775532 116022954 887010258 976066643 496061625 711256410 699819499 275098248 982812617 627424985 157806469 5741674 474888514 227101210 521650085 441300129 767521290 731415018 949332763 744365610 100040684 632052992 393138158 415189892 177042996 356588773 120808422 24142360 1418945 866742717 477612664 783360636 49210312 608066798 181015928 976105895 152736305 632159290 674255306 393503983 435202514 687588568 386712159 403501986 184524401 170586906 841332774 76277625 910422362 510121279 305078016 857731331 113691551 933616505 245956618 514604138 135895907 340172083 951182902 840702845 988547588 425828649 93675246 658210861 114700588 298979935 544514043 561117219 37928195 968512506 414139415 345426260 380076128 583680093 541560595 365567079 864275753 87630579 732896490 879209724 137994934 169527018 900198962 60617947 989368767 271772832 317340632 212253966 717385870 147711517 933495674 911659616 910760115 1562341 978948798 649228127 693319053 946563334 143359474 779427168 459994403 73259674 814243089 722716324 147765772 117220666 682722728 765578193 256873092 786300667 263426241 885939960 37688941 222544469 337449485 184402877 680986918 621367009 396266005 90305778 892351453 777738364 437982782 498066692 523876153 160383477 929523559 987932430 524568259 348621181 520390937 917464228 257067971 958239129 581646032 862344273 729365504 289912168 871725137 976721748 202848382 141234812 78503328 322126199 483268408 677657661 3686924 136550080 831327302 762102656 209297675 731200080 578599178 85003023 76660435 276508608 171336109 288521457 142911049 323527659 179584663 131286377 143345547 481214032 213170310 985192851 229324872 15101166 556525945 894749152 926374047 631585215 232746044 238554259 902559405 255694791 710452893 776050563 278528889 941276082 278556750 359375657 391993051 94838329 48764610 815829168 16808207 89953259 804383438 880661329 749585772 148220516 8598325 569628687 928252771 792035739 437657969 491047486 484625431 831786049 314344036 35296085 727312415 148604177 802278667 686655804 270503016 146071469 150902401 355901539 143532649 370411843 142976319 778400193 369558333 67180834 664230111 495862000 960088789 108844100 577971665 625367586 206205041 982882317 349843521 420710776 403973066 770717340 409337762 51744374 392659469 638375747 828759880 788279633 490845595 781294579 818551926 814831212 219176399 108054236 751179143 640599390 591983287 844750786 112099734 623231546 11530600 592377420 727148723 183871543 994028094 137822435 658764195 357937112 156912896 359701846 188176505 641867309 137788499 614793378 699162415 821713491 721642026 556704173 133114259 650633414 922071540 815585061 397594214 332994719 43305614 406275006 225347249 811387168 398605555 178018165 971040685 186859947 240241304 215226020 667633982 76575307 460627360 931047654 162561218 693766745 375392267 745243417 849136235 899167420 730031396 293202682 360258624 236063328 565263764 824715481 979034066 264450400 846632199 13127191 400987209 238839157 971306322 691783773 938428977 662714179 268508996 269580018 214186365 694440290 718749272 69363330 924989422 526824080 82951693 759770938 679028471 571997180 589790772 29979087 720157450 507815436 458723143 776784350 760084367 637025805 824330804 74187047 78324038 435320190 48374050 804710164 272114587 104732727 770350390 19246726 555138668 807283872 748330602 138261912 78694458 567746416 6810844 139202354 814210799 630470593 693308600 779302156 460903002 760505757 187433884 430911073 496322738 843459652 214170065 558393234 792323527 22423110 220079031 538954252 198889852 458930214 563706854 115262662 512230463 996865617 378654819 483530821 957898826 203274314 227661131 650391399 58677077 556311827 732805092 359395032 273062288 529989767 747442535 505514120 190459965 888329103 16744678 396262832 60713745 197376689 98535429 516583757 100477221 807713380 454976901 485851373 923087120 363813047 832083640 114345062 424691242 725276527 993511449 891388415 107276983 220953384 885200814 84513477 680549377 603483009 861990151 661714093 633923884 608299571 117664382 605757207 904271470 379005503 245351342 473956986 466039852 123932695 98805326 527243947 66383163 121089725 564597367 882949933 472236535 788001260 563231567 560135142 273059814 680930368 612314984 387394341 301498542 94265672 600358246 518659289 282532751 9362241 286426595 193779298 244070960 99190344 797860244 234260613 744321292 573637790 126788641 113769547 932314607 235229189 755592340 413694114 700873387 211878474 204281322 636317589 197745827 658676809 965116461 695719660 962862655 397010721 365120432 132590275 613098720 22485402 859163041 382190681 341109887 989317888 811285657 200862167 696913993 998063744 961733309 104118305 330717657 467135255 592704843 442374695 259349576 555956102 51013505 196536311 432184902 602487539 520542332 732717703 939479887 718488155 23599987 784315365 532035320 542557959 54876346 12225638 460145614 889108099 95054010 290121393 650107030 386579091 684525337 681024963 320174199 251923670 941358907 741421305 324662597 975486310 732174884 325258581 8780443 586507402 625791831 609937750 992531880 176883095 28564131 886542099 607190515 643774125 477533674 805696477 433869732 413910265 880350959 376620496 238870367 226759659 695389726 767527052 893064032 526325300 751118514 520823380 904861593 921699126 233200197 971897869 687970788 732330306 492783490 468962377 507614200 982655082 398614861 346260141 24423198 830962830 60701851 664223958 722186691 484710986 36981254 944044072 782587413 457273166 563677137 987559649 17695362 132867938 632425917 764834651 234549697 75076177 505686296 557751893 247595627 157524915 691949662 982484076 880433097 359669830 241353274 159585743 267162709 449820928 548950663 228290219 409656376 149634357 525671518 229771759 212303600 52692278 402588317 372191625 222755855 998185612 619251066 942554331 900022006 862717653 982902721 68588929 98963472 895252385 702202704 755620487 31314173 300960792 404202984 510202214 261131418 758450966 825827633 708234606 77961488 288308854 835286952 542436033 781311779 893771586 23030855 609579024 980317703 615991659 105169916 510320207 278253786 22018881 366235582 290336093 307884590 191121464 781208930 474534744 379645439 732043655 262016293 906325953 37384528 74051547 514157509 204450813 718230103 168432023 750579077 296555913 86086316 475906608 505304302 571956211 264855324 986275260 287404089 252627095 118351446 301399574 309504459 715433265 264955970 915250368 518716991 836735801 804362393 958535997 173105144 465325426 338561 441445786 208862557 317973281 933748017 641097376 418376678 178696216 960600458 248179404 83384146 535411819 333688488 568553854 996562920 845881561 924241430 693598323 247630338 550386440 260623137 396747016 674548625 227474571 300778877 489061543 123998943 465918470 398558850 176551699 24798916 435323344 525955906 771711501 321336634 884401199 326104510 103083884 30927523 981264466 323318678 685802233 81903566 6486699 701331252 55111913 207683141 269788120 389660508 46820376 770221920 658119494 482342302 888639094 988706448 283227442 327105709 766232557 119998647 618158684 728360463 454934442 777919310 614015601 225707854 197647959 89391073 955346498 140715106 236167305 242050159 109687050 808122070 376232561 502153510 498189291 151464822 217879986 668056377 975623369 171004683 762403946 272741396 570463651 32383036 642139046 81532394 142555836 942112407 433506475 112796998 81381578 237604517 244701620 530713309 955554773 351648890 55811794 648487584 53485631 176500799 844021138 215040170 872562080 869381197 256395362 749080948 568062909 431498738 301536489 137193761 83793752 969705791 418947719 13941386 34637020 392966543 590847172 324361466 834105559 910749691 216453587 981808053 914228094 51838905 340735494 710520427 911835583 703480270 248328406 216321361 559719912 895372023 529444544 119901776 211468749 926110911 947030855 961379651 384332087 955163892 242364208 950585580 162296228 319754473 184933890 572764538 382379707 282896890 168232363 692969933 494235977 280978349 605114227 845050134 782737325 639715617 622679847 604929507 586150151 99423292 776775596 375354186 779298928 257752991 419655088 433155819 147961472 867244327 390849034 545317300 547438951 196940378 689976500 109651681 831310133 991508160 571463669 542414941 348256512 533976455 980388538 658731708 932996380 288745429 513331983 565684606 472316294 427469984 755588785 349100409 991521258 36399361 979958932 491064315 184881025 303693062 854302652 437245378 569286173 203768199 360656842 862602867 469121645 87046430 94471884 402250453 376560621 96623515 452359692 254231739 669947101 14359199 179449735 180295954 776114696 988098927 19741710 753300548 804789145 666075539 621580969 145087789 9816019 449679593 482199085 46213993 21602054 398055918 205181893 971750320 691916481 879747269 33887931 112388429 336650895 490776063 603165179 495081616 767628537 380418464 724054557 253349131 168440450 833108421 119564812 261090003 133047253 667588119 76223119 662515570 500963835 508284724 600377463 55124346 52458101 6073094 641860909 631034958 343542312 591403331 915771780 484764874 516749496 794755188 127178787 762540141 179587553 776604901 688131982 855157660 466020510 746998079 515050949 885269028 134064623 198017212 973370329 979636063 87384105 964852367 260403534 120491786 108852588 58737562 175141099 964452985 852841165 888348027 469682354 399074738 201896410 468902138 274424923 99584399 199156174 309189932 809470731 348271353 599133024 826327630 913809692 810380050 940595658 543153785 457303797 742917511 586594811 956393117 49119516 39677092 950709469 184039446 835400440 32870674 636111613 597147014 853510538 507987566 377083492 595511714 785180717 390284766 200757996 972695833 80962701 517229303 276344903 89559721 402814687 886013228 110128653 40875463 877346086 400677893 824459829 656725566 413357478 617790087 641716146 734459038 312690183 740088838 99355854 35416163 31362564 32435326 398734348 240485064 510563749 132397499 293834418 245050125 476707182 246238897 773851208 735534436 260870451 835942088 784580986 663902271 685920446 855776746 183258042 16448434 209831365 600174370 850119938 532740743 304458126 349517719 606258347 988294721 920078421 424813198 944616511 277770748 615865620 384280520 93787246 649776886 769632100 603899131 554878835 20917103 886747436 979360257 284512184 644234243 427035452 767776168 240457849 107332017 5565678 288365945 544573597 697632131 560173003 268175066 871147532 755635654 207876962 531039101 576285590 129885001 988520699 34344350 397507129 737856330 931284579 913686306 643070931 156377641 435076929 317103839 166400234 15802758 890887073 9309939 460453549 710278781 961217603 210164691 167894732 727812969 43455590 434571722 1734577 831595030 359726893 8619607 356383613 843459752 887735995 275850263 223133728 500704283 447443110 329922719 19737079 600959568 63285019 943960999 406732490 943475554 700506394 195273401 426859165 219175827 727040346 261748794 983758149 980864553 155365181 936341127 151707884 363361915 342154040 751548598 548639426 204433499 260847516 97189686 164489180 53347736 587585245 7955082 46695401 841684138 344381022 295838107 441011665 785950575 538650198 804524028 490677665 181395380 465057176 272867602 533000403 756079888 833844889 525595667 240414101 316628795 739839332 266126469 570886849 137168964 315371351 423298761 659219113 340492635 226986177 537364976 420096333 563478342 306207649 613187168 166090952 314122504 726977708 686391770 269358206 701396557 195882660 428173909 860521327 388894717 645549218 816778963 290986678 7689015 635564208 259366444 214216374 226953971 200762307 628805115 791111946 180412169 498840258 543371091 825156706 842285157 820536857 853308276 978666001 995830111 219896761 567310553 498165219 44547568 450652678 115125019 918337128 442275944 593921930 143845334 550814248 785464280 660609267 64055208 671784421 294885665 506884617 786160095 181292876 140931760 69108809 550561661 401503045 550796344 679923639 625755435 427922268 103856628 715860299 656906018 588945496 978301734 820848988 417949488 444832722 783798735 54830222 679635057 167138957 966196021 80731876 719252832 25429103 580485535 615801439 505078701 546844398 736971697 461775929 396545174 112500492 962316224 260096255 274359240 871577686 812823470 199828520 138663950 435368716 766346620 380949293 239570213 450044750 302301715 175025063 757137697 478637229 40345572 633903282 385579438 779077497 98038613 879065648 652879834 863637016 167365780 762204787 282369659 640289456 107056914 143080875 691710206 258289916 485973764 403424098 547650518 923744669 315103525 291131236 80278807 887826139 202112820 74876767 669093876 397035364 229546816 109788464 233015424 980911761 887905473 368385278 187880638 227697436 230245138 143182084 256729416 704059265 137884586 745483739 189532994 777864942 929503462 14642399 345130131 111478252 976557790 279614420 360848163 506472336 3011105 539336433 704893811 951314269 391014776 835810140 230263381 698247212 22655518 928255412 166166034 926129714 637309070 796576921 609707943 755776448 505885055 596567336 89022531 782928094 710039503 938589986 818211384 9006796 281722905 308897170 613685021 198442379 590338534 849736364 146957162 654789068 24527377 492157384 630737440 148572025 423063670 47982684 618131823 236571352 570204733 289013538 713524247 38571421 167231084 578426737 497719950 93310562 337748079 521773476 872116623 459180683 876474140 139168551 114962728 184409399 754358313 946883919 723831483 371017939 144887127 680222225 760332248 406351776 364864931 892834946 553338569 272403057 985676313 847352271 407188474 300221918 264777825 348929885 271864858 364462776 90077403 478920539 975558872 702986218 423588320 135455047 524016789 367686324 594381475 52293177 856048637 407460358 532392113 213524357 460606993 418090260 927030970 294034572 672801481 345519363 700197019 308552009 986723293 949322320 686595174 379033280 451119647 583230960 91853645 135351103 224502269 546126063 305565250 278421307 530829747 901429477 124889496 349524340 170437926 778215 941516457 112024273 241017894 388319563 260426084 608574141 606907153 943627612 904072282 609097543 257622446 572453106 162965951 182665048 515289330 43104294 787271795 980260711 595945383 23609812 813090930 102421638 476151769 574013954 647313389 96569533 8944173 149576004 193361384 552649322 13980655 686658555 324321306 738270920 355355669 270978374 38558275 611774951 211247146 786997001 968508975 825688558 229042882 813099012 989612580 343873263 150737764 423708141 911614336 700988953 181756048 633374047 151751506 153771905 587207772 696494399 884415318 546698724 115289712 474027726 496217667 506938120 592062350 219737536 198184508 677767656 979177974 658398885 583050193 493027739 37735969 906691255 649427559 755288894 279027763 321137467 881793818 384171380 50806789 898949990 623457894 144026083 284553741 390692277 816706404 669866311 91363894 469535208 131792220 818818478 699499597 555074129 388932528 179438409 445561096 609384438 64085874 871147499 788299998 808370493 135975689 749774348 887237775 239470805 449411985 666836548 176381585 139055136 133251228 46074887 793928138 470789285 623486528 996089726 201850462 103439630 440047163 667116229 17256813 469134947 838560826 379415736 730145604 18286361 65663847 821206563 518740839 808558456 63178805 300471507 665149511 264175334 228685117 854644483 334274389 241245606 462724271 877478508 860193941 887637993 923862229 493977057 534991826 394078475 550024686 364721546 53826149 434051519 843919630 950940786 541123173 792233488 547742900 750726067 34549702 261766722 200488235 792819379 895907538 915467444 168983725 25696385 865501792 403718290 73899413 249981392 50793121 194102504 299736692 595669200 330140620 918361238 836496445 752284740 901767953 1712995 348465952 699559149 65356446 608978394 413935093 346598636 103370849 396320590 101408225 175769704 394491412 980876546 641956915 814742201 120773582 774103157 804392988 38511234 933232645 315569962 782367487 756296668 555920239 712859784 421013958 603066956 389722149 36015125 757925975 226980308 351286050 365716440 924957134 815608082 811547262 36562538 195199923 666090878 556859921 115995068 779879114 113693739 29160540 240336451 340361789 2429876 974547849 539060472 284065536 518818087 191789079 639882490 736892872 460798582 200347569 575249843 230529919 151202323 745031049 993019986 536959072 556395365 237490269 943407832 741738717 10031169 378408598 13898250 612527771 629245140 45364615 409669070 154835597 436968862 78975937 225664884 963709147 621003030 447790696 624394295 790386120 874025026 242188221 512646578 376872282 146862143 859268622 385187391 957435695 497960223 132913982 49706569 229821137 161542299 611864508 945226906 27013835 436784984 829795552 688839866 139347580 756096867 661787853 783516177 185190272 9226278 153061177 913088162 838381797 762384171 959272786 596906840 633886580 517392403 560447503 64361973 278621200 361670536 362008401 278974472 220633004 899201355 472867474 411153638 285496119 760710863 37715162 18400466 407450237 344434522 61744038 27484806 885480411 834581304 269782429 800796435 140426507 351704075 596404227 662733865 4830102 575595172 569463684 661179745 206512649 3123878 19454921 535188620 410886054 842006406 80066968 925629641 365384960 418704825 847522481 577485211 289921495 196660856 814668007 565487952 472759896 569429028 260155748 195333546 757963558 450655906 899489727 282202971 700988247 621683116 58063203 952520967 829262662 425835555 480285928 601360451 189344623 479211784 523906216 958203494 238290862 401487138 420920687 320190326 535953549 876604389 5193434 258929788 344705851 280812630 832357098 23859190 587059129 728215800 712819826 966965198 270315244 70268534 726722358 475292386 253855269 499232880 390992896 332647157 510324397 823055016 708835036 512497875 235939779 314057142 541210885 517918225 536101342 81292268 967280002 692881984 267663745 945742802 252096917 315822945 806142097 857153681 376914065 183686889 731208379 495103484 507724003 825749659 86813935 52313673 449194992 385723142 788876052 150765945 255608218 920646719 1907892 385947206 576290917 347784888 393299523 996652948 511286201 547001324 348229048 195974176 745125853 936191015 474304829 339768628 553175062 599220244 179774311 184721191 546554894 706644449 659999031 950144357 61121766 914211820 110576207 155341204 500982848 429037644 356051446 639704078 138251282 344895059 20566687 164578278 367838016 115369052 475371788 214316240 251858661 29895094 677414897 727599169 957943364 495521207 228700096 116216705 534855752 775774385 140605259 195510445 261229476 817047700 562542709 601427827 207172550 78653430 938436811 155049576 775378914 68882735 239465598 54002993 92719667 979951444 596428101 968709100 997665075 233269041 897422488 1064512 462208096 330444419 630235798 446633524 639114331 565666838 220302985 765137550 873615601 951634861 172896082 169429675 704920179 611348914 457957853 254269524 904482929 660265354 715194655 88000151 284680963 580366519 790652613 634788611 138939442 260657864 972563496 91034603 937007557 64525799 451510304 533202527 295726797 40698458 987361309 550034541 496958766 57854544 427863267 519120738 424091499 118145829 304743120 590118539 464288759 262603788 844606089 558738574 988505026 748028155 556300220 598853626 608246925 768304686 160013257 955219370 455465081 331771617 42174293 755349128 694684579 494371284 639339477 146370513 180904678 572770718 503375041 272078672 790209605 198654737 209348302 972092475 112960053 660790333 181404380 547952735 168740279 187256273 649764560 450824521 786046472 694774684 293737619 133350601 270152261 902239364 239563674 299926957 166423609 519413768 274609971 439292474 727395800 403142827 630273856 164472609 653439241 983743438 831584577 494809737 752477517 484401479 569613231 21083625 191879280 224756197 155294793 184650989 510425145 207168271 466480667 216246685 142390738 393012459 485942950 222600156 9124341 737629429 294906454 520062150 980594507 832660611 928646937 929023892 497091226 756781137 694399240 185757497 498223283 884054223 891582346 401685645 687284612 419119914 466274286 942136729 349093762 608787673 999566312 675731421 35488239 423103598 180899117 815384803 797784315 757468038 796264078 67135875 894590914 568715255 897143348 243346813 469397526 689209403 478171260 681485298 883196489 268460065 311914583 194683653 816881418 75254965 190563660 75413750 48584116 197543865 133135467 663390169 349205552 446811079 416711774 882004344 844946660 509915103 709205935 708584862 723816827 11763488 502058251 631725807 680104277 569616692 289763103 935336812 836015634 571681275 749297933 487452010 321081670 909159977 262179836 906327438 102536001 966672261 593153280 315884001 669023522 227482884 601576912 294855509 828998227 681253853 263604485 618103436 677337859 447013672 881677827 405337106 205513107 88739507 206558141 823889067 408167944 139071857 796934874 373327495 45404207 557306744 525987599 775359385 677670400 274534682 362252295 195167143 294069271 196930915 801724427 981770185 371635707 598960495 569526116 606391922 914522318 614774293 529540800 345519488 81510164 858126860 577368644 86458806 277646418 358369847 256221046 393741508 294818578 987402283 878443685 184500037 861297143 69518819 454306695 280474832 860111667 999909116 413806073 839765867 913136549 974069112 415109563 240768607 652632574 729876535 60807200 301084257 500581501 229823631 190022122 654665013 363696144 730964917 592215753 529321053 159350946 988654455 921405017 730289618 309800505 758380637 242708334 719178276 619117916 594057462 606974490 920146138 152931973 63604013 281029901 512541815 384823948 478813913 653138456 686011365 342462149 292016882 517315453 167613675 925313478 882558619 35525918 418342359 1030445 284263153 975315970 118037513 868488578 798585360 548916806 338954518 776291764 253710856 609653867 131414550 364408763 599747772 351816360 949802485 516173767 899118479 566617888 881286957 502835637 596680905 6907651 973933093 194983979 138433720 675137160 579738202 18615956 700605584 515396844 333329125 148513878 763467567 851870909 328789277 670407583 105040338 477519848 69211637 497532541 341935835 756029177 166537990 101128357 907958337 395287157 291796941 87415389 802917350 313319041 126803204 286373439 769850744 649552270 210567294 711232158 847343481 740898308 203003613 783391850 891316844 446400194 591646367 819890531 988877120 877477349 653986107 276662261 91263939 657686880 98401379 45817585 224653970 966346429 922457516 252610921 449255299 632045176 776659453 774074498 869630772 241180297 33707237 133217167 64098867 220837674 325092303 744073683 434124266 614091268 252602183 302517797 882037901 988243095 195184677 407113675 955696626 244352463 538116622 172847156 436242260 933360025 549435669 255096009 153895331 474428724 216871219 563677951 493454590 958052032 13640534 954178373 746602742 615883929 943442801 236894385 780880348 408315488 595827809 721955893 244673760 476378424 950818721 159082257 107270234 84505350 673642728 967578644 171269449 921487116 109133627 710319582 190230661 140850208 625167632 131610659 292880496 143226476 139706907 196737952 786604951 620300637 990685351 684507180 845049283 202326138 406153904 309012084 471450578 97119814 303957020 331657784 233514443 936860576 68546398 782651863 955721387 760950300 200906507 884194795 228503379 79869469 660333457 593051658 228045462 651129430 175404056 304764592 198671959 705576041 45388123 436158557 114709522 793592235 628188584 144034681 126861907 10661582 662664180 714111920 180488047 871557819 966705416 290020195 132133844 20388317 433376240 368864940 330371020 246949892 883601986 685631627 153812420 890388515 822841215 615413073 828521444 524568316 727579303 469322298 108584695 990033779 199314397 799767118 131385775 7185971 283502747 982922501 36863513 19976643 1257914 728650086 391551426 56482843 31668136 246457252 405171457 996396001 689927457 373196620 899452777 828303205 448215876 586259023 90024448 996778567 320271560 666247339 797170784 363448970 80828154 60483602 212307013 270330907 464831678 287280647 350280882 722514193 572221838 225845082 151615714 146521772 628419167 903274319 244676933 308940633 375044032 476783278 690014214 881608239 987756249 741633500 447833449 372274571 940057825 984838626 78026303 135245992 595926327 556313610 420545931 206487537 266566248 541786163 903746430 503890375 13981432 938738012 69072926 697914586 855443671 872834561 409903719 803191606 359272810 959255112 381045616 220988293 371025577 284414799 779356097 786699694 105319495 325463827 647272415 596035311 581348208 486840778 833826727 503612697 607694464 450554805 381048786 2799171 827087372 824881556 153156100 590058059 136349201 659576691 177204706 206077705 256263202 725883037 134075028 858472527 334073310 918845416 345420263 225375245 190977109 766676213 68375679 26475854 59751611 770276785 288510201 867043151 500166103 752430622 442759373 135111723 214781851 934566332 787721434 126027053 173813501 344378350 387175792 851444166 354754333 362118157 692392738 916728660 256253835 767535955 21816387 826292544 907045772 318366002 153495651 881551383 283925558 983306575 701163719 493486973 536591582 979254738 514475005 663609427 90703918 511080858 624387118 79891747 808887389 617350181 992591093 556949984 37978467 317586202 178147901 491630332 77176588 655948271 731973186 303936553 143411779 702196862 722458204 700640333 537821591 756159368 867775772 588729553 208382089 854975712 802838918 973164771 181944424 876710137 236702569 697917055 842352604 804534168 83418269 530264656 410309745 670086817 56386267 412020894 683353429 277518677 250290649 785938172 956530903 163007886 163838249 128967764 793076585 782712682 444288655 804220360 815979467 173960296 269881970 76061689 327998858 386288580 80255535 47545699 553736298 394632152 593076580 478630223 170817502 307796067 559506992 713442550 237171462 745746666 6865703 281173388 902398544 457758497 301402829 8962890 139426546 159309824 620489460 197633616 196517367 825792305 101570133 973824698 780117316 264955306 921260264 372033478 972160499 716098483 172837041 220387108 698093494 862228640 601321237 412071551 289084959 126511413 313552266 263563698 206211162 267245690 974053815 571378477 811223941 102497217 436741383 64556985 578967733 499772505 445532258 374923588 634959610 845755631 994392066 405377910 332431392 594032894 907102875 814252831 799903253 718009215 171685800 291319697 7737620 492681489 198678868 749182639 127383043 920595494 183350069 481338283 375662811 873190225 575254501 729275968 59430930 186140675 2594691 729677049 705907460 488185879 415852220 406937954 122067469 531226731 22122746 990073600 18537643 347834557 400519391 497129160 474351923 956149100 265771762 82178930 606374792 151393790 12586037 877449701 517611302 756013178 900503387 510015399 885977783 259627005 166515967 182603202 637696737 198761695 927509898 641252616 116874354 381545555 69432129 15406481 406671257 550487535 797446115 956089547 405452974 703627808 975756963 259854434 404576760 958483744 951733112 753009159 624368476 427585576 815987084 976642227 122836594 275577136 964498205 467678739 725550407 280549052 721685967 818890748 663482269 342034882 75500122 448651505 78508794 97233780 778308487 981939503 948670151 56533152 96758274 105247790 877496138 587246430 474024642 835499217 43577274 167935936 860094931 327303746 203907491 563747672 406352903 18259367 739130509 939675642 130109309 246941318 964142128 187830307 69104383 448414336 5132357 423639973 243025220 623561471 735443277 848080849 663728668 829491892 241675667 35107085 17027306 611487292 962334948 633018182 1373482 58152283 365946429 334748268 977549836 743762016 164692943 982428616 326665002 724903259 37082919 216628660 342201431 464389778 385983639 806659336 579956687 620301282 254269970 329981936 938718903 845603316 598388841 119374430 350477541 467104790 581324486 842069778 179435497 129453308 262685689 993235839 151369106 849430357 334330050 385447050 554809809 20697947 1158133 384778540 203175424 405427440 202738349 245908827 614962833 29005274 87600196 420110490 11605387 957091734 49932567 707037388 693738098 678705969 210494137 172230641 737242500 540821126 219187423 156037695 947871440 868182221 850843055 849106647 290858224 320048489 358797292 115293978 320420963 292233680 781901580 568072424 567852284 735904937 284473199 939942280 864377212 134409680 84132571 705797762 103560965 38945043 96455862 228711556 708470388 61260590 587663087 792080376 390449723 731240504 104424301 324955553 164077084 484626584 369893704 806720524 247148898 1454834 932587974 159585266 628593228 859526584 321749048 677863922 748767945 290015740 108672058 989867662 286492427 494402559 557037586 492050604 878325619 443987080 253954710 367002728 122822839 447043390 883284204 923001998 149126187 47973337 658910751 840098058 40977598 756365908 213686403 16120677 120139046 707676266 3982623 935707514 204475254 865270084 99067160 301805664 109293977 274370854 832705310 853662093 783778058 125360969 351251675 679054573 80603493 800240485 298306492 129382666 233839958 941021546 824239745 908232543 836327206 81378059 745078909 736574573 520182619 512995285 907310747 118611319 721084213 159957155 900546278 823387746 976042368 465690191 213647234 633661219 996335231 537945111 870237686 824409505 528949684 553163028 183615983 625442539 776700657 780747897 843673884 37076680 114226957 627890123 39338162 452488412 243229537 86750163 101969132 29432910 984593188 606364192 387233088 463039638 417427266 349927352 634409824 43560343 863113331 906104238 331863540 475152535 192541167 219049597 971702597 30369498 21263432 84369065 621676772 445047098 170184822 298412556 429580188 904580303 862057027 421476859 609556535 580288398 501432206 421042301 191680426 72186297 374825381 579636571 287927191 505244176 478495540 744673680 873743874 566066286 271610735 350373765 241098509 163282457 690714688 566939006 601685350 462516060 368227503 909489821 900968746 909089186 768677535 276901176 28881197 608324240 10147116 195967834 962251330 241494538 9484919 105619772 309733919 243983708 964275841 33246374 752055388 160599191 794804998 917508060 874631907 759641524 592880255 809121896 668365620 21070455 803545623 927373587 81929143 967454133 817652636 885997217 508503436 492289725 383365191 975388555 800563042 689492812 34976093 713408242 186934096 387348106 954709066 876118975 921844195 335545352 463234634 950327984 76404315 516052365 649084421 690114346 132850034 855487149 906231188 366998239 76096916 99663845 244225444 407449396 461004455 447508543 428043183 623193538 46581957 785376681 652231773 42518231 465479174 7773239 432021757 532625990 873456360 83419979 137887721 394520479 310952163 270558895 681770070 918920467 914863352 720663307 4579272 392688000 674701990 8482475 58759484 78333681 578389722 805176422 205171777 505638744 118360633 710995272 436645348 27611510 382100373 910797649 335437215 341577990 607289777 88230436 414718630 50851684 289781799 907468892 401296132 616054204 744298948 457529020 645085081 90355060 487592249 557054842 143042960 957386541 46445256 445616298 609576392 23905525 69180372 637516878 159506456 809140526 706463669 833624614 655741474 948239396 883984937 604095653 424458573 66641563 258484102 420862143 164507846 281449542 241946497 688886552 378330050 782797383 917173575 221116225 832829028 283360022 522547531 163530263 959095695 782085173 223046031 76890580 281326474 800950434 732071153 272443258 947982406 491232329 763754008 428690239 128328017 199341850 991983812 222047789 722038732 110990253 373462774 484244729 717476506 680361138 695068896 329967011 246139546 572455150 997153904 397911700 305387946 144400643 357259426 937086378 535356936 639443481 140353190 618585434 832925717 731023987 802001199 921510068 479622131 71584743 109523807 335576649 954570829 535813798 864001233 270861442 982582714 548183211 187830075 217637689 117323976 204679121 825323814 504059132 311621608 147223554 725736636 243527499 772928856 330313266 409221356 409655085 273948714 402592103 729966357 559973779 915390468 682185790 79973570 737539484 176396320 120375064 220917854 809628554 604601240 79130990 138692874 638893710 680884187 102225347 315804515 829949521 910557592 332445699 629765283 287363150 618444755 96775492 782744024 118510823 122914554 916557843 722120451 764287259 650211663 610766304 681842381 444757583 2975672 352472757 789718332 816924492 167751257 888524113 588449006 21742947 175186542 377400560 880780225 733640429 3325187 19574124 951408133 797850025 649893412 707830247 351939047 163023135 888182390 627437720 169356382 964031498 639751354 347865582 954140846 429977503 253967322 523644591 927477742 921284892 222265062 28798534 951657250 801838226 450950567 30995610 621265513 552070459 706536716 861794296 124394761 552307592 346203791 603624638 130370178 492266554 992608370 645741029 589041305 411773745 788311526 43058798 262386980 598428208 942635670 869706285 696456150 545448056 687265863 650636306 182372803 274487976 126935802 975296204 436620206 84399950 499011255 509183868 54917150 575369203 907473022 329146811 469176046 236022483 239756008 326849477 337580759 132870265 380654291 156450748 126748835 329565575 472621193 457837481 841387873 926117799 271069606 390283913 697924813 546826990 989940634 325015068 359881965 238457149 852180424 474920909 58802794 745303755 467536025 58043861 765903655 30550509 767559808 483807473 787138460 928572930 567740596 412987011 326162916 883225654 7569486 436862210 772641250 727783681 394586023 677370046 734003825 758428494 579748500 834564365 892974638 685774391 670732704 958241521 531952208 237951518 506286294 802392488 555412891 820233382 241542196 150481164 175023474 422783533 100731368 539134307 721094608 378284004 587229895 692355592 85571216 341066346 34048660 777542835 364201487 705908046 976026301 25995858 312473206 763523060 545803180 103307914 867586334 442202801 693887677 887395499 124171661 424120257 417491621 389470261 894990885 248714960 183603167 973701101 536118465 157013876 452140207 690162219 720382814 34506932 375914540 508432622 647980835 980020011 236109097 299565612 256019153 932213733 505331391 88502494 493591453 8591202 603290995 356931946 928577836 234154317 793165552 391654000 264359478 690693336 872970647 501874635 492610488 177316205 163475357 876359405 450255442 773230787 146796903 582869851 193861896 292502679 72653270 936311952 532033411 999704137 443569296 948603576 159626386 217119424 702520449 111786167 715408282 427176498 545318004 617251280 852277866 662957320 398485449 865468563 232479768 308900174 371934368 141496460 164140210 549813145 808882413 900095828 211720361 880942806 518671122 867618797 585135339 520916490 650461275 387192947 29912637 591512131 637737682 323733615 94323564 790340748 664491373 602395754 350153524 302151956 893230395 476431099 782474629 533565728 845515330 905290419 181176918 137585502 192137135 745408028 736430425 174723704 248655572 679778008 51795272 621859533 884323120 76797770 183371974 457083130 159468642 750192276 634227107 804253606 641980624 273384757 240747615 292094128 532191923 547525257 579914988 587083162 600184680 787169905 2312244 433259024 634373062 568559830 223201443 232934268 727022212 330697706 67452012 695712146 378127478 529518055 754669352 630370603 992358310 769712490 111798686 195416380 453010255 954547602 524357643 165349945 877121654 575064952 296881381 182092311 96650148 609572476 337744892 611569632 122280369 225255361 248608418 227544716 266195076 83428827 962588879 696116596 877950683 227818269 881305221 158627689 154059760 237766444 998711726 380330327 745686870 900163266 771461250 755745713 190500309 466513843 152948804 716458399 984141886 644520884 967626607 778298383 769246121 474831502 708777509 984474123 47529848 285968571 790627851 291924984 113149326 819957581 874619652 701529271 408246538 729980988 371929955 473697274 402054169 640048507 596416902 741706498 562926831 594908647 307825174 501721837 329499236 295639555 886787192 633977627 948380938 274247114 238935713 68291739 155461441 266005287 454168524 519104032 392758001 857513305 908942338 657605947 262230782 89551549 11460307 709129018 19792536 404480623 470675596 386782714 580152925 157961479 122708090 587541472 408976131 789550880 932043874 216604190 171127383 137801637 267672035 551324786 954003564 734548821 444597625 8259437 174846587 622965623 913764067 550321525 248180699 405051310 712774836 451089332 798177640 155988390 256678644 451363138 432115104 774531155 17452740 799462340 805980795 408278524 441987397 10883572 68497904 328824412 100089558 128709872 386748059 206452918 849617213 627101957 674593631 114637272 101628446 528994953 743451895 713512943 99320399 609760545 452187036 336477409 245315867 115513881 832834372 111902657 662500579 639094934 384416037 735637460 272872996 770733942 5653354 111678026 285950478 688381883 725414019 182350247 82877216 242488083 348894039 514312395 698474861 721194222 634568421 666878480 969548703 263684238 695097981 243019272 787503872 180755446 598105412 773544918 538789669 828476957 642299085 427448784 397897920 135599906 84213112 163089226 375294201 747339653 939981656 158666316 170313828 709981317 594849434 654973807 192179535 180407670 286835575 719114421 178153007 199091271 116494257 723961688 12653996 370704787 702072083 489226791 188576460 836342999 995383293 485525 465955516 410273429 271214778 673697484 419448355 387500537 981342159 711852716 732343530 6718383 668734532 22870608 153874604 65842345 963000089 638847545 822086908 145217960 52900014 274531939 976274393 302356430 507399686 548470361 222217187 784403595 712187701 659012168 863081538 260462268 174269031 513193273 707991262 845049089 856003461 365457039 709475723 440807799 193660510 407722756 356619964 995714720 314074107 109361870 573489056 204066816 525856312 25689397 43819386 808734808 9148538 501994741 245206561 387661467 351267196 715302648 66463490 236930256 243726798 613778451 172761641 596805325 520705763 274475231 87450082 288341850 213037595 848565699 715303742 162198259 550938263 515735561 206361533 452219914 120287130 192928498 392853435 20947929 94072920 434335490 33267614 410776400 856196601 44568726 844385524 272585342 843237400 784266987 406495089 216792548 52945994 430942588 559259425 119422688 997511498 537413067 204765125 981557910 659936460 178899766 318955400 182892594 759545764 144937385 957498627 709495536 159975276 310702794 620832714 73710466 874577587 909495526 159841673 835205561 131211304 204088877 49774143 197190857 648972092 174125904 304423327 33658516 846932748 586176326 363537719 15010515 551127647 42504189 459723972 767994146 247195376 312051504 273016089 26030734 123995076 535821793 652129405 42073219 59996316 974834260 278415132 969313941 939532939 18068592 712665357 340598786 824239584 379835652 585410605 218651234 418941607 135239146 295958343 182464344 34528417 180852778 962682269 779003059 233167948 19698997 437325685 88386606 97158846 593903717 389585780 273826679 55229540 285342113 693687948 854511628 446535324 701231548 472858666 448178117 228815788 214540258 966068935 340920415 806999520 411287916 983134304 242354812 948295468 260094808 140661469 840211172 771273080 891857965 600652988 614796633 243244018 415820181 648977333 455183465 294801413 872659789 736480580 456268661 87410045 437376566 144774812 380194779 459357885 452282506 677676157 196090281 777567569 750563735 230438047 596823762 432122248 61555860 191994315 733829772 512011148 277426478 774486722 344525991 601729086 242870114 345777919 414961433 637151159 380488197 347079900 837942730 646586064 809747137 73519893 184775020 997309608 113773249 411869811 86287810 702593019 981706714 783195881 835025137 553666282 967280330 649461677 831522827 757405873 178596640 397943468 263399658 596361512 75390257 112257600 143382396 641298470 767088086 226678510 551032669 640545010 403982305 886996148 494640403 425978062 956733348 68723110 903805218 62332076 244067604 956334249 276179165 830124715 772419080 713913923 425851035 407099810 44098908 863166194 166775751 180927515 320947114 199299352 7683525 119968014 993217248 376379254 829680315 707005226 880871235 479406520 516580800 280118430 988748186 401732833 375590861 102688946 12786423 539486361 170918930 216149089 486737004 187280034 168814159 700803572 162301366 510162707 914713145 885461162 225444094 259294998 944428046 591293575 824333509 828439446 794089940 124153267 717702676 709885563 384721548 20106629 105204646 357947236 409598929 837316129 783395441 644287182 52314504 619119564 424144026 773389146 854988974 993462129 72075594 380436027 945155094 781746968 900191904 224456324 970682517 488677809 47435223 273427416 70279648 110485488 847780807 107375976 46340887 295075572 64572583 5343759 127200612 158375318 706627135 275963047 364566849 65251548 939867657 183945658 597542854 675865796 10890602 948518011 897463592 778998885 850235955 533114131 306574960 766814516 19680052 655418443 345425325 143667067 965307543 491624176 49073778 959573934 895548737 362943361 986442468 455470645 180590431 568577095 455540362 683955148 39094787 276643350 820148020 260501446 13314399 230720587 266023536 146256929 977590256 592460373 332845917 77663770 488165687 111710963 548624333 413576690 555787958 503881959 32177667 77138951 276884642 481295146 148215208 901651524 145068281 456253301 635754789 86418090 676601112 632806464 925264122 94537577 777236156 33956623 397791814 326352223 177759917 101428842 558659019 86531183 498831703 957694871 359502120 41598203 478462567 228633800 907955160 445438180 503016457 120751944 691024785 136818651 224883984 905507656 272340360 623043041 817121444 781213169 5196566 778211600 601146927 785523726 98963374 307074482 244506249 874932492 679669218 101700049 887303839 997714458 35033481 718652024 764945333 951065133 333314945 167795087 189486717 663511443 8501417 634046827 682470550 802253511 926587766 295969810 897618328 459874531 75573959 33063867 891971017 399191529 811951782 238293403 181782576 353758002 296238481 639538713 160724336 802795976 296936914 260922238 378897802 562701175 415842779 135858297 403347027 378646651 891753301 251632367 127417160 959306638 974074586 233424400 628491938 355322406 262035015 509453583 59297679 318727989 394316841 669857185 567512661 351706310 461341829 28327001 144832257 486874781 684388502 624518947 858647825 879714973 216512918 565906509 352335518 954519249 102044735 357401002 807119269 588242810 663322227 212298907 234385959 105681937 340317933 539500419 560842775 175136498 726193386 263357304 987132300 273442276 843680973 202408495 989508574 118350483 392472656 759565290 268999579 401993553 968502273 162708898 136060764 40903709 714897667 537090202 832446692 89496663 405442537 25500294 164412637 884371916 694277323 900438793 946821893 278861118 7574462 922647048 254791172 510610173 559048769 822627897 605433314 487767966 50241362 744240622 117228006 750701744 204925112 859688363 696936359 764168890 7969374 633428594 748301310 976825674 7449717 57308645 726799144 213314985 222007169 202043977 876414982 418365699 462197561 245867734 234287070 333470056 208254915 314102456 456942170 434701763 205649305 911579000 19594913 70140972 541800110 61746217 795844723 425403772 833497241 771760962 710370994 28438112 424525914 370662593 117500375 960703269 456303645 114675742 371599942 199684733 546146688 720180633 97023731 148131201 275441280 760364117 77926862 522608336 808027767 369921955 728306904 356157756 323566569 855203664 677298013 474331480 607314330 70032407 82083595 501237005 37837860 994199185 90826991 790917342 789979476 454625167 259349893 307441292 116944546 175772913 924844482 340325018 106439454 843704761 707592898 902814296 552894466 716071021 413516418 993045498 711676973 21791134 460575120 461242216 77446680 887063644 40247216 701230975 824085365 761159608 910961096 20982221 610548955 98622361 947105693 565212086 135801960 159745663 296215397 110489553 560454261 355327354 965529614 128742770 729271071 983114173 117641709 473691108 189162757 771999130 788916092 458282103 239087611 877924830 21209061 943338785 78698760 106697636 636245509 375490552 586429066 110351190 678948492 333501869 414342696 390319250 733803272 720591998 632581006 292238985 635849210 325108582 486960576 835934276 197049869 710867605 922027889 376211586 426225719 527291046 791562253 96631500 70575783 317860621 585165673 544608951 561711163 655881781 98717149 118037925 233278268 964910133 255054499 715818138 673138791 738164553 676228313 170752826 751302855 500660486 764509178 497005525 669405528 268160239 8608061 195211224 288255033 97725244 639438357 197032249 219443697 137272316 830778665 517481653 170191078 638846858 126875157 804102654 752363322 128690998 231992645 626370449 976429049 69561580 98870525 735006988 552667094 422985699 194883992 188170817 176309685 233456306 890326554 862221531 9954686 640064431 36428817 692991993 460856535 28441690 403088751 494920426 656632789 982716842 388435094 724922735 856032660 273887650 366556198 677693698 801062675 896492438 567218394 63254970 364041833 372401701 515520855 145194294 725285749 163905780 800382612 543280871 472646665 138678089 98278175 152945788 307960148 64241726 2888325 684060821 27910603 22939557 116873799 467427058 166956418 358291946 937760635 517729323 177007981 836871266 116833307 146160325 685541578 361879089 715349172 846231300 971045863 111779609 501319163 59539035 929713992 707165380 310291813 481450868 95721227 880733302 359402742 550202954 235758539 345720318 153941227 255277952 527874813 361890937 23338289 546050614 229933982 426277722 869634646 203084685 84656552 684012860 92621941 778966127 586617934 194183618 52645227 491247017 745722892 844706295 379574411 877040538 569211223 919764984 165888419 790582910 930611194 441675198 814117691 602013731 287867611 882621538 726975992 923012375 8761136 19584349 206071768 173920676 578807004 266065737 543302561 760966190 14799358 855997812 646677403 67496868 425341773 970177083 386437065 114252356 108877152 119187671 48590887 564478648 281614759 194367766 992355549 56051058 426650386 386820851 636519405 160119948 514213216 404823642 150506027 672653711 434855875 388844961 119365276 116358605 331090162 748096976 87477123 151239035 799387056 137857981 117024936 15530306 692190654 916164546 256448444 984153547 36625237 550900497 233554710 535163760 936271642 473366381 761466259 845111763 829622673 374008432 770830957 603052944 405049272 793449328 551300943 341987185 801214019 677409651 89017080 897974414 288278544 244629065 989610699 158152830 436144443 90477949 66826577 184561227 125043381 769120597 447175891 147247693 963363173 735306420 453468655 315675130 756339570 90215174 57041702 838089967 322180904 350705975 52203372 826527716 239629983 145470725 222321323 406805861 318066859 538658962 429506409 484755696 842396366 468706199 166228023 275196239 162855677 227381041 319623044 879706876 215904174 9877016 726368838 443703867 568785405 957396547 867384364 794850305 398785210 313548144 661857063 595393493 996737560 733819160 209627591 797005581 997153655 536075554 746323151 765053176 473344570 197087676 858505016 216810878 455487666 506190211 742680562 377668240 381293132 162809548 837113720 684676639 15192710 183448607 869577650 995680179 951117511 134865246 113587377 347692084 917709858 516641144 635286691 426726547 428915537 424356743 607837596 485191367 876441242 53548992 426845854 150447829 248649002 40409839 218348523 493854038 709838437 284895020 441163218 7855917 193489825 714037104 706247557 867220023 794716958 836320238 490952792 473149076 312795153 75445108 915692574 223885199 335431883 267996469 414032401 17526310 104765074 902578007 967453171 656939181 295470947 591696795 89469788 323258902 562213042 938608622 147738489 265902292 957662445 587643921 417870582 136581172 550369806 589240056 921749459 215395741 836901977 727865642 384452122 958026435 251847319 798780188 99845422 94451332 220994761 637958224 480906511 165723252 627447787 622742563 495707905 236905367 401288873 147218398 58876033 886091778 123304340 912651373 513410260 870484742 376231373 103834132 155539269 650383874 427505545 76099693 163472471 599657075 22096651 936585264 358147611 938903539 195267123 131322662 358558765 837209043 260071801 39252119 391749171 185791809 703349994 926452518 872357259 472832658 628743402 64553930 827192171 747733743 166793722 622196921 588976396 130568144 531632564 169090416 680211088 673716631 685053530 980063428 854091980 367600296 773282085 459993228 496090390 180947784 492545531 758183002 580723596 340708365 869428043 175142882 744511279 953494964 973939121 880927954 547923767 614012987 525805953 66778043 951866725 16492890 889813888 619905204 389310811 119222163 991765879 983634841 769760391 78527867 767363535 926526790 800580162 401782486 506113747 43936168 241584805 386006137 953123035 641087986 577496378 84221988 39586717 137635678 130396475 963289670 759124368 565907094 125300707 627994891 958377471 615774606 936806278 342703405 753682304 510050218 610710640 536802497 555092720 207051030 762037639 975143519 695780999 229895258 735028931 465973819 144676574 816299704 106817737 702693364 84341226 382937984 124043488 153747806 701119363 132552521 989962107 261194475 447609006 622678286 2931898 223796536 473521569 247264547 22839669 443487078 61509143 942466095 188100409 46658012 366040604 339794663 325102593 156528759 998419539 552713466 659030955 813822374 920225729 986846359 488866891 219607372 708768268 839522155 360297810 393581525 830007814 544803328 396130909 863881684 721878610 176545367 442477242 373441005 796522382 166196565 989247287 103260514 518359052 289594656 900575012 632217235 841412136 225748723 32336478 193370066 894335378 207520920 165270347 84208802 234236257 939868104 661610051 389223886 178217177 440809257 595850912 920612777 665718432 355873738 947679356 985863551 225285787 246243747 888227372 630832216 648856116 683176032 277837009 95598422 30492848 967142728 41016154 736797224 19999928 7799779 705280721 463736653 196939082 484206862 250674448 609131005 265214522 12272939 699773896 303197710 310306583 714316391 997983239 320410281 429140336 457007758 863996206 890036258 114224979 176671311 777414529 981854987 459793026 403441291 682760160 624325347 510515431 432840428 920093009 227853402 364233456 237119161 983155557 34822214 449932561 655740843 475378990 580913605 273615586 233430839 624856655 267615863 224411180 430498322 527562484 953605743 746509311 430935968 484082569 723920771 6278928 284264709 451633930 707142803 558894126 246027731 334468709 265670545 538080909 907009388 131948162 696696783 85597331 633821272 833616108 129417894 322073708 576546175 394169444 280554729 344670987 760081160 124466883 314682082 919469243 143073071 507532967 371331836 247840162 918499344 96345414 40488487 816094383 134936376 189592750 968945582 579051925 781094439 423992345 948409839 87205929 892751904 915395636 903468697 441116857 277550239 831504032 131302818 217120554 682200547 162860954 136426452 29023083 752941521 828297613 133069328 812700212 335294381 421641797 832460885 301061148 621685197 310078019 279080090 741712899 951190935 910929508 330225055 11364886 614013090 864290688 25212163 417202081 377669032 60379052 196656875 99209894 929153670 758072646 837193380 647943692 500098962 298488534 128064869 732232148 301448691 685258653 334573001 867603090 23605008 307101909 245127177 773731086 201562385 827474108 397376846 684724283 929426220 321787877 636611508 360323471 7957127 220509250 623534389 850050399 295886518 518642690 149358843 338837864 131161743 376849539 47695409 523082233 495372185 372391371 785796658 5120539 299169972 961800386 186624476 634142178 523508357 679448208 388428832 282399360 290133780 488820597 641657548 842249828 661997353 29264683 187387995 844606086 378582495 212883105 730196325 977143028 864468423 127536215 596822733 627421091 875919045 755559279 759072623 740978527 793778394 287206865 753275603 694420622 664795842 217648024 884621878 42707083 98995609 318032090 418910753 492688618 816928795 417256210 791059052 577180925 508798663 80996999 345357187 135261395 152001053 658052487 171319989 378743960 851957084 189530346 787992554 438356694 2677822 737290817 230379899 702617715 36512409 810525566 585285143 199761597 196663881 279629649 269472085 972188224 936750265 269282141 160322921 780974246 134999291 798423915 200589961 75228031 343537442 864388710 606731575 129977266 267433441 95792379 952951640 743326916 722177361 387310449 785687912 787923741 664317479 212751125 643870889 353504975 9420309 446968829 186787680 363357313 340345318 818136691 642178814 89818393 906126637 857263332 799411829 959028080 298151457 307216822 848781191 37747642 519966467 624192920 827811252 526584621 311565985 988351961 672469750 907622885 819904676 240363443 400020480 342056987 238105569 144103120 276879631 63232672 876245110 381730935 287626803 13728926 675891062 320083693 704997221 287491357 612293294 996100508 215943308 733987017 497581919 593846692 553126331 998120428 109325659 285764262 835309043 414997470 52806172 975096140 190422665 59856616 112596815 88848197 748578718 407500368 191320156 98543719 116165639 485758572 919901538 220522232 751265496 525160788 50244538 158935959 645511598 219868935 240287751 206980141 712948913 599098161 472090953 536931376 95792645 252509590 822300546 852204383 767587040 765562249 312720351 503788813 821117671 734591481 46806118 196619490 182320729 156929262 414447549 932541553 377828575 657299308 28161250 153905448 642928742 423116776 43681558 161947049 13979893 623212147 644661271 506622027 92105326 196986867 165241390 445528799 16116287 26406935 86026560 524127469 121760788 525311106 992704149 908030022 40261623 442122708 773300433 926550962 137982976 824122895 222602676 68043721 92234536 700684271 233461022 239978556 974310784 757151051 607395503 754426626 297974757 992432913 745255690 496587490 70368407 951393400 935297696 50627857 204544998 92329951 592128297 918046069 47349197 280135047 408018703 679650042 938514913 67041323 922544609 661986815 534917390 920978052 54602996 832896694 269487470 248223455 357667412 205501710 856680873 663271332 374829727 502228704 456863494 319671998 36701962 372357816 178901037 323291316 959262964 168309483 351166065 453991908 792200237 783371557 32754496 851395145 146925221 158756480 591602448 486845252 691914909 788350093 168088235 899984233 10854128 497473557 507376620 378508293 675538125 395666809 130162040 470667181 454940036 86927708 149925530 550228967 361705234 177332811 909656164 535176927 525135826 656117750 177407501 252315579 60142431 343491199 336118620 922941877 743071839 899994720 195121537 430162504 951525826 51924384 981513346 716312052 14772 376382913 857477896 282983226 463340286 235778447 227608313 832193105 259254464 615022137 76440123 86995115 644460231 685284289 944509884 226138091 243518336 34661710 31150088 158169410 948996506 843485690 260660897 792856551 247092448 108910711 756271007 764800232 869788029 265228210 281832233 629430118 287249720 802669293 618624367 164271019 461070621 252554202 106611977 256843128 19281827 579404854 177992259 522072045 463285182 32775073 80361802 962781247 167802168 354588175 851725263 485635937 193738824 206053550 559567109 517968995 439499161 893349888 37673989 225753834 192637590 880927824 419871368 285601481 426926569 528907956 797276830 932943067 585401420 483762393 557495074 500084904 400969352 113222187 44084040 692769084 815140371 26711826 334947490 969512801 411243563 623552577 217155859 266694901 683558604 415052164 589137102 810210480 458761697 259323456 563020972 396937882 923611904 588235951 669444084 219361722 541419558 763855700 786814072 14973829 480719707 655416728 263124585 973794459 166006313 88512510 858592338 357433499 668930441 3393907 7374787 57870200 12272473 590630146 700757425 60890341 129194379 844374484 565477958 721647468 344807600 267023043 783647256 745455062 135409346 92678484 405049219 260492363 137813558 405742525 215076428 535625893 478753334 119373533 670004643 635030329 563013830 858757202 272249527 611897856 706875335 648673002 159887360 713499613 640139341 700342988 699522939 616404752 464098244 422174920 514313651 313456304 214965080 337565879 300164742 413170041 681209961 549719174 44370948 426305783 774693954 706568040 462918625 50994822 186111549 529433319 920541170 872328557 892034522 503288354 246472344 253628676 144912642 921490831 191597630 968152995 141205053 78091382 739838965 526277393 560398294 414045946 404790398 287279398 708442242 542386483 790759816 679433315 365843290 379148666 87747384 918784659 135400364 91440671 961404866 273255947 250122350 982258079 754318114 59295383 20761989 997929302 634191037 104927012 618091839 831208237 887512588 477141183 33884258 509958362 354196848 178405321 739992113 941794179 472336882 57561277 822622649 221952083 93831983 194022230 556188002 114644951 940748590 680568217 971038029 54348116 747140498 75841071 977196805 100436364 142273494 733718241 705500578 400979826 903306514 887179504 331013027 578095010 153378225 210704680 967422473 80183405 441469374 471302387 212289500 894947264 737008420 589995423 956127278 635392403 988361406 231823028 212699291 305660111 910501371 368775393 447934972 162973597 953861152 38984386 525382632 500667010 735132195 136723964 724516962 44494910 106412117 263763817 603277592 117168348 813462653 662333408 237448096 527645719 275087244 179769310 585348393 243097979 308625324 959640640 93764381 548162229 206962709 147286019 20396862 777198341 380504673 406053641 685519301 171713734 747832289 98113363 956868212 508807175 245099741 517142563 168661066 560511689 48347617 130876891 168959173 279608558 190821934 535461476 646091611 957848429 867029711 573371942 427640489 14631657 399888799 219917283 662106499 38755601 287150630 267699856 427377950 199341663 278781952 187023060 77386108 687710173 704712755 866579094 106822351 771568058 258551886 787037058 108117574 186450023 464510706 720938976 154295959 264845055 673043478 581324579 39046178 353526219 312233816 901218445 650014453 645058831 134143114 284658139 381041074 850462136 564125066 900407604 938826394 851814290 816828936 502101234 923954293 840421918 488071189 195363368 817907275 940672254 477479663 304559240 579297584 856893430 20468093 748120056 692374303 537910456 63831394 660871341 540944000 997073490 78206432 915644830 455872044 719894917 148055335 999083256 548155363 66821201 144135494 358211552 662042869 710444678 822811798 566629151 26658541 882218899 702510060 349208952 640881765 855910813 774107516 602392063 407469238 211496237 136266482 542537336 61795080 745629928 290378763 229732653 584741919 665786747 296430835 530665043 275015003 728412229 613743018 289418830 289557283 353497955 305857859 393355286 389125662 986644378 567530891 220652799 692075070 166404044 719151777 288737034 55598392 86203987 610064033 214901083 536213166 3403996 990664980 366815823 552050727 729744013 540362998 45571448 385453294 406904190 160862723 912109970 700642777 19097765 568079185 192516451 717710654 806610180 589874189 110282917 884813679 357080058 688222133 741641297 439294954 176922355 286432984 397202989 937279565 928674415 913090915 870853889 438907185 496087716 597981694 286696296 725496734 118951925 795036528 926572076 602613178 862572220 594102847 491831418 298771903 202464983 719969686 14040170 277429599 509794070 375598685 866455301 162634531 17770671 6045216 704840294 297742476 199247643 479316707 481537387 306763895 985341685 10909061 406260085 220163910 72433312 787860118 828683516 682851221 405832431 975957806 966790198 458331373 855353233 601279957 187728191 800030033 588997928 248348534 160159441 466188228 456621407 664177858 801484473 833054190 642959851 214355638 386850704 578547521 229903300 101583202 995753860 927705635 970351255 611466649 173594426 267576991 370268284 970244289 553009536 975117820 984730163 112940536 385856392 287986545 532394736 655275360 411025926 24595589 338180129 85668688 989091910 470247271 64202418 461851265 613173388 101599894 142148178 87159137 692899698 296348033 131734707 653764248 820120107 4889466 91609050 682107186 947034239 672320240 473146894 564746941 61208440 160985294 756083016 375578953 404980126 419256515 671300252 580761058 435225204 802070144 7926759 300871785 44352352 123905419 290308442 271934492 497931079 433691851 654846794 552765254 297847189 580940685 769266551 922841331 29328552 375269245 143765936 473462966 7828302 870838035 224607665 751813089 459509374 583757386 704368844 770827899 694395157 428794492 252695217 701000247 647877635 165402763 42910573 387814505 351261080 890631384 3824833 932435474 117339787 209937327 529194427 5490420 773862456 107451350 377539372 660470814 851060055 991110419 980452767 854833747 869861510 277620263 863283946 272742624 618491019 751650602 733782786 780785824 242758863 42657109 384756196 266322896 773256939 678308276 448309427 235352133 473528811 460272505 841171600 782688234 762389396 589381723 495448757 124966230 821951977 173973176 856910484 212142581 41312941 660309673 345486680 881494688 913603986 389817911 453624402 82531958 289999587 479328013 107693770 656626529 767984089 466966125 306762831 359154967 894879506 248714915 536876521 229071036 450166106 717056399 857649536 89877070 507929563 55470054 867050254 660036462 91475837 995522361 276251443 10691524 728465953 527910034 455449 768293808 120967458 773429766 695685779 502427542 384585694 331456355 928551946 510355068 676021737 611439273 592529381 711447047 42400632 282080350 948643050 404594329 273749143 874465556 781689175 122848202 151992229 635859225 599743677 969544426 201808999 110234404 291715867 333957765 86162424 956638085 311586312 903248511 220246391 904083836 630738 97603884 250736880 944929241 385894115 158325345 395691227 409450448 861257861 888161235 277402163 546072080 367004505 3567799 628920087 581147315 954801543 686709749 544729307 189322246 660083985 593363697 308607630 509077460 871995030 513394726 907623631 776249851 437495391 765731891 958974951 691584776 24292380 551821762 77690356 481503409 608074634 850733238 786891996 841392764 93172205 574250264 166440973 650061863 578385165 253871746 458614734 307278057 995198474 461654124 523065566 4187442 393865982 227481542 909239371 304002368 118014696 40005422 493870930 383305769 684070539 721312740 132944217 89321621 447706182 370967232 657164598 129740957 501877884 731617863 369568502 620482978 807672657 505769835 104013221 274023173 909367204 965948927 207360171 506255692 18106152 167536967 773236135 605677479 559276115 144679944 285094434 914871047 260543317 173298900 313842942 838575820 940246488 106223325 596290737 548995211 289507152 74688429 37759358 706624023 233556019 500897617 490904370 375590370 581720287 577401348 392462569 728109172 200241356 852164791 792172057 275733589 940919975 774060686 554239027 524059242 726060868 321050060 261568756 763150533 651645889 677569919 706249108 565472873 660557750 861904889 741341298 512668249 880317359 551028221 818367823 578067259 812841231 473226552 491452582 676574152 734111842 85837517 840699582 231831667 398496885 923035623 382925457 43853871 663853277 722781238 406579477 442393189 977310951 190105628 619793414 349550796 913374704 174387041 40580145 498781510 576958684 148277603 143605072 164459822 934113464 709854332 143482933 868334621 997759877 691884817 559165827 511055243 227637646 713649477 104142012 945630840 747922087 984664583 863395154 658314503 658296798 859950753 202055794 53254644 332702033 41469679 372948316 475326589 205449760 239955439 282686862 943126683 675446030 846862620 38947856 57727149 93738059 186877344 877743915 377841441 646256677 829564993 926614325 387969091 161170815 952034182 141609252 666282401 673520413 809029084 580100921 269762353 785353492 105907094 931534019 428826003 175585630 93763637 131051601 202596342 845586562 969999821 449853496 676602616 870800005 250093284 946938043 679437819 530640134 775079925 480829082 18801194 38218332 110796060 740256722 740839368 486211693 97205040 76999943 44013481 652889926 76074335 185206346 500611864 50654110 175190266 475239882 496064086 929174650 245079761 739204360 221043783 41267069 378662278 184830489 96873738 514055042 254758514 818444949 474136269 988192327 347340834 635694522 406292027 944666952 744608202 846194963 628139207 152361654 607757245 152250215 155384069 64248289 778331302 413055164 14361234 532133664 882622833 472920155 232463983 47948826 952838614 786174337 385178592 992462349 548702182 304616785 789571765 199931385 648342650 465721786 733699537 159534619 613113492 744905959 650260304 73230131 572649230 335739375 145858692 667398284 469957436 604099740 856431918 126858069 818765030 650476666 910948348 889769515 92000797 725876891 112192125 176040418 213939487 644058842 389407272 217459091 956058950 228203159 506711505 373410450 194927554 315184099 108916606 203194957 990310316 875985278 87739906 475169608 525005651 660003368 531390721 426856489 145119570 636499479 524660136 391208900 49038218 180560570 217965278 199985981 135632218 360047679 721280848 644299145 218811707 665362544 333463399 819809248 226786004 337293316 54795591 923350732 974693328 579278152 489503419 319239429 449638666 191448582 128666321 24446080 223706092 617597857 915354088 365309064 169115276 50903377 572347656 860716966 94048884 282802989 369569613 737998082 836076258 974344002 175904748 723926118 826934772 12481880 38462667 221734819 16416649 676027720 96629715 20059530 651874909 37613486 90778151 596072147 293667811 77218013 275188856 274290795 212553053 182268003 522551157 109832730 323751048 127203894 381569803 681055525 318977537 808060095 144662885 63248761 416521212 48842905 43275257 551439029 925174058 646890662 645811568 205027026 646319316 934850434 267672539 877810712 276467729 627266535 152578287 837345709 125259916 95307592 158640926 473751811 487312532 66412199 635535038 24671862 193172796 350667634 792958656 336141735 534155030 245154149 227067808 533737454 30413526 636349215 183035156 34562885 70067530 842994475 648459101 854269211 131117883 121655891 113274605 919990344 875645608 837221361 342350685 797058580 768491122 915486932 46996481 51096395 155916472 64358715 667587475 512870994 561680050 194887238 670688698 34658041 665388620 158717260 280426523 845010780 929193882 630294392 521649 111217274 588813993 75441552 480426627 208885102 257950366 972694209 47664485 788808680 773750876 724361932 916892170 551022393 231038935 426494443 252363497 650529135 862435062 376175060 882125712 595138290 45959327 299109760 263698821 42619438 206030197 593963657 744242061 218578780 994335776 249362524 383222030 580970809 693783352 947365446 652469156 913539910 765494095 518975936 4379755 143778531 841013149 87718448 216528792 371623742 439196563 183723795 101158102 760964284 461208113 376658061 38280359 231572395 811906582 669005855 431944718 39067307 533850551 615598 729956610 90990271 244369846 166816043 58038011 787249361 308969965 51010494 33446638 376818486 796898647 581173734 190709690 321337772 577906715 225737024 625355299 110384609 734555139 688704161 308712346 704084887 550142673 189281771 13827639 199561316 842996246 461619393 31779993 989913560 786375229 254259809 791328768 737421113 248988992 713813126 451519891 564228933 884763635 564004163 714331588 38921171 417641294 795090314 22410862 160327469 182128993 746325547 286928411 121115090 729483069 421095371 857974883 701438764 292061988 907267785 353554294 826576983 148933173 590183251 816420369 391618538 226086011 918903598 457996155 635318936 912879214 626608961 179759981 422669921 460716489 903622110 55249270 377998826 701237549 277827082 361881313 681251474 543226037 978267241 80166038 546576726 102177518 343177528 196902075 426512629 988823323 525497747 182459454 749449575 3451012 846312635 737080234 418113995 544649710 281428400 643206200 891160126 112159975 430098123 708299575 222004215 717656570 968213698 636656071 851246493 277292408 390497067 722341652 906568282 647762437 90718728 814236988 976532942 949981320 570174403 114386226 881214534 762684971 317483484 883947715 535200522 628774351 109848041 419731900 953248778 128373936 719459291 615569191 162335717 860845969 158668840 350624384 490289460 992529342 815190562 469538410 617718396 650308901 940746389 421712134 490722821 574313455 720587300 260676637 206770355 122163824 950946912 98867663 276314526 865299220 393448662 843218747 231810986 294307119 475504893 651063170 120385715 173520981 632107457 296814681 40738270 4728798 599789894 279566067 580775054 747682540 76149970 313299566 870812035 846817299 299690952 315792613 124075859 684356681 430227707 223048911 865580420 95669763 576221763 59468445 772914930 927569882 973799386 107781739 352369379 792062556 326273716 291935800 360638853 121967051 105707333 484768718 94209070 774704831 103118531 655332729 930408956 472229575 390216775 906781064 192922436 282588421 69428662 612362442 114434057 664786733 739488692 235155189 514886297 890909870 628136811 368955349 83142882 890029957 405700028 381601044 497366515 524351801 715454432 204829279 975618366 62684065 591699795 799471999 788996627 384490322 57600088 266387066 518607073 3274231 703956268 948298285 278460023 488748488 612481162 654246347 311096552 333252828 314048038 10576289 590080936 903417213 984342440 464699242 160562986 498544356 634392516 864015845 866253576 113213452 594641801 67246525 438707285 276595389 767092742 68160442 849159347 944640861 944106279 555398178 743390492 379067464 144799128 78077841 926835279 310668587 612844379 833883074 788846996 287908348 230226972 954615589 64804356 194356403 383414383 687097022 812302977 955515194 480144504 65990833 739381181 103887362 208664994 11433673 89534034 4548319 456520355 211689188 738912321 433185270 722376394 126340643 412504973 939412763 565930944 316228865 485596608 163588945 873303797 817880869 875797950 337168184 252528132 587358414 714638437 596539260 767331351 672049705 776053397 138111259 938062311 902133863 330662068 450983174 655744547 63188481 171865061 143728886 805934103 645701208 826640868 666540581 698630994 823635099 180961380 131906916 541617672 354510435 242740207 246412337 321353246 39592312 929706675 205385115 124060412 614868876 59532122 919606867 956448574 202885089 862263489 748480859 528819872 823634807 435626933 417479604 581595933 817022444 428488829 908210685 197382585 951747349 604462628 908299364 319347173 67746352 165519336 750189676 807285533 982396651 305551263 349708770 941134996 108344744 288684403 207804182 442216545 228379255 479187452 226389040 546506584 134962297 265881015 898059313 124076030 632469987 544344595 360029496 488487326 696977204 582371094 619390518 72595912 717934159 897464061 558855320 633503327 799783695 574506773 829323965 488075640 372190774 910320054 311256989 518171235 409116976 626007043 308330179 551120423 489293347 252026434 276959318 583901613 509385360 554873694 146108282 516966413 991098115 841095179 126949247 971562357 986265974 324752450 762037652 262941698 591315337 797267358 37464613 429798509 547757199 980338885 787677150 589889218 975204907 182331342 454349172 341644343 673624287 862913112 195789549 266294256 915199730 175592534 940126472 82475636 564174288 223782616 390497581 127962714 624501282 161609129 912460013 668990721 563277803 494547745 154760578 184943926 55466428 105344397 116097817 685435435 471426430 383860141 160921977 545901370 896342822 123853004 658180222 235582212 136763704 568308280 895496325 825395076 236492810 631200853 529978127 850048786 774517014 817299375 25868381 670975014 331267887 632694937 203572107 602074222 197190389 286713263 87716402 169732741 689068901 249380093 221249877 645852549 530216804 204659675 756577948 397975574 854079699 945625463 725756346 443707633 250776907 392525636 697555190 78158598 482502710 132108319 989299325 490152497 786450379 798676526 147620835 88623508 421364755 514316988 131250491 783889156 424336071 66380033 465463139 488426261 771487196 189872050 899366099 474011110 887844377 137939636 993623468 588647780 620947356 704162574 458241664 525214302 362598396 189177000 233780267 322304765 991102296 67505224 847477826 703044500 182889553 278159898 108373806 275575563 895530014 845074787 512897203 70991676 496311644 496794678 185580896 386513006 310378469 140621326 966602295 208741268 918496892 329062571 806028398 354457360 202499197 682923315 237712400 222187122 773172923 476111706 610362291 199750767 282882375 20188624 144521747 506830634 165399451 912264539 470113646 501450299 417915565 851228778 146075833 73230575 349993794 783671074 518503713 694388252 920484856 391453276 864442556 721412256 921624745 644916592 121200594 952343539 73180689 120056715 496873364 27937297 218775308 30731866 432266646 556985096 100170065 873573243 691261930 524453306 635016480 569881657 97129651 794337796 692469370 194404321 199932366 347377400 398352310 27776511 689834792 577284801 977094627 143638744 893967938 43561011 989388789 675735645 434792660 930092236 882987564 530333716 86503007 822861759 248472706 893971248 637631376 522266664 944408854 429555697 951197746 278952847 150425443 375172317 226642452 468181994 271912334 812946009 756841827 374665745 640446290 664965196 372296587 208754148 892995339 487831222 556089196 142152563 695694468 991486040 837139871 644009282 167324498 213992729 678420980 695611328 291202286 129590992 922748545 37315564 610233382 151992460 471435900 879246710 865361334 272590102 151370397 155013653 222150864 455347344 251198945 696926333 607666618 156507338 618864196 347142461 516988596 293970271 584114271 860489829 882264635 53156014 458647426 383093960 790054028 201536465 4631005 34943475 564323562 51055525 775966242 222137615 935176007 184650814 822794741 407364378 212278006 937603812 683372286 618348985 972098018 788322484 651992090 826496521 621775293 162907196 840822319 231078509 850297518 975377942 288509412 633453922 642988294 13749323 641965259 332555483 893085190 188994458 882336059 164691530 785360992 312283798 700924398 152951897 83747834 414610505 807769675 540356551 989005187 203606090 969395626 287687692 179199807 236680830 274647476 309313031 569731196 800153639 891154252 89784312 237620152 789749497 206583581 968858806 570328803 591418805 433137321 391650781 315478636 11131366 220582139 599002175 587185271 646107349 660473382 5883640 244790843 121024160 102408836 941971384 258317487 322333477 813664765 96309784 319036391 650629665 356845515 610501859 224983007 253206741 608510789 206371678 666738636 400516170 251789635 875062267 476920931 5274234 958862142 732593334 922910340 724083903 170437295 998945222 574825848 111145330 701742937 537846703 604313930 348683936 282112321 445350881 838217080 489420051 740273191 739876014 562007514 964252547 262294893 761581397 599244936 859685762 209435234 730843009 65697926 367643248 178580772 249770380 215214553 695879771 465288282 55419745 909465697 10082963 23972097 941872673 404158036 268340528 586732514 48612537 338393706 984655097 202055278 56324378 521459819 837591793 756697898 630555638 273644426 369349063 963849057 963681229 219147139 41150852 961357926 170182179 554385304 941004310 912746538 340912695 239640238 851271824 887187710 441196582 501366960 788449042 456836235 626684884 293735058 616878250 138533330 614609083 289941379 802992160 392122736 490043766 714296701 683744222 377950507 16903975 931062833 565260893 135799619 185198792 831334627 234200434 924933338 219478412 879752053 935107441 531651037 503866824 123945976 846813361 771924126 687379046 677328501 153897763 847670718 650089858 262161621 705470019 966466539 986816816 966179428 291661847 543474793 82011301 354505716 259012884 292668382 2053602 276573593 906527829 368241059 913647021 110050239 924389201 153351990 766594255 886553475 46743886 56388642 945198854 850201141 774934512 448937704 88463570 130557787 116248631 379841596 223758616 557023972 98410440 791757327 851443854 87064614 500957158 886485821 26192102 342411550 232028067 561587182 531214532 659631340 354707701 294238449 100560696 230146454 246110746 653017365 409983105 228658577 138889282 154159599 40110850 719113732 420413527 910664537 194036752 588930061 293820227 174787659 22229713 48606300 627297457 689789056 241279469 253113806 108067225 746691939 809606513 247179223 673909238 332188310 632234544 501821682 509102848 306199099 576450231 53270986 373016572 547176885 499204865 785625356 562370049 584531486 233534833 374434441 351135551 270170987 188733737 915466051 275578311 987819157 77773562 300499339 212225803 283006304 81229734 232064521 156720414 100887826 282916172 122961705 222332991 672157611 999688572 135300659 672540518 563261749 969951410 424160041 270792814 734641716 990182950 962807147 109356110 28760893 638033974 290518268 422225631 447245305 990695289 402121220 213104386 159221650 703545109 299433386 779301185 919934438 380359432 873335865 331645936 634992251 248984962 889785425 844747068 808591547 737785761 396843902 296986235 384137193 50799025 587796824 679213119 859914901 842429992 92194620 568234479 936398122 309255756 347733896 16183496 108938181 144236613 739038524 602070146 210445121 272050644 183914210 585031146 160424611 259269132 341256274 993924640 360776471 74842904 589354696 790137555 350032414 25998475 732050399 648610346 161550065 852140943 150576470 158926397 284359557 91688645 592914642 604431994 77729414 945343065 775077592 771852953 725947341 73818834 611352272 738559818 287709395 670583873 944290815 511547384 881603921 440468001 139115298 267151424 823242194 409200905 227734473 967839388 435984280 979946774 178303221 473081235 758855975 492807492 69638638 734707585 647604014 912098693 10862381 879689762 240826815 592753402 916879376 921467633 48804203 261195139 400495033 724091357 270706937 150877324 938138920 495359168 267373563 632851691 327400175 271619880 739953388 447140853 644704375 646482263 739191978 382546459 757676163 43028837 751636158 668169204 655757969 833401367 80871287 810183826 123519621 566465474 250772659 212117529 32219480 99819883 140565024 901831037 573205682 350076421 625717092 574286204 272210612 493372873 222183099 828277140 644771678 405798809 681962772 253391322 937056253 808283654 819756286 463239027 564861505 273743204 373290439 96976250 5012065 197017577 570232015 921173165 610213823 139084775 538929607 211081112 484117507 876380878 967873525 377494550 424539433 448511986 326142871 7663478 174393734 263278437 333275755 377545364 405575257 248798669 624774694 571227278 324067424 583845696 762848178 539294831 333130727 208050568 186702233 990609601 412879525 26323644 91389636 388603817 580609634 972509405 85662553 578272223 978528667 442718777 880626731 658011876 895155409 11554605 933189119 271737086 532745971 537624243 72848286 469147303 791819014 773047059 295406070 497034935 412370307 920488131 705833771 543519909 811230683 929732555 979078663 375835640 254534454 350281929 290655002 507347061 858205600 333542118 520743533 104874658 725153963 87455704 248044960 293106495 430942823 725131536 836640270 608622204 639563425 410940958 886549825 572852098 766204504 738554276 30116919 780476279 343669674 638361356 836766561 212598496 167500086 768004406 995068263 871828839 904925587 158120486 21043264 144358962 165471457 457215827 83920003 402352242 744929694 680765019 586205549 232571046 179405651 40786354 243212727 374087331 486066731 529411868 216516023 193138949 14925077 64582143 832366905 65946832 425015877 265677413 2116298 965907150 115263464 358412735 27209863 765188536 637051157 155081141 824892172 187471844 794683439 98894723 784856919 865962055 892106995 577205645 908141132 130580837 982205663 788245020 999417375 37985671 641350961 179455230 271643986 221916015 855112132 982540894 77419686 541434888 458328773 194278688 567367822 886694100 144787459 332961690 805791664 764539248 67202039 705443395 803351085 50495459 758948305 513563660 343684368 789816015 154388857 804664327 444188760 539816723 497119347 966097269 826395146 563273780 602030950 909409538 610508478 620847896 569865846 391929470 448123563 853740492 876652164 335474740 159338650 955139143 134550768 79284910 818224552 686030813 523739927 332949364 400890219 62072580 183421013 150719125 750099932 882306214 642790133 858612991 418098836 344711183 813076165 677015995 236933552 372244364 438695945 659926644 135624671 283725313 922518498 588822451 60530135 436707827 229312921 959304665 876740876 446023629 145499476 340852817 725258304 359442012 1447185 729207458 784347862 64140847 359447993 485081455 230814161 156018210 829361232 226877509 917699343 260938636 822652516 46633139 105062530 502274699 454278566 176930742 138881155 756973714 388801601 777915152 934220552 123802153 866614799 433502023 674336816 597571204 664790611 715241469 832539016 143957168 510956673 642732134 327650934 112654899 173820329 797967554 159130944 907917874 950934126 117697597 257806754 681873137 562494666 397173597 280720975 676181117 462809947 104440476 477058158 668647575 755101560 233390427 528286783 402936835 676166483 411986364 792703859 197688458 837170092 958158524 679054998 220918838 725935271 207656699 934186244 49561353 188257881 140588695 655844069 960270621 312743107 318983468 205089252 770315114 478968095 559356768 187758454 350804740 79108735 282379498 723452049 153128446 236057971 493989550 334668909 141466383 783777789 442500475 643172611 803131991 677508928 185125721 603771883 557180290 241019636 436028041 182775658 816976375 519844277 28758143 588308890 511509858 168673580 390512995 189032562 174941008 512664214 175003622 715728944 609026130 823088286 98558158 375937107 65725780 705992287 489951981 639595701 560437612 756435144 619921467 835933546 344461476 853566961 64524586 535084484 175331596 183926058 813906063 75774866 659967296 389060841 52240680 502223265 656080755 22231311 425544388 511815087 517989273 346448465 819451370 218660239 358852624 854592109 522910383 504311408 201736406 855674021 979346170 527438589 421965231 951647500 728527897 658892958 835550101 921360554 176574526 487638683 258599383 164336367 68347657 411401601 209150328 394803389 809906779 438027422 592281151 998888475 893901474 61891998 414685602 531652203 639785012 618636023 105338743 924240581 565572663 861929350 449087771 168291353 114410382 58304403 430388832 418069393 279773847 10861092 875669681 48628458 374089620 522834473 74905879 778922283 47196788 69279710 53877824 365190920 893514602 743859195 351315455 62483172 188658830 260556226 600703241 610697739 282002607 466742535 444418152 595130059 450266754 2375501 872648902 858296712 44496450 264760060 433471942 224867103 803029829 513438419 22944704 234332520 976239307 633439770 276233392 467715235 835341954 527915764 607185235 898123400 830446628 594249554 801868556 293023679 901142542 331019231 380328570 134143616 489363655 381362752 222848027 579494050 399234405 350059020 378922012 286613955 186453468 111420566 60703812 38128412 393290464 448570235 299711443 554418593 327599063 24811675 509951844 248242742 863069011 796511649 188883686 955861120 648530152 592751559 97963448 5996706 55155272 66445190 522871234 222677651 173398434 295967390 619878871 379926442 501560299 215450857 651641258 108643938 36369658 598824133 560958723 905858142 488627076 840496387 292614523 811312931 410115315 2105895 291396778 482577570 239556124 681882781 112699519 788465659 764579110 238217129 109319941 369641999 647454766 957912524 614249059 468582352 109455879 199163563 150902836 581455273 857485703 119087855 251591769 962475124 451282414 971853770 551113758 584490113 425436248 344698981 662896603 373859136 219530901 119846961 863361233 916009117 435877870 814738391 90858897 138087939 314043106 988267574 298227831 314537168 712516972 77662474 943609648 88464384 540322509 268292933 684631953 767223718 169541143 746733793 264542709 19634609 749659711 161048101 420124600 625314652 968950201 19874974 445488077 921702139 178329842 127070363 891601711 399103296 4738179 669539092 168881955 579006818 15556858 454927509 903131864 931209280 195384990 247695349 833923523 3148470 345575208 462847621 653620657 44924707 255002362 444893089 330445203 918199425 203790401 708671293 658068518 458992109 238169667 92931481 286276761 567422592 152198952 43893726 478729842 133217162 806598542 51861736 389028523 699055073 80038077 125434176 451569150 684063092 352439556 963540051 391478170 747707802 471829073 796416476 756652209 47290526 376355895 846699723 134453942 700354089 73910438 694166781 1739857 948546503 62472704 272482520 635305844 649391996 668655730 501288877 141973714 895102340 601915570 221061591 455379157 667444198 441487875 731542742 108016020 45163810 554652493 192208150 234542302 935553134 988152837 752336717 399854264 511256950 428511317 270064937 879269499 70453032 728773229 379538592 409510980 970236019 752377011 391787084 616152602 327254227 407681030 772816983 230640491 170785860 826683201 233511902 863070283 766598688 730731503 885704367 416815788 596707719 330930068 346634858 593175918 578248106 5219610 775119735 870468674 140298384 608747304 224381445 684082119 598404302 420818343 237429208 526137985 621396856 687076512 567538476 973396990 925235965 863777712 573836339 328186145 175065325 454605758 477653268 226344312 332859937 422080687 779734448 58903139 638609056 111153394 908432667 908423234 255426407 651127431 30963080 837705088 947584993 690107603 790136017 894134400 39198672 128745592 309243863 714731894 438147870 925672003 632459316 62950204 75475703 119923155 88674871 879250022 403495119 973055479 271482359 583367540 729158115 822258593 74328582 191701210 55470788 697235650 251435220 428482304 68985026 348761483 692517554 751228008 222829696 772684048 256175591 819076927 835216138 82111392 973907437 676780227 60271524 488310311 556816019 697294742 714283520 5046611 365627743 761472264 874054530 874711594 700608136 97482495 424556632 623434378 118676863 20087979 608642145 410104201 75482657 289832738 961577774 522831261 639065858 76556102 17020855 911148465 344838089 82045348 995964385 240824215 949096044 994193905 584258733 769403317 253903163 91617096 476626370 778848296 965197780 453565694 254831824 52332400 375066058 407590851 260366384 61314674 596308234 924205655 962132252 143264247 328326941 627304897 699686900 917320335 277087942 20226355 942881404 173518598 979848845 979705494 751599684 67764430 31592052 776995286 177640400 416734511 328589559 513509297 548163954 186093555 343637845 739593741 679805018 476372804 561097742 66833575 169182001 184366234 386865166 161745453 199248192 949978365 560295316 179207640 876749605 73665680 566865593 158114395 514380418 259920801 250911600 137867450 403636166 647121371 220950241 84382476 338712154 655222357 997058185 784808005 289553899 931829980 621647854 291874607 3699374 982307258 326315203 669276 70915238 608603410 926547388 998442930 569502922 176571149 501896608 355771524 673407166 108680181 496394704 61922294 842106043 662387663 473661081 292753544 698758049 86552419 874436359 817807454 204406520 273163223 844644073 971722793 700082205 132584561 405619604 293753512 560352247 309792067 697031 389969591 718180630 99770012 658710116 860353315 748893378 318562659 813217063 469069821 626780938 824053613 856479813 817076220 12726023 456973760 46808724 890082287 457262366 655238470 146297684 247519407 867335450 431193213 740657214 378659422 273618615 375192872 799585763 656933533 923506495 634379788 359462828 829278449 849934679 2768084 447251286 856047762 518987695 164583429 527079335 582567573 856770149 721405690 272308669 123685679 616417110 266156981 13631361 568089208 58745049 56292270 175401008 108238385 628212160 942402434 804101228 522263843 413093938 148511642 607906879 95861632 261355972 191939920 484580490 289978694 729035070 724011796 104420461 343528694 829045017 943063814 123886842 36756368 634273134 14655410 794247893 627988707 586966902 95221045 501406347 790042055 321689423 397956035 808433123 680509617 526692284 110480188 934189066 29229483 858402917 570324 456732854 410282396 254701097 479362165 383123421 265287664 847204991 121001844 196238878 646567912 749919472 38284335 148693307 28771802 720850539 467088058 256239163 217653571 349778532 675051853 852389750 226974872 308379704 849829401 288601907 424073301 539248613 27831092 186197019 759600804 603437736 484990720 532636425 451496731 40986563 394345918 791493339 45774158 29914033 524703121 203526076 223426299 586405208 141557791 370266382 877133743 505433082 918203229 22994608 754666920 707931497 47203460 828197310 556172169 83129963 439621275 48015487 990285096 837404726 562881784 982772161 959316405 840839772 546012518 846799799 472649169 85229126 830705956 496003488 195030471 257960920 509235593 88977173 923948997 336229327 293517777 120945944 510994366 401126946 767529857 65250029 636234605 251108730 164265487 713543804 534684479 31485995 135899078 289096145 677190603 713007074 110195523 875836197 264661289 33989221 569886353 841006352 178118702 20015333 970726692 762327063 49918079 415511846 617208869 842749644 239711586 536803568 996700951 742597534 574576187 575935801 925554102 453066426 405474620 887701378 42471012 110283537 447929378 464870052 330516787 531442802 317303500 17187216 742896625 113545220 792794984 823272913 387067212 20943051 886877957 115547296 644903751 873237347 324031007 599654074 864292298 303464250 186906794 502711699 586629173 406094864 855035805 181558445 849541522 729953313 123977929 686514531 670585253 96798596 825715379 60205504 739477264 159008719 289872185 101567747 902695405 379293562 68352260 970838462 109140960 194967226 840159730 307851806 141707646 489618503 40085930 962908093 848965323 899160535 644547015 289415681 572388982 817753586 301046936 286528753 817106735 910673373 680144151 578823513 433293659 904611125 760689705 770581065 737744684 279899769 710649793 154658093 92236755 605434521 823644263 784928829 783250611 190094773 451841161 75237710 212994702 55469282 389197535 576597997 498436890 722525077 28523618 774558850 45260364 312097325 339972528 2845200 788618969 639434120 117987423 844782035 613836900 244748444 806502837 543590697 389688338 491836585 169233713 171877593 700061633 808363159 538732473 186323359 3307685 845735093 384289903 660370714 580282535 91786887 150133945 153776762 78311896 213061131 502788943 343862595 986384300 786321862 149397797 402943058 179939825 930606829 403133254 300602259 383320175 487203200 618424047 214385461 901932097 948081740 48690776 58812824 737029515 251714243 376010360 507326793 770590522 849122276 522875830 255886 566299872 5541776 683683524 116477493 958097455 956808367 567244528 640184413 760145816 287772136 37211440 941914904 46609645 818754652 486822461 150386076 194915207 392038554 25380756 245229813 197908332 120579408 36796106 387513948 555246963 190655805 373964154 204371321 493915231 152384261 235664515 19060362 697234369 970076807 825530567 617504765 968623683 909123185 741192619 804560593 682647749 332016010 768890831 778142449 55646970 31334211 918018163 436603946 837409111 912409988 883895726 704302697 81376846 44344087 398553811 515890903 135920845 585690429 434592199 678894483 90275768 330915569 204263944 610144086 338595367 221338342 139792814 800438459 317891772 239912373 892325243 681996623 869537993 15475883 452247466 988193290 244797067 982158491 444914453 819456075 290244427 167923902 443729363 836673354 694118651 884026460 228455390 259841035 489771368 683239312 82301185 967449145 515196709 409278728 708362895 458633943 510932981 27426412 38533000 670228632 481163360 561431671 127059859 359584786 202818974 456125465 926865913 975993991 595729891 814698290 657550167 655830662 134802084 425506105 607423100 467519599 265792009 954922675 497009676 5513904 218081770 292648229 811799292 126185329 37257008 150964289 383881126 476745384 495839694 331522649 77811740 54822125 148716290 873999672 367749891 203605401 321040557 254749703 145722817 231420544 274505685 229073988 881258293 345443336 364668970 453993625 979706214 315444957 104848836 4584566 201541692 181298501 636783802 457402391 925505160 564375125 166099531 582743338 552717463 179035602 380256034 665443117 2421640 605494848 213820064 896900555 653639474 306409374 82995288 139192783 634320650 19030534 233793974 218920566 688499163 617308496 257256270 246225085 375050572 568725179 633352654 165195653 380071324 219833644 142531598 839592858 20723549 788273130 27411856 915992234 450379569 783853017 161223225 501853296 516208898 853909440 190991845 261020848 424384209 305565643 421705472 685057668 840721529 664835815 376248410 363673639 712290168 234522292 505408564 692361667 536076357 953091232 585153345 72433736 334454035 264134145 852216612 848219216 816854982 156955849 762613753 25706958 729115505 499255594 328063226 928123741 105729264 820366611 808322721 849778838 897909667 689357215 130225079 629207993 228105765 392621581 17538417 276111809 151831853 822893241 195807961 740696246 603295906 522194711 190675158 245868473 609030866 278484348 370845080 23975114 558851578 347304889 397313527 269508112 483442847 716648799 761431704 913312317 789970868 269618474 535214429 414461238 603628829 459381438 708410498 75762861 310574730 36966649 160372764 785228286 562174589 518359695 642349651 328865656 66886678 54838380 337967459 793512159 865550030 671930435 877004839 871606760 54261546 243588096 589017358 915618821 66239283 40294592 561026505 540249092 725160961 27412608 757180827 59937889 797520660 313053782 143133662 16768654 729959923 292703629 413759953 806465230 260152346 962618228 681667027 739307519 223535574 112101897 633943221 711952617 770234325 831721479 969397595 272578501 68734168 11129810 491464731 141281297 292454744 541702659 663285310 995536533 164454488 625301183 351090770 677033814 641970922 881618866 726834620 216174781 142789545 571278966 299101953 797247294 592327281 585843723 453396229 185742905 804909249 259795034 858299422 133107913 828843870 217987132 809989879 828939206 902155513 960676179 289196862 133450475 503308992 40109822 881590723 806018227 72465462 965335028 526630859 960795381 974302406 345882118 769114968 936399805 60164724 41128124 969747485 228413686 770783823 800294363 206616443 269868917 839026291 272712734 429105564 8037854 162062890 119284529 125658166 390342018 573846155 249231763 660822692 675833992 346872625 92161348 47981268 65988940 412387183 447202930 735529529 883157236 936078208 310226767 509387039 736909187 163198949 245825871 264057949 571025654 653555190 920270142 30051034 403553806 941566579 796015276 869755523 758610301 177806030 507759923 26629710 298252711 739460933 848210438 120493204 832384818 507403905 199665723 779335528 936535798 458184136 256550900 627562597 687318238 290793465 369019869 445454069 962097363 440549321 13381822 142480375 840977299 164098687 445571636 328868784 117826954 947238103 910456236 843367608 475936007 337683182 628156666 174479444 457334234 255800880 637436661 664678591 564075762 447363711 335188339 640323298 412931821 11251800 94854330 810385525 105686889 567056269 828286942 239054417 228933634 811123267 37992870 357310527 261143030 807278429 169762117 251600377 165943865 163174840 965306655 41678969 328278309 182341435 93107958 687468687 463209060 381255234 34944386 969186578 41752176 803437616 284214844 186445636 759483794 409666480 122656877 621385094 63567790 818493644 768775813 193255883 75455334 830635698 459967498 491873033 794649155 60352084 204659541 101395852 305601315 607979868 604286224 589714419 842812318 405604184 501512785 482268843 787633633 119237379 198771303 376962933 691213454 69790524 40250209 764187623 628698685 343445609 930846753 122439235 123848535 18724006 868553551 69315634 421895889 731484722 39849021 236173360 564256958 448086072 874048994 143220458 277090594 368871132 258288827 248402514 404979819 330314793 988820724 628915543 754760755 82639255 654499725 989952412 897539808 232123376 338140348 149486062 173460871 250345425 375941384 73510015 531426027 889342403 540995261 513702178 426776715 143261860 110005097 688949014 754437779 320501291 23936826 259357159 996378712 504596074 290624657 939584084 463107272 765602011 33429084 369259391 721664135 318577849 778172917 862899047 528988335 977084810 678072723 82639171 317162548 173571590 543951554 851719564 569291717 620110439 248574148 813584448 516522942 44210328 817676703 115195606 910560924 303968317 180983226 517364453 925615031 75427523 578310989 610036541 821370140 401630535 941512432 320841872 474426803 977862323 641533404 608685750 105782038 84913905 417617828 45909146 301296353 388519500 239901753 321714390 661247554 398671529 182372022 235156623 514554787 535536006 728307391 467228272 22068864 637908013 473621788 718937379 153745970 739777386 473107347 733175646 879214069 8234534 772227707 560405322 366734613 325591632 867275509 383239012 476713708 831606530 633247643 262369962 35538932 59229933 481844143 561297903 29714363 939129612 199326251 121151858 464671824 502614512 105055017 365730461 103162521 435620135 529989639 690442219 731622798 668770413 679357501 312836424 940874118 76827571 126492244 895874915 31119294 332834223 323119626 524933343 259367510 24804406 417687454 442791316 544421917 970897374 316319275 76906934 18583277 202106899 272807650 892078124 608562102 513329963 731388971 258874920 410050718 172753121 563022515 454210016 998939711 805790760 499554228 228883155 756553491 294224303 531460591 607755298 109752906 504475077 847627090 801419235 61544531 337219444 7428421 175725531 113842275 618245878 364084404 328345216 172221727 153932675 193525812 873198841 645488397 648805199 295899598 24442441 519733290 189535957 29301533 280665727 959754808 359984938 482642127 528331876 60004992 253566833 230563792 686458915 939461691 229730539 149603591 698335150 729531722 923389741 815584569 228022337 225010793 615448059 757420565 78555141 266393467 47582465 75826903 758795846 180721602 98145335 87691061 257468040 382057356 360848370 706152916 237125286 694377419 549218017 407710788 370493421 177641005 545206018 859126524 96247880 365907866 566416395 147281093 330838308 131599330 329942317 972617263 869544032 402512383 482719495 665181366 899563311 951065395 172675544 38731619 328311206 530264184 454038926 195481398 826124668 257872698 167936405 635538478 353588540 132968404 142240082 117912194 89862318 858854024 798807023 918637763 255232261 244227026 896122058 175820901 694314659 668601173 531288104 811788637 158274828 529983280 143789167 452821191 270178841 186240252 925967520 651522499 580844393 321911630 84668171 100184471 969727712 739249514 639373265 644241419 172889035 886302961 371490972 819229280 389712278 317517751 32665575 153742605 449734918 637308133 598404573 882202954 889031909 733257238 98617640 158281527 764765897 138544920 31963142 496952830 513755116 959995938 220894863 326824608 334008646 937361660 583344126 961553318 769712404 339841497 702680547 227867780 402101480 30124238 544773479 686268420 809368223 4118325 816695085 378438950 716449099 882253482 765761328 400187882 877010554 59909464 752175750 829050342 523422301 589995876 525940420 137393643 196414602 587626345 431922567 930682177 212696458 29180566 816569829 710356187 468198704 581247559 722307089 756001293 57790236 67207557 627829526 23348892 304667688 872324906 9394769 72724683 789482638 454494716 419535995 163725581 435646761 892902815 902267348 737241878 567295450 910972349 587249591 877552772 211320606 466777436 194069047 154317808 193330441 72894641 54522977 878015545 161953051 171524802 498965847 84442791 600003828 420418005 393243194 418893841 763791738 756129407 587733808 72834838 23894492 237782788 724734334 436082176 544269554 861477893 172232099 96212039 433181010 208816506 179160814 988518427 47852939 350352043 965396436 22411498 832049456 251792305 692791841 141626438 256518664 640076727 140597131 651492877 326663392 827109524 122920548 579915927 468237842 843923558 28983780 302019390 777219035 653021826 974675404 18205457 301921775 183962420 49009581 998728362 382238742 543759495 225724808 915867822 1597691 976816297 902446271 396576815 121583584 667920316 240431591 440854311 76274752 919034913 644444254 266439362 46382643 438865792 515175377 189516605 628901321 330083837 699855484 755863634 415464060 536878860 151238244 408759725 842515566 905194675 487158498 459068926 655917245 855860735 389868458 236354290 340997711 660024049 874182815 767064178 998306789 483774049 59284149 522809389 928339170 733911442 441349255 59448406 520191888 179550534 759179555 396968967 656326001 914668062 770764238 108602277 95718977 288047058 416196852 399898394 755500902 261357694 319297149 12783731 833660075 241090034 575935517 69176534 724306610 549329793 906276001 269561632 142710640 766994511 645951714 117427378 486438848 2331519 58167760 606146911 104278336 343154111 461448284 908097722 226303509 954595346 12198557 349427645 870972424 173647200 150661697 632552450 276075473 71264291 825189351 399883188 341547118 560801566 795373044 222177417 116400988 999944454 982186131 86825511 72339209 896592657 937768488 526994750 173692585 905485190 52994513 82419350 481122320 962574907 721019781 259523181 972555696 677266376 41848911 445731650 733671968 223330027 145051284 63914088 385109839 239753810 138676765 323937042 643667969 634481021 959880653 767484160 587033275 591044701 560634712 956962409 923400339 822409665 140819089 830645155 233156391 820042992 704620606 436939459 800554484 28842722 537940136 385784985 833636965 622302283 995332203 262549278 833369295 641043295 268119726 883691657 802477213 473430275 137304571 863013683 945560532 849412464 259628705 695557979 568625506 23401491 461455899 543026596 662068736 135609698 846064742 5206520 136787423 250315418 344134171 983752684 729688601 231333617 799350719 152315752 886633734 760201298 760280981 520550301 991316761 40009921 253156482 174352417 775429067 341834290 980134431 358730419 894350793 976603040 30135773 216201784 387185528 751376013 32924124 442882506 738336720 24836278 888112692 567820731 199454121 88588701 616037454 556232291 918097106 303694508 383483836 631431716 660238262 488815225 211733078 650659944 152504119 864102899 498206715 139001371 158462883 71061365 373162271 195013071 159048166 957585561 71565381 759016758 568340903 90414417 723583145 290032507 115397548 207530210 102224861 907478547 90687739 1167086 942241932 954124206 954835538 998134890 992567046 469173476 524744825 478858261 547204511 414368585 15527140 126874684 630053406 751613493 116477378 476707520 680047089 397343131 817118339 553667338 907374023 972697994 194919910 204142770 497808216 472954482 369741768 363414476 545355542 611247110 309925031 394318027 132390189 472233361 88939434 508288340 159717257 67304539 648638216 454171673 678633694 187222945 981538708 693780061 579788245 951584733 883951936 269338534 709405332 499401239 691132901 680550255 440173869 551644881 41763909 353610179 28370450 524428619 775804458 912720410 417970744 180774281 893506387 144872022 20181903 732990743 655384432 634810864 859069535 567282167 774276602 531818216 795959346 245688198 113108576 549244678 845726665 752236611 276925603 997658827 762492820 179690928 238096497 654717177 752542388 212244181 131770575 639498806 382622536 895330799 733864033 708275816 792684759 729332653 610723078 935995340 611844353 584864161 823915633 383640734 234144777 591778776 472631942 769545374 23311928 23981793 259636917 651546794 31300109 20900646 37274164 479897254 55498164 943815319 197131244 941377355 970914438 536020564 664679378 50320768 696757498 331933024 566373851 947873361 692710395 10590512 137443437 642708296 290528430 733579881 163737880 642618049 110870855 826412566 204150230 143649045 895301852 37806413 46906035 841054153 772132158 6893691 22541624 560173573 411669665 114448916 443518930 345566611 856479343 745895473 992755277 714500104 653980629 150986761 138138021 39364579 763177335 276379831 839835362 36105671 55245988 162173493 51044286 331600464 806755663 182059208 978927541 868301465 764603790 392323248 667656108 198586584 411106714 196212586 323438816 205302654 93977984 314519864 761796051 840505034 605225695 33295033 51250682 359673608 705500647 705450540 127529871 318979585 67255918 871125965 885849270 922075269 944267467 225880409 265632769 187692922 693340896 135925826 538252451 147376961 124759521 216013306 658748679 32643594 225483306 631512391 65392689 81026096 843534841 656785624 535448015 231558225 24423044 421507489 729739084 255052339 234454612 467770947 91179477 914461001 291763752 949898339 567337087 334494936 422334334 515271091 851472810 489296298 376061090 617147037 380646440 794475066 182167824 61474810 266595642 812675276 446140964 494561691 417002940 224645925 181873099 109876847 354979634 87301699 397032926 728317157 251694874 459316399 168672020 483674664 982369087 428490834 795144324 657666057 955300229 863005525 586223746 564082842 755000302 751515586 162463787 968884972 885574829 153488302 16789968 566080001 475284536 142611410 781395940 888231295 599803128 142180788 553120567 475558624 942566875 80058126 313566301 24993933 842096226 971123434 802597322 373950328 292698175 589768325 857298872 124860138 450354750 419067319 177243506 293783800 520818523 483386133 27508605 559058443 68262280 363255930 638983183 760529378 691697516 535604596 40723383 935302723 568008261 169570672 490188157 287790939 18413131 268121060 563613838 890967010 509798179 183011271 997099045 682054513 467027781 479713066 507909688 373915006 625636454 768719831 808897233 577027639 796854340 337652716 240543006 267655189 86476973 467955960 541453609 996428096 799366154 141623189 300224091 416870914 875606543 522522055 567157223 128196432 601035384 31403735 499093127 703753922 828529799 639529071 756696641 211517565 296201743 266130533 768814758 679516766 336808932 501065145 638696083 240021275 181381167 125459959 771808829 999945151 242040829 570739392 740408304 316754675 299307263 68576955 72394869 817222116 871378304 852455114 452511998 798032917 306381348 317809818 60612912 95597742 140100658 849634858 915001758 774130005 441007625 157551654 697237489 162790523 790596372 330299610 787269968 847576266 180488772 614094511 244637263 150879822 692037300 636392802 523858319 404271502 404395157 467825354 54280402 630317945 29653539 473864723 538142536 904912170 382825531 707677927 29067600 369960053 369300006 178681326 543389270 205111734 209288268 768573183 875175484 659655353 67574139 436945781 720170729 94998631 545103243 750744662 616807703 375514187 520479749 921337098 992716941 594850369 752576766 761365343 714130643 569758312 799261847 245042082 779093296 269267058 465605445 94674166 887492884 668619628 741235985 82178373 807132679 159835720 771230960 312783860 718387947 429161674 511058730 564114319 552533624 545286635 369251941 314764492 201382754 363745754 895507945 749460938 103244067 222365244 115855492 6288451 623182472 796924899 98781509 912228898 953372544 192810751 185677450 416495848 599845157 900687204 739674770 703472936 434136458 628086090 389679602 547297077 565974574 489573230 947700321 100851098 228205685 624076259 897677647 515106725 936453631 629014220 365457834 912466142 954830363 821686228 860875673 135035023 364140251 277675698 750265172 948582894 367646899 845676108 974649961 561692224 361497699 808898291 830157397 408035229 899807639 204773147 524872508 448740642 373669670 844348911 32049195 656202121 479245438 216242466 47882670 326012248 283505954 898127406 729246621 6362245 860504415 141917672 434381213 546611034 865879575 688677729 488408524 182768902 179624836 153874651 961389499 72245283 101073965 134803874 536833117 778345885 239637880 39258029 32954577 515804633 666942676 702746854 959183973 98651172 588917686 482095434 34124143 812068971 491647010 706384449 657681118 967348958 642275575 710893105 623900484 924786227 350237113 913192438 284317513 965699846 675369306 11456736 490069616 608903864 865902005 909039859 642219695 469560377 999199009 45487699 542924250 433002371 289167607 400220079 830757754 165464082 468137918 673074790 232242320 504621479 760861163 812290109 460208532 425591408 668529264 964578874 252278741 38054202 630260673 95144621 405651058 798470150 454855672 608197674 431655553 532605921 669004213 544680247 732628235 904819743 887243584 367052880 222056298 934434915 247935506 312651383 214875096 43084802 994182503 711419353 799283040 22467490 919388567 293032745 719473371 539329942 582861769 152807961 21402866 967831982 448586785 706444685 80261218 148920265 682961264 192064501 333295751 289830126 780837444 469620095 780422614 567100861 625766536 828313832 478911623 806827004 665940895 885753912 891875681 554991934 658191998 355338568 810468498 965558049 990544417 553369877 663805688 927437830 607889742 583568351 496023962 382819155 730324552 182294924 106917846 956083579 975153993 706102926 442308452 677902358 226495647 861749687 279821748 363622761 727454564 975576052 903082717 732966430 559314515 45102509 379078788 741444069 701321953 62237681 198702505 648300756 565984995 738056918 322873808 599963316 706025680 520274551 465017032 896643301 153942545 30259083 507074634 190764567 654659322 981333527 913968916 275853396 449589913 169234177 955591625 876034917 257332374 36148722 976347023 533613100 108680045 765415391 107239945 970955867 715611982 548880338 624735470 229595366 431535017 916940919 763612347 170316358 752641793 710762662 583548647 818501760 821797051 161557197 621129038 449668001 382293574 92693464 575486860 145259480 109279610 719438787 181529858 822595114 826101647 796151485 274142046 851355355 177635234 491091097 23602735 822239251 456472866 489667790 541673815 730350160 244215072 71694344 813097059 451026990 296925967 428882690 636093888 98643018 56578147 384728495 814048265 840302848 213879592 477679917 160125068 347568219 200711781 211200970 435966202 262120691 508652451 439241511 327898105 298207633 714018929 43956259 893355295 552972364 264702981 174033239 778264899 160262467 484748521 978263628 93371779 162495363 108224464 638326305 368946735 760515744 135454526 109375986 464189113 347230742 240637928 539622741 883649118 395062405 406903321 221858044 299439127 718887881 545677166 19384235 280284842 147630458 937717934 694772775 300248878 347840101 920861708 54078948 991414098 726829789 532643929 290211579 297043498 718914821 926612726 892426791 235866188 221626376 5476222 855199587 330682679 343634411 76096645 418106897 281272222 413606314 211293425 161910569 146322552 70956891 249348535 36897081 857497451 742001331 57921123 900284211 422545167 542811024 417524157 831802047 220809465 107940930 600000915 622201081 147899512 731492267 91271088 277285062 262733369 906663859 395431183 527817976 223703124 330019038 73691392 92627150 939101788 594778626 387240899 248459340 218132129 659180929 131245881 263712608 741160312 190605626 217890772 515404014 883059357 705578245 900115687 980271382 675274313 798538524 775909590 107353333 520438405 275896086 742391094 44041254 492430250 535210010 86737053 417374005 363022105 422087963 331173773 579355675 695233510 136149436 17539225 361105799 776275389 184250262 893337927 304496208 840516820 204601055 951916616 84795783 84962791 588093878 234933509 287281902 84789053 527990180 740750446 250476319 949442462 594606329 783336086 793744158 312849903 364737609 893659348 935698040 735780092 944167299 871792193 978633193 866187536 697448277 659563512 859222870 297545053 218834182 276034087 487484035 541351256 765993062 582378293 105927055 915042355 12165867 551223245 648938603 48513763 508598310 699305222 196998435 661485003 77114059 203136068 985961084 587859269 676676071 145597 706982067 344364483 619979184 593614526 555283004 957731435 416945149 46800111 95616711 543559151 173529539 409227277 756237000 866170725 66194354 89622552 853980485 438753167 168535457 586519970 497993386 906721680 600517964 560673620 420291236 591933837 262499116 745128039 149175823 554633341 629252725 784457574 589075483 726688145 549868368 650631368 166102210 116878202 56194533 969932314 689318245 726467039 283943042 765686623 235601553 87854815 532839298 999634642 328118571 554205794 743260096 605496780 46472632 643881732 28666092 185319640 610580128 944210532 14862805 378110339 817450462 664259049 213000629 149191845 71086531 234565503 824672771 61342065 231181336 424666926 462249501 170099276 381134809 904352119 146889553 169561690 510134574 867099538 371912089 37300319 797473511 350421587 738902448 422397711 85891022 808624925 259155080 45941085 79396491 667607440 310066244 14943255 987662685 132046714 494093915 950143988 217096805 94008652 404574496 195398897 936997866 971201142 87492848 504076078 401441330 407042049 436486866 143245873 928591274 104400260 212220964 709537979 480129762 573237337 747781540 86961881 121591680 220316258 777543130 535841502 143585606 120452446 442400276 646354901 819254168 308105202 444034963 285244815 275247678 175214063 673356425 781058195 671271944 493950383 781531745 423410705 975543955 324051030 856242141 249336016 16869171 994996890 992964350 98165563 743845719 401397629 434109955 784085787 2371976 425421027 898557532 329245425 134595379 227331800 655423626 804996847 206365019 992999763 241236858 593024062 326302874 867047211 33422726 455849871 969605826 6879070 214987850 838150788 484061235 473947604 238690001 409089072 49741347 536743580 918083409 289521362 559882115 919150760 443860024 528584639 148742694 456082689 290089541 142988234 127461336 355011275 952602201 241484873 968763801 110871623 693498710 107553113 783156499 520911633 275260210 674191500 402441431 156985012 194692361 866830562 758282070 805675946 249535643 834069822 780526232 354380616 959332998 496850251 661725823 24448460 743788155 421160455 832637508 836656883 284957341 575662060 278797558 807472839 901767918 56653327 800281443 240489449 292928844 75069751 739926433 117060031 83970406 728247416 258903018 815284849 233435157 634591384 381663562 671846846 241803576 131703461 254753867 141279136 53158135 130285484 305468194 24337533 327460513 518674648 82577279 231439533 38254384 502711249 653724298 196346030 522700709 202150425 685789487 372866409 848075605 69904349 880612766 270873474 29643880 765989350 409253333 489302668 746228183 439858446 476816801 808374083 814750229 463404985 967354546 148237686 44895582 639414311 997019934 325706911 154212344 614525651 741089003 790601077 838372158 312546557 339790917 50577800 484106386 147422214 220746947 176752824 448591579 28395308 721229877 531831599 231602351 211599076 753066261 152859504 766744244 22176073 655288257 222986420 199292538 433103883 464405840 32506126 276264963 605622466 972854209 407717098 256786892 442867274 767397311 557159030 926839777 185619249 333462538 652838370 985320926 85835539 549207828 478864383 641062317 763891021 988783601 502833866 950084290 905684904 123558880 775343202 227183805 244575885 343685066 432215818 345226904 27821869 616289753 547668855 15335007 157767380 179960675 752688896 191413679 553270138 124446575 922208469 127054255 148965471 231718576 49650569 237772976 869145404 950586950 591260751 843817617 111619058 694718930 420346670 776435893 525510181 392709880 818487892 484696115 788509462 158073151 805159322 222938512 534291365 59481948 787449512 69785690 698241267 560752362 91940972 693973625 186310394 494235760 825100878 204828073 513556174 883626999 519078599 474576173 920062706 305938456 958974755 326630218 797113587 963084874 824683704 298950268 306660494 960499568 214957587 677337248 83270745 361266847 428867959 768349713 245001870 8287038 591288730 914063047 483975971 851658498 867234237 531446523 842925854 333770483 39948094 270086530 59265405 377449990 53018525 488005434 626719586 429782437 115299562 210923596 238512991 183990622 69577502 598954837 720886776 127582004 913381731 283171982 581877661 403126735 169794339 188569361 133366498 856430156 41309549 784923466 899887855 782766436 75313482 431109289 71161471 618104078 26217316 112020670 736512895 605309683 654076045 863382799 925128078 765712374 379326032 197660477 70196820 592240070 6367171 656915444 82951925 125476246 417601296 561280098 760771776 140212535 949522151 678536662 532075705 573230955 45518725 920741072 449330242 201108492 430811531 720432825 411206526 663860488 99081978 238953224 409554112 932278219 914562026 168053242 419020500 966841325 405485827 351761899 515186000 147940764 290147737 315889012 950130164 850101662 850734383 343552052 168828995 131688312 312832064 851408111 274696161 39035526 679611389 37332286 883319010 945456301 656383272 493753102 592662651 126928583 864389426 139632307 180683984 507626523 403314576 55112297 850329131 948647087 571310058 781840064 370635892 301407662 79025405 90423254 901705660 185009786 259019117 290837341 384099683 355018806 849496490 708590829 114315308 813890078 644896910 183351095 832461797 135807791 268790855 137187487 81549816 565125526 88315617 826247725 393412319 628788717 807968415 353108880 953931313 347973332 361934954 917803241 846962128 28096044 477607480 112375654 263427313 735526472 234662750 387247195 107484049 451912935 418645214 892812186 832754508 503783857 246711525 60050663 165955551 394886933 78867870 660508838 954774349 475912782 226058567 912064433 396244384 478313623 590571155 236428699 931812824 410527194 138617182 43246306 350783145 345195375 806001835 62390624 131009095 64832522 659348792 980362815 395799154 296113510 429225677 114839267 245723544 477661954 124052367 105261664 201317490 474757043 442668914 518436784 341769534 724873984 819307005 855374247 345686860 242312232 152934971 794115844 4550553 313410297 304328562 382794757 388022388 851781497 509068249 849766567 43300396 472129696 795376689 240854132 539508370 892060572 266150969 137752051 896931249 70161303 70750564 496611797 141444969 232910056 965820851 259521394 360269933 134038970 467127260 737177760 615373704 608808595 738683241 151564797 545026461 701917875 33357243 24895877 502136846 496721872 597946391 450509632 583301582 527075989 969073294 453268651 156938284 255729529 490733397 217229446 768731436 482497367 615325194 104743874 53168569 29529417 485647072 508489570 352693904 806646799 173714435 544872114 425919899 26945179 875125060 350067377 870280967 490656743 174807646 375054117 778250411 83191739 826091613 321333791 452604786 668853153 277480518 804749924 26628076 5652155 784391572 157579193 333702333 683467325 847722314 158144082 233232202 470452408 574776654 439158545 763954949 150733531 78005119 611303464 270591869 570163162 839829376 259605854 629375869 130649738 411952048 270464028 497438268 173969252 541924981 847943185 539144956 259279117 6944422 594625304 848122828 848812843 167026008 898372241 526833541 302737341 502427595 682605282 864850095 825913631 587960242 538199703 857351117 420010073 85245256 70645808 709190421 380969820 968474357 896457967 643595110 598644557 861082335 445531079 604528141 214851123 614687972 90894704 230560122 162172959 961827538 435408263 582660632 827897159 149298497 345649129 752576804 44809356 402953168 503215429 425471810 582154621 347505224 28054475 436358231 85915928 602323979 890872645 31014133 805613710 229589054 888578580 486233369 817759737 833080033 764073014 968322698 12583653 856493754 277951352 487765221 637230259 333698568 163894411 497557377 230658868 797470341 183425067 1311784 893128145 52168653 278361488 420993920 712346165 395445281 353126375 986597197 380456672 904173137 455074986 850442168 843716980 267719277 832603566 155900701 461562115 661984401 614629562 210154531 226670457 404821178 169454685 348129228 160146066 422155768 850493689 292015124 13654870 89317212 127823343 901349630 174580543 336214351 254776993 323949670 152923456 958779474 797117061 340404214 716702491 568258297 630490996 190495365 582353011 628389707 690434400 801786479 160854634 157170310 808423864 34175454 121408994 416485935 151456702 266396057 913358697 304495014 23793421 116728853 665755850 4535579 70285882 121403584 504197440 44073204 363216018 264794874 467316447 846207454 701907830 81153526 547908546 294267092 86885711 696314387 743390940 465250036 249310237 816124826 57887202 433486148 498555748 976946085 725544875 371294202 358017097 261818980 557428299 216954900 664267473 890695070 304594878 959990670 541961630 725770512 646303507 380580679 147116932 257227759 967484436 185957893 124549883 437169959 249653085 989871557 28322263 38922485 740616716 733081726 62272499 193926249 624624512 326867003 307167463 911660580 913756198 216102459 813883508 135657417 219752757 416611417 770891941 952951594 50838873 571516770 542677062 269570659 257821884 921140403 883936461 895041028 28062174 986450019 764453968 532272163 555672971 6711605 464506787 503690178 70270889 252942408 130032100 291796846 967691225 399182611 3056466 514709911 282387735 797198123 705317066 974510071 735883418 380304819 175513771 392781660 879844529 249351000 6677166 6638817 251086208 230961415 134277721 509478874 37372180 48804621 908558178 844677469 522641911 392279087 419693658 721414129 192842502 281152225 45564534 67216289 679123915 611660719 689278647 878557871 71872557 102674230 213063548 355933401 694112718 472179942 79645248 653505736 635956755 382698224 50876175 326180529 988047371 132524742 684580902 857412274 733296488 697135166 19611357 385917464 662621621 481318760 504186508 8100790 200497504 362872744 17408808 444974231 296321664 165921465 969128296 873762012 50058556 773327443 518348598 403279406 101705564 411021094 284803318 808272154 182954699 519253385 991618126 50668965 485884273 240997154 177206174 289173351 955484850 634531366 464242870 146123503 569817260 57543044 577699356 10950507 99546195 633435568 702523523 477508941 879177310 105782779 574431080 474158999 81534707 652278595 777056525 636580968 769910853 982491831 566987673 572435350 365926302 376386649 918339684 876398776 259161629 560204191 155548261 4931694 206493622 30482280 273459045 201105393 257572955 272610685 861862083 168655275 227591423 498400152 217359825 670874403 511884277 715253380 377138269 880683745 848332187 93865166 138565923 97187939 470074384 342933096 305042577 256586056 259711321 277779261 839884056 49044866 888410234 86042979 47256081 55986279 157668041 840373353 27902108 119564139 783555681 795007964 914883716 295243107 480061828 171636190 383282978 191936184 238715141 69568241 861886022 889909256 244330092 935742463 534360443 437308465 645470182 282681845 756235377 460980575 65307273 235697005 227100809 990785601 348264809 82064016 159898592 626367790 895178382 251017579 176434871 812117847 809508253 324064426 799022359 456605369 367795398 809093125 545212018 916590139 79885611 375253019 147405543 523865727 667429461 383727448 252199769 247152627 580156595 656314269 624502309 747347724 116173238 203049448 541053494 817448463 65113567 278703544 958446582 180568299 62308413 709359868 909788686 628679192 98926692 444586271 272519555 58129346 812272507 631285383 541665634 611362652 881873333 840678078 627016341 990437536 193328333 247492664 779296175 581973915 503727648 553026272 938833796 41183396 677109940 521737843 778091499 57265403 231952429 260778942 501832552 294573407 727558384 727001358 394177499 306507326 276512447 359433756 217154622 792749491 510071175 479076326 896489175 174679999 296732427 77690891 218736150 303119888 782256029 544493646 500267133 978596461 155428971 976556137 542639697 227721888 551276299 400203091 375872286 865737393 425642971 528152258 653938889 748224738 738654827 841419046 277839017 263463107 329420570 848659200 770657637 652292603 493830773 230803730 92215998 975242917 406129306 340919611 108636647 692042898 701986294 113599163 449053074 364336875 948237408 549666892 583915075 208106146 417233017 763748027 443667291 101042883 147915994 384890766 258914143 247226728 361191918 201704571 899622090 361523242 813056809 323620072 269146454 665364294 981077655 234829285 880367092 907883354 365251714 594651808 337644554 301279936 844122108 158861685 275836913 967868076 900319166 32904282 27166155 784076715 932903111 249659942 825105873 566077346 124510711 133767401 437259802 305314572 969608975 565518806 714598282 94884229 745520277 255142951 900666608 902085683 785164211 574261107 113843596 520572628 679743477 381880813 937427741 167521803 689469983 753672972 839782790 269082148 278441908 622339504 527049144 518658721 324318097 844851706 966123788 417833521 847729300 30261955 662490914 538409024 432262305 235368116 567766450 73031814 728632656 865325912 738569495 244744576 351497207 92522146 353114094 995775209 999501215 255937869 174583844 458340150 641639043 46858444 886917296 903233488 502050168 473994721 525198972 911731666 419467478 541903438 542488777 481167175 44854783 245772820 183109052 837613007 978907926 460645934 671311516 378336730 381345327 742484636 512173729 840760291 81311910 944072363 885514426 806318428 766873898 230127165 474260215 392307171 907011691 416900424 559851503 142407970 284263241 952557621 5493357 351021590 178271649 242249267 370662561 160454625 406618186 276213808 849730650 148247534 260849355 662039979 496977911 213440216 786148968 180683064 752252263 706215334 316622105 623360806 731044940 944886938 459247077 725989201 842734819 534589550 149471727 645995797 461844568 789450895 695236269 220378897 170256624 249799147 114552551 965027046 543533430 954115250 858086093 912296584 977811328 85546079 980271156 594958418 869257845 338957846 370549973 410949522 167898440 361124193 209387106 305793638 43039474 777029921 714067957 547973925 117290658 608489458 512077008 33678915 438551585 678812430 5467847 133671603 143457139 922885615 470394642 734318016 361142154 142248883 239745715 153224244 546701042 527877685 984676460 964570950 390777077 730003315 20676962 737070997 271923808 454297873 509699001 264986177 309309227 811622808 238239877 555622815 146037331 826935784 688882182 79969623 330240689 78683678 8785399 570035993 200625707 246045058 722234575 927652932 349018966 534561801 485375386 769698847 558507293 115668506 96522004 582702717 611662810 196142354 514837303 693714242 772509841 814836581 783949509 315141364 526444457 341937154 780606687 773507432 636361320 198190703 195967155 353981869 662985669 343837880 495714675 940785431 912790928 721187931 108318417 447637409 383823427 647515483 535745583 514828054 83732531 304877096 186537472 765176280 458538089 336716 69954560 359909517 635974719 732710762 261781171 537092053 711078991 218375173 220984341 210993416 519645389 73334568 345208974 101127289 234686140 97224083 259069388 406346512 173078915 329901771 259419230 50391060 898221765 385467158 171539759 58891351 19467562 956162175 233616088 839461558 991742361 144852995 824951252 601540690 778577966 786120426 934643670 470429521 233521472 989544795 764510792 88531087 579800755 963044877 525624625 785144874 453495968 852837284 391603361 423136631 460008759 111330382 921990992 394525297 691578308 329781637 994348472 644048378 299264544 188828700 593536453 247077310 173126411 603743209 680031260 212060400 817527185 80096955 585158132 138181775 60882971 735343868 206415009 277624164 779866453 242908313 751990679 699892255 45666339 384875360 987619749 508497275 138045029 751632302 559431547 809577259 805172426 958702921 813675816 586387905 642402772 992276792 802182922 880157637 158852970 838622626 944986559 398083964 776244763 685128562 527663403 962169026 398164295 756934111 251052501 229767160 29314894 769642259 786038782 291529560 997485785 781803367 436165220 74273644 755796098 874562452 403040352 574614972 383011709 682358262 466596744 584817083 3963372 257649121 225689688 551061204 7060654 780892612 807605872 964433364 844388725 933950202 747616669 949085903 155177329 238043420 758840663 920163000 739000304 19931738 465140448 379600696 900988471 789525633 967237041 471527742 716536636 930167399 898972703 566314922 445125574 650004878 829916408 363307643 64945390 957145783 817538337 688477274 919630662 293373541 657600986 39705681 154417311 132656970 222718791 107120808 37788805 962347217 239979297 770491445 118755194 218649105 235333509 648990631 967743065 153251921 814042336 821821395 782715525 17375301 719662646 838258774 419360918 643779352 920935960 565560789 146315321 1244651 190969836 26504273 363010156 246597159 308332445 215175438 847002874 582292449 106792302 479874533 211426903 586490696 573811999 837692933 101289166 744479237 683206960 287263624 74599450 811702215 294544916 516690105 388648076 966559621 743903825 662660772 442771425 393647707 440339760 207591843 808677693 284488940 877192371 319583435 738317850 159621362 756063890 327756748 110426218 707978788 867486927 761136508 696314607 260994678 766120619 218616911 418702407 410688950 904807272 597627793 53420818 24172500 378410398 522484798 217003389 566390349 842565606 771665396 197737465 276295936 222121982 66851135 447436930 526856383 393448490 487128771 381157631 987044101 344594631 379877213 113609675 796689128 161726707 38246207 807183548 220879908 125082423 463537029 690332493 639343449 214285894 463710157 89355101 659062990 443332147 140208650 585002359 271019132 436365797 644691879 509524270 691911302 209818439 400560303 623335 71865952 645969196 432821634 193432128 556905991 610539158 607713388 465232458 244470184 821576265 202387250 480711373 448581059 480944287 269580825 626979357 993628743 98902614 519969607 936148880 344523336 630458398 88215570 602190815 677957580 452020189 731113864 267474834 70652393 169384810 787149566 123170793 27002707 156160008 235606119 486748266 600677110 592015904 229149368 844844604 491277201 109689975 400813189 921271962 127503210 861568087 467532924 904188459 394045466 295067190 891240549 46578909 517393028 251500542 538412080 402015975 219046150 616345961 487808991 724265216 853358149 229990423 635313701 187127733 293701638 35699127 222328881 363006720 687369765 237000661 153671520 654616811 57742417 597006296 519627116 806045798 973375150 210003667 844305245 307323062 383808191 101176058 984808787 591761872 139155837 442830279 785992397 608395959 986437663 756784694 215999772 841003382 400120067 167639172 97654132 643942703 318254017 79651241 140588754 833303690 478299518 688408619 815320939 567822497 363320884 272304376 152859287 20364721 277488534 771925237 949968533 311578752 51684472 906064297 131519657 103694450 22514660 379677672 873058191 73262022 711900598 699452754 452678960 241302988 956260554 196817833 527096671 922946460 398461457 893915459 134095956 507903819 673200157 241844159 326386235 173890233 881174179 925405449 435482356 466540072 814032708 485359062 261092050 249294259 848969790 464654615 255350172 488379759 838360332 148966805 195688866 245757549 597680147 673680584 415047091 802191949 172783074 248911075 893210616 745816686 243605996 558139757 775630376 213771877 648742184 915031830 868182814 704696001 233314087 440414221 433685614 343103534 896602376 101150246 240076174 415023259 650949583 692562921 788908350 859528833 322082990 307380855 594485415 282963541 237914340 29694354 871013516 858842064 291901639 159041738 238041555 249910854 8603819 814448928 621842046 524400760 928670105 356906999 472712382 505949409 354134251 239840259 322129979 410278569 28324278 990750823 685579813 947865507 288687751 427981326 517413939 61629338 442386823 305101573 225398395 995578360 49033540 209314228 39282143 119332268 44427349 244730079 130575884 539579935 535608566 934049532 10554731 825846913 954668945 827088821 532462837 387079567 482113163 847803435 971548847 86463976 655590635 276496410 936362331 264361345 108403276 583955523 880767865 56568356 569960983 562102553 409195791 735093308 645319415 773495567 562214369 114086465 148510659 855879351 426755368 236386026 666058728 875488953 297852036 57161199 832438612 910884769 15852187 142214233 124128118 60269677 377091682 239799165 254469536 485093254 926978290 943371036 615502140 779564883 532301650 346094129 847372269 623299868 86143792 908984451 988450287 919675565 335085113 246807617 350864338 647286836 246514832 849816814 389282781 741389258 285931673 612477231 358956451 150298652 808946656 176208897 258978868 362377362 962419552 155297860 856532472 981058111 9628646 733493099 74220949 277101618 174958121 146987503 60336374 902474505 710345362 328147110 924546905 313453605 494527786 151688206 372697536 63530713 203537222 535773000 848616651 333300797 325433156 946090349 944610129 154239898 721792464 756075818 509796639 498117773 978955759 703465294 646573045 514966372 718344684 632739429 107552581 475789280 484912440 304236840 801383589 594455008 17383246 52838771 694603942 335318328 793602138 324971766 149626092 326834502 59725139 745953743 830646868 508213282 940619998 448914563 99690103 851297063 231577144 771071387 61409134 17128412 511283615 128825702 659024869 998483412 301525760 293927706 588263841 744734138 414980834 995101887 926808398 368494731 500867544 85175670 19656741 566178645 104556524 196110994 773538442 689420007 310043216 227149554 139247636 892306893 585450838 643018001 988723987 533267096 623914945 450548907 258237103 230052409 641819217 233436240 713723423 115506773 109120145 117400014 938372618 248421553 397189202 745907374 753285490 854722192 997115341 177223399 281461295 287364534 505660219 743273471 748635574 587169942 58405177 119943523 216412246 754934665 542771329 636107843 240375407 959589960 708017184 318090135 912675013 998601916 780149820 41344939 794954081 671347160 343416521 246627240 772739382 609802937 78462355 278097783 173149294 107538809 707955421 881646764 99051663 633204253 349450385 896316904 605185844 487623065 168797035 462001500 840099968 275101573 4309102 340074986 322025235 412952140 906104082 819354586 923680847 349692741 557138839 398584750 335959322 439345756 680902481 207228819 681530635 396510372 196456686 736316835 355684847 799284794 640404137 989638198 447026621 733072693 614488113 345611339 550632489 545932426 158134519 651653086 93194429 92610889 362257137 781975796 342584161 451069046 196966268 412994793 82566056 748007097 993489128 598266156 42321719 304066993 616120619 80251552 202514239 180965912 678401615 110883562 617206532 189486171 14154211 386920299 756734602 941267981 634895705 178558974 567763939 363002476 919139979 537052775 181936413 229124492 626837230 70456511 319587637 494722264 848877515 445557781 823833997 654330194 4885787 260143688 675263432 73150857 733589267 578736237 518895079 805297957 39351889 364767536 76241634 129033781 831777084 575232315 516693580 152138355 127331092 12080421 743108503 439154706 892674317 756095974 850450347 802924624 918385587 3192818 544736143 327686758 857001651 192152059 953630119 467857930 610460210 817929917 565243842 402471742 842391276 301455709 106058553 211593357 708771205 652425191 423676880 741144562 146361112 277167244 848777177 664459650 24050056 525684155 673015744 351562550 387344055 878049917 672591374 953798210 754485603 661590345 697834854 249471733 11209761 614701828 831698499 563763993 242843481 655010183 184318464 408256380 505237136 792143014 779194785 475139193 954894883 185327806 200847655 14636884 599856932 872896333 271587781 817473385 838255589 752470926 386641182 523723055 713001135 234859150 183963518 233482265 159109118 125542826 793463122 192271074 763667355 831511688 967076040 974768634 307942062 970068458 53092168 524016337 561486945 967824746 615401633 169741648 938732743 757970558 45500381 301961751 706284824 170054101 417143750 864157614 63998858 70819906 439538877 415436032 246906616 977488148 303849595 413295492 234355294 441950576 84913647 361114559 187432712 82845877 292353461 346242970 595991397 721795225 65531968 404958248 759341745 687224980 56845216 942816421 950981574 592124775 650048060 365039896 397298640 816502754 148373295 125342253 919395676 750980286 745445632 766932668 667649951 854775547 938783312 355275500 255973208 23375685 943747173 308555613 385213326 765197022 255372025 977611730 693042894 731751691 562015803 68605210 684659667 466278296 498695805 244979621 534059941 74719889 214229536 720479937 354413938 107532025 310989788 253987726 56818702 384213887 338120728 95867198 79464216 502745020 817664352 213074537 597014186 596249372 12802553 887479430 912167053 236898419 550198340 743678984 254659278 985222537 733870087 680231833 53408033 303632710 446019551 750532124 369553006 218820485 853870307 949355101 502080040 650349274 82694253 452030801 888278960 200912773 296642783 668614431 856098165 84220279 339495672 945018428 218966705 19023093 843046610 99926959 236595910 100869789 951750828 904069974 6581403 528024837 452317263 443198661 528804967 60659105 439552134 971652065 116067319 82119488 624676279 722534435 778438588 21657474 362143602 978227776 590940495 680733044 525814659 694742200 57139758 116423073 390184264 686228484 631183569 868709089 337892234 119238213 698483432 68770654 267565861 258768259 490186174 492187733 43284311 619625247 596176181 60806463 705146756 304204083 76885810 150541958 960012929 129669744 10851311 621549015 816148538 349733000 707601644 173353907 779981610 918246094 242926553 138591097 598698356 865561583 650407474 317316647 408011432 937411370 186355820 798263643 586200806 971752039 263469967 775293341 621183652 297309799 999395142 260736627 667567693 863376147 828120091 180618737 288378080 502803112 305749784 666855433 796300046 430060689 565533566 751255129 374620402 493055816 454086262 694559934 108853104 891125551 645280359 100689781 831720678 599921156 89358869 946117201 476337130 133369896 333397115 415047010 648756705 358940329 93756537 805754464 17818110 94736960 863721212 152738896 105093475 109161408 644075784 570640828 669761575 723385613 329393479 239455447 22472167 122817532 320452744 638198689 32851428 486642288 130948477 753625209 995393507 925416224 839745677 449984452 799342400 844027007 406801001 54227923 443566502 889576648 101375341 979824707 656561092 823261636 707257197 114159480 7031412 928428002 746161104 440660311 879225354 507842984 839959725 662510851 970722470 148323181 921272207 543395219 522244162 914666304 46500276 194899299 326016490 662464807 176226295 518366207 260920933 439068420 526699587 714799021 876532498 331616463 81278883 935481383 935502249 844927551 366644954 264263416 803562646 882704823 40908676 624341414 945667199 801339601 772028946 994997053 397378711 668866573 69793675 89287651 101199602 421964714 74672206 582966974 559329927 648151345 962732589 674820019 192462889 397030289 836911289 111155897 548945142 618167570 784186897 612344574 207427733 511720571 684672600 88932161 929027698 452073959 575363105 980763481 213457520 900982327 405197383 181632418 795732559 98305164 305021652 153448230 226099292 376669539 222724132 317006009 160221619 835039992 222613400 860402614 754000350 421202891 340054977 982090860 248561886 519413687 429804569 160240937 607160812 912701688 258200889 850111017 538817456 674013426 419724862 78157199 832945536 898189365 842000607 899328897 995846786 974028645 103803015 730283095 259020976 514275515 648522827 911282434 175871612 857662195 482525038 597402299 970921970 508672172 385280912 466424280 104569966 842713806 789047686 946786870 11567286 293582639 689563963 375271084 886665281 589402044 682284616 89629490 999740355 800473465 249459970 780663958 827940823 686901254 8205848 89266201 448465189 841690124 434139150 660713148 65988092 555069832 129157893 143439478 208505822 92879796 574912467 697984723 404734487 555045273 104880400 370735010 264334489 845282277 360783934 534256314 547610418 110283924 708403933 448669992 79432773 991967500 81299937 26848572 408273636 446205762 396082098 62099019 305583096 598448729 739681078 46584654 83176880 600654909 415048820 108168911 421361169 984486851 999225419 767700758 294219163 631361028 528570869 685122527 198221275 292848990 52102354 168625932 804288813 987237450 889248818 870021772 590267772 510098074 945747062 409374155 454552603 284675086 939348236 781997160 545331243 477793255 111447955 272165869 941428212 484920742 311680590 494100559 770579839 98618746 228196580 36201622 110822416 300671397 924603287 631593989 36469996 874824933 172039150 578671595 88885263 63692115 802206893 677052122 17727703 724684457 647207920 484014428 263925603 639351994 387946519 906439502 991897305 959577508 976385162 426419743 910190690 68407064 161167542 178988691 740401963 857016857 505365711 803434223 892067925 485636518 118841739 870297701 356218583 819501548 235493977 430139480 576635698 860466167 651514176 33559630 201106163 783124380 915992559 938946842 848179805 930341405 425225556 486218982 851973306 523275002 885961698 895084409 655841233 205369468 366414659 523361675 175147534 789748439 333120710 58544963 225610458 247460076 231296570 116510882 391472089 865382192 690700535 842282952 631201878 89686815 300592384 700449569 718135715 756406840 195783639 831949897 574196619 719912919 933657935 158419026 391481934 199218990 27854540 64688121 104276492 188723593 862527647 469344865 826528151 231662121 408395932 759874190 724070809 461792609 182939361 192671398 450842315 225349640 556050843 210831998 324357690 574214248 856409626 3320117 298881057 618771931 401960247 800889772 327901720 388524215 288152620 779231036 533611792 307285168 702410078 596942670 730906102 677875320 445341612 407238759 290691330 33234372 219355760 427751445 862848941 908609984 365216793 571307200 615687568 768952309 730155997 29163957 929449450 726792755 107073381 985024098 87101582 472693326 40641809 69737319 135941823 863071678 56274470 613343900 481693881 296243394 342163758 738753235 189640356 228543570 625108883 140263942 483557444 198475611 192834491 390680745 73990236 216033755 738290795 54357109 88421469 332678258 556085297 1262466 632801007 72026780 806653218 837831162 610593572 757864104 317473482 548445529 337935124 836368483 658763115 884888182 898816257 95089236 21940329 469693311 134094203 833244656 401498013 666919128 481199253 884955488 52030062 663883433 744753273 703468881 22637245 151305905 770906728 263967897 293361956 217397244 675358994 567287684 339774956 393043332 268841669 203006548 359404869 167075456 22774058 882971871 394537367 835433724 565099774 363550580 272619820 314044571 29518630 839602140 467557628 421144109 600103138 767994189 473843206 661914673 415166896 138247577 491870539 314228451 482357791 542143863 605613279 240260042 98184735 640429595 19614067 661356148 598945247 468121344 211907618 144887122 250139642 964458299 141561885 769027479 796791092 96316152 248348502 35264763 315206959 309010484 134281022 625058312 30794832 244922019 916879205 879270180 458280411 933131987 288125609 232937061 630097293 68675055 596906034 533030816 39291999 490839606 300779755 349968272 648722798 217529465 559468669 803825573 211662010 683289387 126055442 484437706 458551517 371149554 698833022 720990572 572160543 542432677 196471315 467295392 789436056 554029997 550486672 115423323 622232091 523265713 331573308 991752257 288061664 495684417 146166032 97876361 636983065 779586285 266636814 959102649 358300292 383578220 196856204 407352814 720695834 29784174 23315148 452863565 468601464 559703642 450878045 971701519 256436769 878025520 501301581 547895659 245607498 608682848 806206145 91259237 469503046 586183946 854208434 696989371 204113440 266937078 104637363 426801299 701782511 381231669 981901103 553135446 505542283 409109176 321808359 223322709 416801947 572322159 491988067 915996995 690459310 338329956 365274106 581770474 331841112 185296009 596827742 744241111 576017150 997787662 117925559 681949801 218146224 526860908 312160635 564941438 430314262 291118460 667210549 697411992 996152352 191065282 33750265 488436718 995563229 993521624 462933992 122400783 521409399 187969026 165775499 859027132 32879764 997068287 35905951 908460289 985775759 600597909 432296298 912597293 754770403 247308653 582738518 937866306 373478589 359150754 180879523 878213485 699005802 734951846 752408174 94839317 754604767 902953060 44593975 954103993 335790260 960338753 688655196 193649250 415333642 193530847 851203431 808100798 787378811 543037962 686282716 88927906 255425125 510944635 391584431 210320199 181986275 434717122 221781225 680921457 895084510 697568751 550040234 54919654 369634776 944379468 843985067 723755292 530900297 953206342 42483912 380909112 843216135 673658273 661326504 241456848 443386633 815437235 803941420 263644415 174761688 477909065 880187816 535952201 110834288 447261249 414464593 825934856 225087956 105850808 228518181 227360105 688616903 14310865 55958758 138310392 421878871 459475072 285383025 672101624 206548201 470696960 735741397 513964935 835585731 32135939 128593721 969387009 134114312 74765145 908390996 480621067 47040180 132325270 769171496 591654930 490154909 68674134 438546156 202678823 200373076 665654561 710541207 76018675 541488722 581831442 138401445 255568577 761980452 708460694 964897714 814160488 47542297 621465223 490349140 447920386 500732119 953689931 293305852 598068331 942577201 118044138 874460934 319229442 974217682 197400511 671910316 169044337 470130415 688940864 230637774 685639642 484819728 878695757 648081810 943590071 695370889 960485320 998132273 292163016 884460442 690485094 40439958 158414641 695115641 228251675 302807802 507238538 89394758 532447445 790492883 149630155 252360602 715000219 366528518 474728954 727628987 276411859 501258276 59451701 731844962 13563590 687944441 403270322 982469946 248420623 231656655 115582848 19520884 919021913 291429706 387709762 995620441 637717677 975194241 822353709 677314298 611406528 263689312 841298368 703478913 487158318 472869343 120783860 855049791 880799143 444247818 444389593 983768599 372027071 525935507 643190573 198399151 373572762 549720552 524745796 819764081 829434989 239691582 922468664 424575767 27543224 362287504 655346086 517721265 229518807 266060878 266285898 239390315 164045893 421993602 574418400 33844434 233973081 328658927 261235361 282602491 358203358 699278168 987353336 39448227 373057574 419865952 301835937 489299013 972174979 660362745 172703879 666508335 679462464 935121610 549777792 778836107 759671008 950847319 47556380 426737046 529106767 781895287 936492601 188785737 331262432 422703169 571556523 205764330 856684698 356294092 427698568 149797431 815513892 702621577 97196243 882031086 247729251 405899236 404764504 994534480 489050254 346232134 83826812 300876617 106450919 501773076 335446187 191548032 903966021 875007332 615830187 860964241 317913437 128925408 129572466 828782707 169097912 845771399 662507896 229192235 170848521 182142784 122362027 487219235 431841279 240389480 216082125 100670786 939918515 921778570 239738697 224154620 722925316 612487580 630864011 167430747 33537029 552584238 727393583 513397392 324949372 79691552 831843480 316440244 563361445 599520368 980621684 261506247 404800054 414411 212114517 384364723 385311225 665106030 651492323 980928033 271901598 663112862 599436723 432709184 874238547 958273916 568218492 971800854 492357100 413629358 833108194 976728610 36875825 143091280 289464330 453074783 295726481 15880852 718102766 390836582 637050889 652906141 659248650 123003769 427530920 715724581 663865057 942243776 6943102 121429865 125584745 901340541 858510144 788504833 765244337 826084628 69437554 415861775 683727313 894730680 642314174 522538655 90279522 765549270 532536332 570992312 748949899 521178581 625115597 470010401 885666899 106142239 205392724 900887296 104299263 870472255 471761700 502473366 512192774 303985364 588163447 789019685 393143368 542497123 128575580 532564533 988058402 818838420 780630127 226909521 401341267 15121489 156276045 867193399 963317204 290831230 311145084 836844128 48227209 113389794 638170718 160348044 32585385 609410131 623078216 720624356 502120729 977096348 30975220 271889151 400747039 590414251 19148671 343705351 38752368 815882949 571068196 64510630 71437803 303989486 951794749 362295884 95934353 288891937 912446011 995964415 396682719 289791979 579467790 493699972 284465924 696751361 729155586 420460960 673109009 844909466 902770592 462147763 67432576 956939867 265056343 831494700 428386810 290327302 561347708 568495484 108662322 742381380 535756909 227093463 861650775 449360894 585131735 92391264 942877526 322616635 94425485 608216333 118435623 101928953 219890587 438545992 160123846 717079801 852059756 959733158 422084612 900509820 56649652 108728048 592188601 284042068 20440036 42628705 83644480 102249416 586091983 505106425 938562373 928911262 922460249 498801047 621163836 70823137 597401057 494631979 740208439 864964278 552975981 693663059 21136550 503381938 993370881 675511670 69895099 341330684 327317217 392352026 72545480 287201763 91707947 717752333 148626528 404474043 94143264 162367313 872927485 847782020 69970143 786905954 652313840 11815822 77636256 433177634 737492166 898696679 334695238 73072160 370941200 153009049 513280939 565724553 462883672 460805910 854273122 115581796 378820620 116434328 274839794 889898733 84761158 279971556 726425301 102228891 743278868 968848747 884400967 967766243 124949043 672709406 791276663 519546149 233660713 244552270 819770444 264762707 431515536 491341653 293665482 936930165 462446381 129902615 600846248 631418158 493953172 960215481 658949498 16919138 88699852 558930817 750581965 624746848 412149890 935750107 421804836 981965285 887179105 52540407 121803050 24831880 955812711 431190483 866220827 960777313 949451735 929709037 363171673 908718089 454554863 766426537 303786764 840077845 47835938 993500478 23140934 353196624 960746195 827247942 734125128 581288841 677070763 840895099 208813959 349081292 99375801 418868914 664929063 816905961 580888119 722114764 166157375 523995423 110412497 75819667 487917634 812367891 696670876 653976962 564990936 227577211 497217070 735937134 845652622 914352711 195952247 418324978 556792018 830766522 940156710 694100196 468587243 153628083 913815741 892256749 868827737 380722861 563157224 82056900 251438464 122237434 503925515 734755680 270337613 524080713 211531968 810123508 471056550 732290829 628289387 960863622 827284506 471497707 438191135 17198064 183676188 325981548 541663873 65580879 859015153 132222254 837769681 392965436 890340970 615466177 328347821 234898275 664973393 10637118 972527354 918875143 872471275 628178567 576866958 32781381 358826688 579494465 883588341 32467069 178655375 390674162 524523910 784298923 691187504 143687793 856331623 968351089 368215523 626106980 173441189 461876701 821547183 648313665 206561687 744911665 970518995 430052893 796533764 488216214 757810657 255160969 966203969 906516211 247636616 305103565 296368779 558830893 150553055 810234669 157603144 49948655 337271466 336042698 215384809 774447641 612269202 52478880 831781729 788244664 342780049 556462577 803502227 137519613 66290065 2830719 763570576 270323728 890920403 326271011 616004909 557277182 658811319 779110403 281821339 906419293 805706040 37635077 345282432 562806739 730341867 101349657 773179629 972018513 737286666 506927210 29692197 323810028 534158159 336621424 527629144 140892960 79324112 887195763 823628237 319946495 215150580 540331303 705046107 696695904 344899703 179187372 869134976 874056166 451788870 687955858 909165258 420325070 63401882 408194568 71250380 877252988 8999431 6203874 232483014 222260741 567814110 706163414 190558867 89964701 336178761 506581214 890110427 651410245 246903278 706117646 223093375 544330875 71148553 134214903 501490192 998912731 263321027 572417575 161420570 702370582 179786156 769626264 563318424 292894013 228154006 312679501 117092844 475514791 803581626 716790289 386911620 902226085 80359321 697702083 150529397 855933723 910918650 48227968 751262130 103582564 225998501 19493241 515196983 849922825 98294787 797392351 208386442 630101401 651886996 852760648 983288623 695461295 958850586 677581292 558155026 702596029 826029670 108559849 522908333 890772152 719536424 743422420 141854729 155934796 479621839 626693508 392500788 757511395 438620325 564429193 678270622 246902553 764021828 72948774 743841382 255470603 485289835 630160072 639835080 764545723 146148689 812606063 134023891 520664427 689011575 735032415 536020523 651537023 326818397 120996156 28473459 693358778 961621128 722631897 159414047 899192313 563782363 442267458 189864092 237513955 58764935 683147203 660194070 730502077 58331911 729863658 531067577 752784336 721475339 554538884 592519759 812358752 256049714 272669041 317335510 828466026 204665778 358493207 995400634 689556591 721383142 592340306 943881793 35351517 301128207 240681764 895527036 136709427 298816404 236759333 218710146 202752510 453429193 643829187 650201388 862913249 794804405 100286462 183219807 743029443 46941173 782954832 388624607 931944972 286569505 652216112 353159310 170022505 170295007 799524505 196127436 782809605 620876746 826961167 57947325 77305461 706173902 532919363 508444827 291755107 2209256 450469437 165711418 544911029 272464551 221896901 469919544 262458967 255635824 576213821 504509541 415027162 12343749 332476987 802452815 428994736 234085693 664374349 906584470 249019919 68451777 223900516 780108851 671944647 968275980 6551029 5268022 586173084 979451968 69150048 929348121 290647676 982104828 893682881 213198668 699548281 45203387 160649663 165632632 310149048 571101799 460728151 303266447 858479451 293918704 17584565 498937387 585111800 111176291 769422934 613008286 40756583 418566079 82412365 790524757 189370684 289215608 145837450 219292560 444052711 33638637 812537507 962584480 571415894 139550459 698492943 550843952 223952089 411456807 449077232 169220689 977323891 720121494 909212010 620460073 508280345 77532652 325760578 836916727 482431165 952688059 508340847 365736981 730311868 944315656 423517157 960633100 937600356 523613401 662362104 629920622 368478526 551570642 391174266 826188271 603116039 732780942 77878935 748374881 239976407 233607742 951266733 283942309 239046481 791945230 663749857 9116148 633338421 327331991 968963326 98695897 991308757 844652362 414070625 500984459 672716917 276597075 191623940 928479120 212574879 764968637 799451287 948993652 334111802 770137300 875833863 100724827 522212923 573547672 125520469 183594334 936819289 442556027 781730031 534801388 620469957 491227650 275353073 420951149 517632692 72817834 331721303 579483804 598472036 460763431 315258494 783472377 783773850 235423203 24223385 960201952 755143945 631065759 775398363 670447919 245847005 24144455 118439405 594676426 399347133 116986009 919348486 241875540 590769306 555035983 882502753 228549181 185707322 803024112 132030301 206438541 685308461 488062365 501029476 795567373 131760198 445808137 115976686 14695759 811818414 343187946 181257435 482214893 411149525 230525391 883432919 897587191 873974046 498906906 860356337 137113829 593966252 293109491 468942821 43161976 464575375 301629672 372783084 107087367 935814123 373165627 226810865 541420304 480440774 506007556 288855744 905399576 920639130 350366193 765347904 637872808 281554034 489126848 520697528 154137031 438902650 753190114 819080769 44957269 304240400 495181275 423652478 745437090 223722642 633025096 716756773 287366095 45654754 54362064 939067481 33678583 136422584 919248646 944403877 739734599 959292523 165501431 901424375 173742370 939103108 392382197 454876640 292332439 271962986 105862422 441817672 296940789 481246248 532078793 665747825 561146729 237022974 684954897 190049437 141594803 208413830 84153564 468239981 256452113 207797262 822735454 895305872 615081989 701954611 549195565 385912038 16260294 628245125 919385142 745420339 313874063 773727041 134858548 699523027 635794683 384725288 775213096 837957461 874098018 27033652 151447890 970691104 756944272 268139275 385286003 235495910 908879055 674798552 613937672 178450330 959245853 808548159 134887514 647903701 708869654 21111909 835662045 9257703 621950701 770983103 856796125 214122467 491166937 962725963 439972528 200553044 58907012 977176930 575656868 220779282 549069186 445832926 815426583 491501725 599417788 749631010 116318664 672734997 974255644 501795125 242017979 390879580 769253780 400804767 187061827 540913334 867722167 270330032 959154350 26128354 550699738 985682982 158188793 496744820 246699088 766778431 93769623 565772646 280104066 118236709 9127341 990463618 311273989 141405399 837909538 994392791 533487440 338295891 989124438 563583179 775932825 797859351 276510111 895309895 484828374 344625024 20474537 808368979 363835275 339571320 990037744 170926047 34669420 285799786 532671005 256513709 425462716 219991640 661140202 248342364 810997881 55643691 44043111 895782799 933778969 727089204 814865889 744661245 662950634 922874957 868013236 263498758 740438254 144666610 956138371 697994062 658122070 530665595 441814709 160687297 624571278 208177567 845627261 648884087 479042521 154832785 240208392 548725231 93828528 986064688 768727636 106745590 328751933 277142084 973856863 841499680 246541162 670544285 142239802 249722773 69500923 59115435 692750525 298297342 10810419 463521710 807002474 81002133 461084475 928507550 186213536 952413925 740627183 269804343 416020282 797857989 635488352 486164954 268975598 373450216 516265031 334981694 243252707 924800293 115570925 408555108 962020542 114117969 302893957 959800511 848382663 682941472 385326172 118516195 29400780 432098937 636858054 681349410 476398837 78853335 429530417 862164045 319527911 849753780 493807941 355439927 370245438 316032897 793544727 208131206 290270901 188594728 715929717 96846835 57476698 718067284 697279488 356928042 704720400 695832328 63818726 901474896 879779620 632442297 642409004 636000409 487418405 402008885 388270290 71319684 43717327 385473458 983858467 999312708 495654470 185408641 731063602 281566577 536687353 187583770 285332701 441298729 609316593 286171902 199932768 416303657 963160300 729625897 214571161 150334179 544296729 992545011 545417239 627814662 803357826 859169229 170415955 971590150 409256345 218415911 155668784 446492594 947382904 192980681 230973112 60330235 727712247 977077231 979241343 822140248 223727341 994414093 779933448 897231567 512281681 56802015 321650562 560545321 489690810 309768409 623630577 81371030 488467496 892379438 694333677 420880694 706942479 773627861 681452474 645219503 782506119 150693599 821887563 746779432 575842610 324258141 236413061 589754813 737772676 654650578 240816895 928425606 884594998 312758920 565297240 649098402 96995319 242509064 864482534 124420761 12050852 141621295 353855752 792185804 51134597 899868170 48665476 786350736 222932509 414469971 413938765 562823197 699549601 307653456 173996927 130346761 773486737 809924094 281848976 677893734 373464814 682564200 806798419 358773880 215365654 537112688 259734841 595526636 180694376 712168244 339670245 605041500 595173403 747161739 813230482 746149154 108084136 697444901 516873597 690006228 3713657 759234150 577067276 688113825 952853990 548854569 505985802 811389845 727237244 416096411 234941096 545151518 122717560 480220715 567780066 328841452 797966466 915710590 931974529 571178601 681803673 230033630 531109833 602643074 133443434 456404660 378608694 796287205 635340543 315459240 781484767 126892498 836189556 192270898 776100008 424188315 966273237 472288817 370757148 231435089 94693072 11786067 979886253 429183723 352402173 756160140 85932408 901277540 226000300 46766159 633585416 199207248 169590680 692133556 931413741 697004142 908924529 74877829 141523139 412724093 137616486 176664717 165764731 714109664 919654261 311117963 954126080 207579450 76199119 767097394 157724147 784921932 531811452 124284296 670499027 848755102 561136500 84110439 67892359 35753501 774950374 886066934 582998675 645915273 634953303 967454693 215083874 64715951 379178935 581592492 760046530 77444799 608131708 261323177 505192651 750715165 248206290 469967732 407838126 333097358 852819098 951068744 722459047 280085468 731868022 875434889 242129233 752581176 228481527 859044306 342483645 127468425 635302230 181663319 341910203 546317514 120892246 889512716 104714542 406455653 821643759 561140603 408400829 699739021 887645248 427614706 954560820 500477120 455734405 457065889 948617505 302392083 288427496 115297782 119121167 243568865 796738418 799843592 109048069 124576795 250184645 735730057 874946658 612039494 838616458 794027952 230587404 754567910 300551233 486026184 321095950 101151166 184675318 995082829 122933892 520952592 281917038 972330202 58085500 723202897 80145701 276377299 445689652 34212451 974910915 716541058 852504750 983854023 394418061 111763335 375140985 917408492 284589135 366539329 655743919 175324449 536541466 104256674 21747706 225242536 230629939 722536072 632106158 863587438 498290754 213616020 588256365 157467283 516073897 927640391 390798571 173484620 958584120 540868477 252596417 894106747 838895496 525581430 436924835 526852832 716859289 277430305 837856743 477539654 248760446 947225265 131798095 297409842 280816137 445206495 512951767 31700658 540699319 16826686 107168472 781204304 908129086 987321470 157859279 922816050 302847087 528618302 764283040 45210059 338847430 602670069 346513280 267718934 108131759 821711193 449716019 834492089 372691160 574399878 889116014 67174491 60470804 813785694 668048110 442786483 998527531 367523986 537054557 246250790 700731509 90429288 518044663 814343203 192562294 802881486 435893563 822688629 237684755 698943000 804015065 512808018 63986709 850718643 909624067 62429453 794124228 205868770 524259522 640791311 232224392 996005870 156739613 324076212 443055423 315626159 293261196 349038487 789755585 504843612 56565306 898851068 114321031 437459133 903739936 176920088 78749786 361774006 231016302 423012925 44700546 848575167 348504237 82163935 398279768 940505339 201013100 28696366 168432277 599568610 255711652 612143508 543890060 865969047 137134370 498576064 871993002 324598669 590961374 263368867 51089317 338439670 583934903 199497411 421020588 39121310 916524700 47397834 73743417 709845300 89564310 713891031 238029843 139489400 165335740 890116681 637304274 399489337 711239674 671826034 802278543 636037578 572838878 229794442 408648994 149499705 800044328 843977905 283829199 486675132 707414424 886397761 640141422 331865464 518094227 498439631 252653158 380833105 954466825 468393648 125484193 617789303 965039788 359715354 441474531 213581968 396046257 246695720 267802694 340790892 738187238 548339299 310492365 470935923 708747758 524338245 24153131 857834151 386682730 84286616 491745485 463965209 94633535 614227749 403390300 59054742 895140107 720049060 496192909 232762632 320189273 272977162 370496962 61805872 804110984 249586130 784633214 616582261 342550912 745438921 505832864 955278431 447702824 512289560 436090404 350229536 153433476 917109906 803074608 76357053 478647692 289991343 336803836 919956711 831731260 832528251 901780999 367194970 931958653 150197399 275177879 515416794 729947344 37829337 227145360 398708778 487382241 642244825 189669291 175666850 46384076 796399737 245995062 341612813 880566880 131892244 823905539 488780139 717337847 133788114 225198781 140840334 240354723 507766106 352951848 435389007 726447920 118348207 780160091 271687595 771372519 209381555 725515800 748111847 307026939 430662672 26052587 27133874 367007079 751298810 712541129 216677633 280512118 297051250 917073704 872256947 711686653 85789508 942026212 96694524 470808381 271122088 5262986 590285192 485770939 361132217 805915255 173651073 416733682 566163033 465396074 206058118 30450337 212809508 818551296 384620490 124582393 220123446 294246202 138428506 724305278 154741666 761142486 234841901 283388748 366658965 316879955 512191313 409504765 220287805 538837471 421670344 419745993 789772720 471534696 324331070 504272613 325647403 386872695 523458468 335513404 227675293 449367825 440402255 478729946 100666412 827504268 82207849 314948407 418642096 436691048 14002759 159458012 329510873 253576 869167240 130805271 166626171 308491867 308873158 866964532 597183979 245680818 520334420 572948813 109515453 753566725 653168784 492222437 415234882 335125127 40066666 293643031 758268863 356133769 616863363 450161252 840438099 684184214 419919375 816221102 880026197 162009754 367362810 299849469 301242643 854850351 483644642 19352757 69524553 826329618 445116316 803065761 801364354 466759802 790210043 98877914 605145522 18962080 699759976 214373227 765204518 564562456 242120600 838730604 904655929 550185670 915252098 495696769 283184024 621570711 488516369 1985074 549367760 891165083 670851522 549542938 124693240 868435687 200105381 733504367 546812234 209168034 980114494 943234821 71002523 756674904 329970312 434194566 487011130 646370451 549538593 535237256 561645120 538784855 41937477 202753734 193320628 656109223 385115977 166707606 143216815 157290263 246264835 342470457 268870488 447212622 182790842 164887451 925907642 830516121 372939184 265762644 813335753 225122376 980325727 29826397 527864717 947533067 196224430 998555483 85256874 635167456 459861954 307497191 600637022 70860328 882119214 483234558 266358923 206799552 89323355 794308663 792640355 767661889 115449659 58855963 242088663 724932763 330315782 542474356 488287087 794092174 83170629 592055538 426121051 4261296 931634896 307568216 846812527 418598248 488740158 738895115 170116589 567278590 432660017 751853863 243821213 144769558 593738539 548892242 618006601 786464428 928972717 500516384 328364600 592627510 586181299 686106640 824155336 767296667 492585858 436781242 535861428 40684878 469783776 72596497 569421684 690571433 11831158 970829218 28782315 778405465 531115019 272166315 216882824 444042559 289715150 120000595 288666347 352718267 151756804 277557563 604536423 395728275 19093321 976261738 769307678 139376739 660592381 267197437 410194397 591232453 729065255 736657866 825019479 580650379 317204313 183416345 119056302 327799181 449565482 862694766 784646836 62408859 574731793 487368430 154235663 791868845 326762970 833984902 437798314 940923859 102965514 541602367 16647393 305802661 543716299 998540785 163553924 150498262 308342578 525962029 814665679 451649434 101595755 514392866 534317749 544868689 205847226 856633759 580381957 108256643 504293116 925486974 941017884 101173832 651766055 147256067 998029721 825565141 193238965 932931430 559602949 971585731 757893886 393404662 763627542 774306751 802924479 622793762 722963829 123434494 636226145 777185870 12533404 832300469 133307634 291084207 273666954 915956879 184367959 178543338 527855849 826191592 173402377 581629561 362092201 926902753 118632951 457686377 246755723 357090235 883589707 106933903 371534969 123437032 92991677 440242058 695774092 362221331 596147700 165491234 343072664 392248962 793036076 236253045 141618077 421012381 246072919 348873213 906723233 887533724 794912450 183748743 200383039 393376085 202076583 416465710 132936308 157757463 328547347 701367972 77268826 706466243 427902835 356384574 164002118 483913306 855063453 789739075 538872506 682118180 381319167 330845729 815250393 436919548 549180024 283354042 744457706 10449599 408048008 819841538 746677439 220127726 159071043 514476877 242727365 124492700 779553182 834131431 190205231 856708523 765935648 564995098 147004357 812344181 207084174 891265406 889462709 357914149 857437074 359110898 648820085 252239750 950784935 336629044 973683482 166837494 775228517 500548023 800226794 667851689 726412132 261101407 887392790 610479573 557564846 980825033 39988929 794286033 726951734 221849027 601865742 480575408 981209878 5944506 224236603 9011520 669993712 919141742 632261443 684699461 820736786 296327560 177524838 111672813 171014613 435354247 556202462 732628687 65497254 954898151 491784070 486119073 679010441 23619374 242761017 408904655 675779216 869225745 956920216 532255764 21851425 295137697 418793421 293834232 358821035 932489319 452382990 167707396 520465911 267048342 475970406 781892702 307332491 308101680 845982022 5291250 114758222 562471848 984507109 9615156 408242656 923586171 428237082 103607897 665623879 154818803 399695348 992282198 725953699 707258186 701885951 300342544 448311392 19358002 567466338 276538104 205418017 9282079 97492894 890290805 529654995 581596199 697458963 683421812 478186623 347396789 561998616 26145119 140581422 731180755 718837498 85614148 34403601 271212417 99216999 79945087 642291392 207093876 561697314 180960022 71334902 315010941 234245515 396845942 635521903 699868956 542328112 471201783 210602363 970334479 220037101 649005388 757956491 880350564 96488155 994685812 953824756 325029647 303324313 53912200 247333507 822165282 878427459 617024082 36794653 269913062 298414089 664766006 147761816 990959637 808962227 749446576 258059377 9661902 204359204 63253518 931184743 824108042 566422031 770506017 510470661 310274225 155038271 409776195 513912474 790966037 442967524 888307241 902272591 751521921 183823515 764433753 537960889 227709771 323538067 206206248 575720833 988065438 502951883 5465775 662722138 867019023 43487330 944445954 527971348 482262715 260286605 556245311 644561489 229840341 830358632 817652734 457519136 48679464 480680091 763202471 303175108 287427052 38378436 928264535 739530174 613436838 55776304 449682674 705877670 115282638 63690915 801492761 943481514 826131664 561416682 121738468 627021729 25218743 687739505 778350087 484870968 459401323 822933168 680126924 35961472 325916240 264962504 884495061 289268695 777397039 522952051 1866488 274537429 943629242 507912111 340532028 241158209 284017538 284579860 648731622 868943486 364397414 608021177 353670358 681046144 452267673 53841977 812825584 807052848 223531123 687316798 722548894 559195525 813815053 964107244 126791833 603981365 252826836 902113356 550735576 400523844 178316433 276693468 387062780 790365728 162328832 299608559 58756230 427350129 312058928 586088325 366858121 748727268 539870165 779778622 939172519 459264791 836558194 851639486 239640821 564947723 917139057 882786457 384121924 733672855 786554065 223057181 352130752 998790609 104599024 572927038 876494659 259188967 433238434 199258912 209288375 48883880 723934411 721598290 941542092 292698501 804479768 345383143 128166358 539714992 201993513 56773171 140340684 851277297 982749100 910252455 747788479 533343947 335094010 209068820 301364567 733679177 934727860 210882891 167965605 162538234 91433475 322858413 859663371 925573666 59605002 961656299 487799842 877068066 645962663 982216219 970673667 381221251 73840275 98298125 615670983 445024888 315480717 917282590 201920669 968349989 536035263 675289312 892749003 645327217 774207182 375097993 408224444 427260700 586877802 858261027 219582321 668635312 251829128 594569154 107509119 6465100 310108698 624068817 580597698 732049220 53336943 103429379 210076099 879390643 229289152 13828916 286410712 502385115 947173525 729865159 985862176 419285958 36183917 79189704 565096194 501964816 110261967 672984747 627098598 494541536 277929825 382288646 58066861 69617760 401485308 236657599 699678528 519735101 973352122 542017217 745265520 50939528 163486328 225894028 667681056 63347164 857776100 313600124 507008819 839847861 144223629 208864338 918324700 176463143 844451799 463599748 417367178 690663374 450496144 817279390 752765584 981892830 767773702 458312645 938268602 396274682 581267901 597592658 942431225 682726006 838170396 55693486 398238388 349356660 999202437 658739989 56871427 929790299 806139420 278495747 208962739 653719040 437918602 12943068 373223651 75799356 923390217 664377670 105616872 203752636 304382381 323421851 833887530 800875630 337974170 739099576 182101437 498963670 213020955 636195524 163837776 227179676 591103653 408494871 96468330 9630141 178430409 306438471 428408891 672858280 224854707 339489497 451293003 94842153 876104763 94850857 733829533 243659355 695467040 145494006 930899146 989666664 419337419 987503224 231833055 170415630 220894285 634464512 760323703 432878513 554736822 721059015 247066649 296391316 546206993 658095304 774034685 238002002 880853883 726832626 202714815 949435473 499154318 857805750 129530062 129115168 471963257 970422795 702434440 46766449 762518791 646377478 766678883 596928521 548914798 632326644 273119106 398191148 853147004 688186021 420083542 838439246 831178872 199703674 283970228 64935477 447706135 574044781 142296636 86703377 968770091 34636498 402263905 901111075 590098533 662716364 607560832 364363466 54556079 480276312 304710870 165414171 721868463 949332225 218455839 648478711 102606419 495050608 542822920 862446662 71187798 157102192 300121453 404209217 487994499 193052998 662983558 550538978 759249863 957554330 780288828 562024347 469726352 93154150 491535810 113263234 526872895 977628218 68059978 716445775 889535656 774875502 501995999 918408672 775810486 350900336 119195436 284251936 567289633 392942620 191286554 53382625 649306842 342579523 782467587 103870718 387908323 259867097 80629945 235327793 508713994 226504488 249630529 526817123 731419807 621402365 449975346 845795679 715586866 869407602 954129548 238582006 252848190 997872360 339176009 242589242 758545262 387383772 270560962 322994174 941672180 197502971 891002937 847061243 995520880 139525517 193046288 821750874 92073106 949603481 68738132 842695631 3933697 975731546 13756224 79669936 854281478 398716706 269609331 74792076 165996140 364310737 41949664 285452647 342599678 664029847 213839562 68244566 861400623 875971962 765308599 949232335 672414845 702501277 820860942 806062937 36995707 569945970 98386938 953720794 288225387 592604987 433722282 336157977 376709706 453759570 460799148 281558999 174811910 204670187 738611984 874444089 173396966 804159301 275059117 678256829 551579994 43141936 586332035 609836034 616611252 847751385 29724365 854262655 424130058 459307170 894969233 317076170 720011366 113057368 394187998 411457894 455351685 198541703 669686299 581792395 650083864 486892324 32968620 574486469 128825531 376231236 285637808 83868821 939570834 968972157 242526765 559549797 927012692 671793275 441726714 887564219 596146464 715537071 815015149 971702582 540083842 416149363 509019385 357911292 488197417 987724007 479232692 317997911 581422826 870223661 908891217 86013970 10546295 721196813 88434271 820915174 893764517 102296306 170411637 733430631 138152116 847131377 558921702 367386958 242103370 411174660 1653034 769422686 71495731 814362979 580921516 538245821 915425806 762750438 120361639 954076738 155376521 114632875 231649615 206436929 570946101 837963395 872445480 560039977 433174589 180778887 395069099 769460355 69556529 780655806 588602076 640122159 974012659 774634288 996781960 364304871 804681479 112668449 92050907 256562502 673142507 713170241 735642213 921108915 181777214 541060379 557932831 903383929 932605764 571851938 811639650 599847295 480821923 761610096 500477908 192555813 186118611 676019863 917340700 854764197 730825363 687616851 385062822 825878861 216580200 255493192 153732041 719910032 766442116 291092265 293806627 65154944 658242307 895973286 817163581 75489761 316217276 945257585 493235093 136367070 592106746 714534868 480726003 899557124 156379446 164264357 687074106 1260133 581368153 102123853 846470323 565303500 938617103 757050967 88305277 98309634 16066703 977201907 688681818 390607882 984167188 744240685 442754065 2952655 743783399 827903096 533549472 439636104 726336427 804297488 178999530 279704401 315100922 274498272 209634234 78482290 74422681 953976864 646895354 174125165 690805192 290613876 81262913 360191291 392506138 210100232 893947113 888743499 584195780 74733324 644211856 778685795 43684733 312140473 386187915 304561840 852159530 414526254 46179904 271666903 906630622 881837411 971728818 506641076 112435199 294938444 60635853 760987150 692450099 985014016 542201743 961242164 465440260 391784327 178519392 330829980 43961402 635001508 486922364 160458 326999898 367279744 71271636 917599617 152058422 696654631 991537730 137023836 969730 830116144 715500506 907984934 938963480 823520772 669157444 78656010 739376248 517171690 437499520 478521949 67503559 52149444 759051917 263715749 349946300 774703501 555066065 300793226 937045043 626856455 131117842 472867322 302150774 224936897 748590688 218245759 547488496 614302382 952121948 478349066 772239264 763826797 666464407 75326786 802857891 394309322 299614623 445069559 354882834 336691966 835294510 879089498 831958912 466296230 436064873 87672416 694893135 329892019 947171227 311976649 949566947 823806564 681145793 852107675 387265585 215768353 652252317 219655803 804228533 97351466 48931238 578080102 226733221 999344421 417872588 490576210 54692289 811844210 699571250 664172063 441750885 153121723 695787569 861151917 233258964 223357210 765388432 745350885 804158588 218731067 638545532 120396943 953910226 135219681 258917377 461799971 857652378 75859544 700528294 414366601 586963398 575905058 435860399 941983656 732638186 85433349 5469106 383847887 499540061 476278967 427301288 165614653 223327323 176667703 144426029 776669322 908866232 886265814 873292708 409214945 429573007 596105246 552082890 383942769 957379884 549911251 79529937 609995666 185526107 352480021 117817310 88594921 903098222 700378021 816161387 219948570 148111376 256699072 913100327 818333964 189416069 373135014 463396681 105384966 573692032 845075759 715545854 618401538 535590452 273612541 126777745 395455975 358372563 998639019 938833461 25445638 693210399 144987305 676687676 267353012 169354200 834621925 501373941 866948799 926815099 486780307 38937294 833839089 402928968 343056199 328378742 50725597 107365458 474447144 376755164 978784440 291355817 233339222 80867347 645851305 603145858 653699166 279130081 40687784 245954920 481345507 480720968 273228196 228546147 381080339 265915293 797913148 351694381 617972277 532585825 168024278 50136268 770834338 180763491 757398995 154731766 82321258 435618654 601545654 160688654 377339633 788025317 187181436 679609494 942248006 551350399 970105358 727576159 437834985 784973278 696659291 670586337 959631476 66544330 534528774 925500870 997871324 561260271 697617934 296399259 234440109 922428446 25690374 185040053 339517225 896682503 219452892 598191579 412577814 792834209 216738532 488611272 195076820 842893549 690960589 710275874 32654138 418039063 472255558 479208593 444279526 557631937 280538788 440871642 881988930 730953925 776579142 971122143 132245572 660593937 673362269 838871885 863165587 312669948 148101303 885704582 704962794 603321495 971139902 487739013 742428463 203891757 232305888 587057918 74959128 937827023 563104461 137013726 826347814 723418270 373026402 859829497 760584716 515130044 688298183 690852844 109163120 484275779 608230409 587721193 114234274 262743775 16816361 81746760 681193053 362974690 684889639 437219452 205091600 787433503 205638755 660915597 132492513 131696883 132159858 85785471 881800195 554689605 322451901 705338639 116831118 180652844 438499838 431967019 939246125 765410052 655559893 408028693 184019974 680078815 46086357 128239751 755947594 942425294 962069418 63176754 132328471 790085697 397716288 503858355 406984771 538090756 566545558 875871139 832094599 826466604 931166061 326837570 951311253 999884646 237583896 744623754 867214071 320076924 835316968 911086953 205685196 397155980 885152922 962212324 88203359 218605226 665951445 347057 186416764 672358926 402656250 776189166 817557977 322433405 270623248 782292911 136962119 179776674 469657347 763566824 456863073 853715859 671663367 375710640 229362888 36409704 667165340 886053989 181693079 461626483 680866395 147439872 278726000 16002033 438224871 155042227 736497249 95927774 203219564 27328241 58731825 754165618 450437257 163425163 504389347 578874654 161197958 422727795 190121421 281402081 552749780 91878434 649497689 612648824 30631537 349557757 15089311 146402128 933968218 630634033 856554637 204309885 342859679 822914866 754202906 12760876 74344898 17059306 481995371 747353270 625212304 154245543 237668250 725287923 793256091 287538901 421399768 155442783 365377987 917520683 560472987 513092410 24912580 399008092 170151862 829607 857883362 548113779 443324174 108356964 97297090 442607457 640175666 592103087 414342050 88035473 759543041 240855174 874084828 856637301 403401012 250174373 754810292 729432540 120221946 932443209 661266706 278774560 580034581 446891455 86257487 530663050 888298300 223324266 980045948 804083653 526640251 323486632 175059684 75253167 89435156 311089615 968541799 661016054 877458952 43502606 574932375 905897334 262871990 585211936 758267086 838100299 691353494 831860119 634107012 200326393 36594204 389122675 945812167 389237570 432720530 270512841 914948869 506868353 699884423 29049007 418716602 134050457 451810630 103044578 760667271 867466302 421593727 813841256 280358193 831282591 466621115 820399436 642093359 961125043 250101002 723165778 373004968 988039651 874911429 10985673 121218692 904462796 376539376 253075451 810845673 130087851 173482119 345869984 923996956 380717158 189006132 139653488 799118440 89400556 670867239 732189364 709644630 688426421 338820302 662535264 620322105 894394756 39099893 753433154 945223772 354774919 473684884 402865108 344882060 726163905 253213565 870433814 363598524 581664436 355190736 742368198 402451201 417947506 261201315 95239931 815805780 987938947 174720194 124543423 584901749 856220620 724649886 793183565 867133284 685121505 108066005 598147673 178807546 26778228 719196513 730064336 112490653 306622002 768109500 305305161 957847201 355967384 672628208 902531045 338952303 721631635 730451449 520507665 46665632 643051436 404602070 392755532 445027059 632558676 40006300 474624782 601102557 712107028 119747369 411763800 66747821 380282594 816634166 545939018 153822245 783161010 728989915 607840359 246830312 980296110 551848104 815085857 104456707 880803342 767676086 786131429 997016730 314937227 295338561 697962056 852302056 562154319 654466562 227592331 287902862 19189515 14971508 433840531 588197396 702983531 954901747 204643588 225886403 204435473 865924544 916537369 826700244 820920294 675195331 558167463 46549118 273987268 472263852 658074998 203334361 329725551 477288635 57897561 706817233 19233699 699028042 196710082 696160441 465785546 177066374 427178466 369768353 729158574 936202607 451647688 955758469 97193682 812235121 110938923 526596347 936980519 387848511 683332999 743573285 16799247 555068467 901046947 29734839 72665466 785697841 727978206 857936399 807821115 292554948 902458168 511641439 447776167 914911207 528047126 732906828 814802756 215099981 169782314 393746502 955317084 998578053 196375715 115197491 152989165 53221977 5602187 322800766 232368463 343572152 258063203 91014995 87853822 8310212 97462467 56361091 869263964 14322776 570016518 840489706 200038125 544404412 2482901 47901246 98731096 904691598 40844843 324392645 623334558 871585041 178169975 160804994 584400527 648089108 744876501 303289325 34226555 219295726 438808246 811237368 986078734 23408955 361535652 410283959 440807040 616502690 334364691 78970643 212259785 119638337 50593493 964806195 277533634 423826776 196836918 678373255 49711333 938774177 819803715 44110119 261144412 825921313 478960516 301701031 354103865 100772672 348222174 897997445 174446327 500180541 4754150 538123410 723676092 265037038 786993213 81748350 214305301 953888051 229172091 903425124 86721076 830106726 282750227 331265270 266244134 914270773 73622883 722846320 487329804 158411321 183005753 477081912 510859915 546352843 429206296 650391128 509349545 27316623 458821172 302274720 7392661 296189340 410346869 91078727 845206654 496342547 38964921 450615050 212217776 701438143 802193491 282960102 592590245 180585258 781864627 128869947 175640821 894919182 882672075 695479753 372291601 265386206 221726771 235942011 783654356 884885669 84094311 169395002 91729703 491189349 795036169 524102884 386050811 921765198 106926901 710857793 934803272 700400862 491612006 69720754 241984806 351333879 114583654 973737938 281379342 214776455 9265237 297276702 534341649 621858488 936705304 46931170 917903518 951277702 275757421 547567421 38769953 443393593 18070126 895570889 542105411 88139879 564189496 563541707 36375376 360766625 793442411 851402535 468251017 631148800 744196484 942350826 794868004 343594686 877389227 793338157 293756039 691975114 995537153 429370305 850138515 496343107 229549229 984216878 164250323 10006002 387237797 586824583 279616143 488611518 213278987 235110794 291548284 148421886 921842550 988129235 470832616 567360260 867541290 872489186 14752138 737951876 884342181 156841851 457652608 34874068 655555871 994071489 407941548 630802230 546849429 575354362 101727900 412863784 740746351 760725870 399246755 978733504 159853493 729642010 53187253 863020961 539732206 494009884 653415174 113243108 556146740 932903467 219060564 747463427 178914878 176016874 219235080 254502349 217674904 607997234 732028454 969957340 743835911 288060479 260966790 927051019 23335947 988639253 213875078 582082917 8852842 604004081 707326195 939496340 390024309 694588415 276051721 920697390 13530242 368721582 746949605 106700296 320307683 194218977 213026854 330978005 860822680 40833129 106387608 47252388 592666526 222346593 104518235 320736371 768919931 361169013 594286784 527348108 442865133 153651643 208167018 225522284 119421120 888126476 84831543 62956234 476779990 759982238 642295887 619851082 734351890 719046440 31734202 203824893 866637072 594271712 640928729 354075226 650166158 215164010 22336882 584916512 647839216 888692296 176477188 930195122 682840499 365416920 153288992 361657500 475602508 455092032 124117696 459019505 785891325 954625331 554353160 15766548 754695624 61151867 384464635 651345803 838725290 906847540 784091771 178832194 680162347 174610973 393389283 378005677 677674365 647857677 974256170 511811386 216519097 491905659 757433137 25830845 47224912 761656406 492619187 421907788 265092582 127507477 748849994 348940638 404449208 524460427 115724817 949689746 710669942 308083527 480170147 336191644 212697724 517658427 241380502 627775208 278372517 516781074 235000363 163281750 600341390 206672441 313029939 29784387 770576372 169035225 766327254 357217185 757399243 556319425 372547025 485148369 427791495 699891639 492269535 995297538 116481463 957195484 216178258 655528207 252689789 600773094 405726869 714485823 110386644 869392060 724155511 843574994 270124113 304792040 788751183 725376085 824726563 483919173 327978110 940595909 968288825 961801998 568716174 574715576 102454122 637222420 834210023 126646103 601188743 881377363 354081748 487101626 185031535 209715039 969948512 761423122 164671733 801675269 968624659 53945300 803474128 96564105 818414890 879364857 633304895 463112575 233359621 225200539 1554322 593449474 912973749 877705985 189386835 547406404 953361568 171836036 797546605 937476551 328812290 887246837 387144187 502120389 284604961 117502055 698710760 791634132 256225445 32014589 843685589 208639720 268853337 404597887 89511902 235693912 378855301 24867273 120335070 947610636 124817273 52709073 954028956 409831171 757266310 686982335 783070855 18009802 906142939 619419216 995604058 851407424 594331410 253353962 731756966 253586565 792600351 810141776 537035762 556340769 447106635 366686827 74996112 770142977 583174401 500937246 266690363 877974423 564053555 319786245 301398079 435325528 508160081 80092948 152617421 111321074 50349602 310841195 472862038 500438821 67613547 718887278 877896737 98209818 278286055 711543698 948619461 47667670 753739899 758362722 26979033 122878453 761344140 968312001 52303592 939790015 64099424 811789291 888603833 591497154 170932523 166860502 275801976 296382269 416327697 812140625 958469082 795614429 175319293 914403116 481394539 693386723 240771217 217692651 748171490 243303188 472088419 266276921 881978022 4232902 674345570 813812122 59555403 449557339 584100986 387864446 855980754 894190205 446821997 907645501 355253260 898622554 414438576 613492369 746927269 772500261 557034824 620604856 904812156 916758525 153323421 510740526 628106284 731179131 595152877 586394948 661486769 966644318 519755763 153491028 273994444 268251822 951165906 406229781 614349223 153269553 229709763 659479559 731305647 729965538 269597470 194798865 431315910 631435115 92145102 926001890 974569701 452740620 51341238 653942782 906441910 878069026 254672505 307054346 797479161 111417549 652020805 43596888 470031894 747355143 591779726 204905251 915100405 915327341 640884476 605206154 390817348 110585548 125415063 209548619 79367793 988548011 227870697 263612926 933335405 434895688 525573668 662447507 334108525 127660060 250543452 355916917 455055019 58199183 701911688 207761743 186207806 151533576 956211664 380787209 355296294 87456883 544966698 866018349 171307394 77839593 822565746 368496881 93251750 705393490 398880088 91481937 581215401 57107504 569996269 583851668 364754520 840499570 891810772 788600732 595199219 855516456 173023913 602857113 553009749 854729642 494054232 965203957 394820079 514534022 101832218 396047439 288175005 566499998 409557905 479234210 272867778 624612997 428837162 907316034 917109057 570377909 761977736 275194246 613150353 801034476 934827360 747990770 293996630 34641755 723568243 341023652 104114932 398524954 82823040 301397128 831938215 918651803 702781926 120714134 334906625 112631981 117989508 316165130 803029650 218338637 922086975 79405293 20108470 752593691 887206384 61318273 445138938 669336489 853120178 698506622 258280568 721850337 817635433 880206309 704784619 724353297 953317158 963213113 747614245 221232039 375531502 593412424 143484361 769735357 308417487 780871137 971291986 84581515 560179061 905620701 146681209 239681597 153795100 902115232 392266480 360535844 164276317 192717028 639142420 249278843 621370531 12999906 773811352 383142675 827022362 729034243 285402925 953551474 316622601 50199661 698693852 680869752 759321612 356930622 194961313 80993328 356290364 830843608 50893442 339183827 873264727 493130004 259065756 513897721 203525626 466671858 624540111 106836707 656573584 876677677 282852822 826006025 104790681 183594875 183115180 246494461 546255441 242065382 80026295 625853886 270686780 841564632 228675602 964765988 573008589 806291421 566084834 939368219 953845008 733230786 265116269 784522300 569744323 572776062 279703153 719457656 989779500 193022754 235356176 657588991 668269634 844418409 63664597 249334223 543302891 456729000 446774815 344900575 581567994 999022214 136626745 646291965 267583774 91174823 49569786 230797335 119260597 724148562 539924388 934395794 234788670 814789980 599948513 5994126 512430945 752691447 221413362 664232611 38232394 212395863 783566567 56789988 725625548 207321438 107411360 417919158 235293954 163573754 201413106 537122711 962187592 128932112 686388868 767863219 676803824 704546453 864087317 465493870 932772060 936400165 74654891 14046481 652030518 288354780 501295016 874591448 429641206 241890254 540515399 415838852 222552194 349929714 70563138 602233086 437304644 773100638 994285908 563608581 514536159 414337522 602719460 539933067 167825155 56703946 835842527 127287778 658110262 349025522 633876769 674609617 146300682 400769500 928576869 964770715 627359844 160848891 954351946 633914020 59799925 290702691 159355858 3836850 77868880 897674524 546740887 682969857 193692106 292440442 359557285 17238958 475896577 107394182 211255416 451090941 696084259 518519267 338565583 105769559 845347520 89360948 910835435 28065839 84461823 556527822 215945948 371036921 446846966 14955296 937161407 649609628 129094766 248247764 238721624 899678455 982235 404982590 134653563 171715028 218315437 940409286 402638552 135299116 695566939 18130939 595401965 794288921 177177316 110126543 275300733 347698019 954090803 63939264 619862547 7103580 760930132 547600128 459563110 915493699 423991497 316597731 730628174 954367525 376674561 680764142 676041024 705962179 563775077 588538686 761682562 951284777 815585669 336402549 501334994 588555636 48977186 245725895 765279836 290589596 600694163 915803091 229825484 222721369 648979458 657785188 806811909 920160995 658714035 448763474 263087224 392858116 265127471 631263873 63552953 330377484 356641097 685211562 719431367 825281138 689962122 936516771 194886034 933803641 459569380 920235521 131123187 357485737 108714960 716093523 959278919 823285760 281295077 159798622 430636071 868985374 966336303 399294613 7096148 46034373 167813342 190487459 779850386 659635292 138363646 578638986 240353 233505414 87731210 580389307 771629249 364567289 204628579 514423053 639127813 583778334 630901149 830165536 996289034 306010243 743775530 157427433 366933686 930786310 174634994 553750453 275146571 856505918 765637371 283041894 989705405 979055940 121678335 795287479 265913750 666657613 582987788 537432297 260869631 472811401 404817220 936130655 295825273 351955452 12733874 772426749 291991876 308154826 783282353 238150035 191004326 839409455 174232365 481837619 518709205 16142697 636040583 279437260 130991425 292740014 647641289 359311512 172493999 183762059 454606537 899371044 76822042 37714365 393677044 799627217 920292637 987942674 102727987 573459923 791217144 819019478 329489768 944780624 597437791 107471791 811816896 126590352 496475288 143529346 263592294 908645937 111000007 827958139 757265723 155886073 925991545 984014779 635178333 352866027 914822364 275265208 859559845 40842523 719217832 159068534 47005006 336667353 834087932 355463008 195932146 25789634 737436880 165535501 363800158 975408808 760326516 399282284 166712121 71996263 96813066 561866165 338363697 116849709 766311992 468380287 158569303 121572433 710971126 260062779 705043885 542972249 74652889 128569043 966193024 440051992 298378408 209591320 273932351 323709141 262266327 265790463 34074828 805785093 75418148 660311396 267793881 959107221 147590569 595656881 337783046 348747814 431913860 994405836 413033208 541218903 428978743 201175993 258564495 290571323 961079786 743856445 173644871 635646912 159464626 188079377 286846416 367085042 240789413 290703937 77024529 835934195 225194923 450703006 798564410 593165585 649298081 179092786 176178572 498309060 922654362 929935800 312078459 633825091 187448732 789972749 102520917 130886330 847398382 7977703 767607513 796508158 312074631 796640622 246814233 228922683 882297227 258325364 941812705 766917377 119944455 946999881 924290045 336165043 426928541 441369761 654332855 358862888 999261284 519535020 910692524 331809527 719737524 468898741 508278294 221139003 425310773 538499820 105673508 623191040 739747880 171381834 652483625 815942418 930692609 242385495 971767925 992223067 778890587 266218857 149237990 536356083 188628651 356527726 175161901 447708010 715069229 939462934 757133081 354608227 288212466 464703271 441248911 41522402 694165242 910506700 871599353 207460915 756178520 616308852 247567451 425163424 504646565 807661749 283782445 440152075 892077732 188500386 747842152 508852030 833871314 171310693 370419433 549334733 49942004 267389791 880961379 180070159 257125012 919595188 966048132 363372517 560061208 155971594 316929918 733306867 537066146 344659994 99457780 703739321 939027054 176716407 84026908 118124575 968130722 503039570 851284870 465153706 227034965 52331932 285149465 774101924 386207988 449972517 694614043 199626722 218520135 540290364 769414258 412932633 516795516 471694443 877897881 830035204 463325387 181323762 517567555 856533842 63793943 826509810 679714450 583402667 654860168 105397971 626113529 508626428 908401306 418537278 839397131 630181789 8669899 473956086 79535496 198270911 261452058 226581455 814893642 515827088 725823908 795760308 584590353 503642958 299019114 599091332 323901291 574394580 17560376 54867340 258670752 931735051 572860458 84857331 917466933 340836175 847678705 71603379 17278627 230318488 463119577 492325459 314136925 209840857 816234812 606745365 825698563 127013616 211086779 62533779 83239241 432668840 260773633 141582111 909832379 157158204 115814616 146539194 229907913 68689415 548271085 260170609 539749259 852991784 201753642 195309430 53504409 524707026 274081093 15466070 123681035 160237416 608078544 917890103 975615617 99842326 197315434 647120039 320250908 303546804 486452463 183657288 394793251 825932737 953314044 254535113 130811998 262178645 365117642 34750971 989680175 407851776 320161607 272301103 459184715 7283344 477754544 149998381 314712412 680383875 199890784 257400562 664734761 645482146 274418419 119115442 467575640 997811503 479498893 941729976 284039605 639937338 851193585 598875080 871568692 282627828 139087333 890034564 297840197 265768794 93742302 20465549 19157346 522054269 38912634 347988460 606322644 707332903 84988707 191403188 329783086 611148447 389580749 351064668 495280183 308025636 922571641 626422873 902742455 239688220 777825603 215834411 790579455 299915364 387055220 959398188 571927110 987777353 946056304 404977654 485726691 612187664 757000164 584631172 394552158 667208115 589433609 856392928 860804296 806836263 217079508 111495965 866118527 356372152 134545870 126659960 6617260 894287873 662126375 199300435 572124498 493255445 191015789 711013799 686382542 201805548 531116958 702464270 238139679 470013851 32175192 404932670 842542560 593376076 862971541 536121548 603585010 294406150 357122873 131880779 865532007 672653937 70805116 969508936 1024834 25884962 761582030 371431488 359985693 514997267 115427008 318064967 88274274 850441669 500718903 272584578 382306369 257024385 706887832 889179796 986948991 390763057 414112418 479116778 270300791 741537457 521980042 739229925 620926566 535348554 415041413 871500654 191155822 793442915 88527634 148765463 697306658 19967973 544699612 624918942 264205032 616043601 280306084 505754781 814454579 272072641 501358320 206871854 928234007 386989774 298274132 892356969 164344730 177420250 406809377 384328855 299393478 544662509 22105012 28928441 54749884 122975265 566257 821316726 825961288 868309763 77552816 611585785 292378686 66753765 614460450 403252594 748530808 281308165 740696448 433376053 408073666 170815234 995171406 499677009 474001244 211538573 423531401 857505186 530368402 435579904 567372932 213545184 37485592 770112307 808158392 867295805 451151142 322117251 18452228 496046340 48731968 106576515 915750624 788593754 838743337 389372184 669814904 709539936 403567869 901776553 540724785 960901512 656583237 608793730 794189087 79514129 749753113 924021864 462967555 770111306 290455916 742897612 379823491 491780332 218192402 531982811 66337901 434415571 429288263 780349288 147449354 254932601 636673696 550459583 794485228 680105375 840353848 178077798 418556111 247583118 993503467 863252031 808056457 817647820 803563624 618805224 361158933 427266227 202589810 52487998 728865991 521922613 571049418 840259377 168469795 128622662 625111910 174792820 919662261 689691783 670538945 978192864 729676894 792646466 226069831 906317244 41984007 907399835 171688601 378409742 620815673 112492075 669810007 61214613 691784091 378726311 900291358 167058433 352935868 871413178 125899631 205065113 33506388 426407771 77019482 682315303 82297123 360767303 954061459 350645367 628197496 277034624 283584551 846532050 928253075 487496103 231417447 940519367 265624178 943554674 809330495 441542546 270643864 478762264 347360643 14144597 108947130 548068135 953166924 968094054 460024230 641268073 132244861 391109162 545041336 196839912 438938027 497215391 238706767 761902968 232994105 363138232 183300385 766470980 224881390 336630067 232640181 818880317 802618579 919200984 242576649 674547126 13764217 182213022 384185896 755080004 951036674 875155788 195075337 335817468 266434074 224344567 332436659 667311364 248616544 984364358 306226358 285796855 91960491 991872332 809417592 398136743 480764136 581181268 790622356 663810485 91956147 332057314 898333608 323638124 194384004 469365270 356545268 34562559 437083693 787416469 990487876 735503365 398979153 356443480 106848053 568032434 972734969 563487075 468549919 59192468 196071359 793231780 581128399 609587559 851063985 565419332 780489385 596961500 586375487 244809996 641059268 900971796 438590825 829866187 359714285 959868797 431187659 599452230 104464185 945820457 651120481 473464146 48053545 766248317 225617371 622989754 789409239 202334317 552374679 104098072 373340914 31423170 107645969 839728360 929562687 933653541 355038418 974589115 610993224 69490593 133680126 461751129 157621750 833293746 363136637 829211871 129149315 536864066 613314076 381731359 128872057 565069713 791039211 563230490 307841937 988930615 479869344 450407879 725475233 685251759 10620846 709268895 651631191 922589056 271301861 378865366 647354556 17206580 447779704 805835391 87321730 341502962 651829687 713315232 860247033 391204185 716029527 257296280 664577395 751034090 865667144 837328336 812170896 321722337 41751395 845479618 228347441 120484741 408145338 299672483 296408749 381133814 547238826 37074687 196135561 876297826 900565300 596016307 107146645 683471643 583879666 779871663 617270846 968066732 63151500 260509272 615409772 390955433 373392782 634360578 220185880 498408446 653483952 79245612 170953236 839722419 689668428 791034485 822682856 462245274 877460656 185432085 546418974 385400983 5416986 358372406 790417825 186719526 564650863 149688073 931642207 99253782 307988207 51229671 25253800 9057761 44928256 683107379 676298559 118423483 90255711 911673199 716393305 891696155 560602139 549339175 714899238 480448541 87249893 2890626 881260924 310185586 307412471 278673724 629355873 336483841 812034316 538203263 669611611 960139228 247673924 156870759 858639964 246695917 845119913 23374088 375555904 159491887 943156093 566098674 395824061 626286812 8208553 710991146 3563270 374046067 107616723 584245121 768967123 84528944 638243614 550806365 702838227 908737382 713858367 8596134 448328123 31731600 144929992 160106707 981892477 616874383 597142266 526457487 209949431 107205816 864811703 324969644 330792327 361520323 910350856 193855229 296965602 785348040 268288426 150157742 185483873 247379584 961616571 948840998 99942636 799168429 453057981 592959591 979489932 756798694 206857723 63304241 785358722 403371391 973098351 164400216 819829967 474461914 902091100 156224920 603534124 464996078 554156895 382126924 325779897 205342519 918087129 752285115 616032150 286301180 991921480 584544852 610821623 307400108 409020470 114746134 545811327 265244944 290256092 593475231 760200463 540309270 847647800 159139509 751351624 99724969 566962153 575877998 843120839 659659280 944300589 163894293 691611939 95138859 449117302 48372745 203074498 400458940 409238637 882465903 162276843 628736076 512824386 597267338 285862794 367225618 284187128 448697152 502219301 14791682 299188116 395054052 846805191 517096598 670084775 305078794 739658621 317668526 833125269 132808955 222900333 965054510 242963718 628978575 315817580 915956483 245691732 220842286 573441847 589790006 594891849 156473509 66426424 916745333 202892899 69000024 894117671 937088736 112909999 130845106 143341196 262848735 101447546 425262947 862496789 127441174 826478744 563804338 150447643 665095506 233334187 167041815 104805776 289666016 862514991 192171269 409738836 124157508 798522183 759556109 869413521 425161822 464148109 560436291 284865507 306955659 266253364 851173889 467871667 384141217 175112089 884539092 410544926 171592258 407933012 912374762 392872127 142582598 818532204 877232423 996540275 163997412 299187115 687366930 768052916 380635153 91600431 17983828 348553911 827354519 850548717 457777399 100586642 658047990 125890171 31309853 174364279 373678505 960234784 474438121 94171681 146856139 924425588 654212893 12225928 236342957 146342216 775416638 23593346 747828361 768485702 216936371 776093481 259505911 928224251 864754850 37299083 825760344 584081952 605749285 186555997 31651046 973811885 412699224 47526889 452826606 328650776 351995088 351490983 146208192 75164666 31864965 148844728 935558056 580263544 814060406 829768171 329308410 913037998 440540244 517410681 144143609 56864358 901498927 240744730 458862867 612931726 486648798 14757719 22180700 310928689 972135990 619788334 86254710 89170233 339106331 836122316 654393073 877641907 831506236 745372138 39248409 450639511 983305883 632892610 84688582 516113884 448908735 331855136 593449751 289207964 271823276 483887254 761292118 929151031 381041968 283088505 313876047 909336831 140397100 205637072 481332618 938761452 556512511 529232360 460310779 590304648 255137963 749627241 562359075 107062483 275934027 892863194 628692720 285521373 483014531 366045344 670436549 711214911 767530935 813309993 77942440 596822946 477515191 975289429 313092332 642689846 219596101 433740556 728805953 105108867 10119253 172597253 468624602 421750043 173693825 702352727 528872468 734177184 721918833 294031039 875187118 619347528 67016267 2616682 32456389 6390338 937160578 552970052 289074297 807712242 782204151 122084722 442622587 792417426 968858695 24768425 661103368 959832821 381012515 432052001 157908098 52563306 359849146 668065298 484381777 147865066 340407 511683504 73864896 722414280 945996577 678658828 353382773 514342188 633895837 316948977 444671804 125077132 881560447 423171277 645999497 288264057 960475389 738879176 749642169 966144856 826134805 688141512 705589597 184468393 35211401 704575126 8013304 145650940 123668211 650109581 470827499 336297716 78727758 492920203 29235578 926221160 954904239 809205075 277077519 389511079 171434732 328818214 31884806 116313595 740610967 578965254 153636758 466151731 886017280 461683139 724862413 470154889 497553464 92601569 79684811 254062330 816462479 837873309 837332107 195879741 94419540 8171613 2117584 976206322 38316753 720381235 622719824 140946486 607297555 754925208 234566428 72284396 982078712 617713343 447934296 252269813 365200546 810616682 724720150 409380217 506814718 520514402 72682660 118278170 400190798 33478580 802641517 309807455 566172010 409773823 431357017 282445999 488635369 476890457 127530860 935432394 812639262 56414083 727666592 113682708 701047467 606791890 232841703 433275374 693581016 2733892 519151887 794437260 918903761 896590015 175975118 74476242 286470289 375680497 970878807 296189669 196235927 550591795 151482996 559839034 63394126 639252634 754825178 551891863 375012585 4877512 114691310 726298624 799894934 424216481 237843157 651574555 925989554 935152390 15047965 958324568 721734119 685044442 180692697 427658381 502764717 835470269 938403309 170690210 585170192 14789394 172203152 341610835 16706037 420252814 271405133 204742125 934136823 723081719 632231587 517944018 128711822 444648949 288968288 673672666 886409868 668416057 619098605 279172635 337572765 778927051 38669389 194184745 244412133 396739504 921160277 858417662 990421994 509010312 80535934 608394641 350764474 174323402 847982442 960579535 771275565 207500429 755349553 282268069 92980733 299335694 69183233 63854791 590527920 889818528 374202810 426515433 732856254 385289385 695911853 76943979 830060422 54605574 111607096 441799256 293795357 745481633 190037595 31446381 104680260 953319996 718119438 979957735 26075379 666767893 658152602 185243518 134556013 215927625 827456005 107669420 507938576 361164329 498488972 909230694 291136434 345544053 26271546 581939715 145925202 505532566 298315672 218326279 79546248 145983983 237940692 836041140 914519234 194154907 432652271 654183388 30969809 396011888 378614440 935897433 810347449 110841126 151280245 307418213 895167416 57121525 223370662 109960096 855944116 307048360 66268174 416163375 25763799 244350047 149476247 609535755 272648431 232869868 127391443 257362892 773789874 979674938 743023043 114173151 140623758 286375288 586591611 874076010 254598224 987683447 523245169 641573983 21993134 660085181 445568628 223485595 167217295 171710619 222735965 652785691 131380158 717780120 422222591 463629610 582496558 823969180 854307488 902859213 777159244 436651636 539124238 549335733 972530670 810347110 744463847 863784810 813999063 336766122 425393944 288349548 662370246 354906147 946500448 303853982 818385477 305518904 93945226 441977343 546211955 123989013 799630191 249404830 107086111 336899284 184012396 367610884 968082886 933817509 20618027 803296946 194129550 258395418 2544383 703726174 48809641 945277233 206210458 843849053 110896949 329874847 980577476 676066006 939024044 557629473 826253662 532605225 265112587 338314795 489023003 235140616 693984731 555649353 876199994 109393983 453015293 879943158 350522763 327375585 359165062 722169381 414121271 683632321 199607028 258742499 85072511 879423409 634057246 258390556 422222056 466721387 656991857 363278606 85787477 127663351 198122343 940836178 47237932 305341597 933942542 924114116 783846943 561471677 367333399 671413144 223989477 80478157 40120808 676143798 25234037 795573846 658287893 137491150 358586047 860954490 66858579 701279136 718435839 704856106 767026397 150392188 824163671 536609685 900043693 654177299 802819919 63322998 973651674 910405462 200372628 37142951 203290483 350389277 250265188 196378711 856421273 645583502 179321870 256433476 324408599 38351222 343696089 500807333 121593282 439030263 895912750 772835032 255866309 429950026 904873435 284864589 18911202 184462177 755752098 824928394 677536833 464333136 479924559 912455669 894230524 105422856 590313500 624617731 5650813 614351896 658448555 971073926 977593261 354308706 790229703 545127934 709888800 267067163 148716623 263967039 550598817 582965352 261470666 647232122 288706068 155760051 945123586 703394404 37693804 12322696 811324606 415859586 732495899 744868325 265552629 992377035 514493995 277087808 455229255 619831123 554361541 776282332 359789583 706372948 887387055 361587339 180397738 271357638 490994813 911064435 635215970 22431581 629772928 833080560 305276911 373678113 234965142 957999128 478398491 596424176 830378379 29545610 632183648 790804700 484160235 518161730 171032217 718987005 104801766 588204361 918276020 359527535 901719598 262204266 117099732 982384056 784186024 264665579 806411941 639021849 421896422 650429280 239263084 198971645 183418846 627415365 380737407 824172098 278509820 367496428 416632978 374826342 91969283 218818231 158983559 284877864 783166073 71718251 504224853 847955445 497573931 217863868 410306801 659194985 336389473 576014025 756811893 37235950 746346237 217294297 867958495 789913901 134625793 863897818 553307854 651988691 105575466 102942889 658005938 979073036 780149498 396835274 403008630 805140686 905402564 182571864 674845423 97544509 883352447 76135435 279379878 7165782 319640517 751172202 709847459 683407311 500665448 628685069 70768671 958050890 182917740 951296157 230062580 151093756 247324779 698649264 509530496 263084734 767985452 263956025 294374876 598662131 671567848 220473539 32235733 642112697 486059260 830065740 746311245 910084848 791867181 493949728 154965707 857897694 494343883 101358065 115731685 457081292 664755538 458619043 791122854 643234375 604023022 424857251 817665049 439409341 822201974 428031638 4155000 442426474 612525458 38970503 320004967 771625118 887701633 153683743 440951557 412066877 844758978 468070269 966231291 269319966 9310749 853519546 547828574 164974830 691261863 840620793 530641493 879590453 222476139 67704068 281498459 911362294 157655147 420726812 829838111 295983015 461364547 545407247 167385246 909453809 16840011 111228987 228215246 56989036 616694727 233963010 105942265 601165310 349496026 930367436 834427101 268467822 32768654 34406665 242016354 497801267 44310059 399078473 256159094 790592355 158056339 438962349 127254869 769489312 194303958 474506536 708806115 168422160 761532167 155554044 39240519 542346560 921844238 662744098 228273186 242545511 676971755 139154807 93617918 203763540 490372703 853745246 132296003 918788547 28609525 228761193 335809415 144654920 284739327 716498582 935106490 469118920 919539713 138349865 124691421 575275697 792600132 504116106 605662268 484636216 24034972 78961264 449828354 997478456 723297564 5638782 146784487 26138127 453618129 16410236 788600890 185375686 213600789 920515974 861856870 667574772 125041329 143600690 546028468 316733808 476332895 327035433 195916612 542866461 579703354 306464344 501346733 165795890 234970133 560988124 541122340 88681061 166689048 989757674 692683849 836309076 937765833 676369198 482675363 643970860 654672513 579148331 677831071 225514122 130932517 604513553 333238291 896316185 48680540 158151950 733975940 875611158 669800417 44051793 282314066 878447823 341356581 467838406 212221692 293866646 396105476 409940492 905541335 943160650 424256760 848446081 547022098 900869577 212205359 154185349 640650016 138472272 196085048 870911526 623993347 206989287 504222643 610062724 355792930 434572913 68657443 114043579 551476184 567009249 843811450 847179502 236351115 428406419 534885726 263795993 228630558 810914939 833529488 248779439 997866765 669174816 64240143 335428263 553941115 731482280 561426525 450880868 731873753 278960098 185451021 263987327 17176651 483929736 445426641 165728128 783172571 18026272 32156086 571741 97509690 931654776 764955814 273112412 709010374 17966766 300704772 793036388 835825891 608307197 161380750 854460279 265985611 321561511 11831035 145278022 548428175 761213990 428978586 200957686 18968609 759691846 923279896 939717505 935557693 51753497 957169766 48896728 487519245 572027268 694635406 634809586 754809762 255211224 571315123 482422175 251797652 35815179 512141421 211543527 535936760 736101732 66476405 943487109 92204868 869925802 266668841 61067537 520842749 770469865 738225097 921880513 528218730 184288959 255794807 622347951 863034759 695599967 282766354 718643948 497126779 747253491 516691709 523503819 692320692 323658624 443851977 921406289 314843828 561721667 176851801 257986487 809749060 789788262 139248226 354700215 818927361 724632099 79935335 175075649 216970191 374899730 2240165 95030772 965678028 944863987 787423947 550953134 534155001 707988370 267765077 56944056 79786869 895966039 566565086 749615908 517104302 214173501 329404638 542146587 305875217 88545168 949981759 288464780 252129722 752522117 209838228 867909074 644123860 966122440 289172956 132898318 148313869 10619943 602451070 274487554 191001393 829083277 949988459 965942921 113695208 958620549 187276561 643902600 442058018 996071565 792573891 744015677 291566850 845842975 850955670 296491892 351152860 916775383 439891024 866298534 158286799 396728730 846274293 689952673 175279792 943101248 624781663 152634189 980004835 321068981 360918918 34930270 521032852 168685690 303100198 172851796 710168223 506647285 745666999 876334700 320433736 451542068 818135320 678399933 994522313 189759992 883047959 404885973 265356219 429418363 375042421 285883659 478129624 998072502 293033315 480835801 439079146 295628933 178949268 941441198 407732803 90609359 634356150 256995206 240148503 791161930 391894659 78000143 325077171 615802845 45871737 814089726 578001396 263326423 901272741 201649066 919126245 182133968 935171535 932229411 561469056 242176716 166644990 873405471 953963534 730246270 390639726 759813953 468582155 374064807 711228206 296545517 291072107 330709859 396684682 663998893 604548457 422574511 50675078 13002956 88529780 119624106 937185621 83527841 874509870 869848100 862088629 394491885 651031287 522877338 658984557 363253847 907767824 543980171 653123827 914551052 429606517 443594380 463536010 798303230 685269289 413888929 838762282 434717331 413857934 126257454 407986779 424847051 606355683 88226282 569766452 123416573 541418636 367219707 601801699 579712070 262190376 596335611 415093955 174703102 582810886 283462983 926831700 982741216 583955291 267724976 112134840 370345851 448709836 872168515 108470201 83511792 420571194 2160288 38508057 956122770 427545378 431805433 266281563 728225426 124483800 131837043 145554101 183654494 1144199 160292309 348736782 797813406 348401655 391205765 50875537 271864826 136135061 865975537 36340665 517337585 726633180 413144027 686545680 11224154 809732319 755577728 576529659 788455719 583128355 184114498 390756698 689427778 266569959 516283418 191465394 268198365 1517467 400209308 799141259 300413261 868776807 294811623 250050023 579438843 811731833 609587219 383984591 882718094 906555781 23676886 337553546 244968345 219283416 167671806 880014181 862046504 762580338 898774535 123667099 733886099 846581224 491773883 454406992 379720220 635126546 603478442 73212450 105494235 353094439 698092129 131849470 425354131 21514919 214799096 104693157 265057781 717825248 117925659 876809283 883966820 789516866 657359719 764880280 331708421 558535188 877981073 527431783 954957491 48247511 906004307 909048658 695433799 688053901 895112686 389030398 167599838 250074998 257221098 793508957 226948955 279974938 604917745 689629827 802033643 524059466 252476764 703487967 717564864 449096952 138834604 163940327 111671411 946577047 939728283 446314064 112991777 810994017 417789589 354295672 737611096 684827464 512669363 725615794 872603550 187040373 296594449 158241113 301318838 107051947 933507829 653421040 267008527 226812974 793452210 542574561 651905912 231680410 221268812 263233271 822455498 75441446 338736371 389872813 877228960 886536937 736874327 376173920 607785744 941714920 306450493 756448351 615371019 10290787 966598931 277661572 739470348 504337039 985900628 201897082 853479635 115689282 214700848 7953413 199618908 677341438 786284005 152389640 217914268 284589027 304414154 871603987 730260816 594739343 969616256 766202762 308325437 704651097 104249960 718943571 409250362 927199243 248075317 713718435 247023612 239370143 155856737 895471860 835300147 611397379 31317944 795082388 863253868 458497108 726081926 972858145 582006365 544251545 870367986 74700814 4350436 121500282 43949241 593314538 290558713 5279554 778499190 291961779 79659284 299057915 912278009 784132958 339927526 847989735 755484646 476154185 924864604 438426561 67196470 398001889 214756966 882155783 174624644 147581246 323111013 969840536 72538466 144599603 83882290 597686307 738864943 108971472 79931099 497960197 44714846 311808003 449990281 712998611 40524667 245151273 771424317 526540768 194827698 401248379 32360391 613158776 109276244 130331427 729197911 394430861 387445235 551929691 510702252 627393854 38353651 743356266 606859453 919750263 937560783 275611160 659862056 52969892 289420263 105336146 556173839 516608687 864010721 754073488 606891374 854436325 30830494 693359365 459022272 919296699 586883705 884268513 600045877 883440449 608086418 269474754 339263622 791458430 794150887 981008949 139865652 56573866 494332499 910598877 897398129 445393686 434938810 143939333 975352978 98547091 268541604 592974167 133494201 292727555 422248269 654841767 688583183 505911700 630763797 146443512 450660086 168651968 737150895 702145051 98902201 847366312 818324440 29810330 363021894 395526517 365895665 64433367 370564717 810006539 362499232 968369544 718635542 955393159 591245477 681336545 137678733 778406980 844632676 331936752 649062345 32445413 520175999 725514691 673303641 66558815 887997662 534729531 183082336 280337466 572407083 68528645 490341179 313010163 142991397 42113213 574052702 258551004 163682530 634799989 822491811 787335191 678055231 456936301 116284361 833166664 226815055 964982114 316280107 655184432 153481286 615173496 671847015 259609534 548847299 104150474 856320222 459487962 519324321 667050920 600158118 405634665 115877315 967381931 444271211 607805769 28927092 125518344 759262530 725208532 865001859 244058133 724882350 416365181 840273151 137467948 190896406 510742854 284061793 142531651 142082257 953879756 158779733 254808905 479000648 663578678 424964600 219508091 256763376 285363861 837176564 695597510 460789762 258926128 121519179 789738409 536246456 427644617 650331785 229479074 332305823 813378743 27467714 484588372 718690684 384810853 623233782 804329527 69951737 547236216 394212842 263946136 18939663 659498707 169341200 894107174 543787978 111492357 983500485 369185790 277087337 315816609 973333726 602655885 312582633 728009904 288022348 918742916 469138913 362585585 289100184 786313029 206669448 435585641 444234379 406137098 245058539 674141860 436738385 753480901 221119737 728162294 804010025 880206680 915750708 882439146 304793889 654065396 419392196 695463865 32884007 410271313 44218323 680569980 524120340 551917060 625599250 499679539 219000195 770216684 481049530 12280468 200285947 84817833 238460618 77301014 429746403 211689612 802632660 649268273 164503836 763439851 734203096 272246512 671067017 41274386 45994470 137075735 223503580 259812993 202038759 71508656 254953518 700072431 195940516 725908298 404479721 114937813 262188864 75865079 491826668 725157648 560053919 200241618 878887436 717862371 275013413 643131821 260316001 513937386 703125381 893617914 343488015 563891897 779685511 941341019 314247304 302592029 205258482 297350940 859095698 14959987 227452941 374234865 155053117 616261935 334417880 129779123 916167715 371065431 755263736 406844946 664069059 693268574 741689608 31516136 772273293 32279842 162964608 255414694 135858131 584626706 789503023 913733801 508541819 224458731 672838177 61175407 446639115 558838649 371935621 599153338 230102197 68666915 824128374 877578977 750042754 262478386 266785810 62491079 659604748 476532287 435398734 658169107 813173438 710019381 371422421 1169500 193178545 176039794 39084237 692477796 267758446 274040710 630474665 636803148 103223549 936497251 145644415 43118843 799707965 259971984 802169801 175300291 311650773 666533019 242321175 949646053 368895722 105871247 514854102 193840336 457000475 106663031 296593238 877808493 926097488 728117790 199056963 717804781 403217814 425542041 295765362 444381723 55767252 850209174 658989242 116292424 180624920 803438994 294403179 311820099 824238619 106253447 535673626 529117036 154032418 46258462 104458597 246641864 779798272 239121372 593155520 735050502 247267371 915629220 829569914 889598858 991102866 934876829 74331085 478225539 54089737 83338357 499647213 687077234 245400994 389749198 662307782 87535681 9125039 139720718 753088402 628427730 691243235 148520338 436792877 712198387 202603005 284564530 211644896 504065758 384004422 980864641 784656268 570611329 682752974 772539593 340983931 258939207 962517425 394056705 425054112 669110961 655863738 800526165 880401469 625530466 407954520 294452570 682852395 415863516 76782351 489952143 612232978 209537906 329507321 860068745 441691168 962441971 845469968 662991475 260632756 40514956 50767839 475821668 396258101 658220687 772694770 300616755 295966851 537002342 202921209 958522901 62272906 817788129 475473642 93815363 159899781 678496699 247042832 150138903 69000629 162251715 222393792 568405819 766791235 117928139 147675589 899214241 558462459 907726462 397130485 703822250 962294100 319061702 142103542 59980046 679678034 487691709 86062734 508457991 605677603 754259651 782013908 88852405 449705384 7447724 623437664 338631841 532308471 552131030 527935145 241408210 160396340 492950335 856441840 414221848 238038438 493579762 974188994 419629855 92395112 92895975 408168470 209145200 926099230 168653610 236248310 833062111 721186058 824167365 563696764 111042235 429759643 703845364 767639591 358414367 519025039 633186240 951500170 837389772 13068815 231577729 51384455 510487053 384096720 961201884 189678215 93236516 87907761 888279709 703439189 11483503 175143762 398436297 990459973 652801041 452818753 136847700 214970884 430836502 78924430 203598242 340403949 875732670 68861981 669145599 115379407 549753608 758311916 343430527 148802162 373289027 685824540 513003699 407670439 154236858 354156161 589756614 300720555 566658245 211667127 438199619 968997001 463045842 238499325 818881046 858217844 453483194 322900058 968631976 706451394 154975706 615823970 592432034 909992383 477091742 824270434 487353707 678383422 475009246 799871877 14444378 422116992 187673987 222036664 879910072 997778572 1688802 37656478 934007820 323346868 755707809 604929639 110512551 308951143 418077235 126283052 161510438 207836538 95038162 555034486 30601006 917898007 63519493 327901293 350975065 839646550 498189613 64592126 6528606 627357341 142040459 366609175 296943311 496441613 389339620 233567700 393789886 257501589 112772664 259917265 707530396 442384743 59311063 391216119 761332610 729406586 188778191 965229864 266160802 125115087 204791885 846812451 124082297 128899966 277231569 114335250 895157886 416508136 195245852 289398276 577224870 278067772 364525307 9896257 152509714 292532566 172959096 482984730 687610074 28614641 803248669 807550298 6940656 370979103 312256193 960007729 981938187 124980262 169128365 133006767 284717691 197794505 40219727 792994138 343573757 147181822 19343114 144880534 643173703 786201442 333112853 383772580 44321404 87911415 81836824 87642945 114038393 601447348 30075203 832473401 24122243 397940202 404301528 676351531 870208471 13892267 154999049 258082572 689534973 858520208 677875649 742407427 768707982 304542586 214043031 961397819 178709686 138913011 660361958 908510868 302276861 342330027 514601908 761323474 329868195 51652670 195960476 469865387 382477214 482983219 946425630 251014822 997056064 261149871 137026291 764027226 590038929 6479920 118911676 291134835 621501020 349327356 926426941 385282151 718838336 906199845 750104547 79398686 934585990 122428385 873703529 547631438 155727700 385586926 81499510 903008282 192290035 525580122 48563421 699404878 250928577 325290526 367807031 93508717 848454967 193167317 626935989 569260104 673642642 497104624 254638742 406982837 378091235 902330901 291931546 918294283 28905820 273320656 63343832 346084286 278559891 329454625 227955244 364432617 483746440 656759554 233724155 630202661 936979503 463518781 200557187 15065519 809285129 326818918 562862032 943233771 200817567 798187843 146501741 758324154 330140434 463415505 719590995 178236989 452737211 796328106 232596396 490167730 536581978 844107457 753986703 466445707 363721493 190932934 195838534 428750078 615089006 255569975 990612067 930671363 652835472 101584001 524761855 963116450 252459662 365185401 325547621 712929085 19294837 411403434 225130894 815528308 321940614 474547464 175539823 943593183 31979266 46131467 361279929 235771162 61427868 41155048 408831097 616249810 687695962 998493790 197669716 652016263 477482349 177489913 247901418 222293601 499896605 304617674 32972200 700254056 94403874 478839335 734537824 460190318 21518510 183232859 959784519 662679554 6636198 18373284 199572356 873109260 829301675 873006069 832076813 307425099 128611071 522774610 639652145 503317912 753205437 309696735 716488208 146920831 885003239 887455036 815163018 240423063 863177735 228689929 166560162 376295255 167697722 65380083 658629032 887787750 973890612 430161101 78086673 103063634 695414979 71517465 630869275 100867136 922722048 653775806 264466710 940480601 688304952 287359525 631452155 670313219 600608503 892989733 115542093 143142924 132037337 708345977 554985649 834106333 484200717 894668203 41743102 452342068 98373392 769074907 641359697 607065956 948420317 472325106 132341955 204262591 972469840 429430971 12226818 152523646 19210680 594498832 863017572 912455233 490326153 899532066 196024995 13105380 433060157 995824221 857390946 940342944 834683206 365687525 75612371 442116495 353367402 24139825 186601314 939814082 912468045 560344132 262460336 24003551 259554623 901623309 168641205 964788905 707715915 468041688 288923121 29653983 249835020 376078441 291063252 888503922 139463176 816443091 133215102 560166479 995252011 249144287 672555165 761037882 294524468 498452701 991632235 785381470 158015866 523185958 19822064 288153204 760332966 162366660 257020387 706070490 405156682 871940025 545331898 33212840 375641916 265984982 332634505 438905095 126155127 576409146 762565747 334512013 684115090 529603916 155149450 513075978 100001373 337386727 92943723 694402094 424844034 27111448 867014258 251442782 235774843 757691053 677700712 548372426 70875667 284879730 75699908 904342326 92416674 529379553 278807530 13654156 636265899 908504878 841643097 529553284 333298254 85068110 470983114 382568496 640945118 307349943 165645745 825318442 736542953 477150182 757171048 50951057 830302743 597624563 212398542 86059737 207845494 954336790 566675370 180226924 204172869 97994873 909133516 414119924 732246202 925257351 758236482 333533063 798572894 274487396 172062408 281421411 780064514 139457148 717390025 511610129 556218311 59138580 838648158 302999522 771510622 195258077 890886521 808304992 578306620 663368606 524161813 232899386 72717703 953923289 831545730 176125367 522473618 179052225 56365559 115952699 10011531 431805572 487538253 161940626 571117382 534460207 259685791 388308354 701069127 576307424 935770257 115527022 294635925 372435292 588083205 276318640 15209620 793817305 554881747 710029741 401152150 9503561 112104582 580606574 690295810 773289251 542743466 22008820 577261277 881781764 655506441 20968457 96222658 641842729 976031323 593661856 619356371 528722156 386150375 221642240 692822062 72641502 456610000 148115983 575147493 858791713 281563245 863159816 570625805 410035114 919993743 294349536 454879886 456678986 926498827 734027931 892839210 144404401 511992997 621910460 414687975 269609602 303580863 143707874 532385859 409004466 73093151 247214198 262328 954622056 341725598 124409521 328871322 779282162 292837337 743577952 729573292 59803262 271425927 367064242 47201575 430375359 493255410 231861110 453636533 3663501 340101790 437728943 642184306 22544998 616965330 208822799 169753291 954848917 593067513 988599970 698427602 673344245 982948381 517116378 129139371 137782549 813860915 469010597 265161950 298545736 546802861 185081715 695289424 428216121 541218673 844245601 45223904 159674369 903429026 373111227 308623602 338084300 259609184 881535633 728319903 640383891 445708365 133919483 55230152 206165138 44470053 568623502 163708789 404859425 999292972 530095335 314715522 848280511 757235505 603504190 201012587 740558303 746118340 207205186 596906149 122809929 842276055 639649189 344439581 539765594 771652131 977941332 961775450 931766974 173201106 468477729 776218907 838376422 564743586 125001333 488606736 557794478 949407385 951366370 104640579 906369422 421900267 906112254 968247314 45636953 917466757 705197065 764386234 880909694 323111654 985676932 551408529 111337778 406258462 618612195 271135445 418681808 927976155 148564237 941849534 322226159 240394677 144404172 754274636 86865928 629269141 709683850 462725130 898462404 323369043 14303833 931886825 882872413 282882875 410595420 382758495 240344006 737622969 431846744 58353788 379139932 235124792 324742868 37048810 202285176 902895150 97335500 998796566 103746812 161573755 307904288 368985403 911726768 112605321 918656876 838655881 458682640 6165111 210617082 221365020 52908400 240509456 513277929 415492058 351932035 984960535 628581717 845551889 944999775 495226839 891775478 134785036 13917810 255868961 919521216 583416700 281586702 947429857 703577392 362172525 155733848 447790555 287974619 985316217 168387348 223943120 434726233 182381694 352910787 329577274 474382218 346871209 979345358 262110134 131486556 555885539 485297380 921343793 857111225 385353536 996786371 868709112 359920659 800881591 257131344 531410247 79759013 125433728 854753846 279366955 344046781 901743490 251826564 125967818 746327753 550227123 37332220 684257972 178044846 224968657 719958440 643341378 285628026 299639149 800774190 984677008 989777776 992710948 817292540 96446865 257927455 75447424 859557639 19961672 871526363 968642227 580261793 309537216 208167426 752494862 888565510 812601360 607043239 340289292 357612677 728567574 245619022 988581281 671807740 111109263 254807916 565181744 623253861 764189785 881314741 247591830 250576699 176528557 67546359 952800790 200208579 704416300 368425608 884137989 813276219 303870028 122915550 424570596 158450326 840722162 786048217 63456122 52050216 139911193 627973111 801110872 430436132 693822650 794867257 175696054 953740488 64372084 96699435 27367239 743772783 447263330 980508527 584443946 117269297 20698453 250933400 865679050 663325527 706483504 61762755 108943387 123131263 716984901 200026738 839212508 598731452 258018164 739996847 939585898 285430879 800939302 763331568 665479751 91974490 44638235 348160811 178634723 701715427 453565381 319219616 820742301 470287135 52361093 761470849 830769823 175849239 121430813 355634239 453810146 544554763 249704171 71379194 183105304 321165903 882878296 978089382 764624461 430265808 430514808 75212208 47112303 72705708 613180506 540669269 955515636 173494217 22671292 586010264 619845175 46977161 903015133 871871671 518392016 461200744 671614345 590379619 2391307 504405549 286883463 160623398 658698161 215168773 151901612 532306195 275121822 266823586 547548817 41997135 709270665 429834874 713895645 234139395 690552957 214951501 67286715 527493138 107119231 617342479 287269300 698303455 662976972 44292404 899762668 874684125 503536386 512297144 145383547 475359162 341181692 37484253 531609060 877862150 284217029 972655845 897881429 219853639 460659997 143140699 506878845 516631278 652726485 994140708 114292332 558891067 724919158 221059803 473351777 3643398 546627669 173770448 137769027 863766370 750134189 34541744 748011515 152274725 563946871 334854439 116750366 653725634 102732699 892005835 206269087 784788681 51750944 454483279 603003629 486706327 970639188 475869740 939139063 694682097 314877164 777100324 385119548 410076558 334393294 170484313 125683914 620896284 405628067 178697609 559589678 673876871 357144077 522849806 77314594 241468138 215729264 672844519 227009263 318450217 338331204 705212014 995374594 241872294 261621713 172672245 818084237 37856866 657784750 651195532 583449402 822965670 230481979 584568366 292479481 8556751 865688960 405025640 432662201 385089270 414028236 42007858 630460270 592560251 478674136 306629252 105892290 549108130 656554377 817852070 13017956 593548813 680512204 727100246 122814223 657249884 479645302 522061684 200099297 944430139 171466238 31543273 591152669 532711635 874833404 657784541 74238844 635870403 536963548 122077415 223454371 286962135 291780490 730219048 313717671 266463195 178916612 88732487 102544092 340455211 141121587 514056073 753338467 99032064 363430671 359488490 796850208 154519283 885443643 472796829 850525647 35588548 371378913 7629805 184342472 678872980 719100688 486351967 610373112 181827416 768067428 835825814 781467301 583230576 448344011 182403190 65835276 666784076 463516911 327862269 113165561 238921159 643010098 976729432 437458729 922406123 262944433 29652876 537155623 188164892 28615615 991250646 540897178 958981960 228647177 991614384 346583981 308389134 22540393 188540867 626469939 927629926 838411790 978802769 479253518 416038830 854404879 262565277 164545871 237205928 137582115 412030948 360620109 752064048 615960998 878009690 203767405 399755022 548186151 971344913 316194976 844432157 732240817 254245068 608004899 609871226 78065448 244068426 698958139 528379822 900921451 681541591 965690426 441682712 355993900 108327025 140385533 122775265 484668078 703588030 94089938 197509238 401065799 913162247 923649365 84205416 782088758 602735371 588230106 394616761 43520433 159597150 631467330 136701128 643219613 54109623 429967833 598856968 625795910 654803997 909115830 469364214 326190395 156614387 39116419 297595660 828918215 721605706 174544238 740181632 834319959 280707599 231277385 746051612 483522084 527138574 204350730 167556360 323411206 466699485 69899736 221171066 161785564 855658233 995918470 598628632 83980226 475582739 613996023 143874765 854404997 348633178 255899885 883035952 625643916 342073679 281948293 901011438 863203896 721283801 250427043 666343155 924435725 102205368 563910879 115672548 783885954 92343427 745756278 969710029 180363809 124425227 809435215 428172892 483286898 384637067 364423878 785290610 236308571 775862364 644865042 703569531 61137973 862980763 883907428 79777356 681092627 661161960 333809501 336244981 45028434 47995109 276968167 192950822 218126905 205796465 621282777 874847995 895643204 669942201 559692292 513762666 568904805 946311153 361747757 849611979 72887292 387577528 668428647 329011035 764781584 842505998 544379938 186232776 442651084 189217859 377569584 12379453 642785906 181258533 889161575 367864841 149028202 233343206 659565719 982886882 115059357 646303975 431086259 909710977 322924826 233458500 249750724 839739887 758382250 174758746 217554412 857080596 822509709 137857170 658881590 669033973 447436204 48113037 422121184 547847350 150650872 889814878 384888049 146421973 476940862 693302585 854823475 103777607 537843341 504672003 339382726 373686165 988609445 429145098 8783903 702854397 82120032 77484986 412666711 880537543 780285351 371535011 468129245 511416983 110114621 977727059 432856961 320969085 198587215 980511833 298770650 198857000 361413798 318566930 318599966 189221584 61601616 71686603 882730292 719246917 92144661 868535180 429054096 378477971 319879391 87508060 560097796 635703948 89460724 912844890 682802497 268278993 982392249 343214334 561816132 270565990 256389844 949645187 929112936 696139962 149465695 683267666 960828517 875735719 852605489 720730363 208777721 712965338 780345796 969545523 782736364 860648448 107377945 751143046 13563702 638881099 226331659 474463383 149730269 884817522 290581383 275428578 494621112 278798289 772198027 497444823 740307258 483136641 463364381 829080734 514856092 462259307 228887244 57398504 302342393 728525774 184217757 373223781 960850055 722073019 568959543 273974544 994719062 722520096 883265354 445388231 356437709 2483396 491886758 461782207 864397138 156748846 549837011 628936152 746544769 425670825 396418360 242367819 491822496 245333134 91450446 993241403 520958536 953257569 816651325 269490104 568491161 646445528 278677239 4943252 445499940 1130804 764982081 177927987 217436901 795493650 898050326 762560724 204651810 690860507 587708962 398900631 226824911 932934842 398406174 117244955 105780356 427480451 853102360 617407755 776476924 838918560 857840100 59201413 941316684 129744249 675587470 46978478 782588713 905176076 776431977 24292552 711770449 456598283 351336447 401506682 930757706 959269777 270613127 114991930 997243829 796829404 418622231 827487789 766603030 93698396 712198385 100772771 947461847 479024997 127564785 471098167 629265213 519689806 656514614 583071005 634438785 220401722 601381262 278540082 177666113 677992416 462333250 610267226 820060426 159784171 205302567 431459624 369566010 514060628 353750107 212998612 990872912 945690619 392386652 729236956 423927459 45716225 745471583 436024096 804248519 179053067 931915873 429252054 270977247 748587157 494576043 23039935 807792707 37135101 984850940 680644246 981197486 289734191 603061035 875752803 647345815 246425562 589729591 242365315 355580645 241857117 843377539 718711440 800730063 575098081 158824277 467740873 695499920 376663998 76985361 358497161 215021233 427311843 834275872 567063254 929165143 691822469 187142522 283433263 603810903 95200697 110113074 736049331 35927028 594201601 335959337 64268570 167185022 364126942 282770897 19751471 163862387 885911848 384555058 294227156 145133312 82367921 96076163 935097693 531998307 999883170 411392995 915576380 428238303 396547657 933023498 552460085 197045077 808493900 982032082 960476378 861643005 190881902 949271334 376968275 582613905 55220448 418708042 419077347 615827201 741525848 761649501 61586103 699886542 135329861 552795952 981097210 67831301 857591977 553982195 987823879 219776805 220004604 929263629 680558278 386515615 160162476 812564542 1489523 262611442 11780451 595628201 67038458 223785804 609796647 837818863 977509801 136639123 238770645 7679745 407552498 147450925 132137102 617154080 122906286 8813635 275578852 516005009 818636414 67386202 936120626 527288656 617224425 379114496 105578676 898719965 743725283 92353602 62382947 774861398 922953357 481313832 265097421 243149925 495641146 565749195 914284216 449344115 838956864 59742216 103081543 556624871 638200061 44088451 196235486 883892074 960207679 900842616 896242641 999797188 808107917 782514616 365838927 902477399 517172225 470838895 516657524 610379777 923427397 53712675 107288440 473285434 438116733 624600533 546731606 7491945 667174033 927870075 141739187 106140060 899362162 740384434 637312819 796695764 270868212 855266971 891546915 121695066 85399997 234198594 252279729 403836797 492289032 364219541 726757224 673901005 312535406 59097937 177509644 57023855 137428075 751913223 754172256 353904928 763458733 563921219 126387050 613716719 886730858 5501275 27807302 896356645 88982538 480973120 982837900 446047202 747962090 797125368 51454808 491067134 410645887 200977320 464552433 87485521 424445099 847494168 325398077 873919359 806920095 500629036 163653630 703014100 900355886 499733808 38443564 788725837 559951249 229478193 166580902 330767382 248610822 152341563 734408931 71163255 698819463 893453687 262231814 490150620 292496797 164043556 333877871 735659260 998280442 129414034 854101471 57586669 243385116 149390382 415476314 623628242 188331003 71745433 989777876 294614877 692682223 40708196 548593876 244269966 832804852 526771879 726446816 806834651 276330993 866736310 526958278 421204264 400385801 440124408 443302297 830666002 849489774 314678957 668370355 702709691 553379489 532716933 362729136 445298618 120190374 755058248 679264530 498497706 652955850 46783285 201257823 78841022 232612906 446188351 968697805 959284904 478922348 95921550 767158792 106034804 843357148 34156912 44458209 123923787 281304910 336101834 901203671 826420230 24728845 16609988 358695402 124687630 19911246 198409444 804830092 419618215 870820997 268033654 524958512 524324099 288940538 707234420 311346123 11349370 747172875 587536396 447185897 118149918 362411530 510365929 916096603 647935023 176988361 22986087 930209814 269281040 78124488 767415936 251355752 102282585 280750855 970080420 367941405 755670077 630761441 427816371 332256678 923808591 93374502 230201798 624736359 337142371 711912923 58125260 363285393 383535613 714708142 808264376 155873627 880936459 108534393 798478915 697862323 620798186 729203291 113926408 234669722 661716565 294873648 128108584 440819032 686606756 463064104 964121884 314452044 579486888 879346128 512674283 464960228 324202942 26489931 153955651 638248976 92487738 533817383 613761899 931508088 262665936 957588114 782813489 154124131 577546154 917275897 180601080 523379033 474823946 467116611 159164253 104133687 865342030 241022711 128362310 858191825 707247620 378787361 308194077 506974175 822460881 765238796 580006020 920812160 720905260 78017697 930088096 547297632 855316031 297299065 67413735 831200919 662477604 568027194 751696347 215765429 24180614 91362969 414530441 114618043 58970276 17617309 158024971 761635276 702957817 84569269 335949650 245002548 1225274 365048888 506037111 175194119 762136752 881439009 121930165 271655808 442933320 701216900 397945376 979499013 661227864 552418013 252429834 445074103 66292363 544284786 88926141 880375253 310264760 533259641 895628381 900534169 438510335 479645992 239637152 877552894 237633125 704248624 963414268 605606906 161352229 296888979 238146129 208995737 535294138 38312036 489738891 252039185 282587202 21282693 129437420 193927629 287944327 200632694 889492753 31088754 44184149 122655433 297268184 801106611 956975664 444068005 100328019 412739521 686518472 733711677 773525850 576586416 499204704 433029815 507832278 405883001 382846464 463406622 257542405 330352875 438548913 498295434 643550204 12326626 496153089 66815755 819459055 986362882 393921409 706132894 529072575 352308404 45773067 210198319 237437888 622253788 81023918 82542577 83689451 893573238 734404638 742062523 270024869 31973425 713392633 488274660 651596762 964664286 114315834 485150257 598587414 86580443 54013679 398051988 394231179 864648225 641709013 358603423 919937393 261161192 91081572 287880435 899694685 156614798 505679864 756692227 592271073 717936836 237546654 363607490 183892167 10627942 944782163 9486385 883502934 643954062 105366888 686987733 253484800 26539262 659348865 624851184 230130237 138099022 387664207 745154150 101888320 585286533 432691783 257654545 765861140 22404841 21019397 45640949 557907955 666832213 397413814 831445127 268302540 587533968 702055064 460756216 186328677 122206242 48682240 649558822 793202356 473109668 475681765 280876444 229511231 853227169 152528639 368066725 40135740 940229851 783279710 768651621 455466603 959801352 648493082 131573932 171649859 296849616 97938328 219072709 105510726 796072595 736827776 306094141 177658225 337506791 500712552 176100693 270220221 683451605 936901566 568335437 953484919 138808048 560828961 89312457 949606214 883278410 188597641 681005414 240119497 341208641 46214000 321991851 389286158 103709788 997776083 637984664 16390798 613818530 786054807 664642533 159058970 414818517 426496803 400382480 794623613 142989251 239586638 348199422 140607231 10305777 346306196 577145907 620006722 527982754 73155330 245872225 91619570 463380272 687280199 876245529 203403242 467202138 368077784 395261025 126415825 64377204 11217110 623706610 225827091 882645664 801457654 395804261 435272879 286317972 855176657 50802808 760421116 888570156 663895653 743778163 92135685 960275474 455314398 340351859 138427817 458512918 294626730 492853624 387101905 968824332 36100107 20547684 25632387 957214950 779900436 211153548 110322865 744845332 254872340 442527154 348065370 262241405 885034379 896690257 390227925 253656087 379518385 103566897 349943110 176189988 792156584 994305539 923766110 911749290 280383122 947765374 154491672 997516937 361246965 565178360 455215253 362815312 845356769 356482158 782488626 562831702 122567919 500236528 760443927 393445931 556489201 232347959 70505472 228153164 256375364 774247280 995302022 889043652 678570600 882228850 705852410 279619880 55705780 156998418 87025084 874041308 986687082 644121641 872247352 169456845 246775059 366453849 167385006 6257689 432596854 431199266 580859185 551413355 353448263 638116785 345021456 997748836 120798948 994796262 450292644 321132110 319976375 298977037 560975784 246585824 89043470 771568747 816803211 159104526 188830664 166949251 333415977 284032786 967943521 744804076 131841064 220100128 684644713 794332660 949686741 699436401 868958880 940618875 88956836 435321012 622315874 290666442 109770879 497352937 162318234 824069044 174157060 884884666 361386868 918068183 994347772 897367310 244483876 484270803 412644005 390209196 684532026 59027122 32125020 252952385 441235008 830035306 955580127 275262608 425473625 233032627 82194973 99168488 413677621 144405038 141755836 611814458 969323188 470193023 17701524 203224957 888104366 962945020 915371662 325478290 200436194 273302948 52868215 615270449 29852443 735556540 736065271 203457824 284514231 875437323 145318294 589700931 645732437 863274890 94022677 342632274 212714952 481527470 341535768 66821857 248080852 121057032 925695089 214878289 142200323 449400181 814387001 289777495 238918490 607762229 541183914 25169174 726551986 6497377 645496694 859991166 789416731 124692546 690159358 676654667 446745398 710074151 593203298 829078630 923964796 698850007 760810726 521678103 246284201 624195138 713830064 359225454 838691809 222019144 477725817 640422156 780734384 802331338 117008331 90442233 265743236 949538383 582243971 749878834 313042044 55916496 116890363 569455028 141766272 548512046 280462815 924137118 123981962 180887647 134973551 110996694 140833336 500562891 25518282 236868121 8661386 584844572 243100160 266525222 717040445 607552770 375016310 420524272 168107109 92809491 4932758 562390887 484608428 212768376 347111873 80357494 629961195 57209253 444308630 291701589 445564260 618832260 519726971 469638334 139864617 16609754 58321303 220983031 63438307 107518053 71301908 76640770 790317915 617795654 277956981 190837924 22255159 562331483 249269319 477058147 402516266 657369019 534639805 948236717 411968270 699377293 658217374 880595224 541358001 161668536 861799363 618912715 556893593 609141987 860795953 698206501 347906942 270859649 218663521 228549728 102380595 760227044 69111024 765456631 853051787 927416027 876508921 761071190 196276712 266778904 602565263 924882183 310592325 516370080 396434012 36191526 815637666 716970463 261457857 919577735 722312994 26344243 609661104 300413411 993764104 366348497 488289581 944656002 828128642 949800785 114298322 5372254 160118189 970399411 394804759 352765275 813055458 419274917 793360152 102483362 775825354 862797018 2227704 136411476 566576335 997760344 108078500 195183082 791980619 597078390 991357963 170394057 740147084 212361563 597577812 102061415 57214751 819637165 57636649 674496079 171187574 133999977 617878547 641219134 518272491 546464562 236898733 998490193 889976306 60573798 950009764 260135399 749173249 15609202 124763511 419726598 772869660 360865711 383109051 803610442 794799546 604542861 652638911 573321205 861063029 629851730 839871213 142304388 142112595 569305167 293171262 617666929 694961066 724362137 16691562 553496363 96146349 284182864 377004444 185009068 89510527 804490921 370438600 718387932 926059286 34903202 315838717 279412679 856111840 560456818 206951749 972135698 814407111 523581921 2283733 300281554 355742877 981450261 142969477 444019510 661907701 85132180 167269878 19083155 328556247 495450304 110759676 867620511 193997429 835575463 892479412 647983053 79071124 171251339 812396999 803440214 8189169 49546646 527517448 819249790 154112950 760058746 312325178 6129982 168239821 794154286 47340475 821273055 502838949 645646500 863544256 240718972 605070879 551008492 301959532 776393044 992057194 35988019 554597400 327426824 402406914 826139527 526143137 342592399 185599100 720737326 798142476 783205333 248103738 921620193 830879885 770680682 906039248 253087581 623556564 913455970 799952272 131588855 225335430 485707125 665748080 498179225 420227634 362001838 432368427 4274763 546756995 375791127 999551504 418012697 107148370 448267604 124242530 258948520 252415507 589512501 36008585 83638646 611879676 633474272 721021147 245940701 777817239 675979997 122902471 68477049 600439333 797935036 714003195 341651413 214133940 775987881 616119723 559572344 513434297 935426200 403022581 365633502 923788106 145135187 612404720 680128030 451696589 27291026 155807680 823012901 377594758 179573072 806127446 91715373 452199566 500319149 330608182 364021955 364967799 848541454 549152584 438776145 57792701 907823014 41863384 327215685 765347024 455579539 271597289 819633786 279492593 216047652 6724352 137234016 80292311 112771628 621174354 372555211 42879877 520802355 206765243 90399721 526284850 292027757 736254950 577572414 589345651 669399402 863476776 691698882 952108957 458470685 10893766 394619697 137693108 679752213 940366068 791822065 478168370 429464979 281928288 418136246 994593204 238107348 460783617 714967130 449889447 67919305 674165002 272177543 413354260 719964320 312590542 56776052 488483370 146206022 883051677 25102649 360777823 314830691 133685296 988983063 446807882 884528531 265683869 28489794 35087034 725782317 812363045 221501895 812325639 115273260 662823353 158634320 415133168 729732227 958100946 630023514 360363464 572165273 773668626 334067624 741127233 944953198 582171399 57066448 957996977 902940628 424062178 163614810 954526500 312452398 305797113 426383501 40357953 210831941 114966793 46210060 299410883 320482573 587264069 156056476 609424870 270995706 504154137 367825147 375854283 461171114 479529808 417668955 967471076 211247024 232804191 226840 32664823 119890186 109589000 88530733 765493364 922093263 759066057 840300464 11793773 310215048 775052341 272246947 45693882 945391241 320677366 302911823 598415896 73261828 325668323 702516595 754585062 830629576 437591513 657315820 825356915 295363705 895119748 178635578 922410862 837143213 828873527 257190732 282137515 479735085 602697778 63714883 761655161 983037891 253550323 849438143 346756816 136887175 743292262 212965416 817158185 40152975 901536597 143477555 975709048 386239835 991688197 575817458 565900428 938715839 664911509 282104084 699903431 511994207 168377993 758043799 485898013 791626800 279547274 338602414 914137680 596822386 798256488 530406021 381754848 776229396 145171723 12333427 436121430 983333219 525707773 74124858 961835379 676792006 912899335 252701968 688739572 22935097 965545803 796711316 796979973 228387999 489843418 178762289 223982705 381781276 681398749 715234458 247093892 891272082 69287166 913910085 94473605 481682122 978470200 651156222 191710211 578885709 204993040 596450596 263682194 423770636 983032588 91568602 539077210 30161171 240603221 883748706 949452271 344908167 811035553 35725352 668132891 717004666 449916242 629078423 807073053 311859878 165904668 905304539 790673506 851362744 435159780 628661679 698762271 104354287 299951124 594945255 947697897 898496639 440298242 69581433 216393571 301920122 939302641 905379078 941597969 231899627 624900596 707207888 785384107 764319830 790278996 673222992 507966847 216087275 24008551 722493560 93909362 710386892 105907380 862886080 748589505 663347060 235396718 28323555 485240209 37476234 744442841 771737378 168703569 61396533 811697505 47203736 433760729 318507974 119263040 106444104 162555494 103455801 382721520 237343046 648686974 287695871 981232919 75432772 312627300 176130179 849338356 532233510 60894641 226988735 841900701 117224502 932582510 110202213 186882730 563376878 862089989 253258547 102031977 657213240 902585667 47942722 220142266 309501940 108190205 582946074 171973725 997183440 230823132 691949295 746805062 292167171 256688954 557962343 528765138 254674073 478140437 932710986 820795892 705255035 897637795 325330224 255616196 443019428 430203755 628076722 186649093 130602503 479462393 775420792 42846367 810608168 14836797 292494447 564122468 248948501 944858280 122109519 83691195 104540408 282270107 842325779 299684017 358053124 791819003 608672755 441243789 51466665 217850236 27784116 552559661 932793421 764365270 97226022 688385608 823177065 293064602 723171305 432885385 108062151 299446034 622855186 694989056 931468856 233793431 290646540 672927921 377370553 872081112 751994682 714777900 114718482 678768203 657141520 627330602 140075808 997619555 96367103 613674567 888826423 623531907 191295456 188437571 465648737 914386240 568025351 674966707 274028643 940916713 931674182 616255691 370553239 771872208 3969412 505603108 807031184 940625306 286196859 781298568 442373149 833606329 407636364 743550814 645124368 161019107 724074220 808268814 708949192 109233100 202360427 752017054 45567504 182488201 87730040 456827830 269587953 480518496 685615696 935895997 591177804 160560730 542215309 898571297 447553021 453212828 477586654 441620071 854172443 589847956 692381913 646672610 770911544 440428330 717841028 265619962 341986489 229973514 738648150 918067107 566917670 771071983 577076458 665721379 770693507 97787702 93379404 40407945 579582056 386572107 171770998 439042662 749708031 601066473 266813688 821270781 202332380 150147873 486943831 654013527 219228561 160205531 262961172 304339151 136004171 257586491 566532970 658814815 82990064 909048914 429852636 621290766 199066635 667995867 208429965 736035198 392909977 992215085 384169652 59026482 58410332 916153891 177405090 701562715 647481539 962283989 334530034 677902524 621494218 314845258 786486130 9434329 936319344 718373623 682587273 34228636 728145225 414860669 609286833 476283153 163939722 176779315 44550851 643038624 98327970 440762729 924530607 826305530 464954666 117057222 808957884 370596896 410386598 538406404 924885656 322738086 825943663 712327414 20703296 37979392 930066631 991180688 127440453 195848061 755145191 675725497 858785478 332923935 444164338 491159489 40457089 636891378 145065535 869384022 36307381 410931219 607730964 823429793 972984825 907223615 981737694 470210806 611269034 200581964 193345764 335976198 766529451 932758051 332999406 125876175 106554723 82913509 574472093 404396884 963326563 926721644 932465687 700073779 82173503 671803644 529479780 48865594 461107492 859304131 658141307 404926525 708764297 351651368 264730560 685594697 362103295 396326405 991292086 684765417 225835279 264166060 341921399 525574035 306518026 453079715 22873800 803696696 608859247 366732201 30629937 937601920 85936576 708383681 321138894 100671127 370774740 650075837 708190886 479059875 573590154 679609090 469160759 757808961 262708122 528208876 66145172 708911883 687642367 373482741 902246744 213647774 737713825 408226474 183900014 980345338 783459636 439816860 843628291 39826484 675803275 287657738 884171653 942472326 64796825 599936954 222725018 413313526 262986609 251453008 941148148 255519045 115914000 886653493 557903851 294884196 932622853 583866113 517557237 774143807 386533105 565049577 179326877 405438491 658720884 736748878 166249290 184469229 122082287 888897763 878647818 836985224 94085357 223685690 547422659 9277416 624539084 754701753 587177234 459844080 158647665 247425623 386763385 669503094 555785293 473906443 429027427 217029445 466807058 441590035 839503716 295421495 722083976 411524411 833227795 774425930 826244866 995845846 395723470 973822902 378199796 423624900 46221469 591169187 781608652 343921269 110253890 599146982 96640207 429268749 492581893 969723382 51202284 544512561 302607293 437340858 98397370 19229530 836436031 169835024 379838047 192182072 310553649 321987752 961768618 221905842 277638453 825887818 403586606 352515458 685731950 221283930 225040462 223416609 896308475 154140500 731415612 186632006 85115418 53494754 209169088 907962524 263301724 224691603 451014844 24733513 47298694 215963598 995723635 289973669 940668798 824021224 555502243 599759194 52555170 669269131 723886013 35537113 327339865 72870730 337031805 847110620 301752103 419089135 131707732 709673331 324033008 905452815 93468902 608933877 384675792 123318824 340468511 35311619 392566662 990552300 953743095 908529737 557690163 734064852 856901315 393574375 482288343 130712953 228666712 871493140 594485286 42029941 796065377 63489713 42844128 316042973 15220647 132416049 650951565 64536086 88938887 192162672 544208131 368436574 115424030 530568047 419815724 789202853 295457213 348037264 11155298 204214965 625408172 128756868 589244852 829308059 545377958 872738485 601000976 501941743 97421722 35017477 460427053 291799244 629983951 570021368 463771114 61230392 784761072 626527652 498523755 65961542 533819034 225024559 866646972 461351954 164034383 278186158 625945568 624041603 394191903 870836001 129624808 110432617 671626456 567086202 684753524 230669724 839638922 920928242 25865190 892797235 929378336 973282653 483116405 933905633 575247479 562534403 223702017 597152858 589588856 76919890 317796482 17716614 986086521 51756622 611678924 112292184 242930993 831589389 548134610 942625779 115578628 950435962 130506977 90126639 742788337 535634308 831089107 281601431 643808143 239130763 897530469 608307458 917566286 989994028 54457727 550633230 234193258 432915998 929005869 972994162 791425792 40697825 100711003 916587052 914671168 688622000 138624306 497744895 160458538 246281157 991800422 287969965 8155700 477994119 808560866 204469282 42176780 583633450 314743088 702066021 577608452 648901990 169803914 238455818 790031423 355549593 867654914 538817868 54732146 239441353 700422028 597049333 711605643 144005386 613570286 687358090 526304156 560255324 309741101 203777664 922258984 569851635 745736671 48811276 745584139 878451221 261463456 850144898 62140475 153114525 196234711 206990570 707826081 952702515 350460017 680001491 449917324 492004403 166496141 210397693 535655827 356601137 863020706 519365428 131779789 629447397 775186989 847478794 161786760 529722366 207729952 479757279 388828204 433615859 853074844 388878074 298901968 75890220 606157435 471667013 827936086 720298526 501226103 684625011 414804575 938068166 247476397 129152136 206548646 961123158 467579016 474237057 584984730 120383320 128952798 686379472 715526801 12849433 639467198 746142561 103380318 418681454 198494827 108603985 96072697 275878225 159581202 228704349 365978350 432404202 539092925 965301811 2834401 923427388 992002344 186740056 13676229 842501858 249761787 445735220 746592501 485188655 872960023 624332606 368627202 18508212 101615152 28676973 917513332 176621173 531874183 736641147 483351562 173899378 257843340 389868367 201560489 538390910 222038157 145679404 20466529 413143754 42932452 369553343 711220359 175722893 567677041 336413761 449766853 45264370 455940423 340832699 152229520 835615443 911503270 246658650 733656459 991268979 685615366 886377256 455475308 518546522 284440131 852605981 110472681 949211309 564867497 780279991 135494379 334038171 748971052 623619791 267703309 755795755 616896054 748254616 245097030 406038808 669073870 106707923 664622102 937746754 874192852 248418668 246298386 599701868 264079411 875304477 346840581 330873359 190563507 779379452 493379562 983543195 550437696 638409103 803798736 589075057 275798843 436454123 496208373 287944545 185923561 620031376 245947503 429556784 43187021 401483641 64648128 893009653 848974854 427582219 142497454 227266005 258198520 132547281 144083628 74165235 343761135 354227007 310068077 203540221 85344225 585005843 127429030 675255990 333059999 530175702 608966589 914249803 158656713 358880471 819510921 276516016 913691013 149767966 478966992 301856035 525170997 932374265 391800794 341309814 623024463 578670886 874064406 667242932 605869898 300745487 719192562 302707142 177719990 555265914 102342041 566224041 832735557 623533580 778904927 258936438 672760075 751318934 826053211 961141969 994528741 333506734 406575547 795223951 325036227 435560483 322488182 650999344 473464164 982465351 362324884 698608027 713700428 880791253 643599357 212257977 449344386 468534983 231136561 380111388 720593244 230964738 623087302 189767820 504443180 456610095 398287475 524482194 132666129 490804508 554038625 638259235 931252914 307024384 762936383 33517232 532753004 436792712 131104033 656186305 284904704 819243202 717265537 336515567 412806815 797362833 336132029 697447763 85769133 940446986 712618915 901259164 226759661 524701179 455732943 890162823 502013402 743191647 748652834 547750195 619991818 621267440 258173674 994135351 272799612 210361034 365196258 191228456 474514316 639183564 267044322 311393084 712705709 632409520 447003273 562283547 229497427 32621453 302022145 577202502 630181290 809223805 805578042 391462845 168020070 989881101 632067865 852088097 902069024 838650552 303657002 47710706 693817421 145230558 465787983 436735203 332732796 901065821 709729410 115002914 175909432 376550836 248158076 825195040 41936023 623001134 782261071 879009292 72084491 896014522 684629679 386527706 161581366 143523199 201731302 663299975 108555373 924701203 38357222 332494431 475381219 12559458 724768220 947718862 899362422 660526223 176654099 865438423 684786864 868614430 482088697 185449277 787770319 278178334 692492364 613377056 834061796 873108557 429434336 909298239 36559620 176962230 474311007 429399449 124102533 921425736 356791346 212704643 200426691 213861973 894552398 438907196 410270144 408580575 927038413 598819922 230107164 47355374 220881359 776261348 269475286 898662263 254654595 285273591 111873865 753877335 378583525 931179202 932116696 380522410 521410884 77221556 803624452 411485232 22757256 516116179 720777153 698207033 480639037 80792418 333324577 273202496 532491515 124408704 204638964 113167243 166255243 399679854 254215495 530917374 782607946 977414536 37915252 758260021 745519785 839484441 556727424 128557749 441726781 96326502 401065567 133883828 128817726 970272077 466480333 739435855 293383332 802927706 471052427 169213775 948057521 60282378 995014826 258640177 357987735 982971447 690843319 137306692 167671772 572976110 40009826 188275431 716753122 157759383 903131899 432798554 402481700 121093029 843854664 915455148 325828743 91517624 490255048 218742822 571109704 455082027 450158666 556593620 44738961 904515570 164009898 102752341 372470724 978535192 410898970 155587266 382406752 967586408 332846626 676716987 144064417 195799669 37396588 133180259 679144018 20046137 326859403 707584807 556713530 40966641 772993602 888852019 830164143 988229065 381809013 949687306 495767885 205777062 443261759 282953073 71847481 44422319 773591590 13836841 975609855 153146895 811672292 239728778 898284690 783864894 691187061 324766608 917461679 575336667 188502219 248258575 588630980 78146226 2313813 289252869 850362545 782560047 460836433 684985905 212116665 873222939 996870174 251158274 465352947 112388275 410444405 998539984 844760070 239613173 204673089 884738492 979315507 212207759 733763950 814479898 397285661 79968861 933337809 665013827 738824230 481874818 770169723 133767882 8414047 801313609 274835120 18205 357576830 516920645 874466750 140139422 174711216 518727970 400755991 615430986 689635570 418518637 129448556 5278681 37747547 713905550 853624846 243248879 388685495 576784231 958146914 650938357 248205440 410602434 64087393 500276538 520768714 937238725 714252033 212895032 705296316 556324682 831360723 453603539 506876749 199081828 880679870 811221684 167758777 434421573 60760856 860384519 333711422 227496719 450951477 301150812 28144292 374182765 537273191 934842991 51244835 817345596 835162980 508302945 35016399 95510700 211350221 661288949 208882978 202426192 308697141 5265465 153402322 849746328 20756727 16431247 482434200 912764073 972582409 565575038 648388598 484768600 382865258 112879813 525398485 333040120 797301706 159038674 997237770 146047611 58603159 146389551 95884029 568724111 471999643 34293323 449089565 192644945 799840570 63022660 14093459 306854900 939467478 183117528 665944931 134795647 428773916 8635400 146075716 839559317 474640088 786616085 170646077 644962139 247003962 50316355 111079212 982986640 456818591 525507360 345103571 23287334 336621345 743326871 834210305 685781662 305502952 505575542 711266410 330381835 357811523 47946197 164450963 806910713 769426434 790990680 593897667 8726835 641441675 965135698 347748214 743361640 608550573 584442895 234737310 692994888 871454815 555772391 926186195 714010096 486322179 135602563 80797093 819080317 84593978 697623756 477554073 130770775 778634931 755811306 154040548 148270895 739277156 666541725 237246922 558155126 72028938 238285929 924071823 108037104 616625491 988643560 513383501 766522540 151104235 420926842 433178828 451782348 392628303 197450151 383963634 738117472 59323790 467293438 342163027 902422295 143383395 790167253 91588931 108647190 238375772 91016653 737959962 783093344 778182524 99761234 116508329 411597278 162125060 581084894 837537035 759447299 558827932 341784532 30188081 125625170 326798065 405041624 986000700 690950370 285179954 634370658 337813822 997681119 762864775 486000175 27191002 65630482 478163836 665093238 352067580 577391893 135895146 239745987 306098496 588563517 956285732 948295652 862086296 591193728 880821928 775655603 152567419 55109302 381089478 934826730 391568975 539523027 301369791 687328533 984201516 135251830 327396273 383553529 85127001 424355465 849371146 260491727 261864126 25124920 547683377 42282043 241426912 453627167 811129150 683365355 646527686 946656887 577269815 237952037 266119206 964862025 517090185 703278430 502450934 939323962 380083921 526976908 430706641 840687746 933955206 554187368 426644829 300615547 155296828 809542976 215118425 32167128 889687133 241772002 320867262 127193404 412068802 836548632 126723066 101791720 264881185 179185489 994842918 397482939 274745299 926096649 289719811 764819192 591150994 870540783 237943237 82776133 11107244 873719843 725801605 197072213 206116011 290753260 857659249 853703185 486151615 305612601 120418121 999683361 349169541 145615261 720405818 506671717 578492819 599244547 300875516 887126154 88546571 118204650 472140024 363392316 456442088 766753027 196442820 262278921 596307167 744854014 696763619 887297022 935744019 796550741 709635493 876405985 628298283 868344895 168607175 108661486 282185027 617600739 944130200 422848911 987196787 347179134 714459935 298986648 672838360 171402615 763296539 350423412 595417892 974311695 241803969 17083997 953098967 24864519 766030770 476619801 342756082 911609951 25246400 610664553 851456882 985350679 290443148 239195510 758178939 253650236 826461223 69111099 923185353 794770767 427250525 3779668 409950008 492537937 375994357 13826107 304365556 250834626 980122924 221133858 382864793 677275505 735323294 610299845 124625439 999571780 501948193 119817681 875045665 119794856 82333254 566881646 459597934 16072960 808353860 993115408 669284427 115758518 513168953 112048486 762634718 734605118 743356071 636461227 844235797 379240360 748322469 166526725 463870852 926490170 86937907 167532248 305704873 732163840 26006083 273195345 241517672 700466400 874986082 767020831 924530630 273886752 83422974 891608682 502117523 700855060 923500230 756083381 585235645 483537115 34818728 972520699 984006629 681403942 413948002 208177704 264132805 237156782 292601670 727626878 806568797 155218564 336016592 883629984 110590902 93006942 190415454 694215582 58743579 298870088 775228373 50074707 279393828 248570753 101901609 98822256 562887432 994621428 984736895 652552590 442679549 63491572 634379582 28722518 68776682 772856523 800903364 47724982 467780364 143235922 318190758 785953777 58332747 759744663 688860989 76332995 280482465 54545090 164437505 262321820 302636477 526950416 751073849 713326827 623304396 682193203 28569853 233899343 493940466 584189336 84110251 714197692 906545932 282285889 41344673 681234467 115557487 536134640 2568430 349035510 88319639 509892339 555416595 523413576 117873170 407891628 414676100 147476852 701710192 304464573 211312622 881903815 476571596 784026680 39829333 127565357 695460413 190898058 14154082 17686559 651367141 726432218 715996598 644685204 912094539 690822934 340070250 496925578 248726257 910015881 980800816 200902779 106439776 657963482 581018326 462985977 661941189 884474649 774782771 312487511 778621784 929083585 50844112 293447445 784259559 190349025 928113364 676378443 155967119 725654646 113513266 726636530 39548882 870625914 131067318 724115224 196405065 724276477 31619006 272619107 137942878 761130834 483588426 167797521 397779382 596944366 672327397 51996851 293976824 613356265 191353710 711695449 62935861 616951600 73868322 976357311 661871172 87176867 966987273 884275654 101249539 775359983 461671837 272286405 727735288 786741455 935210968 933442532 331382065 273771113 267753606 493652695 28718476 260107542 975301036 250804262 383088216 292927178 145079725 590628907 600146849 564604381 919835927 21634857 50962550 740729035 289658246 735477306 86582075 911457019 751147772 4493669 223114227 100781920 477552890 837785931 58525906 119561979 823870207 993735906 346868571 157722034 900797783 979615535 665455573 748238572 517751463 893639838 422878731 176223454 158840335 998872277 906047206 793744431 738533289 807235447 646861660 918519076 223404321 591273376 685456172 805150447 264102950 33629351 657029683 447574194 407312728 712040842 981379836 13237695 894026765 990015128 76974858 204044239 788131251 241039627 994808565 207431301 431708429 843950876 520048545 417526549 38399488 75410158 146992102 528850713 757752630 8021121 932452042 876392639 802261036 553605448 275455070 192636571 17973437 289055303 576360288 465294362 858536571 59934767 96925342 435751729 808522140 16108752 709008411 129184168 882833650 823391052 335566695 292579776 625204849 829950939 605821450 291902532 604360982 12001573 171791668 136838876 74294560 657436049 9352287 876151486 89794517 853482636 503214586 206390305 43527889 186045038 879008974 367827077 282269831 166510921 970541523 842019306 284638965 161675870 280102929 515466289 99527626 778132951 774061967 155765936 646656684 847166924 846614075 994819092 411572910 437425826 707859374 488920467 362393929 90123176 918866540 783153908 772222856 982203182 855944446 365667490 339368411 841269079 455750307 638918855 188624488 872620857 316205125 369234213 592225195 552590813 589564366 34186835 76083943 814989304 353973333 166715990 145594985 49823170 924133540 214093710 137352739 196028818 482761092 212722169 130404340 597017108 489817758 461849146 642052236 259249898 245185690 303527980 954704019 482361093 95037915 754587651 231681044 796512337 885560299 751209043 122056153 931444776 417724762 472247828 313407482 95545667 641267447 310963120 207008876 167413536 415357343 563713014 742147312 986571369 115174796 856193509 801479211 512389171 438083512 800404680 2049031 978753219 57765742 855163961 134127427 922083271 92249942 477491070 566547524 256597665 200486645 399939821 942931476 906320987 226514075 994081196 213420684 279809953 790727083 645300763 287449455 833353279 754735980 356172992 835992450 826661126 174726763 364784408 179118668 73883806 838501436 460273655 768820937 581584228 934115669 800554455 986043288 589654530 204341887 232663073 223335415 765446044 21458230 377668830 847148307 422566687 241700103 189853609 804275913 37066097 427943018 91893656 91167816 337574717 411774672 97485345 356422143 624958590 424024246 807263052 644711324 897734499 785478887 653787580 286709182 119529425 858282876 957297786 755411635 508379627 226712418 457524136 891576591 368884260 5937358 923627563 153045888 172983726 261874963 832280228 494071412 167684063 423436162 481951324 142738107 479394613 506461105 910922877 138208909 144189847 609641405 900005670 857759882 729268242 271056885 361716919 227824600 873660609 959734950 916715387 581884867 263932889 644977218 653099871 439641487 896556935 276657217 138037126 870025025 185301687 701350436 888436085 616861367 382561408 928851007 76152566 399217149 903551715 902540559 212255414 49419172 677131218 817742178 339594949 394058806 86131892 691197435 334895145 728875439 530083618 188824838 90331224 297301406 653715047 924856027 814090358 501493699 851611706 118873615 10948623 548457495 131917069 231845569 461770903 9987734 821847870 602812185 880846796 253293847 586361966 110418050 207840313 638799798 736152166 499749553 489204593 125569905 56782434 532143350 469961701 283915142 60963512 18792093 183989766 364101749 27756488 527099178 148152932 659558396 508920314 854170788 31241774 808002465 489588454 449197624 16641649 839998278 571792994 578593521 88541883 548741546 759120134 771509388 305848511 221790812 787215721 710607025 458926123 253995253 975682280 453943320 596522952 604966028 376572156 307859021 903009733 102310801 969315373 366349014 805930104 906308750 17071092 630688765 240828992 705497933 657866852 627735135 46726245 579113770 29426036 480736139 918309640 248700860 761898292 805406341 229172485 995922186 373182774 568378137 266489163 918131360 599073264 428085777 12211696 337200544 255602049 471155666 147518837 610001572 823288327 471464830 302414839 409781402 79590893 767616899 621500337 659024422 160492888 268805844 855510504 945679437 138732366 613160291 135745191 165398418 897099004 963465717 53325349 253331501 261084486 312463296 74704127 129502275 640119295 576955976 599947849 192276889 389567846 915058698 796853765 410577721 361602144 438859367 169068192 120651616 896427781 205631078 739125510 511309662 616161432 672296303 166425429 814518132 379457295 967339655 309921663 441460427 71800239 500523306 559586499 260919824 602352656 671778689 306950726 757129087 41449229 18701605 615553212 212794184 162449241 765664238 643853683 996185231 604341241 739700342 950604565 774568035 424543823 835851209 365174921 244728387 939005669 221166546 791336721 220840492 512241845 74267197 453768704 408061036 844930669 483182379 249018784 397471815 668184884 539343006 534470753 282953929 540854532 254290590 433160064 363844272 744313099 287632434 731017886 762516673 61180658 605886254 773744333 110087577 138679038 593302770 858505164 852375383 350144714 790604808 149443042 232495853 323554256 410077458 303856630 773326989 266934117 194799661 97088479 153878338 635098705 114175228 102623574 637053553 537194781 829411958 707913380 385897111 268558561 285442240 932384478 249899056 853730859 69938678 647066275 811333225 606254821 115669762 833811276 278396579 366617757 906224078 262730849 580914272 51019164 856791494 320999600 30837160 921358983 676967503 447012842 578440300 458330570 83427505 562260018 601314906 233545531 749156041 247136482 748137566 946955478 243218374 128950007 393555775 239731090 197449069 516527025 388238098 166404925 205526987 234444423 982670794 640227600 19592338 868483458 568975758 364348691 317611750 872343582 275802197 52657844 260503579 191249661 551529967 262786946 136343956 548143874 22464838 670696615 119935755 383932152 644840002 189074845 378293170 274608598 983870443 205731521 484684497 672427023 476622400 919961800 527852038 766864638 9380284 54966913 44509592 938827627 629246690 211231671 181978133 477304954 171573992 709107807 575346509 554162457 12640534 142410176 448518436 278542692 961685876 170540628 998139575 91785697 51775271 197336354 630357280 376531800 741766846 803117859 107770847 56393608 23036136 919647263 419250832 815947401 350683025 866108241 625111496 194034981 592319609 513699039 825372540 320837272 462187022 959538268 444919930 257380049 83740969 252552816 773252791 591282958 536906807 745497500 693481986 630063517 146119765 507841545 882607064 429639672 900825097 237162543 794438560 944754445 827461876 96547339 163519695 93171122 398129424 910640233 88319582 203439637 647725475 587798782 957410859 113967129 342862779 180033794 836554687 85483622 107762015 74978057 946613086 272646553 516250590 157302773 125899725 854278554 235819259 131444990 461390651 559569510 88600210 174237222 113913565 159294611 77809993 451039298 118974960 796467938 767933295 599103588 168887065 997614141 136290812 425862432 959263162 801047681 244863129 921006870 203901244 138564007 140197386 577306061 219891563 218549567 754874814 439357425 467958734 764387508 91186125 833286982 994639334 414763704 777123661 221213015 199674658 450851162 105231490 38794650 563561073 255579878 929638329 602546924 240026534 454861470 255907416 664739414 64431727 100455036 306805127 215027465 465791209 41795915 989092121 982025024 273066624 525937687 804641294 110224274 32671117 840620188 143400821 643341856 426056712 179357234 905387678 104200595 643458418 94311765 336982635 59934075 684762208 489425189 98713322 136332261 69356846 211007824 413205698 622634372 176540855 820224177 437138549 589355401 114997273 983172293 8312763 227485081 236797013 461090788 240386304 847100456 251644948 702045371 798347688 969281919 400062862 408212120 778432170 961803533 620101577 756684007 283691419 253645287 435884799 657303168 255566064 93585219 190142256 47808666 456614019 223884269 889753535 515481421 653502098 747234189 167528725 306084162 521481050 696765453 596359605 253336127 531669083 961930425 149146609 544604441 1213802 243903307 594020525 426748450 439884843 584753570 417182289 171554424 831258457 587772980 457832948 258753456 579046202 617657698 831097268 173660041 953976612 797139015 874636098 815112906 201859139 831947171 93145751 294870 212373681 126256714 880911882 345028364 248782817 228819198 64211427 948207357 538161708 238922267 359263933 90706271 638159254 388198945 303069527 899153805 696556647 960331988 879852664 274805361 762259216 693686940 669636103 952125713 292599485 194072398 606304064 487468857 504262817 12289157 958631437 110072158 985293838 174354720 196810510 14922737 23054189 67866927 929539996 196358505 450695899 196934371 237405655 823684401 219750926 558581800 631580852 130810760 838492870 862470059 241393448 114099475 61723424 658359681 158674875 183086315 826244629 761530879 520136945 778934389 836790006 194247044 476143196 738654715 158705328 909231771 789475233 814344696 711890650 451364217 734133970 886740205 900468488 472619875 304070434 155551980 157798689 457044755 478176317 287871927 222193031 666468070 722766080 375660385 860800816 258725844 868764272 837042274 3840969 788950955 95806977 693285588 327669134 97900 119812963 563398647 719782644 978391974 50906138 459980783 739558245 448106075 707271727 857092219 670872168 296504827 812246996 16715137 62428618 170525821 95727942 992308991 334977591 530674756 638991312 195840520 76333365 728547761 993192520 951534813 203537187 951271583 54835193 359469349 348628240 860618144 6223784 828695979 439391552 167225095 97311000 679115517 409632081 293589407 93480181 859932763 262457229 831221673 587368185 617569074 101912022 586714995 597051242 757342197 190127888 863259304
|