mirror of
https://git.sb/baoshuo/OI-codes.git
synced 2024-11-28 04:56:27 +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
|
|
244649142 191361635 470088864 13762937 322177181 837427660 86215171 386819232 918023289 637380525 674174275 115635267 508114229 652392163 332687638 330706069 191489563 155462817 106006092 106444865 937004612 898720584 848237497 860323717 240567955 683079804 458763333 33295605 445333403 561798426 698036556 979162137 626897331 802546078 90232971 954307454 962544829 204121794 654005262 748470585 672615747 854196872 46696112 749356763 689233410 514392781 532308996 961816250 846376732 153454306 335690365 367619425 316837340 447436866 375139604 87674779 359362363 832319642 440103663 906323358 357243951 352405863 91663766 511333837 370045057 310973930 242734894 168930448 301027465 362819488 503234160 628424326 779488104 984568508 924753069 16943206 166720437 989127815 604619248 226306825 238094292 816399698 652199093 178760661 797788416 257824290 536195662 148695709 257812964 151985345 690095598 817653082 809097633 835417383 991165750 424085360 998576176 388170077 609492259 77130905 340166735 153607698 869044918 622263173 410437550 550488628 669427227 979795372 996245729 902766570 984732679 907226607 708088537 598775046 936748279 442552512 330617353 219340070 925796972 721270055 345332300 911231024 460376747 801942317 224758585 550198367 711171898 878520673 755595486 842108648 988964030 474970882 971288403 616042939 636693730 201619642 658256447 150827093 984782181 950255411 634544999 860474073 869000582 708471007 940758078 480645218 311335827 374994385 991135137 107038723 857366959 695788320 56720501 487778572 979927015 643957603 153684008 843370856 485718967 808427711 898458190 700898825 652864966 572142891 871570482 246884567 933456273 281426741 582083142 385862456 903199787 362339705 227151826 432245917 34847782 697446829 771607156 393142925 305877261 867528635 693954769 163872811 693441078 229445775 864874968 91456787 368114204 509225261 36105329 757693301 664079011 57185052 23004130 685704660 223595688 583009016 183869811 157216608 84367705 295935439 768130229 949700841 936760618 124924832 21928750 83883032 978446704 375365686 852384298 314177061 5200488 644998678 832611552 687916824 992036940 765493917 262423956 908348603 373603644 946267419 244130487 600089799 626883130 617568998 385217594 963006945 548345625 154811980 252676335 239344633 268703049 535690362 94188733 746430731 208186793 38420070 965546594 936114221 900522672 711208972 108132743 828998553 337762546 522416364 789107657 438680379 261501370 751874990 583347067 141533862 4475978 46958332 136231025 609794093 662855233 288939442 921330959 265878531 20987087 453472989 139433247 757970085 250175153 282091306 743452215 256746496 536886805 296024797 730548950 82491313 730045691 250200480 602154117 44101137 284104328 235605194 917052952 280577888 177515248 26904700 403885900 299736794 126599900 113086601 16433452 415995414 49098372 943821348 32544657 606373854 853523463 102404579 765299350 215374203 236167328 62717943 198901311 789000479 556254995 540451113 654334469 53457020 858930958 16826130 886882253 246623320 604230508 22972772 136416089 490739763 100578432 229167329 430149881 541374030 250778143 203981775 52452348 328371074 945293694 648992645 752037330 480355053 54119652 459710400 884032763 781979113 879639264 638796261 147472101 653277361 200378659 913683753 537630066 120350512 22565240 709263634 426969982 380875277 64139942 256993547 663739113 405157858 675000070 288200305 798413431 893168114 63919779 570752817 48531708 400857312 122598058 703052790 245838106 945456691 85925721 176670138 774396208 447760149 794771480 162585322 28038426 974928161 130962735 731535077 55866283 142762763 192639324 18801361 399001341 63126672 927635284 30562197 294379684 464057005 567080337 773541208 172519269 88465108 109979545 436432219 917061628 157782834 121032390 213124286 369439713 177457275 438858021 845369148 538388822 807136025 820228821 142344113 320515987 544282717 228688951 735635154 473049858 776673988 719505012 62056709 531033880 642475085 595422306 949863763 337564372 661891915 11543342 610420289 719479866 396116609 310582314 573603300 723045551 811724785 8608443 179801049 390116002 66668978 309890878 863411039 968197946 996489489 173978999 922263767 593262071 543554608 917964725 301275696 91350225 961840006 568944088 911398643 910661022 559984584 966802592 573493841 484881833 89733825 392173704 458300470 720220395 833632816 460764716 781963780 899999199 979794685 124749608 652084070 348658010 878176280 144650789 97875586 271803645 235763678 174541758 671681632 771337293 814993017 743716160 263136949 226882723 130876306 412723477 453181848 382760604 689507150 690168902 55487532 145156445 832419271 626231431 143202126 915684383 671257160 58963578 882887111 978535135 872038323 53598144 339729398 574625772 864764649 47386834 522400790 408216413 428617228 88823958 694901653 134240571 195600673 839714989 949888302 686918143 620751618 200457112 321223193 913737596 828475542 200217208 719789283 240274387 390845473 800160400 465832815 31930149 224980012 744231480 259584796 579463808 468533245 725037961 143597987 466186511 380851951 769757208 507603415 220890274 672129189 534661735 272138238 224044061 743608559 557294553 610102495 177945100 833016035 779550110 188769844 515206116 768666263 455619776 433690413 943447655 76274960 460701974 743739722 989046949 827778995 375317647 693610565 700403437 749303898 991942628 88232826 359442946 432641887 283324429 136963612 409210832 292189142 947616718 501412168 163453324 227639246 541623773 293298758 86336098 30323195 618213823 191225179 377602508 964286298 322547567 680664512 978851814 248851247 59234664 576601894 261917784 161640959 222693417 599725231 853142185 773712085 379904893 452382508 367070217 594140269 722841292 529675929 337544749 516116606 374628816 394223118 7653857 197575170 200932891 178994430 436220734 760572462 181111043 551446355 838200229 212775514 917038551 700526347 278746104 918312836 97563062 63546854 538226900 112978817 967759766 142996773 233850917 665206579 325593596 455545197 99332996 499455826 578947808 259250029 504640362 205939941 762112323 942534644 239567872 45453345 428875195 560695284 968943902 286543232 459655738 177530718 486612098 94509454 244189652 164445265 791410431 840374052 477397742 101694984 564187552 166732964 644435941 870642726 210489162 549448948 441144548 72431193 948989266 812126606 448779702 351423649 747730777 514310485 819429908 913864224 74118632 81156558 430276383 907980647 928806591 841418445 63604282 494425957 520145936 503796234 492574715 349461037 109992714 526982005 863875005 11865489 946355513 511391558 294430007 113243249 287730643 391947760 481640422 654581879 765339356 962519781 589832939 92863910 662489254 270912245 648662921 515467081 799846783 553673671 547411550 206329449 309849048 973897439 199758370 117320894 31711989 920752475 184561141 116845398 404519470 937750611 207931211 749615148 24967019 304121921 38573792 118480503 323216086 635438991 748437869 527775662 703733746 48532721 183416919 453448304 506240789 722947336 910172774 505090974 354383401 148375909 718969514 300984831 661625839 90980587 999253721 902851666 842956512 722119763 32609716 79834472 2385233 980322110 216356676 153793373 137419574 683634256 719296717 573878299 874298844 48591712 780874486 836692436 300678016 361364074 276959567 690004901 763944924 471306654 374062959 219627140 814984408 889387248 19433391 201498870 275422645 913016050 691991248 562944842 886028796 241734376 29477598 333460153 599071023 103021855 849965437 834514880 61178927 60525309 630626040 498117323 730997447 937622433 420936776 434107937 373404342 726369377 630669223 886882311 706161665 901510024 447166372 740180336 73780000 615134524 28412826 128343974 315415762 94891858 732319881 489142599 907209576 732505590 121121982 3999698 495184619 676929128 831851000 937313028 672161331 341177487 665836955 736482128 133177223 313377791 618907717 772102052 177542784 157319216 172636268 380285326 917870738 147150930 402056771 863936600 125139390 624756769 945410190 834236345 15318213 182185880 908459767 165170703 167125191 6532849 589965613 761097862 217374971 539954928 999238665 679327865 680198307 404450213 410672861 563913985 333938025 26523356 891802951 640252720 844225752 589158206 360979657 38820338 233060543 740758543 514564044 139711084 335940606 786329567 198450373 459118021 80409563 206285689 142074943 212561172 324214440 641614825 807675096 256872788 187196130 28169871 320314807 857264830 72270583 921235970 441833001 200624318 705249586 662616516 268005145 399302590 471057192 127704451 263796898 575361206 897663903 89782872 743641830 605475366 143354002 583092686 281622738 317469338 988956322 235117041 193548401 693887122 199195206 485724598 492606426 344119897 144005134 740976798 743844460 120587609 340009226 43280352 5359373 677906167 947988160 63623902 767100543 144645901 574284677 688700605 162867783 935175424 460687440 709011843 33692621 535834371 286911667 282341475 139257508 833767352 87115400 372629854 696055048 859063692 920846975 812079065 397905741 667325972 587399990 281802511 20480959 865023966 980383455 674209220 641861466 292368575 717469489 879915410 500392393 424281509 285795283 930092549 590782863 767124971 435223682 904320217 773588473 108090890 737742504 423653457 212233259 601390562 278177509 477512969 857055405 301996357 338626896 20909379 731700337 606907155 219998820 444052950 741494177 897509656 611302737 692822460 939929431 821047087 839282956 227524809 773040226 771793988 643085623 129836289 981384885 810964040 730643686 926038175 641706502 619383124 108477337 65880306 932573208 451901141 259277937 882543508 11127800 794387023 73751007 453442785 374310519 846566780 617382209 410533100 635573372 32664026 905834838 307782564 951274383 813566467 184099400 917112356 372337493 121596331 754686321 438412782 141193372 112245816 180547764 306533351 483089596 647278727 522116918 144463344 181846388 500795087 585869724 460218529 53476832 483351906 412285823 582849158 892535154 590844895 275243040 208450028 758236906 355679003 9218705 582861777 230200277 475365060 899032682 437634242 185055529 641258983 697988900 795524183 568669213 656994334 325096102 444742650 754342065 7105072 228960487 748449118 588830867 283351565 421451926 239214272 426768408 323519475 904571529 251437284 891186819 543585684 203143157 296810334 977749063 221443462 622395187 439224286 632429007 454935004 71978120 193027335 144998255 108714176 315903220 818309163 29008235 490407788 853833179 397293022 134976217 181694456 214270620 942263133 3375388 898345191 809723232 912275269 392527927 899045110 917274493 188477888 117346190 314318737 69716265 759044276 643513334 557828636 141120765 235299179 128907308 290202545 551952476 184298940 38928438 293310097 87205572 156781086 343297311 147812416 703068390 539391206 365758310 847653475 294680093 303192129 688012670 778734934 831692593 213115523 80250536 339098151 20992150 11734897 899697421 820811272 180622886 398268805 277439937 407335475 160453491 181296040 967821672 88059324 694332531 131420843 226101019 301334202 915303172 584331031 209556836 776014128 18160975 136717617 748682223 351063459 752258863 501787689 87487519 24861551 168782488 241744684 737521475 791951870 312017636 336533641 938284720 572331011 885975865 666168089 810860540 55929855 962362123 71818815 304893394 629385841 278498952 771976506 810929825 215575745 925105100 708242041 64825626 983369661 526238635 360093500 14739444 537947517 971216092 128748602 866379600 392382024 629802114 45877178 927646005 216587192 746821252 790676814 210394841 300554683 480799412 293657111 660187119 389331699 527770539 308106525 965103591 192308376 391170403 377994183 432380049 724025540 80546553 8529209 22097673 262569607 196213163 912140703 711055134 464739102 17348868 600407923 360291864 249055995 548623399 617973643 994747101 938635637 473041910 138014014 534939245 744106426 730737316 399015589 390235480 243852399 141505100 904978810 719650487 917085192 582209250 604443162 478114149 685251353 94071498 45511874 2135185 375557584 926909863 793990646 681323973 287396358 456213213 83996869 607172976 860487787 875069279 156790104 687401467 929392086 16150133 592196018 857781006 408643287 649065622 475514491 883400915 973133957 569367728 654052864 440364217 181709996 983582834 563084017 848970568 726052092 412867843 779849756 57631577 288947205 159074010 440726321 240512375 410863927 964707140 129965648 403029548 830192869 414819795 770928312 960992165 85174186 146654721 676192681 152907362 320766857 948292481 127567836 872476140 636628077 167747127 303554670 194944447 455592461 201431158 183609057 45332700 55010395 8175484 550433250 938577874 432251618 782670281 716275075 40528611 915239190 522689424 290380654 573882399 301249256 112706875 245935452 295740490 485117290 605016143 177116071 133066603 357836261 45660211 963537523 98597353 216556307 19940009 693082224 591391662 684006136 412712196 613980735 901627106 525574290 15359617 110144816 301285239 655955695 442319296 34122333 196636043 509930230 684943437 221622667 734699605 884245876 440023898 41329576 222476163 89700574 247398561 126780428 562389580 620730953 525626521 819973391 949798417 146961452 271540869 279129235 957434355 612524870 318251398 282084767 216693472 678884122 396430307 659975869 257404503 182430080 811577827 147803655 904295951 838629062 605528381 861822871 921570195 257111127 305239866 131517934 671818975 337168426 935053303 163695548 933112834 704983321 533746256 990285500 840361583 635963716 156957189 400020329 401153503 484659768 267937127 606517806 251387890 598016494 767634489 708344165 206767804 44803194 834371759 130956629 368185447 554964091 331059723 858589255 630378459 602975881 799046965 619767260 75570379 529339786 591712443 572627749 375280108 746068044 74341155 643148676 512506032 787458241 799966783 720231214 338148628 829549287 365880214 552233764 358467390 50433518 188643610 47339269 452019046 994573113 127511086 918434414 421215066 639853595 144987438 428300011 844009181 38973064 716129196 923419096 832163639 33611882 26426460 168672575 258842445 298566534 815842985 975980574 498713102 847248141 232851738 985165698 177914979 396583414 814659499 546681196 978681773 937714494 542234481 904033906 282586652 662334168 747487204 575106415 341359923 467120816 111894644 89281254 669390834 708691372 733178131 725116952 168006598 276623379 943607907 601156047 155894127 23974035 344738736 550181669 853936912 262058300 99858985 477832065 45791184 100457058 844603161 978548481 683708648 186976401 815831005 33244688 604990767 258196865 181527242 57453789 93005753 707015469 180790844 456960992 836361278 110599654 251420877 437731912 900996671 925880990 622460442 826236696 283518027 825962749 764329136 33031554 897581922 692397235 142993484 636217364 213296027 130075760 87998723 643982024 883313736 282201779 788773446 869198671 168112286 687142680 751554031 184946792 162908805 43305788 994671840 926577057 983992615 13634747 533014648 143193254 883426583 476178693 288264741 895070395 321061619 322260482 796024067 502134379 712388888 406263052 333283046 131228502 358447398 421749926 927165928 693621890 977462479 448276118 281633110 41975323 990961402 120276197 577432478 200435561 24664384 907397788 822878794 573331126 85712939 746283207 155351085 178657906 866000905 419724078 792914114 85779049 977244104 888190636 62339349 147039039 553068757 549031587 784161765 242142199 208611775 23561004 278707998 710806913 430782272 248793499 639383259 895758439 477589995 613740512 196431671 321735977 692824118 913188654 111516033 701413169 135565845 496529465 737109370 767236313 706181044 84787161 333748899 53460942 632440848 364314468 278727564 4440292 198370980 187913532 42437125 754913593 918077942 674596740 396435635 847666472 712517440 855676927 895486622 843025076 658896658 532847763 381408288 661563311 428746005 411099347 794553361 231058209 985548232 515490461 590435042 432549277 174316694 553306438 264664594 927271992 334958805 302739875 946450335 177148573 5531918 396939325 158260833 992470915 437665789 791092606 506673258 22023902 58020954 75433062 136025067 210582541 137616943 195667811 709200152 597236752 452431608 501676657 93390743 113234451 507856126 747615262 343121694 610909938 579777252 117386276 576854336 655655536 255988753 274902312 637317737 815727507 14612145 475512846 599731189 680133347 378672274 759936143 397206325 233683835 856638787 861525618 815914185 951178527 877955747 179196792 725441288 837937896 20572113 268083579 75796762 867521167 194020436 647743259 362233287 971347732 228975461 709264837 356558717 69230986 493098705 916400453 593906921 262450632 27419509 74830583 468498481 541318444 409841016 704010747 3591992 612401119 194614059 402941847 856737890 5430907 734186229 548911297 969170137 287750124 127775328 500519940 183473788 400683134 361783083 189683736 484412368 889497100 49328196 339022629 288951886 421703497 69287439 545723215 261668880 997529347 134888052 851545436 216901600 179165604 242464252 468917079 214466657 678314559 946922839 235046372 165657421 451244717 462978967 394053788 110507532 29666853 271557901 739508838 276257473 181223216 559327918 868233690 960011661 175931757 822314584 424443073 315259425 606361970 523146227 267822083 769204285 403527547 347001983 402624056 437303054 704207781 500892534 184080249 113841145 227919493 920243360 408372056 537240351 292036100 999509060 771651866 630613675 770679994 849739340 156026071 5742184 222885241 658466685 63185408 294500868 803118836 23917777 91327742 703496775 266034318 182300420 44869748 669903152 821455963 832154558 373599985 485941885 794979934 645069005 644039146 47426323 318928273 40216867 884441914 734547061 703510308 625932329 53452847 385355887 755602198 434485732 444743650 37437 488184752 51022451 804707495 861805722 993848231 818248220 612161297 54748061 371971504 494439143 391880452 311406898 317007490 235694663 252664895 837445235 814342131 186996270 45938257 158078586 202234973 508488402 567147987 892744086 420474157 796334625 477838100 545978878 968183200 991060000 92403118 946627321 82116286 578198412 576607900 411739647 469347361 110720773 667190745 66417376 887919491 123212446 9728060 34334412 206902652 103814644 216118435 856708197 744969815 715474905 300002716 702134329 667234818 942022924 511075067 612578899 423759072 212896586 664078564 106064172 524962580 48861189 531849357 746245029 76524159 532755007 685574582 831383719 809947683 124544862 948639141 524119889 397899513 177729743 101943173 509125716 539445044 277153450 686335865 870377710 786497707 963968860 328313596 206395874 586477833 353145239 555785448 4077042 199317434 445694118 795992101 716482642 691371451 354854654 189187250 505962825 748265481 571324420 855405479 886221227 914972706 852298914 770609311 668926464 492912571 9703129 996308534 765620021 412672857 4386748 636962830 835879515 165917208 88270163 670045161 957546453 738967330 650706219 139798429 233189859 589051904 878733306 530504020 141818250 232799250 981426390 877209304 251890666 823356426 256004702 307912107 157897313 784276762 357980242 680121243 166167978 270823015 203681686 261671760 660484003 791818868 417797434 940026450 408143742 171888340 286776143 844088226 270749124 614162373 627616343 461493318 908062604 705035066 716833714 938573538 376884496 325202207 908060273 359084053 31391399 153982249 337962356 142642213 577265877 604330834 373240332 507906497 458119803 993159766 89983629 358025755 408895347 977267238 529683058 216737060 730568246 55546490 44844834 490482794 248169767 786686903 43356556 656381039 907377888 593822497 662218905 764977727 219261407 614409711 129796588 857073957 782498605 908620040 121198545 678956858 530797537 441320766 863512010 235091254 993726875 584335971 408833544 694902825 243171920 289514088 718948232 583090193 105885733 481793201 484742138 820950951 643951531 350547582 832596846 584476048 787676163 192949284 956480481 920518094 758816107 106882852 242640068 336954430 155495781 636639004 637082344 670409435 727591995 661665207 55764902 934056470 214808356 441155316 285529897 996169228 228096838 181726867 845614835 650292836 630955535 839396854 495782152 959672824 55438315 861128979 19645283 276212897 526369444 912138308 166288100 716804107 785809666 143509253 775706643 163781915 995825084 963726325 938237810 945321538 853843697 434615668 96842554 546696044 910911899 225404237 357828940 266970536 80259649 799587074 477260443 942673146 554470660 85247242 272724495 155175833 302087195 916260352 673343345 780424962 650484630 357450530 898697075 815014459 471808017 777317403 848794145 123858308 712214868 59840845 16628441 936185108 746819792 805311470 258339500 893756966 401321190 938169428 150059383 812639052 34385478 657212441 438059119 128360640 75288933 672559895 975372152 902175793 686168067 917151651 847387738 809482522 464922516 981346497 609985554 541710655 308554078 246547264 260885040 692629372 436452259 886155270 200011556 879886506 874391843 69410979 388837901 143022470 392843142 381838548 109956264 330608475 449635789 804190564 244495799 775979481 635995426 577695746 680285932 793508991 612651901 155799582 173176700 592291882 348306196 337283851 254056428 932378000 922031571 991552999 609477820 964268246 886145402 427608547 939707034 484621424 63248711 746126763 160687280 693922242 540332106 279514033 402539445 749854606 659640902 546879162 552347707 375940127 418080001 101457131 82085025 967188627 820418488 28682930 693063099 231585678 19112373 802449018 975285668 338104455 185908730 679598940 542866118 37855604 21623357 269777113 979690414 453844181 699962897 644812553 489789987 942641797 424255737 910336109 203999068 843801299 470039898 714791370 651478624 252420774 572173561 686548180 115057380 199529516 736913722 851039374 882014042 115402834 123340860 535873071 4488834 940340877 392435312 978208001 854012319 198147548 535619334 432780788 108469121 9761933 67890828 833768960 127780134 239783458 287026626 860829205 103284985 725109141 494888477 29215473 476908407 90213456 166899059 404266654 744742039 120007246 107614631 547042703 999415542 501102322 267192406 50704141 467429455 594165447 145556974 889914088 443087154 752428196 163234252 754658615 338427576 757842845 146659468 656199434 309287480 770386548 29387535 940592605 228315429 76918029 795994511 890097438 888066963 312069089 631901 429493469 711574596 595800929 673678784 790018221 526263121 175325732 865314438 761009175 490619554 157530251 715589653 107717960 367727733 384130082 638259477 447859027 22640528 7648868 17927534 601608825 11361110 228287600 487060097 317852919 236801810 103621603 146859205 506528414 384440910 289959919 567511615 486580360 75881084 60788390 888407648 199415502 132566884 406746775 841929191 366206692 6860826 885427082 46075672 469360335 332450266 102871946 733790860 378375386 896028574 836740105 777573075 40372916 495938543 188549661 799553662 393618622 561529617 196974232 582365885 385109051 522584013 417639937 649093589 129483401 353805075 179532413 551488287 641551371 777094526 354548891 140112171 416752279 86139526 107117667 447257698 711367521 781395031 40649619 983335434 497842772 418173419 95868060 310990064 741306968 934278521 474737936 199064499 758968375 37093059 515536864 9467981 345098150 768642497 767633414 146983181 642410228 758147636 430472946 71648188 67854547 10199311 291586569 98748952 418823717 645942098 373194672 164571586 355123135 424265607 247691772 102465387 357963488 815255682 983093266 280593293 177828568 684995837 44953403 894549929 429537238 445277677 29214187 81442316 610622248 397981416 715475417 16759236 410610173 755244262 846611326 685607725 469031058 160248827 297275173 590965363 679643212 381579721 37294212 277377466 695131090 123374123 596505710 381552636 588108257 877559494 25177478 814755353 427802191 661861376 981092310 980129207 427758018 313959448 480453590 293512641 892899270 119677630 199716698 129541069 916384788 635671261 212601722 738968630 3999149 554116474 191249108 676345513 102157909 872022576 719919884 904542442 594092587 202111354 820497590 83778803 724887318 876863881 928922508 957045988 365630444 143519116 62869748 945043460 124320153 548868890 93457589 742925668 53852721 674821189 795292450 952478985 893389429 317514050 532189482 210752949 673198240 905826554 889607794 63192805 633492148 621893301 869242812 684471031 271911977 644652768 303248381 222607340 620218906 957317696 34443721 550341079 741015271 230075397 25652370 479628533 85758267 566285292 630340251 603543233 678323609 966346567 690297049 521661629 164704744 613153804 61126818 384086257 207257483 219769452 793928364 632020860 478215816 209856209 739729082 185050331 80972196 759272558 582259337 86175348 315615950 884708769 111820290 661818915 12586610 26159428 17848951 104794598 997552025 110712968 485964868 761484283 816940215 60661632 124771903 751893572 447594716 861252426 842543838 68246961 688856097 733620212 500838114 137269582 699556768 239509208 132497006 59946855 678778529 356596935 943218188 782932409 429496713 233959573 507026676 255968766 280460128 806873110 967401235 914665449 985940208 800757627 78107357 436633536 305069785 95165190 571994526 974655501 582646669 499739672 364187948 168267309 205939620 938305812 146542322 980307261 880350439 363509090 34596862 893288715 68024358 849902276 251993423 996301744 21245414 96454471 449014042 703991798 69071623 106106223 155379391 98645494 231484728 564238424 742627891 784383574 253880659 810734261 24620343 224923599 231462622 315272712 106701120 616739874 654261898 81625851 773874790 906346162 600016424 462651485 43303836 195374949 997127219 895170621 731536392 201082953 110875815 733200056 356989763 173429117 106064149 526235585 257082606 972371116 23897682 393924942 61079508 483279847 372258134 786564714 808702471 97951967 413410896 416749125 756493339 636097335 13876349 127287684 524393287 41881529 362371660 615948268 481960687 126978525 628178234 343775564 805914463 459415332 967113687 414576211 296055633 311657706 468707752 19137503 233128425 559747304 125447826 714130919 422932226 68752743 420141245 318077714 777574264 701949345 225657301 856337864 705696759 475048904 748253807 449228579 97487002 426713654 980710230 475265300 731014556 996241565 510630014 522006683 115693864 688939220 395245653 15755128 68941656 743060946 987135654 320829689 571168399 303120976 204706278 177405776 956543580 985957575 157356705 150385396 42074147 869903019 377642844 298188843 897899716 448096668 41290881 287452273 399377882 992465912 800671335 109732498 40707126 36133754 871487300 190669425 700860293 323286247 199067846 231664983 68560983 112558124 493909680 997284614 771951838 755098069 467936597 46966477 543205193 823718 274347153 762659540 72268843 729849241 356471251 829689270 441912889 405920321 834577172 897812132 961083563 500752534 685407929 695366895 46872538 847954858 247362557 985556381 338460779 783006324 959442712 961026463 932067745 222781780 172116455 243582866 558976211 720975305 652218640 854565699 407001260 53595860 825115561 391500516 695552162 6709002 997316252 761918996 5450677 881052087 935161214 430616326 933577636 553549427 863013562 372833611 867390811 940171401 627016488 177663776 959900096 651439365 983413815 2614393 485832876 255320603 833547075 298718440 245863170 328651275 120095115 14661805 233443523 144650632 247889973 578535006 265541960 650031288 585035095 211863817 801770550 119269751 94114510 61267595 839637328 350582726 699409625 467000651 286436644 999667798 516707938 145487059 821346887 552245119 859554868 35665403 425316663 837265547 626319792 564130225 893597620 105400323 337013623 952975753 548285716 712793945 572927099 156564237 643624274 193544581 408173640 774670066 947889266 674227877 882922949 342055414 562382112 711279327 407004849 807604403 97117810 145489686 579117845 447661797 376750243 449099006 185598744 435870707 401530153 381993408 575691609 859655564 827549747 788706746 717216374 390990450 537775681 26305413 350181622 467354854 583257942 628580919 816003017 841737726 633038992 432616630 114559101 958963718 164871086 641366797 727275202 153672176 82452438 328762870 864748821 154194722 159035939 586984467 200149743 805380462 958005928 493156903 730144907 872602331 762462945 978826878 737787970 85670772 647736287 306250127 907551675 63646643 477906306 325986432 997749514 103897490 503623005 487692898 317806533 189207558 963184059 572723212 852716711 536896692 468025607 836758495 872657619 312846743 418899478 673756332 340293707 507276808 401996941 689117993 960440452 435468254 142151431 632148742 485370761 326575015 919956377 487188981 515792167 108912337 132670272 317061118 619403954 954825180 301038093 439873903 198896430 203665243 374908114 340483651 29024917 689830757 783404040 174986041 554647860 402942222 236261103 780355498 690841542 707482685 77164685 583678510 748313485 148271054 183735152 161281137 270879471 144529950 402845126 528264022 908201532 27084593 559953039 521864049 681913491 596602799 393359451 340467260 841629099 463674690 278591060 639371389 346697714 292038014 806498898 22222693 135605710 771717779 398996911 688000879 282338159 575132524 826043602 795522363 70280083 990895765 381363912 434098682 88591268 230681739 226489025 564949253 193925880 532884002 163125218 458769170 783962578 387813963 107607927 480230851 281715700 65815363 266407660 91376375 389783633 978910880 356548375 998473515 310058582 74432037 969659784 932970148 704298826 58749311 798507230 8973962 847131936 935612808 888676107 742851143 171402540 791301358 955153833 138095132 379847017 180928335 893879465 684382121 59503410 253062874 895040865 1890053 495343806 486184106 856313846 136288998 125404452 289229258 240681148 400927615 44352111 457395214 555380344 50899535 369218591 38097913 890511905 55158377 186099813 90440546 999358015 352125564 227234337 336297157 257738273 352443926 644995709 42220066 568697263 28374487 501493178 322849332 583732834 180442822 694544435 672217550 316902780 366001524 525243865 385926239 254320008 771639928 549928182 472077191 817409526 444381224 772182290 198682713 960802819 886177526 628324477 228592194 475825759 45529916 94627731 508366890 425093033 74884515 324204341 322977645 576685109 590595863 551476421 52261442 253293459 886121850 450609513 500582329 172903114 379996359 21570151 752845321 213087454 70993930 209113949 592335471 90701341 795572939 100721320 508118620 83583183 848604865 701202583 135021026 161268685 857443495 765619919 101596294 587001980 922353330 771222218 588846937 757122993 731609571 696073197 356553743 95744062 190943197 794219356 19384233 67588285 76389713 363140383 506857593 31713073 801733821 416730516 299518680 7658741 48533610 750948077 663706713 369877321 856848904 127285423 162119166 662914813 414341234 474858316 736664906 468518179 78899943 774757413 570309947 911604645 148568658 680534404 469524888 516983216 251051609 616721263 121293137 421500088 355094658 930593284 702556880 147027458 356764275 704323782 196742243 917564661 303073199 680227243 393231172 685134632 416274049 895206654 262573274 287256144 67134739 710295649 651594095 251550435 920044696 751448292 467242326 76200238 558875204 204240690 15936896 235595628 555834537 150078739 141373806 621275928 407516845 918527433 796063578 815580797 607375050 679805256 492627494 291032677 670050964 647862427 8348908 5684410 147389884 193911915 596162630 97972748 1661332 235900748 359568025 363091836 268578644 318931391 790266170 295412890 924017132 263384391 591253099 504257812 506101206 205665714 781826726 927769871 559385127 327908493 131039793 223547727 411121301 202332779 87110079 216142548 810501081 427007485 383910495 333698021 956576249 466194145 672847349 243178234 648368007 164291714 718197389 899250924 647656412 77678928 419243321 778923983 584013979 251802774 11376711 136205950 624865990 133475336 699480484 799310800 679509604 697670001 942062175 498597759 442300860 76335375 130891207 219105375 724544765 409669736 210953710 811089469 64645250 611352183 495911674 259905797 219577273 219971894 339458720 144760541 573643449 116733581 650065484 622962835 138953486 533350962 905914609 850106944 975043092 692539386 251818386 345806121 549513690 302585544 107337772 298295027 776304049 431772258 467273438 706495006 194952412 610708452 675995434 1236960 480098214 31486485 624121349 66189195 920742143 286154790 653661544 901204479 518206030 26464740 671092385 178692109 703974316 724877991 423445488 68393429 271565863 899461452 535339905 804528581 7805824 839016649 68053358 660256173 179056906 40122705 212564443 558051016 179272794 180235669 258829639 582993988 395108617 274868729 68160620 590375233 707634645 907969959 187930543 3623888 273003473 868884578 722624629 981294743 388244448 431102174 645987563 99935229 592177149 6119928 898661545 711555676 687122079 657924410 680339923 732405375 77948287 970184866 979565389 285932034 185777901 980303364 201904875 282545024 381638288 171227501 652626933 461459406 378865313 574714832 691074615 111395026 90075361 20033554 38196318 822983947 340223214 445555474 863709262 100271345 842838760 428237176 494409431 753129155 62319623 200681502 883134889 111540553 15926055 596165163 18782429 147613398 111088789 898852341 13508124 574840292 927433732 69386084 926390266 581098411 464023032 282255511 48547415 672512015 17911073 973140341 143383722 19442775 697169309 496666947 502681994 139522516 661017279 333980489 784160872 82150098 117069897 891931297 177219179 720324620 258760375 201775699 358520468 654328438 62582147 214260521 626902585 756130288 674711857 677239478 202251213 777553390 899977952 53429197 979747721 106381354 65973788 260090990 436156085 441835049 692507881 999522686 62578395 477089337 558609786 327018997 311501876 902905140 350075920 677274071 2791271 947423315 444117802 939129510 270053004 581195274 576582170 744244418 734726198 611224103 538756412 138734085 986622970 152047901 462544901 780359995 758027128 401796268 439196173 6797474 62659020 318481656 447251480 818012068 922632805 260302685 387876442 456025232 138114183 953678774 557951035 864347125 184915873 98651091 489369995 161418526 94460545 533584444 851674671 785348923 393647176 487626319 777686923 886534537 420827616 907699706 696373231 784333054 938970965 335159754 342325097 865008066 636101637 529861007 683520473 755287015 594527664 463467586 220998105 444237113 493672402 91759699 446011864 549490140 522391326 860884856 349563669 744233513 904377510 335727329 630940661 943665344 154774663 501946130 650023044 701123196 475476598 183438407 750290485 285541058 586007199 384573490 168097292 186263709 853830542 511321959 805914606 644527468 766850651 979557448 375905864 257373537 818223792 897843779 346079428 790925258 6987363 549949064 302658813 507382746 729622431 540113391 287185101 10406790 369144937 269354483 846364111 419814467 674248462 529164030 782259581 280169088 658228005 58524912 482573644 36835688 125536720 210183006 659086282 42849301 27579402 321686296 449802644 116211645 959845371 582215806 904625045 625193767 683727199 824202249 454716006 742337683 990027171 999256452 933345674 936573543 545400761 486413000 963483104 965763062 186641538 306708884 464581180 12142659 27456762 537737155 250862287 904312350 910174567 955407744 845954723 503674701 108862181 536207150 604952262 540625529 465815335 166905544 136299981 270283680 462346646 235841574 172979644 714139691 68090848 473449508 618516491 927077849 387893894 837580237 123541308 149785414 528424787 712417442 900001418 204430750 12494590 235434379 143885438 751102832 812988294 523760954 831642474 822151050 971260753 50001408 207167042 207347950 59005460 694945639 636775164 39282660 856996150 901648728 823482376 973841789 487914715 451137034 143960838 383024750 556894483 434544613 298032167 752941295 1493170 789383874 62574428 783321866 14133844 610739424 495567188 510297483 913802081 64773870 896306007 391735933 120072080 971809080 239014205 697478077 252328515 353767028 962667416 660032112 666669156 402527786 760791267 939118905 931391542 508050551 144595889 330094663 81483699 67833294 215203371 426838950 619081000 989227538 792634045 174384472 741660006 978331333 384709949 302767346 295643075 471424377 206688510 765749951 218659680 580704532 131365424 316990888 10387429 516299083 239761242 781316613 966793080 393722715 421549634 656218590 189635620 444796569 619334240 40279621 969228055 287502083 318722945 883877151 279813530 228208221 918331263 582666135 321977405 606761594 258333157 151360231 865359976 220853140 677815074 76826480 51131847 813241988 898612886 487289461 872684802 275272897 902819106 214624245 532101284 822023086 179614688 863577429 529282342 84919987 106536299 652410837 750347068 54586936 873993674 764429864 254379837 457934427 132213296 737363301 675123959 974883358 993610478 590311191 45846141 12759366 136717478 128518458 767326215 389216297 451375616 229347423 238108442 817637418 219996700 456144213 270469602 745280080 150982023 82252651 623974186 952432739 128692438 922416577 606195666 119787982 960536430 488046230 538545494 69830727 850641831 158359722 721607462 77788008 886355106 211189191 808688623 808643957 265477178 296984665 214894597 694014039 854985126 800156058 326908871 108650451 99695499 976958675 77599172 694575326 180201730 375487838 6959945 731589971 566008588 551610841 592449687 70718141 586243794 845244214 682526401 724047387 460408691 99870897 12102232 765756594 791340605 314878102 736975366 528872724 38824851 667336644 472000004 34371073 198555875 137839049 914424259 958812182 279748390 350069366 733425658 970875629 425431380 55409836 928661370 664575760 637315045 362926201 119298796 125613968 492110741 966667997 871329520 608896831 904887687 557261562 43783991 747358729 404327873 756225914 73153271 684787975 424312168 547013172 717122483 577150448 209786279 263007901 398196024 911018632 554136791 850269583 830928646 93313570 280876151 561847301 388267281 178444303 418117647 707833133 199069637 246449878 150110943 342862377 518113149 709755169 641657630 272059159 328181979 721290102 425793232 354116343 844191046 391145809 7946439 740658618 7360484 900677076 249220375 563216814 692797032 107045073 968554647 290718526 735731909 436678558 220103967 73175015 870143088 264956898 102139686 877429287 29963332 114474621 709898750 470444132 759934736 840614178 162976526 967960664 899998613 197944883 182225419 938779948 646617105 340953504 700844173 225733240 735100395 341915338 118311115 744430818 565832051 243425181 118628181 848725426 531929334 809617733 111439440 874732229 519021788 438863936 995408447 928692412 30427326 931879339 747912902 220196647 164449951 41962082 113687947 126848478 810981018 174553847 976058399 405696040 994034419 733590176 122855862 26368682 403187203 144424706 121942413 204986480 668614954 867560009 157377890 832295725 51184243 629684269 474853760 773175151 253802509 881651645 976166730 860229772 936114409 368601556 956521578 737349611 287851661 64297326 523886299 464651511 572647732 74008773 307550272 109075416 180085530 136962286 386876807 390226572 330633451 971683248 674896930 124794232 259294260 759445211 620436275 849214012 636719550 305146848 137976286 949559888 634700889 716235265 787156841 934356294 966085669 455966501 197074032 732458395 9866662 937844859 364948963 834854092 340779868 217293560 133421113 832269715 519258128 906443283 662573692 57178652 44488654 841272539 327405958 149756995 88181066 686889046 140319602 354005756 800260008 874589876 275705580 601377313 477229075 341229954 579110505 183770306 728849236 781539220 85053640 630502847 513507917 800135243 653992688 864613778 656241615 44176629 334860388 353206455 295674844 692876133 490577861 388335595 573488809 614013367 337054468 167162653 118369917 420413181 853474976 521034923 551512915 881432849 937947645 467565017 453931687 931864847 156750067 122997832 231548275 999618032 344615963 289936116 110669414 982239050 757759600 281427622 491640986 572156477 299756073 46386481 776624001 187825665 45910356 698082370 165580310 830049586 259223873 631724040 110800021 567628108 896555967 938594366 82045689 898385560 551460528 830213106 206035304 723713955 498349738 86560763 49933520 452424517 967694135 591011518 185236552 409421680 298175152 848470592 590161237 12529504 41540757 835474548 824572733 363843775 781126937 224205162 802984783 119586011 394358306 470932263 537346851 699507720 437351855 180548269 933532662 728961519 282223421 73584529 199024823 541896806 512879894 871254975 185776146 665599063 567043457 62060564 333914934 579650071 485875756 298536884 854124025 21308424 225563265 607059914 502815755 732951849 838755113 811343842 707985628 780644532 761751516 485859428 87062703 477133423 909537673 183675683 749841055 292041925 558752437 209514682 741933640 166131500 943507137 362195398 713951646 754944677 55598561 945566610 345864164 839658501 112974393 949759277 709581859 808348590 129361520 257654961 849914801 147992619 945352056 295076279 852888920 125659042 98394361 383287249 50253972 199642705 710921374 979839963 741478637 53999031 176745505 122076987 364337283 910295878 367965302 738539388 217920782 392635314 775727109 567609129 46375271 244328048 41047027 997794036 973723368 400108359 11841626 152782861 351749749 287929545 913903856 659614779 122494459 356330765 257576438 169408706 49657526 934644580 734318361 121414925 10861343 97192067 35043105 177258040 803832777 153639264 206698898 408641929 795481261 502880695 59095751 207023185 608545937 14135208 124963220 131687625 852142310 313780568 486020373 736363868 411487506 589996403 260656143 137929838 514107295 60945769 840257302 666433694 763454079 778509527 935595670 934839121 307047239 701314604 127466324 275063349 540802828 931346180 767411396 359352220 162783658 2972565 792220224 345836430 826212821 313431009 315499013 212591557 41130002 153346394 134720254 346703284 277391142 73422922 187895682 557370623 562469413 147100037 605132455 667298115 775603644 112519043 212169823 178967780 738408801 51030650 18896129 73349226 87961809 585141391 726799273 564432917 813155740 879885430 42635232 453437846 916055198 520165274 188035189 909617704 835663838 993060956 898570835 834178655 422759728 930458312 922453277 437930511 630254922 240607023 648599846 338272035 860255462 230731008 632070247 443851964 775887175 765381592 153060061 332746904 645735478 155404330 177615229 769330530 160501199 821794686 383102369 167777340 779614883 962565642 411663428 56484443 353932908 312519621 261639703 543015060 634572413 654741265 242466808 6421128 179417665 276591831 87621353 119640540 717764226 834277046 756091399 130506855 19089852 719775062 531225316 496946516 418172645 354416982 82623035 88965485 509511222 901664387 67356568 590199008 24143446 461371835 851687501 177758763 733337324 568854851 793594180 158917079 635586923 268869178 310329608 195109162 395116770 422533763 149561630 557562064 189559011 984620784 219107899 999588630 658416860 838231765 170002029 147425931 355713974 761547319 544731218 37809660 881268884 187156928 883856415 720009188 980329310 63862488 230596857 378437267 166875735 654814255 945854018 101423525 106328402 956767709 637196100 723578602 43518281 827989588 80089120 822491692 64226030 899579600 446505106 605290923 601544990 240379854 147489152 825024460 770728650 508260507 43377889 569570992 377311842 558515863 577693760 379225900 465231467 5660766 651770168 477433637 146571054 118240121 150029506 244967618 21160127 67318316 655516552 338859501 888600719 583626787 89841096 332386413 745148550 399683005 704181194 294570285 260723627 740802268 994255334 220555730 875358921 954241172 5880636 307321769 73865215 602757825 92464865 138095194 263957328 380720809 614150235 983109585 208021193 84404207 967785954 263441069 325871939 548816826 662883269 660179242 372885095 881065248 433969367 87438164 374451492 92908425 730739343 824283077 520951730 737430664 908593701 265221130 234920568 507319009 172684606 282842431 213924151 138592771 273149953 990988357 235023885 987972196 392395271 787644150 547585713 178071234 140607749 261528781 414813808 445911141 543259143 68230621 226545512 65210995 468619189 391917074 281466189 166267275 191635327 907695105 344436880 287182585 11707746 130786070 45168597 482735440 813172993 136295921 913850105 493659838 496645847 822915727 981225288 79643223 59389535 373120174 4824658 280573492 367008898 516024873 157603698 345162311 498700229 418303678 412159815 617192048 112994677 230264889 339948044 191363861 178558511 993425682 519746513 537700171 347174121 871107111 415201411 910226204 435109141 241056512 472751989 591388338 125890097 447400339 573329994 704773599 942350929 729080623 507169873 390367375 726869218 410218841 722282796 257992763 190199786 429012341 611222983 576874454 258670173 703101866 33180424 417430513 114074014 262701565 744428818 170037551 89427974 437743812 29072645 577294224 561767476 4495520 888642795 925088538 352847859 397322823 174016611 385150937 670287774 697649230 578663381 731427954 230092973 418383236 946568982 941949760 223333791 672577458 499013312 88767689 468115394 519208440 70771332 272206584 686526578 23667668 518176876 860370270 954841698 11411152 86805713 203689417 463093446 361738284 640803168 862939179 269649991 890596255 632920967 149504042 718414460 273727714 355106473 142520382 264031958 283683082 945985738 232629992 268331429 319570469 593117842 845667781 245982147 868621153 766458338 734714858 341533055 154473530 873023812 970961326 245349661 102736809 639034580 187915718 815795005 467054611 401035435 217845406 417954881 618232245 33548077 150093474 314628418 451545572 833267963 842823421 619844850 879997977 773788686 989368471 547712999 144639421 170880084 243883712 354644453 647684396 894949603 692967803 206504669 435263138 29571340 69359549 559794786 660506942 917778721 413797315 843706028 943164366 346750676 115564250 187581765 461002261 471890619 429886925 621349543 406284696 628521271 635891994 164832832 835747495 558904121 246913084 293282675 179551492 264467606 453662524 770829900 921662148 31016869 126464536 72564468 810041581 976587688 783879236 466357347 818615982 939396980 826417522 453172651 670346737 322656734 934425862 156396438 150484218 44371046 690814563 941816137 192319061 27037659 131069412 971599924 89021730 804374000 539858903 155732041 189335312 480604998 83809534 697452590 77359199 502449896 585874731 533231843 266061099 808713022 84203854 989530845 227321642 745919942 594466742 693411917 129555812 6733492 192584136 664132889 984462749 87860713 324759825 923656923 448499525 596673853 129351633 134726032 603637910 441484090 295872309 534041596 392037471 31876493 79487853 995737693 122064653 272487893 324378312 225838965 717348679 371461992 64016249 109356648 606440437 574666605 895198410 74759981 166639586 377409835 263293524 162913816 505702755 127230777 458142854 187390579 424912153 563092269 792121700 711498825 920012353 54677808 825749500 29466510 393884437 441335947 16050947 235182324 846720108 797950420 286303130 692983291 945904951 714894856 953992069 466508867 711675782 144967880 111046026 520340654 760004103 753392000 723758160 477917876 177624565 313663548 608242531 17142083 740823925 361486206 640863670 380752949 287889537 874565442 597529885 100966335 721600666 915816943 911065825 962762072 854337240 258813074 398839496 56792767 796822606 811129218 653105241 930007009 325513311 98066017 316400642 51156789 414385852 145278329 414159849 829390161 989543787 743246054 718395767 1579806 286776317 761079746 225344213 701899520 595799895 147463489 667410658 203655325 969321669 106206239 297595568 685365281 431866602 302162659 390402599 681549844 109245697 707008873 299666657 948447180 366223670 914505699 563484564 177166537 304935294 942701514 521042603 103174297 644486304 616793710 84579330 972461668 364787250 199370328 626237773 890948493 484959885 230292033 764917736 727932950 314540114 598169513 834285407 74070083 973774742 626247048 688487687 272158764 222034580 511162530 346652157 86329648 161329387 199819086 591675142 539774493 764533723 583570712 708080102 619729722 120654747 273355009 193888256 785180160 12599558 16198062 564939593 30167801 743333004 527937342 314760357 684236129 720859495 272742975 899876141 419067293 568250040 267576476 186456232 19627648 915775200 762707517 425515284 342292195 599537649 460203183 418258269 827193926 177981655 627269171 847033249 808948140 884134960 759106021 482233106 157381890 783993890 27303160 857104537 703995108 852444053 926748228 578871986 903045621 407552241 829474009 226301338 589492573 85563823 545504158 403889268 136461153 470408967 900168453 30331449 376184020 91485492 438992075 41639593 834253529 242013331 192729559 15163073 634410459 474709277 977482347 511996962 312979971 163280103 360455745 4174006 258297236 625848801 393823891 351884935 164546261 494751725 363635324 466754981 99714776 132976760 422769781 543918423 517541198 286587177 20102663 205670635 950294889 499763374 337330130 379791112 230950271 835596966 232246070 957828197 660799342 810398228 781021948 275603599 10207237 415439853 724019688 587091630 171737095 556051435 42809690 944924614 674225802 544150004 120448675 258907905 149991547 636635334 426599126 186487254 985955691 948688853 329803607 281188125 978038210 8174423 806237096 134164028 365991620 333909080 445499989 833564306 695394334 597820508 25463712 405232971 8189054 602920015 345891736 244769697 623180676 646209326 443106658 840588559 949185941 202863870 39453623 548184477 40574989 430177001 742285082 776721548 223000602 27198356 154026453 976494854 664115225 221684540 544404100 703463500 619444860 538676492 852676898 863169923 335534523 594967794 119798802 290887707 608742840 275568893 247758904 133703012 917282714 736299983 675966546 197033421 624980973 79414794 482626106 215719381 212717948 668607349 962706660 510155625 374967640 65918459 98518540 65174413 674820731 633203160 342375762 36433112 417333348 704761816 333248124 936004465 29656413 588560276 193004384 353110520 429624884 164416207 282816758 256630117 711637877 554956803 233650416 472589769 210964913 873556571 540362429 199663733 652499473 794648619 60250943 304335526 631005058 829129686 441412482 101557281 796922717 16090827 441342728 653085600 238691388 972022956 709236735 913590614 11139864 856896248 467691944 211029282 985663179 375471003 199312176 213236016 384659635 772765526 793497323 469854289 813298396 447611401 99781363 645354105 202537652 499552232 128572878 646730157 560552414 867647960 494255871 877128923 367454947 214798542 540319905 798341693 372070473 978589720 513806774 983796259 176056661 947647421 375278563 222209586 78396559 49702242 258284177 274207162 423725527 864832849 286113401 992224763 653440299 757294648 932018390 991906184 190145292 389048926 273826358 835563013 130780410 567781264 974099560 265522401 432460623 140747892 123804710 477039198 378446626 338755860 980042459 148516278 629934638 900518852 65044771 281692506 726463639 566239601 638502877 899440285 623533600 964389571 625297019 463959600 520177161 625286161 267053342 805054057 518043245 682748266 882451183 690971243 777526720 843148300 375910434 46339312 925725851 76881553 407430864 987709455 214922881 138181501 915567271 645302091 207516052 561178033 213819240 457824639 476054113 226904091 699955216 478465784 185527356 782531824 101056836 226673999 676737509 19729673 563893816 597750898 812272716 245962081 791737872 839403711 906246182 177591888 555818575 835019160 314209142 654503303 106545776 775048865 465149804 211987238 516479942 845738060 927195271 193907148 319229233 585066625 553054384 104226326 638759276 468488474 614490569 719707436 661773411 181497379 99711066 188657454 737798329 595350513 208046675 112391894 565467704 421676734 813099946 129770705 657058550 122991204 520746949 235645917 473169088 403684789 151191737 916926806 51511319 515819067 803562291 57591840 267704733 525631948 113749682 713462245 74383186 276496147 294191430 51456731 487987116 131038397 874006959 174977180 180004987 840661460 150461598 856377706 678705997 50325047 39112508 630415653 707233863 552092067 993870955 685667635 60359161 213508017 290790533 84989209 490319953 520594544 995527655 299619485 558757677 276375123 813793671 897131248 399287018 385273869 840940240 158245481 511377038 107225561 274690591 707228867 80663358 585978855 585371917 982973946 3602389 93081255 999372065 596833221 508574012 224565487 883923717 258260107 339677736 589667140 660667802 49951381 521464639 529484143 62735272 952889572 358350365 200170506 349125468 605694952 647109535 594926854 798862638 903182404 161137658 222951822 697907318 194279512 280813467 175662464 433246642 550080386 876995059 114193479 603362900 940574721 385238053 816740628 382696159 569697151 995153152 759088758 532297551 641488654 125713365 338883635 849197138 147925929 127362946 864309155 639242407 956324066 668875877 317322567 649499222 564095055 107173613 547913363 270453350 250859578 485565458 523113725 821256913 196476207 54988110 685526811 201953031 5778888 785982621 537560384 996190260 647938873 324865576 785395232 469416 269508008 213328390 69776238 103349739 543593885 88937408 864004603 402088959 59672838 962076351 775456450 821656226 942724511 867536248 31077977 278131312 63985257 68205042 624175060 96834145 496102060 852948563 986134422 286888736 893211412 43311728 110233790 70983747 433061981 441489044 762324909 873069813 13077535 226869632 144220542 94339642 128423995 322717172 664722487 473925408 84005776 703866646 316120597 54933133 835954731 348249432 310557410 480269940 520088002 883202452 379983970 699364800 327437982 515428065 343885362 380293291 833708730 284290698 876540975 756354296 362319399 728273020 704571650 814501223 613969334 927634201 82237989 339091944 872652706 155525138 308202427 494048145 991213976 39218136 465623375 315391902 51440647 256986495 640423095 875907521 514790770 338354087 437458672 564127592 581070529 145839229 633653339 323682209 189227483 320142384 268674715 963179573 89645943 187382236 971271624 600020503 307427422 432886491 626285770 620598061 439216270 77802813 127393388 294135899 650977396 337797178 828916420 425127026 413109653 74012332 590574920 381732275 635712164 66970637 47707987 757408668 159600811 773072742 277598170 699004816 659149165 430959429 517367317 19098273 890145749 113540098 19212500 248735039 288647921 93597563 2732787 29082378 191347037 98911584 925098525 604637071 516853907 243806445 321576594 964335799 534277973 147176738 80223689 729258665 472047024 284604299 38454208 700308532 488258123 415779809 766673020 231281918 575537321 864417986 721744017 973005498 410541271 354954289 923910867 90094172 179054146 694341741 536031777 354911599 416584299 923610196 642253162 259673011 597027408 108932233 459598067 301539294 817634765 353548728 436626645 634582558 127679822 583521988 186772042 108713674 948471119 704442255 239359630 667333087 310309504 589916770 279920547 605680799 2812140 269647029 831733386 200447677 813957232 160560599 780116559 840427439 527128930 926580461 969212868 537399030 24248829 66842558 264307927 724787402 59051705 946512900 398074007 478358751 828402146 928401342 283599787 21332827 406587054 48071966 327655391 543866297 133734394 820691053 927556913 527478614 999902710 662539253 117020685 715442914 978308094 698123986 771771849 711136306 462896461 133521388 421221317 188748213 11948807 871766860 35787939 71893473 264051770 335036149 980723948 777567072 181540834 146443524 384830593 203137578 186910092 562712747 50871759 112432645 174223304 954162952 745880059 55470064 285329418 38607828 601561460 676296637 810228009 713223783 93380282 239332899 475326403 951068702 875606441 321814986 351908939 77659072 766494166 602041313 298649885 4520245 4140696 254034610 292420483 315449157 112537576 800994093 143690542 576158907 233748948 842192307 636816803 586636125 85348364 87004349 442099735 279443797 785346952 307251142 61440797 212717473 60575375 83238421 243053417 474947003 23795646 21828095 870785002 16344581 554211495 885785443 404056180 32639792 708039246 276442148 909619065 8395421 380785335 202217116 151508215 116119260 653521253 118866758 54466887 99103861 337311429 48270412 164270267 816968322 102521137 21876320 419848534 233411091 113040228 269467091 268899398 604196352 30191200 587317293 991026449 985665485 867909330 932570657 192447937 127907434 125416855 214445620 814994436 749556305 237270542 249417810 197420631 562677316 19719854 140467112 814454907 422175169 240718542 825584581 82696871 505406812 460366768 464296643 62018147 285129155 280779367 84712868 77157770 981869509 624366575 464590085 953439906 481622047 352494947 229773904 11061512 561823333 103161892 611561882 261815336 77324904 822268906 196417959 153725663 992983258 51403753 499352937 706798978 409604717 812035266 433406646 489254089 286673027 18813598 223660153 415736452 6146955 832400635 799561473 107601593 592895235 270266351 110018369 544929591 473842009 858673446 677603030 670731189 664608353 387543770 42912075 929674904 117310891 589657379 760561236 920916648 840532993 631453330 960104481 808455007 179109557 966536822 13275882 604052233 148332771 92922425 268622298 539995883 506515166 12115299 285544275 78355796 730779103 116796416 426763693 289258634 266050005 174139469 148007738 970440134 63990999 649435507 898353581 159199575 91896931 334644222 28643211 754064474 681892928 494319171 747710346 153152707 286904444 951529173 591927089 473259374 239382578 885760050 796945823 821986042 617845393 974807232 735975894 811661529 517654777 369992263 641216224 879589235 447268245 811914324 194683814 718953492 795021759 789869184 285680637 83428441 724703862 12569332 563303196 918771303 850372186 458166711 361143381 872334502 404902033 58150681 747969973 743996655 176810908 907364873 454142586 622850991 429627096 121825177 745573181 949050356 845364049 645743074 688360455 743209835 398486029 79983548 337633647 755398912 421723067 563457315 765036048 806727012 229451115 317019122 786955942 403507248 607571907 379406656 744060546 901512466 376024909 932637095 465534619 576582887 340914685 308511452 60082322 579231911 165462103 424338303 946673708 689340330 823536434 427773810 825774714 790246592 826768059 381916755 381224610 969395842 934342628 518573390 164320946 465826204 917967875 287653737 299484653 310317927 380577562 650222497 425811648 610162228 658239106 303134926 45837491 976086775 998124933 100167307 840605389 565082455 139152040 32196027 705655979 88759455 716368319 604452002 322412306 394644885 484860122 91366514 558633947 834663719 216230551 155023874 743461507 774898300 179825610 367089142 532604905 430663206 280496738 898982007 71282418 878336017 727777110 46101247 387597016 505233539 551052511 811800191 922054477 525138017 135960712 380144765 883197058 638169030 38436870 795442118 594683207 121608013 510060369 566792587 431055489 551956968 900496627 472091095 448966191 120953800 85219264 588878134 81167000 274572576 446953049 310061450 868457434 152673420 932037283 337587103 644078255 614248548 52529030 71143982 547843099 353051700 981455444 757753768 235287582 126211821 549794093 516891561 413395890 100508722 650770605 887272404 789318851 820802559 766748702 467691378 224803496 748843764 175269863 38840759 417722859 312381884 255911002 700553137 900006309 240599610 198642918 280336019 624880617 599833199 399350245 659946436 313077982 630597087 632716240 170065991 897323152 551045539 250271490 866756057 503949827 180523414 582552194 337359046 123512306 738123515 408779393 136366487 275233942 666668852 698815590 949238843 506121284 424155031 200316607 490724141 830088273 535778901 740785281 142035457 666669502 442939920 582206389 559756622 495508374 312685598 269299216 795219046 578858640 814139287 671058810 335303592 950631901 261617793 169386375 150579159 321364716 620865553 4457833 784325456 788010096 169696040 148395005 650671777 482902361 293455818 426287622 625985615 263595105 380107484 207079261 279727604 818220286 775606993 501505040 503367276 296696824 397015510 794889426 731802486 948501889 717989963 948158790 467575503 22129826 351793319 245098536 120273892 420518722 788594093 251395745 461524625 916882599 654211934 726805626 353173368 614938420 977015378 532757849 660756300 497508482 164720582 857620888 496650074 473161718 214461869 432085483 314453659 517601015 135099499 463672193 470904580 338024109 130022482 594383146 371673207 311713672 346007637 62300119 205800190 114522086 682187470 996780813 883017364 936297646 799844591 264793997 622095330 847936787 737668314 563674299 607657708 851360525 760019396 980451370 356159104 140326400 639803170 255581233 1590154 904160924 424638162 827713069 641704288 386555679 524915101 658812266 896171336 497725148 177455171 596757513 793210622 683471004 282332946 487746562 717606872 549583692 171877780 751757013 299683015 942969973 225459497 730033579 989634930 165790473 690662035 32303385 580275261 778721889 177491503 345987248 354695793 288954910 246733240 653512542 808044440 618105796 564039319 144642239 744201159 819126598 101903034 104616190 710709539 974006045 229206671 868374244 709479368 139398679 178131812 508391737 227937640 176975337 14178655 727010461 322940583 252859769 196545348 206657051 901336688 711139949 935115034 187400309 864197077 382204421 919803273 798818453 343898340 514214249 211523411 275401478 901089389 207790768 177483854 188945341 64778851 293122509 615422278 852804829 597787780 809549066 321345501 380188822 438236281 666070200 145612476 45799294 708667477 910875019 618435366 840410143 462767081 183071807 492774766 985059159 693730162 373400788 84806203 420803984 53223515 813813846 593263844 747028966 37996522 954702219 321836663 966573562 18521673 633177313 623202595 125176512 546696816 696701570 869690394 6303318 110754610 812132803 183161080 374176769 796535622 482799370 374219329 548950683 792920412 112323163 905141703 121005270 753622744 505271354 65009740 567128685 468138356 63014061 778576093 96843253 608755343 30888550 815431807 450922641 202536656 624859518 516479722 782573591 11164640 338905997 939768611 298222781 567331354 137918281 145009184 388178314 105618105 67821235 192340483 26033520 939920129 702731898 659352388 17820566 131898847 158693654 147701890 670892100 97252069 973468722 572088713 395809118 155229095 137366143 856113699 458191260 243266351 654667830 445135867 123045727 344739783 88295161 859035595 598872940 160804084 619237799 320382150 687163817 248593961 636449148 142525626 919494073 333370881 217418939 735555023 20385155 56409428 1351606 494302165 721298562 20715198 632488068 825595004 955435774 203676509 467681035 353142451 197447949 212820878 291705899 381464172 491908269 805316810 509881793 611555175 11493946 157217730 211004958 197184932 493527760 149804895 250488935 402611316 982829239 452421323 929364585 201734486 424672788 31414325 62881139 864291674 42753079 105814513 51238482 55756735 202343205 203029852 811005447 522831750 843049395 219992567 515396567 520702879 52568912 943041235 11028893 610798306 152488514 122135839 575533875 993471915 131379640 302364368 557846541 188656989 303189996 165394371 383926414 57796071 617706676 605753640 355599614 611639029 608689978 14597653 758698053 990987115 777034388 440289923 231481765 44057771 673731561 342558963 543062870 108663030 831693896 350483265 503289283 945418201 86091431 703277183 444272027 60267129 591551811 22064565 597465692 118671778 614274959 841173072 447430149 951262213 329543873 95198858 977349471 37191465 756537276 34567734 357221467 94448905 257878127 267809233 733156513 526861354 458764782 454333045 990812421 727600554 613613712 505071975 343952414 213423277 565826220 303179079 373367655 926950545 809042842 493278577 710703676 684445122 234418200 259465516 87683492 516348642 951541865 891697057 791590313 293331965 749375193 103318378 107356873 898267058 795613860 197353554 908819595 752993326 271716904 570662401 914801501 886685006 776391274 29264300 210853287 186292353 960883551 736918362 615442374 63448393 650824001 320418796 361912311 99483565 903766931 114706579 928950571 942668036 547718679 912024530 821228055 777936397 294622364 620964173 666462686 634774781 104566155 583248422 931150649 608329189 120023671 666407447 140360193 88476549 653611149 815044250 837220834 519597468 242673527 462401294 960023296 514965975 681130403 699759056 205203294 429896683 912149304 833692593 619771701 204986572 802074954 759835445 539826010 367447117 110272073 9693722 672603609 862208864 253249501 141212244 395938575 425578666 96067577 306522835 519048313 555007691 80221955 864779545 852116597 196060844 49673419 905231921 497241320 63477798 280324019 63761546 195184111 599009595 527528833 74473846 817060777 650864805 381745382 157203807 508778979 436681154 680821012 763368005 112906274 47553787 616586867 790725296 281091796 492762190 24702342 99439522 830142516 464787290 492463709 544942318 239022992 516159239 940001204 570505293 42865422 176126475 942874120 90282948 314753520 107881401 100210649 420861793 974311147 67972265 953887935 576891455 887391641 799577751 796990312 854989081 19660208 240550278 157301728 136328049 682864751 547125268 186935753 653255977 821929834 737140293 52359560 606721284 987684559 340335395 325781278 944257955 777226431 775335631 469636753 609157804 332603774 960430945 981369586 172591143 348412919 289836461 971922592 60298547 946774989 290694388 665856354 437042231 723613023 300204284 827710474 223057995 382066182 15222011 884139835 575990914 416777547 40037959 684902707 553008261 915573988 519057449 350302680 152007566 368651656 104201533 958015821 324940113 990142620 922593827 13779174 83919999 153549350 2362206 317304370 101462691 558000881 232557764 790923219 279479119 870826564 674675029 602118045 201445436 283419618 765232480 190976308 325604386 542811271 792833550 278183867 969893519 673212841 229725265 776409965 728012127 212063572 78826406 206274124 531817647 956538485 209502900 464353362 227412893 930965481 185797395 499833457 181468883 12128228 818716647 153641228 110641342 176246832 19210818 420853749 319737585 32135134 378907082 350423259 731847122 166093375 623961917 294878287 423210463 569955109 957574973 43011898 715132147 120369265 116902460 13591261 391712519 279404715 410781799 287810078 576591821 224332161 796619188 379274490 723611367 276184429 380819798 118026503 396282843 895507742 470846842 615599212 213051564 747144560 430345243 147226703 596836674 366166828 772704091 695650942 644140607 202481055 105082860 166586717 163610394 529925400 87943073 248076771 9982229 701903647 450918803 303540325 168180527 514259147 257429494 169475033 178124636 797284794 573552802 304592491 337730107 358146671 959928370 599363604 389568012 462388018 936941305 324190809 594266900 399766278 377633031 847606052 580918154 89587040 216550475 12699246 368444919 234790374 902001111 84473659 894701582 980435780 988055567 577930594 196974896 200927931 331066477 68430674 629425708 834113406 257977298 692661075 66029985 601914665 771072325 473059452 56048575 267336376 346556914 165417350 624758453 331655285 834901709 603099307 158179387 657091657 978929687 488744689 118024245 727975405 349199274 457175108 361480528 491821630 369482827 896897932 668517892 622220001 803279426 899163193 306768613 440412230 539129616 778198701 698041896 686138807 628755807 553988814 894449248 372760485 564064656 504765901 252883568 238284457 162737304 727813381 750612773 96798640 69723453 468214095 137286780 10752019 400484581 631990498 825354538 599722315 146550033 632675551 716343436 527613378 493664650 233297860 15343033 709330087 519071791 834921106 222240877 709065687 411557290 293847360 252840547 582486684 932065906 264411288 609691126 304061198 161530326 533940720 521919687 784881493 909390076 673566850 244709363 237991107 17293355 779627738 157763423 833105226 598698353 16926643 991433426 526676874 776385662 889171051 366868914 752179553 38821533 734242836 243415900 411121131 917808932 272645195 517095574 141518071 1586032 808721322 363104948 430175017 540777565 157309659 11365292 160807144 788163267 747311244 442492932 250488802 929739865 867678225 377285948 114247107 175628489 978511337 206263759 983167660 572147481 293366561 125240257 125421734 711340895 552471194 345563905 152306250 417663708 982405355 68139376 169902373 86134554 143263384 965486544 187839307 398261403 186964338 477415752 724641328 105387851 246099779 255397154 413659338 697073638 229722440 660739283 601709039 399732266 165862641 273669889 686326367 667712813 14854903 50901106 228589368 951754914 882766501 210868046 311721149 704119925 694889269 997862107 108871386 480618824 62954835 956906839 540145272 923681691 936378184 400113843 157473750 213239877 542719105 797584755 132747737 659042759 336634858 248629857 595683375 733594748 920246475 256700820 213604915 100075259 112475512 144498714 244641236 680781323 335719414 846040288 42080112 756347253 811912103 757099636 600004728 541208525 698289843 990081078 922858917 3323442 427330201 971843506 593293923 648158132 851792833 470520947 804374958 972671236 671721031 801461936 773158521 768814970 541524891 602889538 854836753 225382058 206112424 533021319 306598224 913323819 932444214 366821378 46493578 825788739 861904496 621895610 483356508 712853564 776347694 184071892 499655351 943443192 436273334 389035867 107073591 215197132 660477705 489114630 983746562 58684560 499817854 849178082 597435244 712100119 615232486 246943327 989483391 261417879 570247956 135997662 604492337 860899315 200335211 830950887 104238414 210557215 249059083 717904052 558555822 564889285 174195514 756458803 597955198 229718187 156856603 496169362 322455842 874593003 941433018 895061452 572886644 214599968 640040090 754471847 529878040 487622705 537340678 504326521 445253674 788226227 429227173 855459639 937828620 856052738 818477370 270723011 181580941 139548383 388273580 112174482 842870906 497080861 325262325 793567999 74705428 505037905 403608904 368568905 890954447 798627016 520843975 490828537 90905771 231362798 596935138 72394781 154323555 794113006 330538175 804531460 665381489 497062791 140267160 617154473 434105148 655285044 707238269 296807523 821056364 299874605 29943080 653348077 683508680 589751011 792257611 859659461 232358381 206275593 768631350 575630313 71382924 933760620 881103508 292616576 975132844 96500720 419770433 501725714 660081130 15127063 578601753 139476564 597115087 30816390 641036419 465288541 493936052 782445129 403517303 552712568 144875198 228333764 193215949 953364672 369095452 120309543 261538 68698141 437964865 306348854 176784286 167500323 677320157 16730351 461541135 681118293 375325174 209407347 201602126 111844473 256589848 678823522 203771688 54797668 351758 884058386 279883314 719669339 675271081 23968039 700651204 75561375 457894897 754315657 90513375 988093721 99060571 479583499 431811055 833007901 816514539 406115583 324553455 210762425 78951274 801373124 401497093 784341526 562552418 624669930 990208404 677153967 42000651 473905744 651347515 177332732 122744588 736785654 646964558 280742085 785657057 150634019 247294132 381083676 648847904 377316427 500729653 236094008 294763447 232880405 729714027 867602905 82056665 381066922 443348407 328382723 870534647 465638671 58656535 197442769 436804962 69095835 809181195 491090887 840951990 660223575 615897900 19451495 772714282 679324044 676043581 259005940 811053275 498657161 357745651 331171401 654475934 946694033 351838985 356878926 235136424 10108397 118140067 556113227 127350664 650328992 261993859 870668239 61552203 864570376 358984697 282519785 946142373 865971268 468995941 754522743 407860692 704501163 474741676 203778964 164749011 887151556 341868201 653135653 680347161 393895670 860053724 402433731 939971052 903568303 345963576 608016430 550192822 272471552 268553578 796248750 3849533 957134956 236970896 461904134 507696433 471141014 312447637 921170736 914386497 707602868 179155965 220108344 559911655 704582678 505118620 110407119 991212899 160358601 314818069 540818359 856407286 65394138 990646567 842162322 235878266 18556816 492387065 649651517 158004671 949807277 463273034 965168211 904664212 795302520 237074777 85541191 103673755 147367492 489790866 605386594 980435055 557828118 844216747 217620340 500431775 992836685 563559914 927944123 384356578 293971196 781467628 228959181 269919956 479895793 763043643 598813378 587112340 990455682 485534185 722457410 780936279 615501153 524350256 710084188 177576534 95051841 861130550 491971249 59111187 401679478 572621989 236328929 910985069 664188582 503308139 604503331 967707585 62996536 218440141 709378165 100843577 113546780 428883789 475852764 970879811 398908150 659641485 575474299 146284515 45328761 933084367 388463706 275607760 776646963 432358313 381230635 811632286 900237441 627586406 688380522 244547778 576648724 93508909 468282308 73097065 561909206 461121468 142944110 456695102 276921597 945778694 553356714 112844609 994135857 806954544 344092477 915168493 805045891 956456152 280814653 650503044 83136444 419196 395507766 38587227 323773239 911381569 240062493 38626529 336775618 510651401 864066439 59212440 277465040 761260779 23090964 179638930 19639411 934687300 446758517 466086177 972473883 860704876 79444171 899535678 615318395 116346360 148462164 286817328 998873909 45240867 750814852 135103961 422200416 777099356 34675976 755328828 419385522 327024005 787376335 560348714 575436194 93322940 205452619 137181951 813540611 321251827 755755030 581102867 326995518 62001031 235561001 581910079 498554160 482562740 350550186 256797835 83185028 40528079 127631274 679190028 895251060 819241887 997928528 742277199 723705855 44704237 5713858 212006128 267506395 901911428 642238861 770928728 781700489 175261192 783524052 292864295 197028438 616637701 118981316 806549639 43830384 55862028 249493691 472883231 198026820 144028447 739002359 284987261 541491007 872954070 453165459 300220029 453222689 396983164 838502363 239949321 88904544 287777463 873581612 290801447 551505033 874493287 607021536 909274248 59916221 737928218 417551268 808225844 538721732 716711190 85606220 620691136 446078860 854637612 319966777 953223299 517502573 50932324 222470618 282252048 70493986 146881624 207004738 950090249 143455831 186090999 129686542 832226628 383862232 635244711 783650450 534690114 559055309 866445931 927277195 531145824 418583505 304486396 709406005 747049154 955010167 599810289 689853435 517887007 46567501 340281967 149114096 817210872 227323508 196633496 468628247 451083006 900424624 410226234 182376308 397490814 956699669 75673802 777285750 416394003 31896904 590323318 545307144 948974146 577562997 283960420 138569333 777819630 167221869 802826150 989207310 127012577 376751604 537775564 289871032 413646805 129149833 262729376 459186214 16563497 169553099 466337417 224102364 578181468 890337370 956134638 521111833 549793682 175505082 403770036 826995529 683884569 844556301 914731358 402766442 489971670 139917580 367014920 39610408 369813426 897097545 903651075 183841723 114793931 194782834 668784709 255399609 374717719 378392725 375911156 773338206 510827895 772923805 584493838 424644167 195070254 851894247 363803370 691630466 50941810 103829588 211326343 931609993 426548466 200411285 647800167 283586491 900794909 28074439 755589979 69183925 668741443 704527997 834778725 240187401 528912206 573053915 255606152 576010716 300466705 275832333 696491072 645075020 68398131 694593056 467029942 482534748 556745121 121151142 855123831 451571326 292564993 62887912 82626916 582466008 802557289 881813428 170730718 728796313 287272607 427651836 300182995 320573871 834552629 438978510 722513812 745964422 699851012 819197608 123056077 524168780 573306374 609796020 132807444 761905303 524524727 437614628 70627740 643315765 770999543 844432953 389636199 736590887 66039982 570091717 556523675 545219666 223784842 748486025 941715579 118392195 192659946 574384258 173331248 620388425 428657 13556186 156069918 853802856 534746936 28420917 599384127 447073843 756979403 806501937 623048914 168915520 862704631 649942377 747613805 130992373 943520577 515755177 125316243 274328608 20190382 739739324 536339725 395317076 940963442 527081410 132294578 462584128 221994199 576141715 336662539 883411080 480107445 9319013 83652845 955414210 694680976 59570214 551136122 639025131 890945833 654368378 901253590 956689808 991898510 444722912 382377475 443526053 134562255 900300401 818989916 234200061 670215287 643550269 395353308 23351235 576789272 365219863 261509205 944006604 268003244 164421335 852035962 259760156 336039099 697504029 546900088 77494102 57036575 346016308 32479471 515991700 538358001 219004347 870730658 676966331 636950434 691119407 845420929 424941251 25785810 768731036 234973995 785961655 882399811 762973687 489190629 900941673 488720674 340357116 382026091 23977077 175722922 836369553 309410143 422128632 33729923 500271550 113664879 487892371 854975728 175669703 506030719 286132136 572068018 717307601 203692650 838575739 75891646 698057698 328705517 551791105 160393739 259893104 854313920 294103949 466395643 573413704 85582158 790325879 948331256 991667645 787077500 608596542 962122529 960400297 72034530 941450118 523028900 805437522 262277200 618701037 164125011 392696778 829459856 56376076 705319732 682339965 373644569 402355352 981051057 222284769 120348962 874675442 862235024 213128119 408855342 416466782 940346007 717215525 941166459 432173583 602734605 999745043 36457391 249901454 69545373 962658426 790656623 289792109 185822590 639526273 573381872 554781276 883099245 256384772 597861845 157898670 440228454 149632764 516463370 155657885 833670150 116612157 22103702 71506220 542697705 677470141 674773583 735974423 369112472 151107876 732435841 57169198 653400413 359377213 87723119 983760691 232931916 797571052 975328153 155532771 895769031 240658725 535927453 395818589 954887953 622913932 444664979 805496608 849377183 186861544 758668360 701622796 856215174 338332241 441050971 932214674 101760254 631153718 256538410 392798694 398304270 431330012 496430532 643578102 769870713 987684791 625079332 586983574 697415181 263817849 291544361 482013192 194843503 172122720 138478606 640191086 483405229 342555907 702786042 309813867 533111984 58605337 422511385 731763433 120886683 571575936 838753950 104702616 991945208 984303638 879972027 583780540 140181372 275914446 222497680 872835889 126169969 655672497 411534204 34424649 892317015 226280983 624542254 391076016 476943406 966248962 590371129 505715687 528424155 295914646 286881173 997283313 54051531 841553291 456347330 302232584 732901364 167906475 359458186 988559254 369123996 906515624 849350816 650439419 244703913 992842944 795860037 162646884 940050113 526621892 627392102 566717367 415012512 779422168 934893291 749372416 292058760 370373784 11231131 312169572 2734066 875455550 264575355 926010440 717586462 661532679 208805034 23988907 370161026 715279390 607691177 253506782 66784253 162064654 587319578 166987630 777871579 657424377 674091437 82121194 724217861 692688231 771782490 42581564 288131864 900985735 193650445 355108221 481642325 116427839 620112859 586108001 238414893 440481412 223899002 478125973 221620313 277487266 728910914 810037324 976077797 893847842 548381164 527520094 729367966 128671412 517960859 235389569 199033435 340350614 15823039 491544321 455181632 939669600 635913044 545119926 25484864 694396629 433205373 877006903 175346398 285747330 782619386 427520473 208214000 974123133 515201286 717513881 113209743 410545530 550496995 696768681 596394662 740268420 976141405 974222296 106099404 779500175 937775532 806328802 660423805 451959524 561950954 381628075 67369918 185524004 331810568 542814737 128722378 51010887 34708735 40287066 787386551 688173253 726053194 114921903 472752605 451108693 289313521 49715456 835928641 810600496 257916253 87079905 238666982 441680928 729350574 812893975 979616588 388664121 964143604 443562302 842163347 762277773 732802636 602616774 236055589 264043989 795972505 298563772 399376163 167344625 25758293 12709580 661978557 370185005 509030349 971786695 949169327 976395137 640695657 279940544 574394204 377545486 895047705 47990327 384207224 353797794 439252103 680307699 544942819 531441447 995803690 633629781 627840567 705192106 889466398 142411182 711211773 659692029 241797493 81722602 191796791 543244537 431010957 995304773 377686108 981233588 968554462 670391573 986086319 669227788 132581972 623909149 86648966 818667800 373246944 117167993 415417994 680031855 67118648 417105324 961465595 843914795 255203468 121744260 522465863 88730393 206989893 850786024 682942585 456382602 48498338 332774816 92971073 721871527 639252277 114156962 238165411 25365394 273138237 89239814 540270533 77421507 214523194 465944992 405791348 813949226 637828500 712968406 574136400 107522362 182546384 102957739 990141651 613690938 738305627 556807629 32532141 972359646 408461345 950981881 225983357 82029523 176616381 873417496 641570990 301447196 642484269 776281698 106950068 762359121 189016697 856448935 121965527 580470339 931063564 100300358 538232539 26237227 96785161 901958583 103545602 395770305 670179429 42724973 621497844 962763548 322834048 101139689 270228744 787183537 887983311 417731791 568873395 309448546 641505610 355898327 352004527 361004486 633308214 169375408 867523941 919812373 59157653 535330613 374538674 659857928 216441859 69567039 699167307 873935775 813921311 286737601 508326055 832057735 544761784 48225399 606386944 218153976 948536484 352983091 820276309 382210699 879163484 844935462 313624430 420246369 713811108 876198359 311034376 191249809 693774616 244087313 643745032 72305444 268843276 348522468 168771532 422075197 771719657 115950168 12904237 828122153 739221659 676890413 142741785 541785953 435895275 155346213 81375062 845665909 132617119 921381427 263074969 370054456 586191419 137970526 23697089 951130095 824007627 198833077 342118725 391574066 619562360 246850230 736707449 411801071 671369625 99680093 4144564 687823133 813370751 843601711 529550641 387116655 28562987 797683185 25396492 38090450 307086772 688733053 483774914 368133064 14703352 5888744 875294062 673166338 240270391 303449079 979556966 435636925 721227115 23275994 139735161 673223048 629672954 976273614 325412282 67646418 819725697 154476256 448410149 911227591 162234334 426726440 492422176 686337841 814563082 36478667 185541267 216982228 954342048 64049713 419288162 118760872 700245061 167340822 800984705 912338552 84719529 352619406 958954792 426628822 379988449 753017847 24476808 552552535 791056563 880413735 46460019 190509998 581861911 770843114 514562944 62397319 784255299 465193486 206367738 265436262 453344881 119150330 838423504 206554001 677396035 245069588 205551059 721847765 233174049 143081160 323366986 295997899 22042088 682931423 537452417 656726842 337641485 162846841 185096832 653164687 7467567 172147651 359921159 395474837 781962162 467192494 436529071 853160017 963246313 675405180 86130313 923038356 728598407 662902118 981618013 501055909 789768055 166022169 254017690 269841826 660777945 984711328 21231593 391371658 190030055 420654650 455792954 980813250 373122948 715449895 148389697 279328794 792348213 671393187 457234827 583468636 174871295 801819389 102947564 76142084 559081396 820292840 501407968 627017903 187615935 498979134 21374949 100243168 616799123 771826250 851030480 278784664 845834769 970440977 593014443 861786056 617617857 906086249 194401221 61241529 269867436 713795130 773670516 799083927 26124990 712835115 940330385 462543950 851252879 997437196 216699702 94867523 951950822 148516165 569625035 199119164 100399487 291250132 835949621 796589021 155370557 119795028 461769631 955958779 406480415 753396121 218293189 981151991 37436655 991710250 605943883 457179954 325997890 189460740 184093358 167390583 217672672 128676753 276429378 990525392 259437661 817501685 795900961 997119525 814658401 24081602 205760132 181446386 124080172 188937487 500113581 339180406 741982487 180503393 885731818 211053441 888020541 175939436 983902878 830026381 431584535 890693312 775349354 570561093 200968811 686356621 685630735 746620686 275645237 488157043 830915789 169621382 683655317 78226413 277152512 858197363 113723109 913706600 309418557 585766859 581058619 108128508 296325718 26151390 948167154 765775499 378947929 728071534 950000261 14295704 176942359 202797726 65911185 716248368 86220508 212821405 928292124 137981552 691114936 462629990 583475173 910792382 298194811 983698348 485366523 995830188 177033311 352730163 89243085 562142124 566909457 826952545 363663573 321623202 48831368 172029885 206168719 314133378 254164483 87886186 396682347 947312685 984646113 221477983 45037757 148135001 506681498 629546177 430154445 745392331 326133239 970488058 299913291 82288262 41836995 966483242 794421290 398025003 551930448 943643773 546211911 746718740 171673038 106509605 696861819 900917737 916540369 539765383 130645241 160683405 237115320 9801115 789699763 190279048 923326636 25099068 167172352 203047775 640809996 513552505 560918796 512099170 160615395 980574117 160859885 283638436 15627422 945814559 170969107 315885761 640758174 835495173 857479980 581087584 190540461 189861720 63778193 132420325 807107919 170433750 144775728 751027698 79301160 66193894 547700561 232146694 751613965 302720967 285520569 859589279 995533473 801302302 758339275 959193381 67623587 289411703 821372735 231702314 82020505 7233655 221178261 284604463 728732190 65092422 792030568 451904111 84316477 626875677 363907140 268115608 85275303 528636332 550349919 137647593 278536255 369977512 551161526 555238225 821655895 800489741 944232857 989819020 353337651 409211647 383107953 73090132 779910305 421103620 817574908 203391738 907663309 991407144 806266703 684330651 159036598 256506779 17282684 257104867 766781769 458176012 635425794 546698694 495338877 603129530 728090836 198511620 357839676 857787649 883423629 888153581 317881662 591714171 194773270 87553336 224393527 672758304 107447879 189431918 388168780 928146937 469872202 606060528 564686049 502938691 34771640 81192058 565385880 146629536 259234686 885520830 758086625 643841848 605516103 791982712 560942752 983600445 465393725 602668640 489802706 534583951 46410388 115333565 620937524 88515521 953573429 276037417 401257142 30259225 508046604 435977969 758906660 465773707 7639519 310561570 880658540 122563693 994319209 454696980 57039107 849736612 545189975 373646569 110041875 102025976 442296092 882195271 49118392 147661442 515154700 282212208 160346319 295268619 942703881 720335829 69626358 674434114 403666297 666347161 17520302 720596964 140335429 600372956 58569498 102618115 713001170 346517766 125825120 169817472 560706743 963826746 461933972 759983066 541793050 60623874 267651123 931154011 589862111 224916001 650607586 142802400 576283729 332171145 435639135 429505075 99536113 250417421 728226433 66434891 13296998 951724988 398081992 158603930 783847154 952869251 706833120 545850077 78650782 268114634 660135991 218173101 239869199 896477642 272925529 34608229 264434941 252425182 22703365 847882527 268030437 547271647 693214123 887593899 777155885 823731837 21189286 814135084 135050265 79621843 386955608 701970721 254266868 61522728 71584600 936585189 694457452 306882508 588175314 619224979 960894453 823452315 586520431 155335154 43045748 193626243 314736862 260615894 239476185 120945419 895228952 273139798 209371346 548977668 322909577 91679909 605281270 772214359 661317966 656295868 494763689 559637549 178380912 705498304 641157514 530039665 145231302 713763709 320328825 744442969 839258546 420661669 78506629 137628497 373241382 906624033 686302772 606043353 823322343 628955832 263946191 478473394 599641383 274615625 606138830 77508768 59261310 327041260 765317131 113038742 747305635 209587259 238274910 887503471 686343914 362062619 887069927 922812834 310714351 784695942 851769769 594011382 731712692 52164911 100145772 612210697 75846507 968939200 233540848 556943986 989185349 51132992 179350994 947026731 16855228 674292221 163131466 574398208 237159021 833738117 217008457 902776976 642820324 73433601 823541368 863727254 869146425 631896323 46618971 8627615 766915528 782041578 183955582 352896603 638937212 455701991 274390634 878676763 748543254 266881572 994758767 531275130 193729183 496204894 684969397 802447151 501674554 987952774 662766401 396639281 39973147 572709657 796429280 744086410 52623273 178259934 82262631 830423599 946910777 59677019 798797539 682448325 311815918 321366704 274296510 468987804 736695358 28685880 172950475 388896561 772371868 566795177 921547008 831117741 144395994 54647788 683432742 52255750 54717046 492915202 328275602 833588760 370058779 74614645 201953202 532479956 739827156 732571845 798885652 102757420 193384716 319545958 432602808 185287250 527909063 925778912 29354373 80731165 856170473 88040611 438013638 809211314 974266872 951433676 313253262 572135321 326685023 798070021 751681791 85727919 321199231 636545734 346031837 766896459 462262199 712053826 86952611 990768730 556134205 219680821 180171475 366766794 158068392 636141781 371970851 511222218 987498332 602327077 770988427 471173287 402030495 712109838 270257675 857238283 965058416 516254180 845087868 672778419 696961664 18970777 844659525 734950053 500484506 981581697 701292573 240376443 928681292 865714893 550817128 165553942 374500746 584303181 111957722 378914112 486083666 663559064 222144463 164462539 346564904 276168253 6232047 552077508 754168890 531073310 39849079 167977604 921031328 108984944 940404714 45574558 805396963 492731059 678226205 580512856 560332278 527154090 830282704 721521759 643619471 99845096 80485167 860503461 782291842 145273595 772940404 962964100 901758542 28048922 126524392 709547656 17338835 125432714 938924865 603518567 420349490 316836047 11007691 902646626 435160353 642827053 335005346 783565067 127846736 835907963 474789041 208125993 627868335 71706786 995517489 83298865 49682863 844729677 889476739 113638035 383773214 873126127 943745710 87156829 764350927 774382994 193466639 211994127 824393492 633334416 744672550 176734545 345822725 966744740 478850357 152212819 442262591 554771333 201498751 706556511 575280800 162158105 63911137 526575554 364505104 816987281 997795409 627625703 345900338 271461253 334974920 858302346 514956732 761330694 15698230 364288270 974159456 207939075 953892150 176444244 446403962 716600137 229845671 614541482 880065193 190687980 812769521 725188281 565453770 534129078 193481623 95264468 627815597 419315306 581333349 257356436 705368325 875313542 73562669 796864780 104319987 305979291 756769072 281032593 459773796 79097695 749310329 364715875 158280863 186648427 428435879 256794894 175278459 576261880 765123593 992582504 901096527 396395563 776999835 497007789 934732865 163951123 427013779 468145194 151164622 513977756 152498847 166996750 421229500 161550752 368041506 350959773 392896316 174735846 664231293 904527826 638270119 80477005 410986400 510657211 140665896 222551129 222584775 224527961 67325633 148195593 286944164 89365778 132334312 921137822 995907144 102750754 321474611 667323578 35107404 74610141 544698308 983715356 915365140 170620469 415764248 825872620 623142310 817890009 597964215 47292843 615258849 531776403 75051917 675135940 213831785 161668776 376048063 49202946 166363400 697660394 135783964 663687547 558634079 774587447 767312264 359019424 731854582 147862996 293767533 112719563 563361851 175247802 879949718 777192652 542365838 921938427 103997340 289684030 760424457 21329164 504030206 941806593 590460486 534305440 388165997 105524564 17564182 631002274 219997658 531128063 456634130 535860974 379476718 191499405 158691829 214286747 632382062 302970404 39770049 888783883 657086213 817346944 791855305 262616591 477892117 511508892 598736424 832486708 941187168 992919783 43046824 145323767 9532721 941101572 497862603 593607089 122780675 387658517 222330414 307805674 625736745 393602616 262400031 825158954 217629577 747870905 549709395 951484362 63484272 721278476 449089324 291795432 628347146 672288106 969671458 86638376 21852641 376955760 385352402 394221795 225507600 40306855 761631681 968403436 155837280 314249927 360632267 3311648 272692199 967396655 227707764 861165843 224115301 824077150 62127642 985078576 476299088 665925601 678597150 395121109 14595436 633033505 261073168 16382978 712120818 620913788 376123402 186406258 787704705 392448321 221657452 573882026 828707336 907814931 812131470 298532011 149865315 269685994 945809822 848436765 760222137 430280931 876908084 932662859 104922460 998129369 599955604 213687271 942964873 21715699 582388005 412339113 894684861 717659934 489963387 356091361 136728071 360448095 149628558 243074663 942066514 771099675 899055709 749694289 445706050 626493780 513183462 28856932 86586923 526195084 97052926 275616943 76667548 912660107 293300414 117299531 427522319 768851677 715526137 280642998 433201091 475262248 201858146 56472449 235187409 924909923 135539109 787879222 136547478 978796661 690605515 80810199 913636104 882449866 178011559 194597521 463611019 823783246 724253812 233523208 558731614 158804658 131794527 747464737 202450068 335686050 623919858 563447837 884929098 51767187 281069580 651020718 182762423 234879697 779120471 713323844 626470988 699731423 777231481 958184373 984810004 96858719 404389521 980470013 279652131 332735602 724392343 296653051 768017331 299264259 134137540 826394136 448517868 998095360 882526970 632640121 95371047 559438656 965244240 825295476 594320758 777385519 4498609 345996500 560741727 956091065 508918009 674705890 680148221 119234983 7806982 316334675 932670240 107775506 651358728 407840814 626400672 266348717 637224207 906519508 638668659 114753279 292496495 48132402 251408241 852832374 824091478 276343706 577903173 591744743 631676187 240791553 206458516 27664388 106572352 158876711 241907695 636123018 153356326 129840523 7898570 291276269 496685890 431224045 448110154 434841799 398729254 336522652 34105521 20439828 413955426 132363392 698462951 440508161 79453582 186018577 616939758 236197837 543097527 950214288 549253119 144630302 777446941 973124383 279997944 238680151 836008206 620520318 31427119 585185094 558581234 27635928 18744893 524144320 979126685 217503392 344505823 355615761 57873835 285370412 636866189 314223130 108005974 686295238 612365521 87485471 376760029 722642086 174760951 132141389 595754317 777087628 236970007 68784980 488834579 376580564 968375887 437037350 982756843 568693824 727362082 733293902 159940626 829210163 372512264 642496347 157615774 194518679 690795983 856183324 108801200 956257811 365954354 378581396 78536215 973086062 711993811 948455745 710214493 296869616 429595525 69803907 836011618 19511828 378103101 75756138 65216719 122900033 125270198 90410072 235396420 54191922 623342799 469841458 687438931 114109263 950721744 984756380 385231578 254732743 490714729 820117606 220334002 698604932 386145653 871097260 143334204 353490440 819122779 424513901 620089972 517691980 356022309 760664707 150237630 248528629 143294568 174711586 209993841 428553851 967236812 672474351 931040900 868205631 217757912 795366110 642330957 971960558 902211704 359031379 443823045 579522304 815674944 41901775 6755460 673351052 250609936 326630140 792432538 262159420 753570752 213134651 83457236 289019962 194417847 866792961 613978715 481004398 279820742 960514960 102616284 381302621 91738690 458099549 344209754 799304236 159790676 21342724 785374997 805895398 997741676 612772572 400726567 769287868 498809957 841318251 740422545 309139586 257623288 775618896 548270964 75417396 805123615 466594426 594535366 300494234 27147894 389497986 780387448 362756699 106512392 746844225 398696643 763572116 528912379 795600603 163246823 451177414 583829224 939067346 600965682 249031560 834294018 364974255 510365216 977189590 405131428 133830076 305917275 26001221 884049381 599273896 620534008 705765889 250040863 585467918 613000595 535589800 221988718 528120146 698563425 747645858 125845669 128157546 367212293 25842134 755822231 461914919 598178381 929671917 130205384 902544958 814258005 294227170 802633811 367060169 171994615 244002275 30966332 892768270 658735799 484156676 21519330 126574329 311619087 563714525 678700841 810829391 273330847 846455227 546746168 472548654 150526012 137356739 901904488 527723843 833170288 629601884 643024706 235054576 228370799 757793020 325450654 78313598 217735268 661354069 378925277 203387480 25661630 198303814 920295959 262576653 859288844 80101094 93344167 20516604 846206219 491504187 739585940 883924527 816487907 502607131 377667111 271656035 268755107 441525924 601932172 369702472 609016284 32377971 241074063 950391627 143283220 864505241 375314772 301586075 817633727 355880659 949637907 773352646 116509679 290762590 419895841 830601032 452738585 520705983 276439373 673488129 221990174 860311065 282128084 113102140 907423657 290407313 746840389 584414762 852971988 849180229 472481204 336802592 522138192 68234432 44879270 239171078 437070077 48651960 313589162 662813393 802925124 359231018 810590439 151364735 716063411 549092351 163205817 517825207 224656369 120455071 988478309 904684119 458227636 64275559 63541359 312998676 352441516 743765300 862340391 204199804 11738579 750635934 510210394 944363380 846541087 748322185 283353013 749848925 663916651 237765182 962110729 170924197 93465179 110022914 998502751 161486671 77194618 580419083 849776952 530293304 254710029 131355256 843369608 372218626 642016258 820114461 319181484 777942411 546811321 692969684 52980021 750027715 525568014 716968616 983446430 329667799 708775625 178743761 504841301 972222388 833803536 602619661 179087425 724027890 613206389 429622342 838866741 160562534 991767880 21875477 710388196 597096763 656724562 990533214 257754894 919664268 184822402 184766125 708565687 583445045 776537802 943048208 36384715 786896799 252158196 459379657 56661011 66115689 63135968 631943030 201680539 352067937 462291962 100801793 963905533 426750848 944940953 869133366 281841884 543789080 273698084 720216330 442367068 63151904 53851434 655223967 43085088 146824460 920909539 578178477 81910487 167518310 431808624 732493107 240253565 639995194 378965309 789734127 792779459 722849988 544435155 937033127 570420533 388552271 664926658 509987063 20689390 273395951 913079774 608337547 545391648 499027972 529286162 593285154 755480627 46815843 769809725 141971147 848976428 485315090 228013104 620191864 587936717 236836451 819640630 980036576 386854733 820665736 146838819 209793672 689771433 638378134 319908783 343499740 252992196 365640646 655139496 476620781 458092520 14392201 413801127 964843457 404494617 26422930 176858427 472831172 806526419 416408950 522735436 573516759 767668120 993929684 238829573 301358053 153917668 631916663 335270503 243372160 691408316 344530795 183709563 855912637 152672864 986237360 967159273 199481266 95206875 384292983 365924807 529865852 566944820 381727826 359989581 715481024 52312857 826524875 638345778 443372861 407710514 883412833 39796869 114322352 509858514 223051043 305130465 312152116 823355957 510827770 582354425 287885088 183196729 607457060 631425330 198839867 144889913 418200570 902635089 131487449 419726380 478125498 623060405 149838457 785264495 975362260 477456075 733661159 87188711 932687480 14495598 171141372 986556923 718481715 827214801 854507358 827990561 250061594 13881731 325464048 468177331 818403437 260558901 440548776 5561760 275076446 348703115 668563200 863222035 256630600 276550247 156612856 358809913 940212668 47956408 911173316 339231595 263806099 176179266 378535514 711510000 205711202 699571127 636804361 395170784 116965260 623174897 669494672 423321709 84568289 231117766 69099664 234207161 719136604 44247589 568201193 352040150 532569283 206448757 45040907 320214773 368424114 645818719 298963222 681974311 87892577 594888640 730359420 595804126 378811748 705673302 274180425 807879059 335044198 298338441 501570347 107511905 487687339 303711874 910578429 99206464 130325089 113328635 879202891 244206651 969503383 344493126 786637976 857692103 384033042 62242293 555059865 178488896 79878272 808697163 636819288 888974562 135152202 538185120 919966397 372757038 289340225 556595078 365097921 319367095 571847193 118461172 817814715 937127444 830727613 188191416 197091179 858014523 863119095 314082062 673201500 526234103 193262027 601825031 40153373 292128540 938560313 668536040 191978424 195145907 114097349 367843738 932897924 961250860 965889410 141811654 153700673 210304373 700202788 995703090 231759502 508305291 662048526 783515028 201925284 559900341 157441728 185976199 668434339 156799836 947024642 182452618 262271439 916456367 595510989 21186074 726003009 316104566 430100145 790125228 72234668 637741340 706287365 696391271 397636837 315593758 67014528 405426265 755264774 201170264 521048468 94360440 75938628 281566512 698280665 130284523 512422424 95916763 612341929 199222903 625262013 639394538 411077764 242592579 691669742 953296217 523990444 886142656 572658323 227600995 504372237 847360180 611329975 321346892 368027474 977382472 579142217 641868212 96080051 425959321 674527649 309020425 181030041 614539279 878705936 493022028 306386519 762345680 420635468 902539620 968708381 546672694 879071679 983157397 61597763 28057077 20647031 131224383 228671129 654423917 580993437 304329097 405859806 594381129 63554472 506110987 509774290 172755969 79606336 21080576 871704558 808220143 279326528 1320679 684139137 131029225 974871525 341086274 674063050 657970593 783731809 256224442 946516219 144489710 192698905 883021991 755677545 545526598 645786178 367803141 884532450 139706413 313160337 289152788 400919746 7328259 637925019 182786783 915372888 238536343 369914731 182659944 892088271 551804058 468611484 548407209 762737184 54730155 99576757 9223075 889006228 435654780 177354350 404873125 401980457 966125778 525163918 85677735 479164543 967466254 315034424 263713290 736335852 768722630 281697663 133130427 763693365 979188611 889945165 4518041 213796102 651203430 421738462 677069144 692241245 574738237 116104645 925508626 30660988 869797260 215419221 597921362 851871866 73103338 336964112 803438729 650543278 445104228 797899123 408469204 895242530 452885307 304887545 16923095 131292997 108851044 191452266 475546304 209457473 673635658 507988974 244742529 469184042 991136974 22065627 183891853 672443665 620772876 3891208 691193721 166394918 400157566 299298993 23480677 160539113 922670563 949297196 856271119 362343584 228673992 417003306 294814426 575529236 689237610 552868485 52015052 893073931 197922442 239735830 806084929 516005517 66258434 566831009 832652940 179188594 72505574 396300348 540626046 849505093 205216996 121911448 453095142 392653845 484931292 271256895 973275276 62973812 706862800 699004481 597504536 107185731 423371901 727988785 168606088 392340911 614125258 662189056 231303012 622321012 944178193 688246468 570607 310172864 772461799 814915240 910455730 845448058 147080866 986989720 859342863 543626925 856405783 635022819 232797447 534104109 142309300 243038032 140043437 256833820 599020729 258173684 425800620 43369257 505174269 565130386 227903403 169252767 891567394 152843685 668266790 866689851 10803439 999817716 177523075 374460688 688133 130453277 713112444 148635390 714631774 884544636 396676568 798685444 542084148 627493102 634517104 524117199 147517343 961009918 559034008 393499771 482952631 615247814 20792831 48192427 155016611 924215594 229233371 790238375 796625622 324294789 481874570 303714965 40956754 995696395 542259716 555537551 963690056 627005677 267079641 234391186 866676139 261458308 804283924 729652061 796047528 70856666 269652430 366320073 336791233 773449647 665986443 551853365 689455719 678300243 996431065 285771581 388433350 10838868 642165825 340686174 986048650 118304839 1730693 627791696 1520465 760392086 525305068 125741443 664452615 140117411 785841930 627396811 943639297 402719479 104267220 80752896 320003039 166241270 814978225 237747198 542296254 841513947 803663199 831264792 722682355 285905750 418425321 961375815 601716341 448690243 598521324 560162253 828312045 252769832 956337458 686415444 728858443 703256101 129991011 859583312 197683378 218711141 418442710 95331974 528178957 308914088 359644020 403283637 642214240 76083767 768968687 762689295 344501365 261527595 2244695 934257143 626504087 570812138 915666925 348257749 523958792 168127256 575133452 106124572 959489081 66304816 193179051 528834151 302246214 210603915 23494658 40869432 608296991 730839332 386692575 349226197 821896542 756151427 521823244 425534266 42952850 755172832 430762508 227173715 548621410 680621231 430064390 265700119 568930739 284175498 515146195 429108641 215407141 719150174 983625300 275105835 775184995 394344518 274236861 245815862 629658564 542801149 716375743 868728733 365398297 136451650 881608737 571987837 492765664 154152769 24810371 812253968 847760134 266340592 303060050 42650522 612024677 401762518 801198959 153031846 328904677 731707687 594535942 202480782 695994486 250236914 988403684 182601134 72034299 528760044 723774231 857435390 224455502 350641056 152714038 877032233 935567085 693098971 458172701 478952894 673419669 481703042 419466534 864504143 489344614 554934680 767778316 131389606 181779310 758255015 816161610 479342387 322269181 290616424 805395730 480079571 877895064 411032337 988909844 503900471 741239127 22213173 178962842 982243053 509791196 782823711 436710171 378084618 582477825 758026778 117103911 751826038 102048763 936435514 946893386 797287684 441852217 252786129 138409348 567151011 354149022 415174202 81080735 922804274 244113009 355150287 384390460 905692184 895436094 827568005 6093466 128488949 570299980 748442007 435535971 428883024 594276732 737142349 71452236 957791983 597823515 829987007 106990022 473587313 434055115 228219942 339776002 494897517 940483250 705247771 44531834 75439255 794199958 766666915 718368365 762467841 819167233 262614036 410208567 253871089 235111594 233311711 124333344 704921641 465259269 803683606 118464182 666693222 781145789 367097655 578932903 286405895 952672148 876602408 782483525 98124002 799804346 691838452 130357038 145122976 147136396 738404514 797070281 324368986 353203288 163701430 674171909 73503704 590561754 202707831 961616852 509415206 967089391 544285344 600171438 397224753 924592093 82207866 613066623 817202886 43666485 991267902 884215658 184148421 909282746 243469940 851268311 9130360 52150042 733311825 133990558 674750383 645194757 61170706 85425238 288960857 624327457 708850814 458974366 615507772 234159902 61075990 495523336 62219819 553829000 567437371 282916722 126092642 900191621 214040495 312260483 296012730 719735670 452916401 103960373 241525569 426450075 300766299 172174273 142170573 481522924 657220165 682443838 258710057 502573314 922421727 807075715 458381703 574217907 832444850 968889346 725727907 179962647 733947785 872692870 802601331 854545089 146155992 84993624 576751163 465853320 642577064 173469669 223067464 367294346 103898867 107473488 398730279 842965468 771750049 70063932 84374510 642153171 243893590 108281851 150072048 154077852 976897540 47229831 508810574 877557838 68023545 656218483 317721498 44597713 857082696 438524531 450240262 413268723 739504210 198120747 919232499 602368238 185851754 263325950 125063881 486565955 887654492 313168887 383090570 104477280 603513478 107329598 200638507 106668635 434593837 197542945 69418950 388790196 6189512 586327836 179287674 261017513 333404784 285218096 518520310 346532269 140114970 489631074 971660430 314170330 401567338 337356373 131470690 687781143 605395118 996515510 551152685 356664361 993153659 658491523 362098011 943587043 109772094 907153152 388378564 25124670 576370415 213487888 708497067 882883860 874475033 606711773 120148787 937705471 580062747 831692386 98434054 178409549 575268960 280968165 253981683 776727844 269485681 817610730 162177444 147664564 752877738 352457459 197723350 938575796 158140358 654280616 942152940 121757443 992746664 966039824 252205031 860270326 506341524 278005319 213212983 780354192 526544606 814519223 133049199 356383896 395650276 562000139 634113569 961674457 515755635 343933734 28681610 780579117 897466038 686546326 817193580 498298926 475297153 930400720 915203372 879855030 948070291 890422511 534391368 118646426 91997157 186774839 913937655 220885560 782468976 913080326 466078378 997559308 504154520 906007034 801153199 503626948 129719647 907993351 119425284 256957054 231090957 20147836 700033503 335580353 900107764 878155532 220902146 126349456 901696578 267525882 957281675 585013403 276374440 852107137 92143824 615000267 151115117 131708640 971045723 560247522 201825078 240534180 80072688 134044333 676394000 283367899 518373077 384094754 720433614 887362800 390432776 425658935 573943826 832743276 435160454 317936246 831171632 524066773 799371604 597464835 832086431 164085123 763919659 215417228 577797899 354557899 747170253 353284898 319832654 173457639 564618313 556922961 105412135 169852418 188612016 90676543 458705966 6491489 206931680 148053433 868022546 920913168 132163768 361176558 594894818 406432076 400928152 421296616 738262652 401185892 578423559 649769389 8051386 175819904 777862190 363044653 75944560 618948310 133100580 906837497 231561966 273696113 793822499 914029820 687047827 832362499 33889805 934830310 99785368 887517415 557676874 83384515 227591753 275453252 137558981 88277688 476206917 66438282 648992729 336704424 886383822 647624794 131399920 312811571 701657980 337996186 6878828 102196727 359837909 819490274 200544185 321802850 471903949 330190787 812728936 644476016 238564473 756500198 782888502 378730485 687050250 768078017 223746075 571180457 831252794 553835330 949680546 783950148 956979539 646282234 965661489 498829609 960140335 913981075 154275019 624842698 908472511 238137263 88215942 278834993 463397394 162127057 132721600 291656377 872081946 217301556 597532698 139126585 825960281 214349084 86592802 125283789 940725445 159098980 394471391 257447270 609518653 528917303 722877446 508275477 193297534 637652039 56411076 737454770 807926543 762723100 351956864 409896504 601494655 225614080 100112741 632165355 296179739 707408609 211294251 287905811 254798176 206452865 50298959 911097575 256703235 572707047 244206231 307995868 252111189 837926061 231000203 65994075 290999116 407010859 312191840 531332600 640408372 740136043 913752857 393380944 900918092 58995577 527430632 464891720 699270396 230714983 7843649 978272684 520719652 590230608 169055909 345344670 785590513 628813156 808616629 739788298 157189876 109543422 399375254 551067125 275039406 581084640 471615071 611265854 957066118 901271332 197921713 9038843 119009463 508174750 81103722 538350756 928911342 968318625 437500016 756963216 642572983 994787492 4562402 423082423 886419522 713884891 932010250 567712970 594348844 73771982 262462452 777695456 653630821 47437011 747515273 262095647 450196742 903593087 875142087 650691004 713124392 328396511 148683777 556394909 427648667 988792661 291771975 46461031 976887522 961386513 142649281 948766136 240141128 891739853 955436326 929143974 343024650 171017271 717231168 325840403 148115328 789748601 370000223 792528875 136628232 615119464 626735722 962909133 983792236 158504687 292764615 633951502 975512437 380804243 837336630 596709796 136881316 326965463 407912105 421944332 46852322 258842729 795567002 22289516 103192970 793577989 967294859 443955332 30438430 284664212 474377593 88526776 10425094 347672891 806859691 424055150 1838822 790124536 934083471 12575592 652177236 811243197 504300662 737344585 760061959 676959631 366152317 96061611 655766064 75500429 312031013 219657596 725861711 601240009 775610266 880501599 494064234 518033061 357056499 360471586 236108491 695491851 217880053 153805475 763429605 909915826 516353682 164761453 325419400 614907532 217289480 25207364 403529446 320627507 643399895 566726960 118196462 192325940 517483429 868794147 486272586 333520378 209693964 773467338 70297086 108017899 352072008 481323136 299942615 485653504 19899368 676810548 495387078 81431307 378184615 614822111 266501974 48144775 831875106 268492813 317602953 569859862 39056485 950319139 4966541 536519601 593962387 593527297 120958767 660576710 259104886 871856712 588312607 580499933 932247868 724902762 722737696 669485253 80392189 51153044 823164058 591839155 512174505 605083110 376867632 14787413 964108447 465843758 746838661 761449528 68516062 841274067 851824927 161134959 657386184 61543658 309600514 511977593 744360495 575035153 701303110 617802620 49846024 946169007 868534763 649883676 306536179 649419322 571815732 912906097 251730045 182634451 83100323 275353855 219386010 728714522 499367559 49639802 105438485 63267076 892146346 15433193 930412582 961412958 912582869 454094092 863955091 594433014 604633138 362574221 629220995 887504038 33309187 5218866 495461646 950238352 780684966 794546140 881169633 554456550 399658527 828320275 167133673 57160240 299701779 328981473 124854883 203767616 184650598 281603052 603435968 892393633 140896380 150409110 51639133 264197012 176897071 483512313 971236425 46609391 412505614 71548777 707941673 845756385 826512158 883224174 341067274 228410386 76119098 589192402 345842887 937811666 643939132 139626963 217427433 163043403 711908040 275432734 610902469 346731032 276311511 154560772 653836845 29585881 61288168 619543025 643302225 127130442 905319046 863851482 943991213 546298637 739650274 1775525 864874086 152662163 806332501 914352893 902713770 99535392 26877534 311831984 140424921 245847993 794605513 290070442 234288494 13715200 472826219 675509827 671004202 418945773 224629020 440030097 18740227 69811305 610125702 156849396 68348918 194348841 452864153 7049672 737231818 574534821 323571628 944743424 818030943 687291766 242656809 689488870 342176348 629631291 366717966 828866766 823646010 732734660 781900305 686899574 983193018 859706680 790008573 198753357 318589468 14240185 352901292 219778647 727543314 367756084 139541387 393014346 86467586 46765111 862302680 622989528 133094094 714051047 808215559 744570767 211055764 820151987 846922303 782602321 861335128 952439409 90005338 657735566 226833076 835621815 937572931 921739692 954652554 179534976 751221564 193140028 250482805 122249578 834257000 784193414 434025264 78181822 256788097 674332623 360960645 365763308 807716817 184381012 369902675 727760895 186957236 906039307 999999713 17242389 477452581 610340572 4212386 699328796 341354119 945768152 765133112 46570868 952128736 397537671 393432833 306113626 169454015 816807449 242241476 602349556 66592082 267655697 383671463 357618301 664681785 333549212 334228076 533519262 131218873 294020706 866003716 723578742 218465947 672294168 111250202 292327125 376184736 899562007 73911358 403720468 387638482 33263999 43121907 582772526 306657296 807415139 205937940 231137819 296407288 891394170 404588795 143062811 497392543 755090717 196869770 350614746 596956973 728483636 504021353 149426099 256310708 394588070 269950942 638558005 907235671 668922600 858860540 296718214 532772072 269032945 276191607 487764938 365576421 437014007 333881183 722398228 349557915 909077798 197290945 200612277 704054256 108604850 413810529 684696302 513886433 633537127 228633035 515932331 523926270 120322094 434867449 630903439 949535388 71570713 836292182 228817125 791217414 666124686 31817685 430907121 426018997 538784109 598056059 640550661 679714775 873078447 579980263 814194424 116599877 290724111 417027371 147836152 713266871 386860392 435300555 146697227 982617334 187050537 356233583 207694805 425246488 88184231 197763906 990236755 814379239 180737021 85634309 440528021 478881593 930940097 249434117 276074769 512675792 530660792 187483139 115686019 39650452 682351323 255012417 259978349 436262974 144577596 264932435 364701849 229351303 627317644 924982045 276808780 876503168 860903299 634710046 506388887 657096705 482724509 285228086 895581252 358628507 567344581 568663598 953059232 314034360 293865932 154728554 353778690 688361061 686992530 120951115 448428494 971370366 191859631 149893917 614055957 713641220 287732803 240563205 989654256 192791818 142452841 684783698 72554102 652588725 440912515 465170809 624967634 159554722 524078074 536826126 198463611 611444473 702675298 243750284 890275586 877008422 695018517 907686462 980802110 927587902 508809614 924115032 663897303 827887175 574734780 749319048 514228231 872405511 465672501 962364096 297840993 122050258 350396130 427544490 971650176 315005366 57609606 277215501 342335498 924476565 501361087 590226928 234251841 932547208 235395016 517332525 797033981 18678200 57671574 652307956 638756828 415224303 170777256 33364005 569037776 474553638 972765120 647214642 701170522 215338882 517278421 740679511 997605044 65868186 8943421 801268134 81968763 76178707 57211916 157082011 346211188 129060370 213507972 532606661 192184728 827463883 225775537 529457867 768249671 465267080 650444452 342705112 618524848 990048125 148328812 614322221 247470980 156432272 522866862 816152876 483214831 824329289 88284263 262019891 664326242 460190477 566388858 919350529 699760024 329495241 867311351 178310146 115946971 45541215 775452118 154133306 859244325 688941647 324695266 233486955 859289636 500330871 710482087 338925842 510125388 322335233 72653400 546123115 19059740 483861998 393212629 705595714 968920763 358682992 627815406 180411935 894448748 199186358 546597000 397264762 17453978 555733585 627935771 912121966 595001478 112439630 725534483 951986236 99781017 774792872 232320466 209950672 379203372 831055405 130659723 840082922 45659576 362413855 45356175 971980614 996464539 703183323 364206919 506042376 297462322 873942155 362871007 188993944 758201428 59473768 342841459 474697356 556425143 678763156 636004221 407711029 242166658 164338228 316774941 375460960 938105034 931307936 379564089 897481549 534842964 370724941 112386694 94225831 901892115 730212040 640440698 111635814 145435462 858747313 121666256 751217565 655315232 514524890 515270005 964846571 331875998 737093248 641971601 903461541 55649999 152639486 190294196 535439320 860568490 901490494 206556692 759548944 624042442 536977314 585540254 359804558 801664229 52780823 385923875 283078554 413309793 900646898 209246094 159599729 978458266 343096440 447152422 647606318 345409986 475946753 707416358 60542236 541985070 434230893 63956053 976980340 382760073 272660958 150656831 395737976 968993478 406388987 865803457 661969390 556189928 126651108 449773184 918812435 601913156 732705801 431640188 660519095 748048924 528354609 238344993 707603076 216407293 239536672 801375489 752687605 842240244 96143827 128740929 742479639 80336460 69675540 909136253 138669807 908917023 936828526 569475433 16602789 264968445 192095505 449304802 48385785 79484659 449185920 873871566 392033682 549616070 59209150 20503246 904860233 725866418 263001880 103485162 318953822 755819041 790038582 964438334 498916008 555918932 744912203 41718367 470373852 754419156 743841511 618490082 715943154 267992560 695794126 406659332 434064950 376754116 149405707 625473391 568683475 483028577 895436587 663947536 80952028 948676351 37542674 362846988 49822637 868569527 203642154 547169479 393619411 48768778 818206111 854277151 618597715 341231767 809617301 133006031 309241702 812935518 468686436 532239832 458719502 562955345 273586054 158674755 765812500 356394579 628778207 846174468 550065595 973652300 781506070 197496231 146304848 201512615 847696882 617143642 362725011 937470806 574575818 143606692 130246172 551715160 319968851 117452267 631868366 273134742 694048090 972109723 87015578 861688772 857142596 886829662 895857199 120390159 601638281 409174306 840850655 137924491 579751566 146946269 149817917 45946353 555390995 79161302 821666802 33995740 671671348 30125092 574497867 102052338 81488306 88188268 267161156 467043993 728245495 654840741 908131557 911338424 203639758 494740570 836264438 958593707 35073318 426103978 335332763 86704433 339986968 825954111 112583069 271697824 773658748 148612842 47145711 795897098 188705999 473883447 224217330 878150416 684641912 112578338 732868686 452503819 921370004 301320785 703249384 480159188 962183853 956854548 651462868 612752280 954648024 372535385 762635577 158228384 255387421 998480327 188347022 218155874 300208355 307252342 418715879 544275769 271603734 117946862 109095918 54182462 557642660 285761697 114409876 426651515 711588148 667209480 41406328 405629075 627317547 833454484 724382674 840689580 435167665 788178940 406387957 479320928 130242454 935213976 493645092 417135690 458081842 485172042 429332719 82504634 528194448 454137745 739270917 164503086 935260716 639178881 566752443 644994349 333788278 822281551 766180174 375036819 948189694 997777782 14488527 888124497 484629067 325982019 859843570 844166270 771045708 985521071 423756011 419959941 926012683 211489741 871482994 898621120 860347270 829957709 300252814 942485164 855268658 212579729 574307844 296909080 445018554 229418876 579747767 177646680 69335854 401748543 166326030 874383139 507983920 609050613 559903965 536587649 537748612 172155916 935391143 77652756 842359037 588199260 308269344 398555340 158633991 32173302 853666065 6376115 645917195 59468814 168974370 950163000 41367517 540347709 910025103 766917984 265312071 260176426 180039801 694565590 339754128 84273374 141195460 646872825 54440054 907601048 701264801 274336752 520810908 254477531 339124223 183432709 335213796 486162916 874338423 40487872 306808749 685706521 191770853 93567579 360509423 422279438 119624240 199063556 45195429 780019208 41572390 45422184 977156796 243230957 522284108 9702474 349409618 580389023 928387332 975321328 41548690 309903758 396389799 773383434 426203467 893840904 645406687 785601324 626366610 699932137 566509165 920492619 658940240 49481166 199551517 114659866 696311609 36924495 999334005 436676315 975314026 564457792 40939318 653327581 77207767 819888507 255670604 141048672 693383463 117544013 487777433 914594437 569606532 813291354 711799479 517112996 168566075 160793670 211609787 548810069 53901359 949883626 988765943 255188898 495271501 848725018 134226528 577514785 666121194 814286507 723050217 125005019 483827944 199982485 796214618 914851135 964024612 281835149 7083683 231756102 871524296 913539735 92780469 45395022 500760169 936557483 954994805 741752675 636378759 425646501 427184380 354928800 414829138 909615948 854918187 489158936 947137858 960258363 66553645 923274796 506630462 481024462 227465896 318070017 892222689 468281590 947478455 965018150 989373988 420254204 775224981 684396131 499577844 91360655 573435658 106316336 188522719 340204108 400560527 955754456 615986281 59351134 127097676 199713815 42679819 244038452 25019265 312233173 235318300 461754444 450181113 259895258 629182121 831656052 683642326 832850302 610066123 512684605 923090687 220375362 424267485 388522968 135747060 710026418 61698363 319115917 503823833 970374614 871171933 967765541 448202351 9350609 786796315 9955363 972311156 818605371 53275586 865067136 228746497 28904827 168910423 886653056 205798320 754998999 622127336 72739948 602512206 5615169 78670797 811594443 628009837 863311825 390219106 537514681 93435622 75985501 782585710 680664732 900369576 912724286 94386500 982872451 888838793 623969095 897230764 921402326 319050152 40562486 465847259 560555280 939023532 470816461 346710081 670565133 712656239 924894972 123211947 579000271 649615109 484759956 231082297 951562316 987650659 891965432 202708572 328130055 58028712 776236881 143186345 180378649 943986355 245469767 794370976 517218541 976779839 121486883 231461026 81090382 864438060 847107708 839268170 544633404 618598928 751319237 348257582 703215520 288374142 275962083 397392954 279480772 199604181 731108113 679279844 650838004 648318305 607471903 122148222 399410164 547388594 972817846 440014203 270701493 19786788 438316618 30310703 718704661 549805611 600392956 14017837 523357914 98392834 435939753 857052685 102173730 458934751 54656830 404873247 369032473 370935744 44871130 900368039 24319714 65670475 498282749 268010156 183593110 587501741 667945643 627597006 791750645 184402598 400310928 528279684 335760523 533906959 834838718 414276774 485740514 219291332 792319704 289337482 504353894 291141224 803733539 97476675 73676421 635642888 801881790 672343948 756008169 358818534 391102562 874813419 574353604 142252415 84051897 323396596 979461490 900326566 460874957 739906393 479521361 520656165 342402512 707484171 543636070 693703890 807090869 28309091 507445398 495914121 483158019 616544423 84122030 269517906 220435054 189326311 177854226 970175475 23731582 754584337 177299052 570575766 66962415 475876973 837371606 495748478 25691760 372231710 131383673 240050202 254585472 999444887 703470124 325104526 558719946 570675021 356565676 58750582 492273152 863415045 619382430 431225409 931862864 592736153 275368390 328349929 422808540 815432736 497875716 752906755 40740968 847885609 199722304 95252488 917243562 460201074 247064379 41597693 646557741 292563799 226069962 878326837 182436459 571813435 11844243 759772678 915337728 181990067 575808095 344972656 184322357 53375064 858116152 883066996 56842136 2328341 80986452 77610317 188497944 795912989 751651028 387095891 407323211 292484211 543861561 789909956 997401783 378034594 7806409 669865498 240488806 121258204 2261755 587083616 516128317 820744633 246989026 71010246 302903181 555027228 619592113 277536981 497518787 489586020 757221554 489245454 142055375 272540390 214174061 202486351 669078962 543215212 695232647 589510752 420610667 330890911 138366205 977102440 74043842 880475616 568905214 350109971 216399759 478711940 846174433 76789456 826617583 201056253 859715227 780612430 511061554 994822298 724101039 248745428 80961140 946006152 873058170 155374813 412664883 391330411 79585205 305105147 57613419 246111678 258630981 931190431 470730041 119432597 672567947 886860652 640331950 656516607 183631219 180052463 43228645 127479437 813768183 378967266 824437258 80512533 681171721 863672452 51608507 486032204 458293359 955451361 593148954 607150042 865257093 980827729 420585924 864238072 301559464 462996236 242201773 94597995 583424711 639080888 112619733 544522939 787475173 175404084 228144217 578459346 675074537 116573786 986645924 920343739 976341971 736430563 29351724 753239205 894503002 811938044 806757503 997422972 278257573 209995550 936178758 320569474 5634363 933761981 224775819 217719253 222529670 389214988 309694330 452809643 403555579 32493387 712691215 141022072 883184288 690913571 739228771 288153542 16095057 160136125 663958192 941743508 589487674 748450098 291087304 155559437 591752500 332925372 842118576 99230150 730373706 615350927 715956692 544695259 198915801 405044912 806913809 692232062 256937011 211087512 554536676 294908630 573969981 636812080 21609535 268975306 412342819 567796087 98327339 451878459 117574012 999300797 825164682 116379443 760409963 264954123 917451611 451557389 9216024 197793480 230382340 832585930 89548058 197614000 959666895 929612785 134960555 129992777 564931546 933194939 817669346 503335089 802666063 180290431 767405777 279790225 318031656 166438234 263753289 404976126 312728921 989367375 631531817 397651193 85614208 968153676 988675159 594524784 883813314 130944410 690568779 415048072 635297675 77758933 659573300 616848135 483246985 193952204 99200886 282506750 519219390 524650471 675030001 639358498 883196915 128220438 439230047 515996389 435369867 857316453 164354675 734388923 943582784 45776065 77042657 111085407 148404001 252193876 424106075 224915506 79471095 371216368 20250483 293048161 301930404 239156890 567410544 826190153 78909465 612197310 258190149 212307098 472906639 117989989 82947700 458334075 202602699 757458988 504838052 468729188 870614161 35392675 703976724 322428146 111395087 476701078 206451059 722539684 287234239 622414611 330351922 678756747 919792282 144814247 688768021 605232242 982864478 401682138 495308497 210552833 971287501 488440794 834045356 270615756 694501877 173260006 667219880 782802323 302621563 445947061 738338791 778965852 840934681 157814100 349828726 337488635 145652124 568553066 243013470 940237810 311169071 278890656 809833260 741224453 211924328 787977359 785474090 884062722 432528632 372188505 829591606 61263309 309287149 299857301 233551253 214105037 741432566 82199783 966874604 694700590 201672419 9405554 884588151 190724341 214747419 990686827 265726187 208325013 971271837 381966890 367721281 682898520 822068471 732886889 554023211 412594003 49081843 467251148 390709255 51190584 856726764 727990297 569514343 281195605 581307184 982414149 636644211 801684707 68746731 227225785 170046053 852853982 423771582 816568726 617105763 637657912 824137709 296458735 749195073 559103895 691958369 800888151 314639281 161139860 120788365 519754214 498421667 518515784 152607142 376504218 517371755 27312219 205514758 221090646 418279529 343772055 109916245 24036863 291575648 770788555 755972562 339880504 652068574 922583665 55725126 928612871 503009056 892994060 792698671 250623485 593169003 289121416 192732927 486480236 910907961 683087472 741837363 988228514 34435696 831502776 164330072 555803654 406766496 399638497 804918966 690883567 926229132 908419588 510294394 998930377 480582481 488878478 232932209 243264195 64815919 253619440 448962128 712877962 543311160 188852734 556935909 95435402 776073928 872749672 111961608 42488099 543812005 782253 296891641 459115955 853742363 933579272 40570457 138832770 402233192 675133488 14608715 14303979 303746895 746629077 156292142 237702107 699066072 535328186 190812501 426307085 232333925 206090006 722558483 380520873 820411242 850296849 762975937 623939589 951193520 870429875 190135873 704995341 24240442 763877292 22804259 190633247 645133573 899746119 546200925 236412749 306680202 57455358 323791866 222045717 562908075 10903328 381613192 93622921 541507756 475853837 267669873 346030150 178891200 380086518 492754151 310631397 35050302 167020199 356018363 500184918 41784799 654017517 846232858 7017940 233827308 108743208 516604493 770014382 325539594 468368011 172632565 135349634 614791989 769395392 395252141 335281132 707766378 443001815 376553863 346934327 862812437 720119100 498114043 674483441 482006078 776410341 926734405 144884447 200419457 263112254 488839296 73232006 68233721 266529753 393698786 194374945 229702288 733443600 741541357 365138256 121856808 908647031 216919688 845859402 41130795 491076017 129294092 248518359 623189644 588526722 21430793 993766035 495792278 71865668 387800870 576394090 122483228 811044745 877875430 75648125 481333093 944028512 763879961 14740890 136870713 401578121 636676399 185397134 276044845 220845081 127758636 265758498 428653674 316165242 705012122 402191150 890650871 164364503 261075071 318473562 423405994 692447928 644040374 191501483 477692747 906100958 580723674 617980183 172519629 485528995 54744396 609746395 9143943 268237087 886705292 417685108 233596677 84241429 59841738 644095372 168817670 966873167 873052282 230827453 273992196 922943571 725701722 723273566 8256878 395838403 931092346 944966275 91503521 885436446 252825984 177159609 415834958 324104037 428807139 201888347 920952841 712325070 10598742 299360470 857825110 831328476 584626638 896002846 763298004 37681074 192212249 707735587 721243180 824223865 30174631 461922753 771555195 191028588 331396226 234363861 357968972 52637351 205923994 703205227 337896391 614103229 550141268 156130729 225645432 152828497 831000653 628146554 86025582 4887940 9627311 162964112 35259921 24686116 424088621 871169385 434100179 700364087 706334472 915940468 327204522 317529616 982966300 238289360 326958539 162379620 307160222 110571363 612995461 502311865 30550361 218020141 220890437 831858506 152121536 882030943 385556726 646548500 709481651 456710474 597004074 756363453 147943540 494495442 965396322 330039088 127394676 38588716 821035096 330217034 383089431 113660686 260270231 772861437 280767959 153498011 481257105 642478352 927797021 559673749 398239487 339767165 78694736 245329339 38861532 384242204 192301103 486927049 913494252 165229797 964936464 83484167 451876268 546171928 52436063 144648480 38492963 911368816 763275319 136153593 661239962 158420432 242730572 77258807 715712910 788159498 371883904 891179102 691904146 665360448 348972679 727072607 17949782 256479607 100234960 370315643 512673927 911703850 800329208 703337691 786418747 657959758 393659677 372236807 935670322 157137325 982081327 385128751 475740065 812265378 521991186 398881842 393771505 222961403 574881416 527212485 655518127 351754584 663382203 608445616 561563781 829165862 94172334 266330680 925679173 262326519 733558057 390878872 996113581 122062771 568152796 541064906 186102107 769098468 933631174 22189908 136070428 995239701 113423912 627773640 424940359 758427964 232835992 843089988 902136658 569357139 531634085 694063006 97981408 115461156 764540659 442778457 767763090 117432526 268964685 985842468 360437288 970362190 179939008 54409548 949116457 526313372 104188293 299159340 162277156 34671870 751523583 336398405 179563487 521015128 682940842 108547579 203799002 491669012 732153980 943454430 731258057 892163161 182185869 157172681 814196163 717414318 266283011 765132650 560237780 845125572 116974278 546515934 781525123 411072651 989736246 880100406 724769259 538590541 946116271 236310402 254669618 710890709 750997685 731881100 816073597 176319046 233868481 628411587 826588818 920606608 409205605 124236190 505801444 336627364 873076241 393639950 835611091 606099514 314666215 165849306 675858516 234344459 496904613 17217320 455792625 264570648 893561389 713964211 627264550 227363827 54429819 807211831 350560089 183189911 643630862 246277484 187862689 319367852 508981994 259432279 567186726 999419409 892967117 788481631 53883640 272015044 725570059 195839816 687748453 192169446 115945 867842118 392147198 96876460 729645218 733728283 838515858 476148764 921767310 783022763 2031636 786438906 573617446 108259128 181806518 813400412 541046393 31549779 520515793 102494686 582443863 930478931 906977091 973019560 419074556 619478071 270748319 738342960 145007194 970575483 889751696 427180747 872316164 768211183 238873322 354017553 669920239 968172189 124367428 219233145 317196093 813873987 724091821 86314822 337437646 227369542 694425348 748077016 905783951 748891665 77027838 261099822 768310907 261604958 796811203 691102652 685279135 973822592 965866718 691005249 890023868 209419939 110939130 692207969 759552546 617912019 523100473 609707744 165327232 473441472 111103918 428617531 770808450 298852954 476539464 451858865 148599026 131802475 258996280 862665081 631853791 530989966 655899030 901961514 447987148 388575128 116177990 861325841 274731717 611233116 316939765 862725386 146271377 988450265 698487365 288305340 928393888 277267751 964048837 823907134 971020737 348140057 571157771 829874011 248475124 726931275 435367230 635443148 512052400 757689251 815877491 995627000 562330680 273975825 832188024 521661393 380664303 634595303 96597582 707400886 73565311 480207655 56270075 236406145 706025433 944328563 20870776 16950582 339663416 454448197 968023107 2870728 44699203 58553721 562080402 152300441 731568158 967955361 407503564 207435191 462894435 605227925 984806068 937320226 728246664 807101736 672827473 630633150 781287711 136025557 636012661 603118578 671298891 231781648 916150889 695147388 713645869 811260615 144317399 864366949 645956805 251542193 618643087 715391912 990821034 967258627 941275683 564070010 224810931 862713432 410157845 514154449 880241558 361229073 343538104 254526239 106675027 868856701 360586845 746446870 300135536 8827399 887187815 201418501 572575446 408980260 473930135 595506370 681222243 25524616 701537427 791393093 397150386 139759251 348807803 33111567 903418875 125586263 245800052 883570298 406819556 273956179 185679286 742985196 676768781 100635209 515302969 395524247 198697320 514332679 12303838 328845077 145240046 195742579 160324703 859286693 613712590 219111770 396654700 431382135 95147490 560079935 978277070 876981465 919663764 224103894 713975253 356783353 921441879 954167055 842056168 232160158 202430526 807824900 133187257 447185433 730739592 248578624 450681604 262215659 790009795 883568771 611904129 696661379 578400777 538887748 193781216 267137252 15637921 866021475 560937548 554359556 199565180 527907044 632298996 839474392 524047163 423904544 231850962 71404858 636005495 640045601 816122275 405995267 686966641 135534844 220544209 980201183 683178677 587066967 113219689 237544318 679087914 743544233 845534313 561820309 717675031 372916225 11147266 274111831 953586205 309475880 421105090 326774545 619755263 703014478 198366513 311232271 300140757 31601356 942027851 55418308 634961676 416509127 286568737 272157197 155610215 211211790 758223233 287825971 754993121 230595682 846798709 793609914 175766317 163329027 355892579 877989351 118017618 558070868 697329810 368125370 190892520 283909120 379669607 167458358 551001613 148820785 928783992 289745029 779915594 350285879 508582161 733824930 669372097 998455891 307120059 108638899 764648269 220412684 174087825 268306922 869809018 456538288 435047803 339832354 387397687 135415819 436342435 402249037 386768041 415439407 608005553 457536114 161734705 449934761 761131765 551578756 236018127 68892305 704683929 151714687 688795711 112686487 45261676 633622172 212988662 72823263 504218833 9827690 964003443 180468520 224744131 527948280 721048315 255758392 53173063 586756695 781135979 920143796 707254176 176070718 275008558 740127804 754246194 136594234 538407941 265772143 970883670 926400656 1071902 43349964 934506676 149709181 985165092 443009175 99029175 244254611 442707354 278208678 34886819 452797939 871252603 7348742 509681307 250968170 782973807 740374022 120881866 320728147 663929901 697762842 449991898 337376564 175605360 329980266 596550856 2918565 808695208 44830829 870799763 4653843 982446643 883133621 590761641 619798800 977923693 384453995 265800404 735943408 253638450 652308168 310815753 712954421 27588869 221931672 639255805 763290204 19879355 836114612 828808271 875825406 17777874 748318753 208016891 794452755 141255830 433810920 506723968 817746085 133098407 552701231 883568749 344332430 945436542 62797045 80269883 738304491 393407560 563086116 771594574 23562369 106122027 412641092 971138325 163897823 151432654 469510458 203966191 458092176 315226241 850114813 634982171 856048146 879747283 647837414 283184462 136820036 446566425 585587851 535543830 520371226 192795594 456830915 498029610 374584843 429914923 983265265 462232680 517721183 104827292 768284597 77623731 391607198 839869254 151164623 451072003 225676027 762133480 861998723 680662400 370205399 854351700 878795039 802305706 427277717 879411737 996749651 665148164 973243363 6896329 45638180 577215320 309160849 239344254 130691448 106663264 559719361 992498272 812753381 914700680 693943875 12503448 550917631 452105147 543770253 223874798 21793354 971693610 144124396 20106384 72084264 660822193 862141467 711274699 763261491 438177694 959429603 109270660 325581643 268650870 100979651 241640686 282692646 51656212 762260686 989723210 637479626 261972482 602825081 824997714 910768644 64764470 70882334 661525997 186576849 177471733 578355390 608712230 821522701 624519339 617975906 723247944 50610687 316873717 292541832 562578638 124551449 258103427 111105336 201453214 830107130 969241930 951639667 373444718 330398494 693385274 756048694 579277095 442021272 96240270 354668846 429731393 343558214 832353466 264614330 22584929 288119778 963736614 259994396 446689253 118767329 224363210 973773452 110959635 852021291 323082834 864956103 10407348 985124363 714651251 361228400 562014634 277534163 670490875 187271045 392665099 168027254 875091752 291664370 105222276 587786042 812360695 762274662 590477508 135135994 559540344 773312656 36267293 28529265 869756247 119185817 921352032 458607474 583250385 292725977 923583311 140099440 12460765 284038198 215054735 111327576 730659967 648663805 737720108 433406986 703080139 717151577 927278066 327122109 891492183 857008713 727657657 513789522 938311981 86116958 595727187 455961812 797195378 207058793 833697477 418979341 935446815 472680379 279348946 49430386 223146393 291140015 243030024 68843671 509042328 262776667 269181457 330472910 780309215 625657437 700222012 156555431 81522572 977784490 5104991 253719653 223212675 857643196 957511132 772403361 490864439 500762044 391411933 877138950 200624001 316687604 978105449 967783061 219080371 69897504 427576016 391963399 278391099 912610113 452211591 290599142 37977492 288650307 853198225 509993194 577535133 940543883 68858898 109157637 442821647 346012836 260869493 645667030 328365889 877484448 725647293 993862994 193911954 326724828 648490161 388971910 462533155 718883751 828797095 69715324 581591081 159555847 757858051 414246690 815674019 781640019 989606680 227696683 565940944 114608709 560506778 602515132 95159011 756905606 214079989 455679998 652186140 5795220 32414299 362351002 847463743 263835610 935804033 878952776 861222161 696199780 658612058 329800436 584092671 98487761 25838264 475355746 907805173 413974909 905450529 872876373 205424664 95610029 788197695 20624725 585805009 952991414 570624781 455544729 120965290 832775683 123302965 288903478 162187437 486922116 302575212 864578536 319923237 173767646 100188913 145668239 690555867 781391979 228781966 92718278 217876645 50376276 943470138 344858895 951341207 878857565 251739216 47880854 311174359 453049335 775702470 353970198 268699311 994761854 551970080 843690046 176162208 993482160 917291419 58192585 655229498 574243352 188119783 718512798 315500220 267600911 888973785 798115145 114329333 904123977 970032337 692143023 653965711 277466966 299729710 279868623 85819093 499060192 623399088 615652230 447376265 692620542 760231031 321385580 947833087 365008780 989734927 216544117 927490316 32084983 981420127 373783598 840044770 69031453 573461596 847970763 719384002 187558972 8538008 804530904 198759166 505592973 30228848 26756735 623802001 529193081 901638624 779783996 857919948 245286950 490978974 544585713 428782947 775931899 915550544 529190156 167587530 679656373 236814945 874582805 776866356 308352393 860014096 50370077 874061414 337348135 617747587 148301085 59884430 231412252 101178038 840650566 711104325 925733762 975658879 458149829 451988090 872826653 329088657 40972284 600198166 31483701 599026709 761643044 331030762 823114994 888618569 355569089 843282366 321535929 352219594 454257577 110405650 427855414 214396359 196625956 104616920 148822155 324987615 593357066 594038980 145814680 242875854 142477734 157662592 358854902 145547451 480521785 992698620 503836412 27621609 836902907 113997958 812039984 571132841 410604034 6067635 890101503 914603536 481525535 10421014 22796522 648958817 931689609 559328474 344503706 126352362 533291233 404608029 446343080 596813230 168814510 477923512 253452019 74208971 95931522 515767955 234268719 306842036 264819901 675748449 116830102 60716595 13220928 876402682 193413325 127246436 211333655 41471867 259149273 862118372 45386914 498726673 286008785 254071939 283763622 611039348 216295331 56610495 477379978 210433751 955705097 533470842 985757451 828300383 932864935 111176835 987606797 715871910 146821077 608475857 677950137 313949280 690246138 602561027 104249105 615244878 759242960 902906476 335967353 526431187 422541614 239184016 625712687 833136071 392247783 455125904 774733787 782921931 180047494 141034081 453073578 390677725 405346599 236522656 122892282 124410245 407217860 59674995 799230240 949107486 889906381 854025319 755724289 88842508 24024548 12012476 62832894 44984896 890597651 910629216 233108092 515979821 130181747 204087829 567893463 876679982 549321951 918329178 171532862 947992909 336836147 51276158 669200237 46243135 16141689 43483406 656614226 478667405 810253059 253248036 211671305 677415054 151040772 502908974 766292704 236677508 765385666 103597589 309110715 30620545 340478736 149573571 569021199 221305239 158762903 197041538 509216853 388256590 543336948 689006110 462069805 64546429 300871397 171857900 43602144 746641324 490917605 471521730 798418602 988852054 180937818 224367486 198570447 854228558 317529987 250297284 728945141 757384086 44082996 213095151 936745557 191437051 101306984 12863503 519697275 771621835 394611972 156711190 12956744 739913421 747661322 992740318 295066629 102826564 305500034 672395144 584708857 986221481 694072954 871874028 632868871 561034184 274693776 301322798 878876709 784917029 140552471 219640216 294638793 290373146 457407991 746550000 955698188 901916913 435159595 648644386 525066362 827131082 168717691 172188374 490229322 147515306 207753351 188858929 837647085 245137019 217164793 483229746 550077896 709159120 150380771 535280677 289448562 628120772 657983719 831332023 721007885 970533758 92634727 118412150 714340964 446342731 616778710 824607025 831705648 284891064 600989631 653004125 369759293 170286766 978320126 436287298 183328738 721421848 696106810 510373028 280648076 105325179 273051956 798199165 430627502 365302593 513209943 203509728 602723498 867882113 918316615 667347870 676726544 983713365 910695743 881750704 211758751 771485318 923787879 513656186 481025011 838913363 38755773 857394202 187182119 663772040 571377058 701931857 217587602 405095601 858333523 285709147 107923702 881737805 199901275 466269940 191387396 704924719 438530543 629705458 326246449 746360329 291772475 216717153 79531863 955897153 315895278 51373127 102845966 811493849 143331981 336750105 13056991 127616583 446712797 121002046 696265349 556594715 530135233 725567334 671874857 62617696 271553259 264187945 545469943 536166797 805695491 418425430 877451215 202929421 624264532 563714614 144166461 860998595 443340276 819961861 751026385 458238151 817718450 377326586 100537889 368455580 283043839 647430847 154440244 963016561 986812837 626607905 377689188 284866011 418571761 738398818 953071227 942922202 458794990 43821028 217525794 941573577 222575108 982044715 310347932 123110292 644354839 292434495 23389784 194717779 38377044 441949618 790499489 515840079 140902523 337932831 201407966 747105123 72198757 572639381 625011745 344351082 852793286 96996563 210990217 429603970 252089288 329186863 637378168 210963935 843048744 79009321 90522761 215661837 48170127 231523410 516750552 857094161 744673053 469874176 860720707 737406961 696970521 26690999 913484055 699871284 485862610 352173509 478417502 240242981 628788649 164211322 718609331 770791510 384759039 84109364 335608699 956438925 514785786 989072861 509401126 784620886 98908853 437618824 143427879 497048794 407076561 272003573 446705849 993576892 351416651 431391878 135437733 417964926 284180218 568454336 277920996 572914234 400821168 992412886 139244160 79819612 400527827 134971205 871735005 504481855 424010956 972437511 301279805 792028197 24197198 211768116 976326673 266162238 79969583 78038598 605727209 272421880 508377660 1950775 700009149 802476667 909287714 847978927 826397831 269625876 828529139 470968075 789912162 13355589 867529497 172113532 85542943 101960836 473904317 444348023 654192245 284055030 899919796 247876343 587845634 118533747 747090370 172365201 200958547 287191739 183621819 568462848 188759966 491747372 117291128 306127970 527282044 415384663 299421941 164889319 273299863 704235826 712856413 322677971 186634750 767633366 118098994 96651258 988317650 54590067 864110090 256703809 886150365 372989824 440842587 655103089 56436070 241813199 634503599 73263555 127662124 917595336 758481124 464162952 10963336 479003463 465590571 959958905 861277088 825893526 22909841 404526784 600262533 663907347 612004802 545722005 285057454 298809684 242789217 659749408 867961599 134816504 807701830 296588271 182743937 839686713 838228080 162082730 68969067 947147572 665133243 331199521 543220690 510410658 571052182 83614755 373702545 20932950 294146297 324261395 78805502 551435047 494271860 981331913 283026902 312533613 796952485 20751986 288415083 623504885 902962157 250529078 704967220 157347454 330168712 269793804 100476702 835513092 286291712 781054607 97601646 733776582 153993002 780364940 630272478 47338509 684304399 469153193 777590578 104338683 777164096 718721779 742458496 138693311 291966830 256192423 420204621 307106864 882981777 368538334 965022702 491279046 503097272 582982430 648635649 173650314 36906137 693124782 874443216 734662132 885021141 762986004 206821327 119121283 28708337 184233580 385659366 848310414 660037542 366814759 473548016 24791363 814079770 495201969 559080038 152083049 177816332 658867650 234436654 366963032 490773486 291430414 972460032 431725938 356632215 705470454 491644657 567093118 686977393 379766728 338020324 404768961 906809516 195051918 416259392 828440968 668267028 840437417 989365031 38802532 592581086 581971177 959654862 205467325 353435281 691536301 329541497 318205728 938774409 506005868 300723105 910693322 264187847 798204979 224224184 881983228 204399496 36707626 889300288 490966276 885830280 505082350 995055164 908523192 209702598 282753727 407174969 196306088 168584070 70677148 721130701 606503776 704421049 905064207 542150310 839493426 417134494 739918070 566093781 265188100 330150700 122726679 607774093 428615628 79622146 268664130 991439716 216811181 103463381 551289869 119690896 517315576 536648218 196322819 343041309 291536662 617648318 892466925 296723129 893629943 763848444 518679540 256385465 223688153 610156442 787227935 348728265 24900084 231342733 453058525 817987828 282751408 864835025 891794213 243830320 119305577 967170823 556627320 100999872 64140311 592759033 991887217 226388497 505912298 189080030 220607614 345502239 284423032 488315854 226496518 130340063 97689201 601309608 276410784 340931062 850438755 260883559 645131163 906699624 254909646 799476302 814872060 514680022 833782760 705221419 129888790 54878923 140619288 436580243 133328242 883555815 54934597 421821619 673517899 855900158 529499371 390614096 162806092 982579216 936503107 844653628 745098861 676975155 494460772 342166292 645303391 548329837 104284362 895836537 142303075 422441326 141213680 627151369 782495995 778105964 111788151 603279614 914007361 668328162 829681417 223512413 482677918 629666135 414934203 384597485 651156301 8273351 433420021 162251085 426595379 562620968 57316063 351033229 150775508 471469819 293247574 894010846 342714234 865361866 239419048 296865678 910353399 174520485 555369000 984869542 845392885 613487237 82333898 597468066 625380511 954651357 18601133 623223608 484933506 866344558 526190125 966821373 956616469 66617628 279226305 740238839 527222852 30199697 449507097 553887262 99317146 268841951 11310565 894325400 710524631 73893604 680779115 16048404 62122151 177588644 34049537 570038924 253649117 321337757 985500248 947526019 562226494 941811463 906604371 702992113 471007983 638417861 532347093 500012299 147952798 605011779 239704262 565993827 860492632 983150110 750503410 43546426 253673422 207248989 760397832 434003101 489070672 971898905 70694038 717598640 495649741 917770103 298458784 627715921 323053159 814187717 103595891 263501944 23010270 393352724 182445690 434157119 829602732 796441675 775804116 933716525 938485508 60926665 641878587 706080429 427944354 678906241 929340409 515287446 31726037 246835961 631751045 666570563 729655773 184716418 514548351 48194133 947045764 173999379 955255720 49304196 457889053 279122486 337116033 436025028 70096073 621699804 136364177 208116799 198903687 561430014 715606705 301033181 622408792 66711660 158203317 740315078 564368680 252266550 872343363 26117693 235987369 711756071 441695523 690220189 864348351 128034412 770620402 967029104 610500708 202345551 67395393 84063005 94601245 538697607 832717 371929171 236239196 188863213 310977070 225714998 547654058 839423286 90580346 267615378 429894328 239372664 865369610 842278978 220724443 35377168 733222598 896934767 154439214 960829807 198667611 399218520 137672282 976504811 131380605 537792987 397781713 269183918 660309564 398149979 315360083 983038629 686702362 171252126 227637776 412090844 700862001 316440092 465026972 197321911 205498084 739351718 856022470 615772736 479586330 858836524 533588373 701734951 393150482 367271320 144142388 407312277 659584890 354160588 958068386 625286759 469170290 278158077 18002732 37316470 367259926 968746989 566093871 381749337 958031378 855101898 14080403 846787581 731589021 245979921 146769986 437122545 1384266 953653003 630531893 213477713 76191104 576981363 430069505 935861720 387352068 481989921 174314062 413511075 491351329 435794586 207147054 691176632 631231655 512711220 334200535 345390884 612256914 789802560 187640703 372446868 693612382 901476274 148402589 106369630 660803990 254146528 30911190 366294410 121501762 698076949 855751312 527449091 186483262 998947980 226509033 823926325 398866721 143888501 869519288 751502055 426073204 88463301 539470224 147716580 83635882 889817294 276903726 166547255 102589870 215195245 337143150 965915685 242691009 826691587 405948988 297611338 696249771 813508987 734191983 599098606 370799004 937936375 742994819 943183083 397395561 228549909 117447741 620904261 192430963 898904014 809016264 753956836 992084828 722189335 132238795 942786948 809065385 122307140 278322887 29162851 687814103 41836975 275690394 249602995 793566850 994016813 144934278 544979660 315229339 984857887 261143577 917474248 771728278 561188569 958885725 936235732 454624707 989870685 90684464 854219873 205412591 92658524 201366070 955776322 474245070 23894316 454410070 527338553 586664853 518616615 485623137 738615579 627923753 811065479 326308159 880608041 188775669 352120733 877362204 72494732 285568854 108904001 107425146 689166526 79988766 841678124 912175713 653954898 610734229 649649565 200354820 210955289 41043037 910153129 872736926 132051438 476932381 889203781 214334202 301777175 387009620 348816377 146686612 803135503 83151976 878740998 819199352 94504998 683138442 429714488 59839583 973692868 982302498 663904851 842354907 636704323 739978835 753741942 984173492 271330488 151570163 769071058 458847112 102955645 222657911 32409358 277575536 578326587 699847951 953659344 219823244 802780093 968858577 897611979 217276122 212603678 742517364 42650597 771052327 963473917 196381082 650972817 173818135 106693593 112578688 625749047 769654955 153350260 756979377 47738376 775621902 934696242 56624276 512242284 175659398 493203211 495609707 746915190 471968327 814274014 636759376 123799561 212839812 442634386 218400255 269300037 740276568 697332213 595702718 655183661 355959102 420436528 308335781 543120076 378230736 306637801 246470453 127212980 91989957 359298724 519434739 673551195 324022838 354440471 600614288 143904250 706905859 41223937 989561809 512922945 748314892 588129955 346230847 686864422 410277669 569198875 644928491 305606442 266615253 152184176 663136473 187030556 95437089 105064104 998434003 890471340 62371116 200237611 160863477 55694458 4975539 679420969 389682966 935217249 324836341 181105726 539065459 987865206 685320957 66600052 317070575 47431590 139167452 547302476 35992293 656588037 356403382 357140901 926170778 769178420 911577528 714795304 841050825 914783975 417950741 36300238 11111912 477906153 121481637 416246476 114487813 294270538 135696511 764663742 336158363 857186591 157201960 20644544 677464032 723000337 648641215 3453114 223343146 802751325 385970911 616942078 365912710 510595702 368442339 974241994 443741564 293887644 763918839 452426549 810014089 519836045 983675279 712559700 296101386 179897348 598194148 537870235 200567614 674291077 478514243 175979819 486902703 469848177 123358103 263934474 892207551 492686068 156546052 775814805 312348287 401158723 838142033 574873717 584820736 162893930 951455766 475144744 246308499 627637489 89170829 950408171 254752063 16574400 203516470 279473192 256877646 399667518 565238779 689047963 93334442 585994734 894890953 143108343 968255183 212094806 647380334 728355279 849545050 513357980 793695099 771403218 489712162 578146599 46529927 572371986 108546453 485108325 762645785 727709302 371389529 721766609 793692311 32428931 773696575 344681543 117987690 933987165 6062767 498040012 674894683 689335486 351588266 588361228 541765869 650878995 309170070 45588020 207377433 892219277 780770249 465819936 712536795 399564466 670457682 588254705 6206137 248762648 708144526 393340245 706711934 684673343 910407732 328595296 873657073 588391241 686422790 361234504 157820322 573759503 446262985 933196640 519398982 908838860 163013398 326224554 632879139 743670558 858235809 81860630 761789056 342004368 911178407 339709359 497529412 891318120 804088847 816685575 659531108 756661515 388575653 83435918 270927935 601237927 304527624 471707645 582256462 876719602 353884123 304871586 263933948 756756417 834525204 156036224 189508107 424185532 765647009 203449916 300052321 298457542 157914983 398009021 677028788 340421437 170919368 419489536 977154879 710048112 679542033 27047044 989316861 833811949 193874722 421752948 137137852 299252087 625603406 615622105 170905042 646017849 538585090 101881282 860265907 123223881 373323384 73752808 275481134 133824632 680237013 806865826 926807122 89736444 865426294 276393784 398904163 195297854 860427444 861784411 863226483 274843803 587047443 712893251 488462185 268404515 449581474 906157814 774501827 735422183 154800556 480613366 248623219 568915448 923214828 242683499 22200620 451125356 67434005 811300705 381939295 157352689 622510135 200247104 981863998 809790250 759742110 932228082 889423313 841793254 854356340 608162766 388326049 968791012 9521281 974548393 263571079 820543814 774381213 986046976 103088270 972237140 132870968 536995097 788508653 94318449 366110408 591161745 487168968 1215430 508776746 976025040 609933565 324210999 629158829 433018278 818370860 83588354 922554784 781571418 493423021 799255958 855771196 19071137 66726063 185182456 426385629 678754631 817939306 845774922 328951620 191100586 107417497 68537227 199628014 493472671 564260628 583172439 7243916 38708258 81345316 651687257 809751641 42857198 899634981 720011774 65134351 91980506 273086650 271605826 15333770 919336761 568201521 502612927 233252024 773380224 441165045 392483800 234885721 316689277 62799984 651678908 959720501 852267446 244986563 210490057 858548399 179003406 851547649 654139087 804157354 119584065 386491203 285811957 173423555 146132153 179011193 61443988 208235998 944204191 77524530 704316910 943093345 357653242 118706061 570235670 91064979 380741969 442017643 172901772 820395658 400841036 541646776 247466751 829397943 283864145 800545600 849627866 15559595 83952640 726358610 268071577 32403141 399790556 757833968 977885935 32193416 290010819 683999752 629176118 659310336 352263859 173908469 883666994 465831190 792217651 894241386 353331304 255222512 605716368 603311519 431090932 957414148 73833376 799799507 727858934 867499150 139864836 918864761 528633203 446067306 365392296 28865205 528350678 70014268 535151790 777669575 70197443 977725697 831994524 120019875 728885521 525364259 423741435 936299935 131215551 842881003 226592547 951004569 767622647 693215417 952782598 218351526 553592135 151892404 972046743 610020356 200006693 707748138 494962239 21660486 324140721 164531914 916539997 497412272 806498983 525127683 219630315 215177658 8398188 158629247 956705583 780792024 79664441 169873405 979819118 56399627 514900573 219858443 132555393 4826633 446869592 552800742 218029521 652498558 197330046 342642963 960256477 460957471 194544760 11704480 147202993 952204400 170212014 17518710 150936265 76827526 901931948 784419791 278500523 333109240 116330289 841364082 577540962 182498886 51092503 176913751 20986844 641246645 850669757 196337973 632995068 669823468 4758560 179551193 451936013 639842147 488713184 223660116 121239735 370528648 775444043 987434802 15960839 663692820 357704562 56221391 149371042 681885774 101969264 13647200 343548720 258643988 357639061 788709219 477090848 709516348 793786847 450604509 667471898 95372259 700437583 466982031 94596657 238662952 798981894 234457154 353706908 139832025 924884642 111628670 694804014 105905165 276028094 591702684 363539953 783121189 802724368 385814395 375810837 600206013 292951548 479271566 428380793 967312630 3781896 903648735 627196460 599515687 2267895 874720330 857139706 3151551 371663467 505668653 355593488 777110566 58975536 260937958 71950488 157348791 547775893 100969417 646239435 633302042 916592821 395488712 485414972 257375595 41063902 295195161 725889843 65278413 548067291 985136844 181758789 51862099 404854493 835099530 38607494 149200024 449332148 221217271 479028537 598344259 482002662 280140868 469242430 216353069 151065953 449397044 142978627 357832061 440160235 179242346 197561096 995954189 932138519 945730542 53742032 140591521 678171407 22591369 821928780 161424052 571522284 786359529 333909226 753403977 619072027 950543239 265861231 437342573 748175659 987535821 236019443 127530704 410810242 696315800 335468457 206722987 912324177 505833364 519438903 455316997 180249890 35338232 471629461 233467274 76480503 265086323 362607474 745499603 364049344 824215037 194139428 389185812 476537652 797875379 1301615 75021096 788514495 437066023 80073960 862340603 260635183 5591114 575088825 652703952 44668552 722032060 867226955 288756610 23242513 626260385 33001642 900120520 615337755 659666462 995719335 494502729 692827014 157542616 746334665 967215991 750690456 519288096 132305537 723741611 333988575 243732830 604462139 910691224 65956948 889610575 150561194 391058679 939540376 593502423 110325502 271943905 120027070 773787168 148625140 376617921 399513755 638697842 399914506 406927906 364170696 292843235 229562803 741822169 664765391 453288347 127252545 663810688 25232042 753222678 562982391 263016762 924665505 59943527 929385563 238094598 887464782 501215826 506794964 277140403 62099783 193239905 85468528 312294284 387577713 145377855 970128103 22021373 537005159 973842066 590650508 47501458 38157904 950282673 733516490 759752366 564864484 465182049 42295779 807172749 362234076 564008848 775106722 852684465 439702429 572842234 359304988 861765631 232391489 544511518 561580596 108120312 250795591 313105094 378649251 763001090 460258564 162935093 204021674 782475815 287411982 822060215 766829647 922556446 269186450 425629544 232002003 144967787 876610535 415112218 310828183 102831726 588750903 360117294 317913475 651931249 844946662 284567304 124574648 675579385 361423191 378153770 365611265 114993985 78218852 850624403 303253845 231037813 200849780 671515083 724644683 178697504 546060934 471290310 665061977 407527548 523858327 966184223 150588069 257372498 831553977 35901932 916175911 797020034 58470283 805795686 918221497 136768901 787807655 759726555 618276872 473087977 525576704 259737159 492799553 587467761 77845003 84304115 68416511 470506746 139854166 262059365 460796007 716988462 567883736 125133101 117427206 468160749 675354377 799951572 105443498 330023972 709787502 788592783 399567598 43158834 598436115 950414775 942360202 39657695 889993837 607104876 174996387 13152040 483061594 412272312 770767074 773316856 960765876 263500571 417472299 57916331 4254967 9974661 263051280 603717524 265248057 25100458 218810060 16492280 174218162 266296292 551488350 741441269 974412155 693710699 956060071 123872222 37840756 661672683 339418045 453426884 703189749 28807817 721204469 457938402 57982209 595597921 142545062 931568867 246729123 410237999 925745359 879122540 263953546 338547601 250104094 706215427 913122324 874213423 473773707 513016999 778638413 930923333 990332766 21789335 994342558 940643667 25013289 403380754 291968801 409261060 830183515 239945396 267758385 455227374 91630082 514731703 929785726 348297100 604026159 836500545 71434168 880140061 213375618 287420011 494078023 503466405 332680960 309440136 905352718 198600035 601169193 327923861 867817836 716535174 348040861 41272850 971568793 610968609 602496044 307049413 773323184 474926436 688235506 471535512 860855465 237500804 274575096 231107341 102207816 191276171 462575436 15747557 561592029 900319570 749467541 703408668 695276075 776962363 861760674 64807740 18662538 560085691 959171257 446101278 932054540 3008214 519282977 669123532 764425420 877882358 643202641 248589843 590587846 262869937 58122275 261593702 170090957 330191230 226030894 583211769 74149974 3703137 825225970 846985836 965526578 706806687 436685910 158714786 82354686 209525475 690211277 270814987 537070104 460452638 801257423 898090408 73051550 716801560 107928548 499767957 842967157 611222694 241255195 468704324 959187239 307071132 985163508 246893330 250435407 572750411 811928300 444873942 678953069 374057161 640039896 599885522 529335602 660596786 83188547 244228212 320144864 295280583 734958369 411117331 275096933 147125823 948212068 216209024 743230788 669781791 886621329 728225079 984884032 247181400 190880656 472428244 614268941 435069828 448614351 300535588 750015415 566502898 108034247 841216604 771011858 961553301 625301572 468673154 26594932 158955675 118165267 391127185 10255487 371458730 306049725 132499545 473062278 258722792 168590332 336147056 926651476 191932528 245923273 482406676 51367682 704247505 76444553 147579709 142018322 213785677 14943466 144038512 831550259 107622467 121194423 411203631 696838428 193111766 180557729 201677636 563625644 834958768 920098696 181064968 737114587 192850629 372828531 232713458 158631304 736186141 119808548 684827828 39703856 228712793 73438695 567355616 25623311 7884723 593758920 420754085 210400308 818561710 495847463 210719083 685948080 30598347 80455802 775386676 299821207 372088014 106824856 43287173 747101545 766700305 810235830 33721326 928989640 724349357 798698311 924210793 403937764 318131283 530476531 216031223 543246148 275499946 720732003 331783947 621953668 623275545 497924756 914198228 788801209 221343722 763748695 787863757 698245769 792492871 851347083 191609693 746721501 66856976 536931482 245864855 598682562 360911293 183133705 462370642 924235465 874500516 593557287 32690341 187165759 109677035 340458653 732235442 691088112 702752729 728267293 782846622 798328837 432096510 950012104 537481540 122796947 160930531 939652668 965267562 593177531 606104882 249203991 179042915 21482219 534498271 344401138 93075423 202042679 670720092 108588496 992234945 467509318 66332572 683117076 220664121 695397929 612311919 236595189 838581213 509096303 571081162 49468372 428860948 204188483 533266283 942529701 825646622 446588420 49937746 16240845 210098707 783710092 135368947 373338309 17413996 858937570 411126667 325404089 309305706 455543419 143533143 269463349 615339123 912072397 237132427 221328233 100290285 679623172 485594504 718462818 767892758 620274756 418321924 313977782 293564006 612706429 979554029 982362359 746543505 123022937 218172471 548512341 414604440 824779022 833675944 928326208 8461438 558460689 167474990 201878707 804751362 865783509 518353284 273174466 802218643 65241097 309631155 923239068 663908830 623387244 554454004 60420829 91580033 744194535 513295673 692378056 29916670 12338828 289635520 958396771 612821439 472718361 396731694 497431340 696185678 396136896 192801868 589396237 481579212 106991103 501978006 254850204 522442306 663168037 628855231 330520259 283290578 631369731 114263031 427659845 242577642 405126257 583526770 704874262 647724980 32172789 705574660 283358154 959226064 171918220 926415213 93991966 359355654 926292086 967264084 603094848 535590691 255277058 6724362 340739851 917018660 333205149 559264563 440162390 634808407 95409305 100909746 956614340 880650312 564482738 524451577 308158353 719109622 530220305 921248859 775205952 561032222 99492480 712544492 202961464 915085274 354704225 190341441 278270430 343716374 430462491 45588645 411870623 792899347 626411429 175775167 678711081 34107245 372205965 46985282 297120989 710703614 727164952 749500219 361387453 947873292 605881867 663704262 89758206 314539724 834448697 81334749 218594745 139979415 932980655 277791380 601802513 402525454 437572748 916130885 846371935 631760486 394480093 309494875 970485187 785077840 696008299 8844145 109930893 988903567 196824572 307467464 320678545 27965124 359600277 180962110 21603424 340228046 195147872 484043520 338025237 582978719 315216596 842442705 424030103 756317744 67317214 423434451 994030207 791070730 807640145 185253712 722935887 958299989 306723471 465561762 518033171 772852512 976302155 519529082 883883196 586881735 936543097 177638053 486678971 315753864 731622581 863741276 181907398 100568802 159182783 530516189 248234323 358505092 973928983 535152056 890137117 791459922 313060182 627473653 722503719 460240904 295417310 990184456 46542904 552754 684853424 568760466 865092608 316435942 434268271 654644048 33570359 326235915 681562819 711691586 53604125 591670590 770457937 659103429 968727751 649757785 967967891 17178490 65901482 897670642 912727137 757330672 617250248 626749528 159206820 372069489 416937645 661006898 63194996 281376351 427912883 353340721 395833739 190777339 233428646 521315793 385445755 916414249 513837180 109574179 76778335 147811468 56953999 742385330 117102995 977843060 256439672 489844723 703330057 719448028 258840460 820904756 708109835 889746775 933211816 172145640 763341221 952462361 191980259 808112839 70538550 616808973 101868792 202451253 362452902 918140927 785974174 334470104 531220472 429650607 58330904 852764589 313584758 150584512 143904654 82650125 754029914 659331423 82725361 869199525 944429365 371589247 735168908 861742402 605452656 911153136 430620711 132090849 245633540 756650184 808223337 407531811 240188767 457972429 104961349 328577231 672849287 420455989 771509841 183136356 325384266 575995021 717192297 979137087 364693408 443553012 210725513 119216587 250105710 125158882 925374729 561662205 665275521 43841413 238683522 49061870 219349851 182319947 813143031 857459498 386655694 263979735 315741267 89086558 292203854 232040871 969879795 714323854 705428787 252449970 354781760 55461476 206611311 710194426 357857765 891949423 723432321 601589112 543277953 120084016 645440872 727431888 856009123 275253985 259426437 693477481 407698569 360260579 488933591 710650524 987744326 932514404 800779619 985735096 803481867 80454719 171102367 880674967 521924758 439256328 8075962 411034642 511792192 936353201 160009845 807811747 98535277 231305017 149568095 1222232 946331981 865298225 93654025 68176057 802089362 723997431 319297108 7159737 147156554 173238911 43792477 742025059 835934193 248926243 41239280 75699528 371009975 131113612 669132411 36395175 466828273 716799521 502827069 333700740 218341673 178987079 682931007 40593383 53230698 487327930 621168248 752898013 684768346 234421949 206982743 729302023 35939952 26131771 953249160 329362119 428500536 350575682 165666899 857640386 194062911 232771196 642742190 338907192 300306273 137287188 227857119 935494231 243691812 155314135 623264174 896484955 988589698 392677632 183044611 66795500 991196691 238449238 273972110 800559274 407432334 293724856 816047097 234202205 590795440 372813336 327622298 986438856 184256852 521884433 893020007 706794216 119226098 563665490 974065853 546644969 115548589 565868410 485318704 489874679 629676094 808179337 323526640 777974241 947994908 97719885 186556274 8322679 68236666 449384209 558734457 171532682 579422306 172494817 677176933 657457972 719801153 733293273 214616096 52850938 208610178 743008548 23031407 901254249 270301767 255922394 424850129 528867101 837288058 317592650 861007509 968375142 327442306 287753425 275934612 116885413 875678735 155403314 213166224 93202644 668889315 667022232 839583435 145672326 432922613 437617771 307776056 110565741 686166500 583605728 575247820 16335108 796215606 969197193 210540893 758249386 547977265 35386871 342956074 438705365 604731285 672827115 112725842 454410602 316748821 66854372 519132397 866096729 901839442 790473588 408028613 490201281 444994243 999691871 809693015 170677701 437723127 7916424 639769860 46303422 709313678 213384474 276748167 113640897 456926490 988318527 746219761 345099815 495363824 945908027 193901203 901912169 651994371 504076967 759398688 321440677 647221177 411508305 471284186 599691829 972044761 679430952 566734917 205657850 480677524 714227353 449127173 171426362 31271464 852229524 964357489 882392455 168537830 749665786 426546071 213378974 161218102 572940679 794620684 555759979 643763771 140274858 663177374 417744940 556696986 181786984 115145053 450996985 961782618 619927406 517710559 274805638 543736949 87597364 483931933 554716885 445839250 19990551 695425281 923139316 927039513 647006321 659001050 806672450 406462976 41432548 917014908 907566367 470739709 824306904 32059506 59814988 480198279 541059002 23704854 302617574 635648110 764278642 919009027 839235646 33654963 141583870 96622374 891098704 524932889 417068521 874720964 688708139 264909156 816392064 775128825 135387071 898004748 401097175 147436571 204484970 262829775 873240357 374459813 518360438 445247604 855748740 383549950 691211884 90637538 295727131 753611498 166292159 209618786 473194354 327428411 72538148 880997894 128882772 936290518 852840653 919620164 602781862 944656655 775548338 156245494 284583142 521782837 901136732 455185630 395037524 758518952 620711520 145242126 734029013 184579101 424175470 751163363 601621848 559745622 419312998 627235718 369579109 343750446 554311605 370464470 269168763 325225364 546009232 518932572 857504185 130432266 357287213 414794221 935056877 375625183 747598023 155095192 39422282 40105441 367943154 122267195 399609430 150943067 405316357 59519337 7979234 313744638 85998856 77805278 196477331 248963077 900824021 222594435 673787905 955722190 990888434 242071502 497510272 458903625 400398770 51091118 355169650 296808305 904929715 675198131 32192278 76112007 552343326 607299416 939340416 29983099 702487840 868626360 387251665 247421131 43697054 663135505 328133889 268823310 108695952 304884769 337629655 74928943 322693513 353492478 336576323 774671254 49498484 325271496 361143037 588819806 845906711 41732594 742380574 724948260 579954945 126162663 290146493 365344264 412727485 561745667 923005500 544770236 155793589 919547697 383582276 872139295 345933789 686032400 401596017 256865880 435466260 155237725 890344057 422853142 201838359 632804907 313815286 76587070 39097338 450155457 465508709 119094334 192732356 576692310 16366402 272475512 281292944 322920693 688628067 534562522 565600580 137113910 7872318 768536414 27368427 991291581 210367157 150128381 902840307 79066945 472744474 54909310 515758076 103887305 517921423 716453083 22651210 162123322 372492411 754147069 185393501 44828129 244321174 657017114 630584036 758319730 490125546 620430733 16773739 989148658 174601209 15275858 518561609 369102556 823843328 142937804 792859009 64308578 845509656 326021791 343513607 164569901 635140884 56447740 46809577 435481528 567511142 508032942 934909112 632003179 179388420 121757487 290485670 729053841 56181495 64411028 753573733 146259585 895544842 325263284 68247854 732058131 30413152 148466538 612155568 470290772 939891044 975399703 604628211 527000444 440750956 822135018 494378404 627777377 11100089 679322707 167630734 485642507 673208603 237741487 598414506 339045754 78613065 257737404 338517577 348699792 852606328 832816269 345166476 793820240 75950621 921797517 270491188 947188500 709727544 101895237 594709631 771454713 221627021 613200644 678518201 366868794 584325228 415860843 56604718 879239416 1206449 269129746 200289219 520687566 495306813 359962381 633311088 891638095 456334204 424268538 674613830 105425298 933600856 446157047 962949691 241288415 40795353 9424153 489664569 614349907 402456680 877608269 439063407 261978591 401146922 481743405 560112723 495679672 150789286 331537861 173820044 383288235 790399633 965505088 758724599 588868214 260256583 805634477 428228585 150133162 461881679 256726078 101396234 839194754 839103685 384701669 207386514 105951261 61237423 106665000 627135802 478554800 589976528 601080505 268196327 880359128 557883532 489096132 566057800 119457454 173420469 652875274 250957353 411952194 651496482 923628332 529790274 817292002 252060182 347858335 3515837 275019361 266983099 667569135 998091382 414749182 257237668 952497035 629337291 947392196 572223664 3781984 734112884 693072565 206686986 335153006 71723151 440199 150577877 544637510 736191817 87842197 2397651 533752538 1827854 151988464 233475038 434510375 677965397 911216317 331274495 686633644 101661850 153998201 289074986 76612818 715700951 649002506 6591044 160722321 862329975 111370514 634794345 267272899 911742962 866939651 909442508 90691395 97810008 978108646 912412010 348002042 218114178 762581956 982218125 76164713 477561256 669323835 40872979 679492192 424712597 982606148 979561259 152162129 811231683 264537512 565128171 85740422 367649480 680430510 62718477 418379281 88108457 602234500 273965719 191359158 535683582 114020405 286497472 477137411 300029813 581625105 636693745 585486445 681134202 419352823 526869598 318374624 96935242 472090402 155112153 274633837 167994790 221567281 478145772 9938707 480637914 122397360 372581192 827489780 140791489 824135461 140433048 916806475 342932066 482372189 247247416 656408706 400460836 617248574 437417575 946002551 855028445 158448560 788316899 478943097 620198201 209940434 726475613 805898820 197663472 991781746 937715617 113726592 83199238 53549295 641706441 810033117 604806393 692096245 207575617 667119908 94788193 211642690 121396103 174338657 99214873 985138792 510100705 324901711 519025172 810804998 166920287 619461758 973965697 344959467 693554052 740590130 162570443 765649252 801759361 729237059 271539786 725303587 399206130 792242867 234842565 390910244 241680053 688694031 822505754 227989908 677719438 648589304 666841688 980009666 87850386 771048023 477571264 706533801 689783644 315480785 304721819 1485452 273371275 176576982 497667123 728082122 627105972 104819375 824363247 637043409 174301699 752639885 234452166 803602759 566198771 409967228 584703730 40601522 80750438 260612660 661563877 748512019 123167428 63143372 647566732 343203029 395654043 542358253 434172078 912548388 792613807 169392047 335575334 39884705 12279338 608422835 291724909 205324079 37658648 118540556 238575501 850227192 90034495 706981495 367382025 191262930 517055451 135287598 755845228 368725383 493393141 629378516 580010732 117263318 764816725 763870671 799627167 378096852 956194797 319901112 515804264 72459063 907324591 845821619 442974122 473846633 140237299 740170620 598825059 428771713 747579231 882963161 656508946 21430374 388833544 49765618 488181205 579752256 500456724 486878796 340603987 778432729 826926330 139760626 157730700 793111527 908045936 365681954 935803959 885486512 105620281 686737154 431273935 44946825 231664235 114875509 214225245 639751375 117790698 830841047 915892422 91033668 59650053 358449089 640212073 179488538 18482340 814101160 575455508 157748317 49299820 12432171 253029069 851032497 57121245 779340630 920180482 139240534 169280512 783057877 663624811 506187727 825810183 156169392 85034930 571112299 50309447 700290897 385305800 820353011 130538810 153667347 400767892 95147242 981538852 477291666 264078671 818675336 463578525 11575620 112463459 456913344 114583026 427643625 988238859 60685184 90726256 363094957 133193898 101081636 525160542 769793525 849277135 62117444 446978401 226219394 318887231 680233374 914566369 374597640 962297743 887017481 364117034 297054645 246074622 497169105 103380514 660683774 59115960 240241613 892162659 743085341 990600015 105040167 399525531 660165199 832111525 37806063 606572203 199988941 563198354 149203684 945836285 533103263 465942406 366430418 862268994 636192273 532944125 251044411 660327198 145959853 87313876 204397534 738526075 190123856 436534016 590336470 27006873 12045894 971501261 705146282 279462085 140090383 827892876 239894306 658468777 319121862 503194040 195975797 494171052 770185469 548005818 620895287 962246613 356295608 837204014 914637703 613808467 726050657 925844079 273016320 805016419 202482234 899390309 168043354 270447664 941631335 56370561 72437228 540256611 43438390 424708976 982823687 7574528 506621235 84891598 665731688 580725402 222625162 479565156 285791569 175149725 971326343 625517771 410141078 478973144 518096179 488749043 125738102 873704271 658758432 372297926 861351851 887537145 11064147 751535744 889058453 889117947 625130314 810681958 489095615 854760181 939196201 453784374 209983574 167027228 846420728 67839736 502359490 259617469 987427214 239862600 280002707 687882922 63099357 777137955 412978686 88373092 138727185 589369018 794850513 539138105 469614880 651908950 766949598 564986680 139696995 793703710 542314789 59231265 458031018 577487855 434772447 147639763 384528269 877271324 15661305 802171980 532070218 593632123 924240135 691865989 924955619 479449449 776816789 934992550 726684327 341520774 87746195 397348592 88986432 175127179 153105935 378482874 979676949 978693715 128426652 222622399 843408790 259542438 872968121 290807257 907970228 66533567 241342926 53026327 727217923 106227202 198852529 69785901 282995942 552103906 202817616 91118596 113406230 894992648 36728984 247212559 786235821 898620589 141059199 558343650 519050316 552089743 92148341 216912670 730224666 402039345 652813310 16769972 533826908 35591325 13645325 145439121 856774122 38109597 252071763 549387318 633787241 674962200 635475931 57509020 796282757 214172289 331150352 65837895 184970822 548588548 817426300 229195758 220439464 557381045 45899685 893766406 332267348 395990644 76072068 103782852 432904324 153315895 770269178 407396820 539722858 98125726 280863948 440077114 198525811 794602553 926122875 790665224 95189833 221699024 658781126 170464632 731383006 196727641 328025308 907189301 712510157 520285206 131354840 800270249 514362309 349452845 16463281 477931010 616729276 701090071 768319531 260340026 732417005 706967258 223619608 948772795 420629796 683990873 28436805 736938823 698846889 586048698 403753728 814846844 210097707 558147400 632682989 708137004 975303053 452381359 20586444 555189270 842516117 951026095 215940473 836399132 603642425 911166158 386739176 217415420 286080896 455938534 359357178 471353543 731956319 193549634 30377447 315132546 534639485 293211166 710095203 450332146 617937694 830499585 2578983 65193726 560655382 964018885 567802932 72812876 608812579 945262748 70032852 155536994 837970075 692915117 998365111 606137618 573062360 211608780 96617852 278503677 758817059 39316487 42654551 217492298 389217734 417616568 522346282 263354306 219182063 169860977 813745674 670897895 293726314 937548953 3031078 481362512 365616351 842854779 244742340 714883762 683417690 171656394 110672073 180075057 323530207 620461630 519181845 338565053 70271151 806990847 527671732 451299375 463167678 547430952 17165506 60146839 964566044 400059052 476499444 311445752 138749721 598750134 130155841 145735823 946391059 987998423 433617343 441760027 266139997 257799281 595927670 613179813 711834356 289571607 748766626 2299258 190200753 653162878 390584368 990600940 658959477 754773124 329097161 646175279 681661501 974547144 414563126 635719674 397911647 370590575 873034315 604579958 641346310 547163685 30610366 687540561 774613241 590784206 710432631 444245094 782049514 652397419 730016814 129163391 365339944 163068075 748242698 383709648 181938600 490256369 181710604 145841031 246875980 892786804 264102173 645621899 818783570 452906838 677320373 776066766 5918469 924309229 489465611 557272276 559176039 887351054 284803761 778800333 689584024 68959004 200738278 903622055 270483304 225984566 90268264 535978966 911318435 554499362 204979058 114341792 725121350 831724270 42106443 193547620 257839291 762121837 543621221 711163996 808499270 24719831 792227251 791699489 598348072 170682600 269011470 458968979 90630692 149277660 725491686 743483616 52058242 180006018 513453731 375811463 617333631 660383768 34103804 503308427 656011868 455220179 18312570 714857384 893063202 675190612 178686492 278058487 703623238 68952588 737521662 7777116 552981212 391802889 385648703 387056720 861994485 99978393 770112733 814069750 23636689 622423069 513548789 490811975 729840283 837876344 623315711 668317724 373917826 915870007 175577479 989797903 6432908 923469704 715451388 838779884 443906538 625895606 937635721 28884296 482634735 663892872 444958349 426323132 952833761 349244054 844387841 406918743 37936365 203368069 350340249 832461043 310347127 561445780 661076484 172084774 235089871 868558438 973555228 889561203 862005150 769314165 238897501 247989425 5276489 671153703 330478020 335013509 529182735 62685240 330106934 360488308 327357004 324268139 405807286 592351967 686336759 387609086 261104068 639741828 649014355 903648101 70715597 467561825 734132682 160769243 193182719 922941335 327098399 885058573 121731315 157733910 468193912 562020882 217324961 333699766 798283940 314299156 182515617 901362267 379155589 867006644 220386391 14985011 314373608 700931112 26879306 316195879 155170960 927077406 758149945 32242310 367320160 119781111 162688177 721171336 391226474 990431780 777213116 275756349 394958233 203847993 477445692 340967621 26111010 471217906 115840073 396930525 114445287 811574165 963411574 599560195 364271614 689198056 782122283 170982621 363079234 657507084 836456889 24029971 273605475 411953075 740749185 72578244 434929207 259104755 740726417 271211838 810048702 791280634 934004420 149473772 302947141 344445835 538895379 628423844 902775945 387067788 314666756 66023378 822779057 405963617 643385983 128349795 281482 579777438 557919138 256118054 967276279 161459588 600109851 783747720 518655501 976021980 502797229 154521108 354810378 215839494 252562835 3625952 578038043 46543155 41960428 427388423 216384828 748125547 68888210 808938753 834296325 286648049 86855654 81865013 312589242 756826029 598163008 795371191 211988404 241630139 83693319 695705690 38918980 809774536 575524363 403460648 813234536 446244370 510543887 122595170 809787112 519287421 810197826 69224347 942052477 380017232 701533459 284678865 370688703 966137667 276035615 590231373 207963963 186117378 912727822 240625408 530738792 156458281 95077083 271505707 60057835 510187100 515694817 491855515 335859746 483072096 284089871 698009771 373026172 292228075 860824322 642167894 771853349 647064022 89676637 305073678 294650754 489361944 198800187 731526439 753066555 114417835 42623013 399847206 19497360 160664353 470057875 784034021 735539293 62686888 632994856 206582976 112803411 820045589 341889777 615682835 948022197 502420192 196862622 717372712 391628447 558411761 690194750 651796194 250383824 56966129 873251987 284204636 478618646 500697740 45132958 955001581 1493845 737924829 44087829 70290973 209235880 204393495 393162423 638562807 773659533 316889701 179140088 88125516 781825676 903668841 335734453 112982944 69501576 831537265 883360348 74582660 713386489 598525169 22721811 375660876 93762391 677616729 296728713 453207332 344515461 238883421 580751241 685889212 84895494 359647970 508245043 224039243 558603045 697419493 294756465 680001448 66254730 886955310 399912675 853973078 724163829 905518946 813633813 964540228 387112356 87411438 166655930 802099428 681837782 327103184 353230975 64030856 473371589 911312279 317506500 322393681 576297786 261281153 566409859 580870845 584765911 148210030 275241115 279383571 419045852 155540587 231601533 46052704 390650379 123932788 800590403 509041593 365406432 860413175 335819776 613884515 632446982 804150437 774676858 117054671 452507268 753436536 630542345 676419304 709460547 547605854 952265225 176250076 220852906 413906864 709141895 756528821 102347778 172892716 485796452 565912507 228639866 122915712 964472829 609267365 142887373 142512688 171219744 752915751 995126219 887303043 771226406 217277699 497946241 513879351 318179367 510769334 158289770 999640409 718643525 433269166 434345053 599032444 963513124 695574203 694011006 862258623 167873129 915204522 180512100 632837273 173513912 427147526 20364907 917002268 733175025 967252336 467912221 340689317 403058549 746888449 41199445 686861354 211510165 99255841 689958634 891951911 551979466 152422673 638991135 560466233 679490096 773254565 719737466 5067261 559291312 388937123 234064235 739539063 22831251 433205378 709948756 795433075 5465953 676895850 129500069 174291079 677323508 249841326 283200105 314957500 74463080 155808247 586608787 254244233 626403621 892927420 314143216 159200201 804005164 55192536 759621677 499077053 612567261 662834208 988494575 925475843 572955748 677686951 403897178 17416625 447401969 648909782 208541358 916181263 467506388 229128337 494839927 879486846 801256596 550713507 173674119 285368479 820244613 265811167 385683107 522171613 794038991 262966527 75332050 783993325 192790904 281515068 73367817 130440181 252973032 226883959 497950506 200572164 703374236 560936503 555277299 688709725 849008920 946832669 139057429 358208682 731396706 255731130 364537689 777362117 480695604 227672661 171585137 112183462 971726816 464024774 939049572 472780927 954500254 65222304 307348011 902421037 63913932 350724606 967249427 126489708 599756317 634194399 208319486 975634553 813439680 418131238 209707809 446074978 952808472 744936031 411631012 881154815 317152589 639694153 344208458 945680445 340041328 752878595 750002617 811216916 641230604 355684156 890098542 476406679 399891308 522506287 409107260 124789302 158883977 262824277 63748219 544927853 581605914 798791752 449474089 825448976 871207514 832922125 92576308 146609720 282721696 784783934 381618289 879832719 998999426 726586831 104264141 208651508 618070183 987288428 326353126 52133027 857253042 779240864 485600451 450173421 921666091 566420148 125128121 290897985 786891608 331520921 903127707 735802609 487278524 535878507 675609150 772866492 182556973 927657102 644567440 428380222 392481915 889657023 343236409 393098175 124265880 150766504 639071777 446144991 934759051 394917611 272178161 101925408 247847299 656741975 86467096 168349616 421532183 366529026 694839810 918442703 66203573 705495594 672241184 641285885 41085738 621102296 664218830 279527653 981211825 466074370 408270569 546333648 779856519 124064074 546453973 266031694 643258752 335741455 470269637 450637007 851048396 37665157 698909498 476083658 412874654 568720679 152671700 234631774 504508405 304695271 586102725 688768062 958243591 162178816 145301249 699504719 180022016 771702874 671835959 691887234 271659114 810870107 311358337 849402643 211605658 566124793 681121607 790364118 237919243 823879652 22251656 313467333 45255701 519484271 855967067 984457154 663240541 354031087 923711256 576781906 795324526 645586608 979940870 221865636 152367354 655174383 565036712 119194902 520377567 522608132 711430042 91249073 707372896 534340210 847190557 70407005 174189392 822858374 60813405 844426180 665488936 209707350 637079884 83284326 225668368 700525108 162950103 495469396 694923846 651984093 904934674 575776004 237681911 765115013 418108106 161672476 831670849 916740976 413734816 663744029 362135920 306347010 902340962 685422618 396482338 174893499 144945618 672407117 298696101 108389134 850184362 364779009 362461095 45977870 72242683 916967882 872128770 571033742 211251212 63391642 462469937 353530512 314034632 30604161 851113513 40666514 569144529 580946527 113697483 891337169 507432557 386988008 293648655 428446290 523496419 821335297 401383691 807149502 19889152 737694032 885769543 76064075 848508102 993528941 245052880 400534228 521126567 859380328 279787010 633147528 358894637 762054788 566258838 249668246 917405507 958603117 429884534 24952696 695018260 294492563 418676054 346337517 130123003 282067372 761047711 818325545 398401437 210379703 942674863 380785052 626650996 79587421 466197335 19057907 208233499 269966753 508681236 170790583 511766985 166823907 405247759 207296912 22173300 751245614 590781938 224538271 388760391 395788717 866521475 96312152 606407532 135857172 360752157 933877176 632994194 90950518 256856763 49161637 648578007 984007141 682892446 28987459 694678232 616303333 930062310 870709443 271554047 447435135 371000855 224710479 880667689 255130202 977274198 489431669 629026831 889195254 857970774 957755475 65734274 16196950 621555781 283142952 684816638 833988738 493293523 176793236 803498452 334600078 882627704 663086361 919059165 655432864 609150496 555982118 98024256 409045983 545615851 672844067 990395433 479121070 775128251 168213498 13227976 860116111 503822750 598103597 41386785 245584900 176826125 50599942 338443646 530339043 283053307 37058868 906091561 230712181 106574010 4641397 887719861 517216629 679404718 520081577 885113430 471995255 129270514 965547967 643218734 821400315 111921400 659303746 288625094 901152398 581629672 615330932 686606354 494733220 192462047 118426626 285448760 407720029 802955295 596002446 621632631 582634791 739832900 648883359 211156025 288031837 213662243 202892141 283275317 98151875 830404428 803593525 805575755 648534168 411764576 575781394 725168125 286518490 798414908 608490728 380751164 458290286 272440205 979657124 263824276 619592655 451799978 374034078 920069534 563146206 309538484 200194849 460326091 307965567 226527724 806423158 550362064 736951530 807670455 585625438 124448809 502626624 36279473 657269103 840328738 28289072 646408050 767516002 245545026 445481629 610506216 48387707 119621762 264764848 92896719 518217225 53019598 814061335 457408309 344232958 456566674 24888836 101844762 916161718 655993417 585995191 978439895 465146983 391658089 843725013 754672605 809025294 580006461 631331778 653786513 483982767 968801732 932352539 618511752 413566433 81727922 44646886 977663418 37596633 494744795 619056599 474657625 343864499 512598474 179234525 890356165 442798181 780750493 774704160 734130525 401830208 910188170 556619493 413281603 975983784 305465580 559078810 593229920 656089926 581490445 122855806 337082896 849535190 87703232 216298302 165795884 439051214 310551257 483029916 203070632 573999521 113753046 784720479 936964729 3349720 79725257 24594519 752592305 106122377 93992946 594360237 496920435 901200060 998355208 677263626 207559347 931620654 970274034 960736134 131595584 92122692 142578287 872555601 488506142 782243816 116337617 192148022 826718641 466699391 672355970 465400875 751091001 837839420 134130411 44516279 727617064 193076042 310434780 777153994 201672755 137443527 45246399 192055370 573137166 446000899 18337574 433477409 870013463 375917628 77481840 722685089 362731528 335914812 860813066 15914323 136513443 443705231 26738839 91984033 191843790 318540994 365925381 936818839 111299208 329694096 704248799 4451236 965181036 985402366 277061424 693205252 296302544 591365129 847507975 853863403 266610153 42315748 940763196 642136973 869339874 899590091 767337852 490323087 662803645 147689756 560406647 851305845 606631286 644552794 859934876 862504978 404976278 684737621 333110079 917460628 391256628 226639286 539466820 899542993 806819258 835420949 243848733 100189030 648809890 76395728 671050829 249122440 314905595 90874756 880907135 111918563 148227123 632306937 752875184 678528156 638174475 931980203 261898449 755699389 244912628 728438785 70170657 271491774 659646197 206564358 50868579 625759606 994343262 302858738 404298260 549986689 296008030 259056004 549311816 948311664 192317973 459997924 276561321 961835097 579321681 575768368 806940986 497312440 432980165 940045001 841144455 73433954 234930360 30749391 728681802 239114541 45845606 313853127 276791761 114514196 92772986 758496799 790226275 654559102 560648678 952598458 970049657 110934941 567046266 508735858 900570564 467103088 97095039 210760249 389218991 521584600 756254608 56802110 274103152 888915319 991110192 908030606 700446806 205816976 936228898 592859233 104984431 494061988 496373663 300912392 975451531 749149550 31616391 244108670 57117948 68706909 28478305 496297056 412903143 79966453 122008956 412355475 64773126 414761105 225518429 328908557 972620043 357813693 241530129 419251704 551107060 583529374 288955190 936135377 572073937 73297484 149240833 112717551 721162180 945943453 14527349 260768013 109709255 428185918 45590535 331501955 224746839 51389534 162103713 156871580 5719628 211486579 22186066 211677620 669052497 781537384 682821112 891889087 149729942 324375978 607533309 69713409 786301560 862751999 31245445 64585548 20015633 579268434 294170739 613738347 177154162 11581819 716136341 962326584 430519080 473784924 24645071 919141568 225901572 826144937 500483905 239253752 52503999 752216796 348400703 754916504 682304855 29428933 173315305 228801235 186273733 55673492 645264270 337338371 792580556 548425774 113196170 416453582 436619666 219336504 231724787 610578694 420336627 238003591 988031533 490537587 292084114 70565734 50983963 188927940 369066020 140185711 295840138 629713517 857925617 909108837 440959157 307230259 697037751 183843734 271062991 884896394 768489948 396073981 937561528 829819893 332980745 231264159 616438981 414611277 712127907 170994732 208853095 623118415 29449148 827473371 758214650 81454465 483616425 764480125 289340453 695185594 149434093 244135294 437067623 430824370 737643437 267207960 447880795 94384519 127852371 242890826 377982523 344835616 104354415 73935436 248587269 793396543 240175664 425790806 859436284 45857633 723725265 567537405 692787893 342811367 847590644 489123011 641711348 506115675 126112120 341922433 552449097 137433133 721068416 956490681 403885860 119123958 733225268 64932673 515315058 294513545 43344075 367756545 130387620 876409539 104645160 458446482 129137520 483069917 670422601 346768766 983342558 738730200 958807925 724810587 948445499 293832378 530042505 39081107 625382784 850903617 149754141 142607998 598121824 854906547 808501905 540072842 607752465 594555310 11230583 414824217 816855270 169818560 470027491 292707505 18908298 645338257 134137171 748920796 429101906 385163867 683941679 246331067 679903360 350804252 357820143 325377126 77459839 642342092 543494213 57146116 52760359 422379792 539831748 124648348 405556651 418579137 269715857 754422277 506946403 164726279 238779937 536352802 335498098 846433191 42173112 511189099 267685173 471996167 119244622 406546036 456758700 286649242 952018357 442940406 799882497 555354752 62540465 352068695 50547850 459619702 736405138 33172890 330726361 427579946 332543159 820053088 122788177 558043019 825592301 87034974 227411669 274523248 730073970 213548721 293568836 933177190 987228481 950260518 922581369 271769471 843975775 329145302 384496854 953231537 208512222 713764222 922330767 253278588 477113580 419923454 428084110 888652817 175427010 338802461 108117640 884938949 285893543 920681927 843935092 591203280 442498520 573930235 584120121 173531412 205914483 569026604 195065920 984256374 684638726 37676811 165295199 769278914 589951752 799633233 15851837 873717641 124438700 861962780 268303893 378413770 179789488 56394039 9256030 566316396 196489806 541613608 307981739 914323280 731797900 117422722 672957348 135459182 561793755 768748386 47697015 416203549 778139681 72200708 979047541 980757577 834557189 625358449 36124648 786596976 702264178 591731654 357464926 479489034 284664995 700372300 115302057 609250390 719296505 225934097 187692621 236044492 776025103 506339120 259612792 212330732 678820093 177956089 134341315 955298234 851010346 152736455 516028320 846664703 315665459 283639393 447061703 499970173 78363571 822782411 53540015 794190802 930248486 439305272 929932241 310847502 875442705 290212447 905180650 543747336 61271223 303531831 595311049 702734583 360471775 34442470 262552409 690183367 868470736 147426439 103200076 720497869 506791937 40881702 60160927 466477258 199003875 7581426 887755932 508448744 602766740 202451494 767034311 603640211 127859782 608147931 120746235 300800638 206879732 111566219 766556000 228702570 448581108 337105097 426942217 528497976 234733793 234800894 40760336 884378612 486822098 78725421 984026634 168337719 92608379 741909581 172710966 856508073 861155128 20237927 799853795 358062214 335116411 670537615 934554509 964434760 7864486 834397758 639076071 156238715 356402481 944032874 619562503 779182709 195391786 871171529 578609181 634351683 450348217 359483279 178785927 245489782 843103240 149121525 760018535 722114334 776262398 229919480 495795538 193148512 408720905 513597250 499095768 8868507 610348995 17728107 476288124 341301465 54841725 819310786 116909896 277742507 263205032 995734781 717707886 946364332 74770002 544830707 646323129 240299580 878197612 889894349 418259640 998077373 899504348 760504501 661840206 782577289 366376821 790968589 13361319 239587080 746878971 561235785 502678760 223388839 714067362 207656202 198377761 525270771 57000235 385449854 802531965 406611105 117606793 968313627 155368263 399538203 204693186 606567327 935040872 923837306 97037106 262431744 934748136 430567565 783906881 702388 458184688 447888340 832892554 62703481 18312791 109337715 805728080 224921712 561490915 302468433 583299653 10915899 239460988 8360858 636191021 918122753 310838404 155061412 264731881 84465962 591686076 657499534 301424201 154538372 978682107 138457957 261613093 556362919 15335837 812659475 239470715 406034083 598275870 293994252 185217565 842016909 151986026 222243140 32115569 892125909 577227240 473772819 120403780 506836859 705068919 452372612 267003023 808484599 355426141 738305291 522509963 120638559 532967326 193286932 811065749 573787205 851704856 390501336 143326024 287571919 465762166 425648236 270123738 739652315 141604700 833704298 71769778 332159986 574591196 895083951 241550877 960432721 218283113 343692582 678158669 896729225 715679869 685269128 547969798 725122572 950173971 319124095 261594828 510784910 806207812 30694664 185269837 337963321 991822516 475233248 619701603 447719681 644972271 927850951 206204896 688929037 958540698 82512032 781292088 241512190 5393263 884351663 679088037 962321509 566638222 884949789 34083213 33021343 432895540 661757405 150050412 27663920 458053789 155347757 184208724 436877605 780699023 115140003 709505220 393555578 781731011 905647397 831352470 61980201 236378887 188171168 286229444 416147709 927363578 480042227 625356044 201260369 384543333 858059209 890359439 123309883 128705207 316360845 122129930 309914341 375946936 73156229 122651210 730324961 121817738 537477770 936368173 579601447 891809764 221013913 342797378 703612483 47469756 385457163 100018754 143253563 706200900 882255973 285886981 789792762 904454403 503485964 523233983 59123830 66717625 862767571 538284237 778176307 84463674 762324765 183571335 57570788 108624378 89151662 970987536 394968000 997342870 856587582 368754728 564886719 841440876 581242444 665335920 886043057 219571132 139659294 285604813 163057064 856009127 5150726 220716516 231342005 375330183 628939407 24475649 13052678 996152402 69872159 789370958 365864594 205640063 82759436 29255845 805664545 887646495 910093360 440309364 488929040 567548578 579237265 236613046 462067004 146511925 343354180 63925570 750717171 632615978 227582033 647518764 856041412 896904983 459613395 45063338 843983899 866981337 249046974 129484962 762177157 19523388 190438980 436098687 355298222 425989780 509620659 270292716 282705252 607548127 123786094 414185287 937715066 556544118 213775595 387044005 798306354 703049211 768931677 643868028 430327138 961801687 388963777 732279200 442035109 298411762 322677004 218579321 910860299 900597970 338996301 177494664 913082809 64473404 808916038 321983145 916905636 648215697 541204556 8703054 722712705 163437890 47576501 850478553 779888586 757115960 3699152 869059418 885542963 570443337 5639115 366163629 201241850 153355392 698050597 423930371 151318393 43567611 788529467 426971389 311167491 50100590 626833553 217254850 330740963 188113817 462969550 931151616 346183843 76894208 156578137 157320630 49621986 653390866 858245943 724365888 761378116 271905172 565685162 569515860 142488774 986023673 804630594 357922361 432748980 360218396 413915868 606255119 789179950 122681536 799394824 104392445 862806399 468993035 8251736 287579835 592391778 280276703 982722939 749164506 953347165 775104114 452935366 447671234 984600292 929538313 752000030 172675685 524098360 173803870 5212558 567310043 633086327 491810291 366254846 163821399 348417434 800296425 924752901 517319266 351641141 443512956 844113955 496380750 332030735 49699860 345451948 822967839 891903645 193685111 193960357 277010345 918012282 145477695 464704904 710599181 849322443 139967031 243598623 834896070 496645819 688875984 25485308 812192588 299721585 901635289 229310607 280530075 325897651 672116823 378569172 39049803 717093726 574152353 298370962 982710707 366012970 524999792 280929527 16403396 266324772 232886643 87627055 16111601 140587706 522600396 359934888 290421673 206505525 506119461 633405466 664363796 282586957 686567150 62744639 438978024 574754254 169836700 23359687 650900732 689179204 199833095 553171286 586096015 472993591 14052441 825493334 269019000 494783728 72409190 786182802 780681464 50598449 666827848 460302714 59527385 138986704 478228480 185979857 49008573 718713301 376551391 565780733 623824094 654758294 814814318 873723362 42136516 689554832 533255960 457468871 856256547 611654956 69407109 8466326 107268768 72889432 564512794 665639909 533053685 221491574 436114491 791070519 52400295 758262742 582623276 876821670 784260131 227064376 868524195 378268649 856894186 94734239 248860239 403088313 425285457 967449304 101056783 253977815 121088942 445152773 554780513 999474345 115968432 182532647 101974432 617798518 417123056 348011053 39293206 75749651 165561863 423003645 216023751 380727061 321712899 924299064 293456824 31487497 146716402 55956135 303501994 69445271 753369926 430281372 72503571 967524146 135747545 161959651 931495996 945935944 850553233 334910829 509730499 442908816 554573091 747632192 978492849 208297712 756170581 16675450 436438950 824469539 286677435 484573422 789650531 462605381 839850140 300352626 991495035 190615634 116199211 531484839 714728506 977631779 259933295 561561206 544971620 918590445 910573558 593561716 438221167 746887209 206786079 923619378 934174533 693154395 966659962 421273395 411718647 657178220 858868514 441453093 825343343 163769783 243324361 103910563 623310241 151284193 332397419 235690312 495849955 375671135 439320471 696932790 270444927 833677759 92426946 14447312 147173910 593748868 174925426 207441704 105751350 876994324 11356005 227647410 832862645 740486966 394593549 239573847 43814224 782092611 382843779 603177754 347166290 385305706 184405773 637654470 999847753 100162942 926023129 912023090 538137592 465279982 38755961 930446070 7538673 474596128 523376383 337194933 635905674 39790721 236001071 913312720 704229166 535323510 638650676 335338762 84679172 768197850 157200018 12378912 98950624 975992343 375616465 325102784 376725003 488074718 945016173 579644571 864897972 137075995 440983229 892562763 946303012 352532297 718890238 264593002 145269765 415580812 696996212 39354482 998467013 455075692 176171444 110509324 587504791 713548531 97136755 662200821 821452701 711877431 991508955 96914721 457166022 115638251 303294201 213030163 528904543 756851645 88530181 502339288 139705424 361288590 264981054 493859300 193197667 3320834 806629126 718487090 376371246 223630241 929760676 99809825 943549065 958397120 989510285 736270810 473181507 250394176 364949370 188096893 244993953 725566215 627106728 926304711 597300173 887660530 436468111 656722499 280070978 265369045 614391102 311326446 157209013 201141236 225455280 979402430 129901973 230454292 465513835 588935232 250077007 418569070 395563903 255558351 136504561 322023397 658742884 896867736 25101257 498455354 391584469 576005404 994221632 966797603 856702041 345895568 449505192 253923006 425786527 104862148 119577885 685830325 408131410 610980117 385279707 995287988 459503798 713940031 826199921 852801940 43290813 308297151 186575545 773315374 396673235 968061450 735339670 593579530 414755705 935655746 386357834 221173976 410618385 305496315 240673673 938598521 518817700 330125302 155804649 349273971 995174355 323556646 158424504 242216926 340274712 425787763 470018072 102785359 137442474 167976938 899142236 567752021 831507421 913768386 632136096 70837955 11288031 517363213 219300138 23418303 509917236 775550220 65963476 862341437 24875428 572522745 654108983 378957260 383269738 67865049 949678703 968852404 515008953 394946786 722808357 562113523 234627605 324651495 231693878 236585403 977568322 428738487 451823793 946928524 308241492 49652619 242521983 229214191 322952524 250212064 607312260 138790885 318014221 423120517 592261438 553961659 250778112 583229585 975074717 135081654 833267288 169624551 590867026 384676819 984545463 46657641 146449851 339822389 826222702 371500322 889057434 806479389 660217903 569867018 684716239 231919442 311396790 260406633 607708900 988105332 553697484 318558962 447858849 541088946 948937634 437811983 658772581 13639458 91868393 439755879 52626247 223450744 28753289 99403203 405502667 654029054 394611858 173625568 643655506 143827480 901967191 851165395 231870045 229310586 871985397 932792141 75895623 202131037 582769718 855258383 545510592 791996380 923100523 342195704 940397211 534931834 185353604 913077993 856396643 270530224 616216691 248901625 51592186 252126660 863117679 332498509 143676168 427751459 279241566 848631058 435664258 886461539 335342706 984454758 103639142 988755474 788198950 309715774 466836846 388137987 705105960 399185639 507836165 833218463 987052821 684080863 994809341 670836797 265137223 339299339 612002269 658094795 223740055 640619650 351270604 978301243 671840624 990506117 545004928 77422741 208399493 350359819 332836411 705995265 588178652 886320453 305638026 19310649 181774041 511116830 669932674 947731844 791404297 741581471 203342781 414262643 774781556 888272043 173249889 310823021 567753023 25544724 291560670 218292958 6001433 401244384 832748853 834955271 512183597 24688991 551999793 824881559 601711369 695324796 549163247 574646766 579945015 882784918 667849838 246758691 995343752 695839409 17494627 857020135 338858150 885653291 526848062 423658130 412626214 156660401 626667182 786682910 656319571 470340989 67653392 552641925 399216694 916104614 620427881 862123840 716070154 518736534 238640406 670375400 83593746 713413315 376587151 172707565 17886384 171954772 312169377 127549194 156667751 147189925 966373771 247502727 983965753 816908509 709268453 165333303 466401332 120290784 765525642 364001129 633492715 351534092 552090032 593955004 8386972 524480444 623520410 17326145 103806186 535372854 14238500 915615858 248463032 538862161 192563181 217355067 74069524 248993264 140618982 793408738 502495205 215869064 941970324 461903458 715048855 614991168 591770016 18475299 710137584 108549593 107655462 309578683 109477191 257282393 336300748 77552793 826713527 746215619 326126318 320041797 854128976 952187805 701712052 436343234 138933190 244777719 42987726 904969076 237658173 607529372 585210145 350736529 188195308 223209202 694231096 155023613 528217234 734735726 248863450 954219611 349149584 931977890 354441998 111285928 662212749 258090144 80903121 421730429 50646838 974261036 656455064 505118480 128296573 239739607 644113426 650104700 156498729 572333231 830567413 126434959 984808402 948718153 138608873 860163747 710487625 705615968 348688828 326337668 175375316 149725339 911729122 411338873 508328195 394967547 363227681 723648606 937995855 380983801 201255025 536215349 32882065 128234482 372251114 609557173 459796969 94601079 102855898 20074671 346802172 716582489 521767734 436927768 899819512 91248983 987751125 321247705 397617812 756909947 758847278 683118119 287586294 461941675 952550248 199996997 706042470 777200986 60405988 476679967 306682990 54424303 873705020 353638831 711594960 740168890 686497550 63887905 929082190 160607158 213852995 48921495 999733 539576376 156070637 182979867 431133314 665243405 166885451 236037593 100638550 268361948 131291870 951251374 110484548 274042543 249004551 165426474 534156678 682947670 78602793 587120589 367711428 644399754 177204262 470078925 719192539 142680169 486048422 387576687 29527999 186985019 97831242 955114813 162387778 527326797 748625099 441231940 401810570 95233677 840330352 566594451 32928812 248251930 35824663 827244988 845086265 730917364 952747356 737509199 97753977 427336019 234575412 39464998 999591014 583277959 367579238 476696498 664044634 655244129 144370340 460597107 134345784 910811033 488936138 289725007 626369786 13378186 946068601 206215567 774768325 71415515 611341293 581667350 826773099 191906206 219996729 93524755 468415093 829271873 934995592 352481698 913534820 402781688 179707217 519965070 216689843 760336284 555560997 571612488 131856739 9943690 47453242 12071809 745711782 45132156 902303233 242954669 535569886 243287704 472407821 874864053 820986024 65189851 902131077 472011534 575425020 757699735 922851425 58061384 386611882 226044572 303452322 718911853 209997420 791412171 561684968 688512486 416179524 55693315 675824444 881958075 306811679 653414033 569420784 725605726 474675271 541064849 57674144 77836657 837493438 482428406 984973698 696236084 786558645 686902240 259939804 510052458 988398957 168106596 797871859 106305537 839055530 861201393 114525571 458304548 621144374 813689686 878920123 819935685 638549442 729795514 1681217 248583238 208430927 584067276 501576755 428972298 920012150 980067649 14373290 189276279 514832806 591950911 92133802 544742857 610533635 496429888 659848336 437098000 702820470 209948181 14718373 283654570 302899799 199339 214335480 75113352 684383966 197624175 500430293 738113945 97924503 831563433 724509022 604714704 52591345 103240584 505696714 925391938 634041782 776897426 801485226 302174707 314086154 805889580 600048586 839810835 460249397 707062612 198235599 966362009 791202125 393199417 611125282 387452851 195297190 15550992 723440697 330989997 169348187 891963748 222959065 277126912 178530073 923104 896384793 467295176 460485533 409112130 826679915 151397753 705828378 679402006 92748377 189610743 220932523 670119103 201012617 369789227 722591868 534531554 412884204 979878712 360055203 6730867 502242846 812977224 507922229 745575186 83805395 254959472 727714520 673659388 202021569 723457688 471768571 636205189 23601205 843984572 934013968 726085281 43452750 637894888 278532758 750659720 375070431 136560548 733965271 170383270 244685305 210151489 515081076 269785352 152534399 663080373 583995135 670667130 88373776 353919421 904733426 321597258 800649471 690406080 43279684 325964432 873751875 58757680 446524871 901371624 86167146 753982230 390271926 959848453 69804598 982140066 962579357 163467326 114555165 35899007 977650363 290241834 571086321 35438395 216633208 553383440 921019567 68843554 393115101 876098349 388311489 178000080 139259435 642256156 640228985 782447272 207353452 867851361 1683192 181011276 417335818 715296472 557710923 305234030 98618958 575886228 48463848 619707618 66076404 359173850 610207768 170060736 245899363 246600932 17022318 571145012 859000444 174022750 958557050 499573449 395723064 250426012 19309885 75531515 487584704 738661341 246270114 607287891 375598292 236511499 33225264 873272920 832656203 33968749 150094767 154183073 860684203 979115498 454897021 87974582 381385279 446402282 625505250 468975528 24506654 162819526 177233173 846917423 583493642 512591786 412893917 956553296 294988670 929018113 1683520 805233545 6776068 205828594 338840358 222630376 562965438 828063778 96833698 276145174 553416130 999297128 852429155 391736732 157405909 932672561 635221886 24039253 120768076 263157490 839435629 656670642 214691526 767520454 318986295 414800484 79489942 967335051 35090167 245368732 566802178 923851103 433517622 266408719 543266497 669792976 72500390 950551413 133966371 884788219 883644 725570693 63083223 437199214 204063047 814076116 528060393 390806833 473278375 407315914 454021462 238646012 680890045 63874421 957540957 213942796 871608255 823879662 117909103 177565944 201857098 855302687 298633460 962259606 263088291 969282608 315158003 302082553 737676149 735453753 187290894 930714496 893936951 656316595 397161981 861911562 627408195 186188343 164047211 925836165 31817671 159239902 209613947 688316133 102023078 683519735 801182976 906576616 386418781 946757007 902273783 298045952 368458553 208491073 104056373 614921891 250759600 428834727 630564195 428698115 730799108 196367388 196554499 56571237 924488089 863666168 738847907 918778316 323199659 619575926 776132275 271595253 641808286 371102214 220181577 924492464 370893621 986646784 228039291 821878915 313930264 819914287 25951542 963283938 661087312 895466442 318019622 470082035 127128408 761772936 377232712 235772536 461625234 660795223 51342416 917007193 979659129 277531513 457006897 333682545 462909460 621132291 849896981 234437836 268465605 758401840 604458598 941295487 570766767 997345623 154439426 477248884 365201417 125696521 50105350 115487449 169159694 753055902 200479774 887774904 737023596 873394580 853778899 700166941 261279652 976881323 75248417 429201972 341649916 886403506 63374892 299691660 850815955 77715390 163473253 600275861 135970243 765660037 572858161 101859000 122007324 938298446 340333935 264268710 194542924 772025045 875399134 145460675 294511674 703061537 847182224 990362753 581995773 610756710 946278929 234837968 751154160 905218282 133863791 506293739 125976018 483144603 139582776 667435033 133406175 2814470 642394153 263746725 812969235 31949946 452856949 837909550 229486216 672647048 238565427 571325306 299663797 61731350 987453964 57725670 527417950 256821610 342679083 294282233 340996678 873758610 474928898 719988232 984379907 262744566 767864970 145670112 864976848 320928200 48824953 199292963 798620518 651422098 201753044 438753667 660375607 864242304 839312504 901838229 124299221 672316643 806477839 70893865 273583444 20596136 244454708 174269760 477166447 369440974 221413954 957288132 9728735 550843808 671440610 756347122 629635299 70343906 707583961 933175546 493046512 772702509 69204070 796827933 292671215 499054398 210454968 946674190 829199148 953340903 554589486 546144518 619631176 168750720 177924302 864829874 442470861 975210285 126415620 482697254 376748344 655361577 457437364 743809372 772362028 437053347 898509757 26387692 418594482 520543860 777296313 440852279 427256981 44724188 559176551 601530978 24870152 52708881 129077854 262932345 271706749 538133202 565613791 358344423 934805574 838963388 477870272 43184490 906259189 879954081 790035860 640427136 567261368 714082712 727416983 843170546 241871575 296242269 915467988 549042263 340923999 359551665 535800477 762670731 196854586 495369590 384974591 374488160 763167965 795338773 188102990 122458794 473929827 963127424 757986793 860442624 827598711 112470672 561835297 269998519 571942094 171358355 752026639 827723656 490434020 227036877 928180198 145500165 340703510 341766615 766184606 612821222 902792623 719071890 908805573 2017797 787461209 354066966 360985814 197490160 575588184 150454813 295637298 876964796 64236744 193960858 300642461 436430858 989469726 995007206 813588967 142725817 875614917 795152275 662518386 931898735 176915039 895029356 356846016 506821078 349839469 310550483 458975345 433994157 198881459 485491086 123576959 928163187 136509663 206361940 998985999 303956413 166119743 778023920 188808637 235729857 794352337 698085 834515683 41874072 225449363 110537057 143099913 381233674 508762042 756044281 963489513 321597333 744416569 249503566 400990452 740277814 677674493 26414228 216802773 131570943 611112210 994728174 480072823 654306278 605459251 116113085 709507446 283690259 600222729 206986747 134019739 674615922 102639846 725915912 800736338 56960968 910263106 206896983 891277673 208976773 277804240 189356806 804522114 986737480 316055669 396426528 983848814 56901703 321865199 760948019 129796656 207115488 496230254 747290914 218904043 748237219 281359480 746515084 436999590 952598691 776101264 756534206 898935968 337135024 313533677 942811093 728892989 899634869 849277126 236810736 813287166 201929327 185682644 679168139 71029731 452829993 119393142 369032901 664368721 318160809 850063737 180307952 460969450 811754494 846951392 843425828 121763157 879185198 517707259 232140516 939780373 615299232 250291360 230464463 218772227 678230496 68504044 930921764 648380114 442897999 438037717 107486697 353279578 800253285 274617339 21050701 382688726 431170464 130369891 255393894 972580601 564595026 421774221 40717303 576780895 535989328 786988836 765383831 227364700 176985191 435764154 132384061 879136964 279964213 38758857 575387523 250551091 836307502 396936927 59457426 819289929 847114410 188499767 15063436 350904949 779986380 878058546 566686478 856809293 1531847 322580248 343821585 71623692 694722622 523537345 162312720 131938408 291378091 938817266 798134309 472964954 515840055 827432066 559971002 544239844 807726375 324438893 972937737 540004541 407510929 764160249 490660543 388806879 950709894 139699162 971303129 272858705 59214364 483189086 785357880 864108710 708280910 196060873 56402183 200072440 304706083 55346542 104700565 740073385 696508042 792113699 451033498 664921127 220725582 555820117 254275132 730944458 261083473 991336819 525892229 309639599 865773763 460945166 491005049 767517223 400345875 969002105 119016399 664550086 129945018 129597919 32075648 882574005 619065436 282610469 538305604 359093613 562963180 492418366 57360741 380837374 907329947 864259178 159159335 445142874 412504217 21371448 823160942 278750199 769822907 46922921 196321154 273419957 753740441 112302529 230084777 449581232 497130103 148379684 432061781 417647673 723923286 553912 964104803 938891362 710796388 313426054 680258054 299217283 489144470 871837013 610783518 768142144 341498739 844066513 790130055 160070386 261275658 477909924 876109092 580661260 612207144 97747827 127378167 122261254 563724074 723110694 21537567 677097213 702200801 328796515 931842897 19385925 936426407 826129935 826197160 100088175 831928087 723151287 376080517 175053973 309932335 707611876 687825239 761520516 491494652 500421625 268588123 722117585 274111380 65986182 273925236 427672688 3433329 751345016 326694024 920830282 590357254 341598892 155924285 261619519 233493705 324484705 618985945 820989121 771651945 632039528 448500790 636095796 578623559 793451452 27375718 338058658 406568452 331618790 161836384 512225921 25697437 740976185 116566345 56873712 394860255 123222597 440247760 195296836 345676124 790728767 617652895 867598977 586846929 634936372 905872838 398137196 165581524 160965957 381663302 960909009 224104804 170316037 864049485 288290573 313484265 35443637 228490599 636914631 872291262 72507506 167443307 989327946 489293743 182351522 552761250 414881086 639805353 694398484 143708703 276820337 366469289 768335831 10107204 635675377 664503930 883673482 919099761 411610375 612251945 591204415 451955033 222317046 9814203 210822091 635296506 45701587 354145100 850228821 137050991 578026007 194355278 761266491 922485113 897612463 99795422 329663158 497771492 347577395 769301421 756057921 637578194 719304664 316506609 532694337 76045742 184058656 717338643 313680026 762753235 497489011 426205778 214305512 434295268 235601369 885912508 797095004 538869562 196628665 180073218 518802074 192541249 89990948 820874072 581314554 455619585 146016035 953051201 808444862 103010329 639286798 722807446 741871028 498168046 617160470 744822142 267755642 191214716 576030847 689057123 571877952 132353410 94641849 364863806 25557401 768017715 883627779 527769387 836503388 157414127 212451248 26351966 901864184 988161649 410885744 524440822 282537839 315590262 540974585 426007876 201740636 123091113 425188525 564544347 885272066 414779364 745190491 213716914 713574620 477572844 514081482 712619920 654048809 908835441 291443468 25873416 909147581 19612144 295952830 756165734 966982285 568790763 905299825 559642341 511195002 334020268 810245952 30718666 882695648 475577012 177670904 235073458 36522286 871884624 18219987 111634593 237853300 537855722 865104492 665052620 280134999 872615441 842103414 528675359 997697900 660778217 498072539 685321892 124332022 525861429 679601084 583383695 555984379 775565315 626752241 752046317 109484218 262101769 851290666 340396333 32572401 893286801 272572307 79775352 69394029 697549203 76418601 696574410 743015841 84818404 534689979 653781739 437799753 289831352 461228861 83855066 17771620 820528032 197761641 831470349 22302720 53667333 118248162 790152408 273873813 282067960 233006554 621152783 950668635 541684375 590318203 228864148 976661997 675256722 500570236 795552118 848474201 14057099 645805581 78602627 555057238 271756891 381609634 456718714 326682637 692649060 706352075 834965731 294460064 458125577 893946190 485193007 641053348 401133519 922652501 649036781 64055399 439262814 211951378 873861213 866478324 264758902 852007010 524454021 571216376 313423948 410380043 899024933 789529138 70783529 533671280 99337239 308213197 107229464 59413868 802471062 510480453 48616580 206736533 93023130 737646029 858246404 101003531 204142895 525475692 127098894 494876565 771836214 410820524 541739747 73765896 203989523 590644988 717413892 85499858 790655140 619058120 400456082 918422507 216365978 872232077 29599833 353449431 99593011 899183697 794180167 60357132 91047373 931814565 765898676 532327298 708593063 473805868 134766579 842351965 312145047 327949953 987492938 439659737 192717002 903563813 510699915 809996697 153340702 508139469 142149898 854400699 692191528 295114870 278794280 480171341 677628501 497275453 35187733 494022197 354466612 662209478 298170 327691054 924461334 696993006 587124421 716141499 91401311 828958556 750504201 537532897 107840538 178455502 34322052 110236873 792736691 203680488 206726354 126701983 315825787 818162263 379277717 242447836 406617839 122194760 952828476 904654229 393974165 339694547 285065992 624207659 88877332 96838669 928903225 337831150 221368635 293976505 949899999 222782232 917500704 635329469 788739869 708824852 96814156 450125282 644756962 956810989 242340674 876611746 431233333 7200748 740113695 503769923 612630580 103736818 810909723 511920344 999058703 543161223 79245643 603812403 806495013 3335748 380204928 441478038 277773879 86797919 944738660 822489456 922722236 723340622 80268187 564948079 448797853 736447206 43861289 775592676 974173653 294561922 294391262 813354464 869802241 132687240 180836943 957909600 685664504 577736923 38475172 670720051 974073342 272106084 136448821 192224008 302624023 512206400 71403832 856264754 376360375 11316045 188215430 735910765 16832762 739721570 841333435 549713927 755977477 573923309 225811112 166359274 256408824 307985893 372240086 554778949 969014884 447285203 456262915 889158926 240826127 806829751 83026314 859206040 525314228 468088203 16060691 751447250 195209899 542234019 939741607 987945874 155157452 497952693 952389212 653939083 624664349 290389186 624812660 166378281 184092646 75931673 118501348 545745538 715697579 501699358 881109747 462475016 909653467 234104160 767954008 810057684 434354532 42254895 750743014 699916326 849733977 763938124 851958336 288978975 198103407 678894130 987100520 887268434 902007065 57306651 602889727 180746786 290888996 771538062 21525027 15093881 600158631 361953732 44748025 619751154 247265227 415578499 355449219 836274138 527300901 646340436 729150955 897437952 932623261 236164680 359029245 14943155 703665921 455435902 100217086 250040243 21429218 968943353 424542019 828075884 860546833 201905888 286286524 943802415 233290332 56370142 285017348 325871245 583674039 588430049 132822122 638310663 388078395 583236798 253784787 604641772 275879770 874161373 6424548 357724194 881108962 143084428 641497541 944744368 478228135 432027668 574497278 693596551 996766044 263340524 126059988 146481239 290881626 646750897 655110450 3549333 620400568 168370728 921828781 781612677 764387085 203748258 216951394 620565734 602745514 766538124 853810989 247712407 603362174 947522123 114427575 3472346 256640437 225162509 797677573 36424810 848764412 227140745 211956762 536169856 456262816 46216901 603577244 181624127 564590660 873007717 298030366 197377245 664353137 464214326 385641720 64649660 362191232 824017180 747903836 388105215 226691688 321625802 616979302 110751338 529784348 342808929 16184717 834534069 84917078 25693601 348341158 994721879 915928988 661102844 505388675 235843261 604939487 144235053 543686336 237439763 87091010 206911807 545498431 772016078 901371100 142247301 453341096 537002067 530803007 387601947 158041043 762784230 790506523 373348433 243904907 65516300 373126272 45415490 840965976 105808334 196833051 815541966 26761730 974231617 881699391 894919063 878228642 578872952 309360996 741012821 132826286 1537181 687983439 312534589 567559459 434566379 559562777 583811965 31615628 326670161 437639986 72990468 790780413 983796865 842201922 106652581 973222756 974730968 200540297 476280948 836051876 677136064 590302609 252926412 796368888 91111303 707485885 979990531 740932746 714200355 933759627 173111737 204931833 405272444 649548043 98169085 876225764 319783872 611688049 806253590 66779427 330413649 741469420 969866155 822537711 100861314 376425484 179700055 932794156 217870171 75767048 884341941 12563723 811023110 961478391 341379439 978955052 658768535 969070247 825369919 93976030 929773021 738640096 261918986 660921585 909937428 674426909 792514095 65200390 149288898 680284830 326024388 396442223 882594395 239934607 428490291 361404704 406359190 214004770 640092747 242513496 417201736 963500644 456390581 436817523 516848032 617932686 887850874 700711918 939765744 184557849 39989423 561002518 430479228 175352674 188681114 108118425 791406279 249564863 374966949 546392633 582142786 532640225 446098558 210113125 867079714 603589043 931545171 92143724 596028844 924818104 286547537 563408235 334227295 218317651 205254940 297651413 795082567 352496377 935635041 824977268 383199064 508914517 384392838 945931154 164386762 894913155 428216536 65430865 660886035 716491227 255154969 929221734 376867986 354379542 902693956 199251200 681830173 282390982 450535271 442484858 234995392 274194398 213310655 803001250 897576475 58489617 559311563 380254795 179621577 560192711 18588648 188864929 577008359 625386538 978204449 606716716 260083067 882275716 626872192 966777269 432825746 141108184 14702471 115810423 833832559 281056506 607125203 613276114 227567029 885529652 221876494 234694818 371082875 353434259 305510562 548752793 488491790 881490175 727021947 569121169 724816487 764161774 474396966 684093602 237233470 128739268 83660151 144926292 985322588 210018256 803342623 381152406 96798061 815814650 284695787 107049397 278079301 438475890 738762940 205401850 388714742 382364251 593057846 814292635 104091060 216729899 361452502 464524249 753119120 819214894 864140661 29573885 972849800 287550659 254179991 690141577 39239933 710404302 87750529 585684840 52991324 567872941 215508866 981764623 299925085 970863744 704490480 146549541 307053285 922453977 539232472 277532188 98956902 902226872 238447358 176555978 18349388 666266145 222909660 541134452 457184680 883955997 254231318 194228926 524965391 334507643 128292690 25628520 873545112 792097977 850144197 793467857 230668557 77267573 991748436 173835302 986757893 162805653 383472145 295303026 500202501 525223478 289497540 413475277 385234415 88428882 166970870 460238009 678823990 162989385 189369337 604509110 5171922 107868483 20009563 618665332 977451352 763558503 911841827 878766568 950946811 617708997 657581607 155234330 780873236 930611486 840487604 452676524 342319442 939138262 906755706 173770989 835067492 559953871 470385331 821160153 281073519 378133189 805132042 860333417 194666344 591076387 819582431 686810495 37134812 116943874 722972189 256773527 537035522 94593614 416179176 558483787 805110008 664456688 536197829 88928037 266561763 696084332 228417104 950101308 966293169 406030659 699384264 608485202 802579816 332808745 723592940 833679007 574711501 157476547 36387654 246865083 816310419 867129505 996585486 221851973 52057368 665529592 585125505 371748837 192429175 563770645 787412004 821816865 922652791 101001991 813977566 197315621 526467240 997017158 530516255 332433860 142413449 759789305 714712121 375065090 371471876 703044259 132929750 532590645 820805935 40804695 895498090 704139936 582526773 259234718 263080809 443089842 185509764 431630050 962587686 594766148 732267274 484305357 878582284 5745139 138945569 90277509 686255555 401118680 740792586 50075431 830150605 990127457 468322450 76447118 143602717 160329528 620684201 806187339 983500558 963040187 337814284 176465687 474653493 883433925 933821685 593419946 266844929 749007490 702016873 114907355 27964510 138709784 729842599 132690681 182126750 319055312 884264602 901414811 487888313 572349247 208064991 992840364 540624823 61506493 276051235 872771860 204000780 533995979 504926000 992456252 933782979 311956275 746157167 392793647 671767454 990743305 447973296 173463724 664642816 642807672 399456810 759930719 21542966 877414587 462754920 835182933 741593308 458658462 930398094 760616114 539162558 655683968 557364793 337168977 707941167 723808891 91285703 502502719 642326830 991904061 240511769 447710361 481874490 473895758 468574929 87162836 858666231 794010346 475808077 41528328 549735782 233522916 403528774 878466185 386802880 400907920 526374951 969021118 4956447 739554899 617609365 843988315 232509781 680106804 511662349 378612737 47780554 302089739 464951770 602067281 46185422 619956383 608466319 353986442 586565893 24770151 999718796 947513783 793077817 409785603 938946431 72303458 533006269 563094043 797710325 362530570 332024126 325609398 768871300 958035451 862387617 705918998 450757300 43435465 314411386 682715758 325237927 51550690 218181522 21051012 193118878 664439552 142542387 603278250 298921895 434031697 222140593 10964872 685520362 396788729 5175186 613125026 110432406 31332674 836526760 599175697 361118682 203800096 131074193 120770728 431444755 158896953 145252352 900819592 447004313 438568574 977008378 383001149 71597233 895674031 807196482 365470334 219959754 148384530 131358196 872180835 449889399 550030957 527087351 798229823 586661878 419303214 54231204 463141007 484189732 164298960 331065287 82936349 282902626 269966054 941720629 66803447 37727902 247468110 458385701 631667997 893562867 216455231 999699702 544894611 298759624 327246182 705142053 527590947 437325314 800309021 250927075 479234333 619523904 431821914 447289322 818206627 629263046 353234509 15979435 617524217 396818527 538607179 611681611 781701129 663424890 180940513 608101041 544895479 145547871 945733305 612713746 171192852 999572609 52313518 536692625 622614914 4174561 194679951 983498085 105691900 630203763 678150674 571104173 124771857 873007426 748459724 252947301 70629422 181678173 509351569 183066481 521429841 432629619 729015131 903267531 174261884 52195707 224465401 466405019 152628000 491806539 683622178 284942343 211767155 732549636 344770227 122621731 492908184 45606559 444478579 963084003 923111756 494080327 392558249 484293659 458931082 196502123 353283277 487940048 207802142 718379724 6684322 761152645 117501204 138838525 149299438 302690755 204360942 649651345 998656496 275751937 58877464 339635977 95933259 747644602 211512214 695868137 168489457 335698197 887588197 478237877 672405435 673804446 671634838 293512566 976492696 398757658 619988209 446701222 292946517 179066756 111155845 744367262 626880325 155690279 372873138 390176436 27795840 154869821 964795593 372636293 688944452 437639087 280767774 993106943 312499770 401437575 294349150 130105480 977027755 511082453 309547526 439690008 898257081 857083770 416221300 859890567 933361920 284048029 612391063 833156099 128529218 763100995 560892145 68994589 128251993 488011765 855859128 597251882 714310214 760578682 598409639 706352548 346360348 407010664 199895370 606926670 814431448 693843788 779362354 525347906 462393726 27887571 878092772 89448068 861296717 795830516 310224303 718281337 384961729 829175485 342136657 373879795 791564244 53222528 686542154 887636253 870003703 874234511 958167130 298859926 453011773 247972646 122528614 620296365 614066624 654310691 92490884 353131681 193609755 653849472 313124547 473421384 343276379 710804883 364549853 580914085 228952722 290574186 64635081 848558837 402104111 164156852 748747724 181461951 629688377 721835629 687581523 766372819 432854492 823820730 434819485 662872491 143251752 598354890 149227791 133198460 941866170 809875352 321122023 404942723 740887720 480879899 395424040 443713832 59703360 796992043 794538568 771326545 189275362 301014715 704458693 860796086 372153602 888402165 888515201 90439831 138735359 124238227 308775382 247757341 465109286 687581979 361486363 277425453 354641655 391813606 370700308 647367148 229193363 506047623 515268885 149528164 700777160 180378403 300113473 138149704 466939266 576377260 857027146 785353202 509420764 904758343 942251727 167818964 717373622 911102272 638771104 409406901 341017140 668492225 736031868 347477069 78899528 462666888 158385817 643510990 516235323 121650270 704704433 766670792 39081008 343958864 298522546 987047070 10544373 524143228 98238674 268666941 954455691 937023858 651916192 837381590 157236283 982988393 909913700 528744796 360492383 15722585 928881890 344191428 60982948 556253488 243076579 516689680 712100258 556183783 233917426 198456986 735845654 256741736 195593230 498284762 432804443 179570144 197562272 118293194 49637994 583194177 539147558 326038732 666352905 111075223 587638662 684939248 39718873 864763889 786867217 106865049 807647190 486617697 686541608 1623359 316742310 815495599 749113107 196390804 134348544 345314366 373864794 988287208 8514189 350468292 162846959 544350951 941428621 696300519 746250638 650702648 467262935 13365751 429400421 943881699 296144526 768119349 196709784 569308024 132538269 96918266 346164286 26684778 664426434 30181108 983381264 48579928 311198328 169917333 11991749 569096328 553087569 574451326 28905251 486406979 772895 641541422 371476750 587275054 717712774 798927716 983401100 560636033 792498060 586304989 599564206 739968939 625785448 521377978 226331323 331530138 396866102 787217114 888530305 800668883 973870074 226974728 872366046 247196004 432817818 564223531 427904586 900847848 72019890 270913330 913998496 739559706 901046122 346871796 865619113 621677343 738403869 889841852 87766327 341301345 137138501 476083970 806385408 714690680 774620118 46997585 389659346 549109996 616946461 256907157 909780684 748974633 49876304 409606009 482161833 950914932 616226958 767291766 541795768 38539598 141257728 230136224 473047172 950120642 109743523 862498979 289588101 582107910 108081886 477290028 274467955 168432055 963550425 676989317 879137962 247799718 760018376 554671171 153015207 128415859 481004192 932634481 576487121 980564578 183825606 794462094 436402492 936911520 492944896 43437722 6921942 572838237 419818742 224388962 773076559 379609063 968078563 602221229 348903548 368873692 634518098 998757131 457243584 296879889 104950083 794105157 941160019 812471 281693419 117627138 912886562 17950099 524338192 11320657 191070152 974654827 411720894 157602714 781293057 734665906 444168269 114715025 83225330 287537982 234443540 311645747 372311295 371376184 347752176 509076172 854938104 36851757 431554202 623609172 316333709 195136261 859775607 647041514 982456131 692867401 355473981 225402187 505094616 263695796 763654786 514969546 186017461 189981424 978462038 434015249 848727895 131080284 446460590 658783420 804992355 835583073 876160421 667237370 965086913 800473859 574546129 585195111 553131530 247410906 148631487 646859172 455010260 788425400 992893608 856037784 579711370 859901275 806470869 256871155 628729999 192385410 371853339 318822492 423820811 571221977 801776936 874946912 164246817 737741208 961416471 672710400 70068857 960868353 251376730 616184531 713456489 209723164 252246698 867004196 952448717 271436078 165448740 724951272 173613871 669480032 299679829 606086463 865765188 206867797 957990644 108755302 126226001 401518570 967346529 928607505 486436212 905344129 586593915 3521084 584293635 294048685 958457761 501038797 121632449 702112207 941458281 56195335 570888932 463245295 727671937 551269096 377784296 290744710 323223456 254514307 437464428 137220905 601725518 49390412 286286938 357436961 865739052 977141978 22188393 546266967 839255707 43025017 544491725 286699872 665526069 102577882 485782644 443986562 85158583 430306220 126009572 820444601 793997698 234141980 915524665 479747191 324408348 19509955 3758023 607647495 858410982 217713722 125430739 816496970 611542720 676146072 407282449 612579837 218971165 994355763 634514861 289284459 179118256 861133699 121560262 380106990 941249215 393613738 681538445 595985319 376311329 235794044 992414845 185819389 421689861 898973485 463564346 706976063 108374729 103145994 483848638 884263419 1791401 583988678 834732951 848967494 240979167 10721586 477897031 159432060 744341040 147236607 78172897 233887441 846054338 878823022 355359212 987898133 938509773 832686963 252621050 559938202 115796204 343966306 41435101 670830848 309817837 365832669 952455256 5265505 588488173 174546210 955890854 20094153 783688703 27487908 988442592 755656381 709745774 910707868 596065279 253778446 419478883 739929366 160953637 937440834 271065953 245309397 693953357 268269991 27333366 832154435 529763510 322177549 412412313 883023393 58103993 292064025 855737365 793458962 640469033 864239252 166277786 681622335 21130435 898556127 201265133 961484563 75913858 667620280 382269319 970326574 760808241 700932573 897664314 645387511 750238128 127999439 442567434 880325847 243712735 312427911 815115649 613702399 833707130 931153188 887024010 846085297 864552881 537935933 471560231 233848678 747883195 894416986 840058808 49026612 354715602 537298196 694874976 428851998 219297758 97992834 81470636 520740337 272757801 353735768 211237392 562583757 385151977 55875202 178321206 126572115 115328683 312529730 545859407 658712778 204310759 421896778 582129655 50438493 258484234 863815836 441553951 62817056 601178041 281605205 863724050 520828315 362719766 433625409 875545455 968674056 562482973 657340642 937359932 723082928 119946151 717140021 425061234 314900038 600139273 507989730 230675445 204622221 531273142 733994652 810043427 273785577 82091080 170646249 534062678 21774115 892979919 880799297 132058734 906817944 310327797 481031478 22594476 270993839 852477458 538777677 131195839 914842569 646054508 101940896 685533249 563603723 80190440 666906107 232117985 248293057 29272412 683881674 347990116 75780221 717011937 203371842 600519021 842033336 254617660 877347636 243222646 19172050 216736669 810835848 71909608 82900761 735756044 661020130 926468938 110686880 763438892 935615448 689798404 237025666 831285307 417637747 490787977 969054824 27525858 392015196 298811438 517586850 717714541 97985189 752779435 123040592 840158940 98104119 320659625 184344969 546356679 828096151 740999334 189999771 288143782 131227277 29380629 372417685 682752802 734776440 18575815 844775316 685345118 668061669 190073770 533317698 62897187 104913596 528989178 996353556 454433538 666746502 861832370 565300640 39257939 90478771 244611588 541249182 481807767 932743879 167731801 754479072 105203360 668848537 473460251 983827845 905788145 630132519 222567499 23661971 251875294 309034000 66269959 53432771 889450774 209987189 547792841 811123827 770397169 288949376 325680686 831217874 953584915 398676161 793137956 260268144 667590295 416619660 208929312 747868344 63605379 779276735 891765040 344597593 351709160 82294424 277237099 720431860 341141415 649033414 49986076 400777260 101552859 413019372 617051723 167245970 879342279 566401988 212065189 854296838 486644275 436408111 91835624 305729968 473621147 360425419 485155800 360769398 583787205 774559085 780330687 49919210 812616897 239757118 66238424 255936315 775826144 648285327 65408835 900513136 266616702 562486510 165339097 532807115 231368544 247176653 740840589 959329593 10889013 183262942 673521551 481288872 55615221 616717917 260001179 249981129 449375601 210346517 460486476 56132732 543463685 76932596 819400483 518509537 907791653 808652484 758354932 375815289 198235146 608053098 279767607 258753901 282989293 930478679 230435328 244266754 303859947 861410551 478723958 439827926 464390941 197673960 490584796 954830229 172911860 41604451 197547340 173832898 199034298 599246656 489992979 646944891 983544759 71170813 623532392 619876738 407460940 945798056 431797607 994032642 113716995 247905673 203371092 500641679 475692943 919138891 933387486 737725891 762414812 722677762 742645096 263607333 923278546 233872756 947875941 714283977 245699715 307789253 87769905 399333270 899684896 789414537 541263170 608379170 874085253 25830814 44522510 15994477 404423155 129694864 67127069 836204250 912276891 828752816 671274861 961389587 324687068 206666885 771080601 969669269 569207471 416139660 902846935 20073052 755656647 304964980 912400718 318971923 928508811 782958349 998067934 217252175 45875722 96503148 786496269 416183195 575881084 475868097 701133529 494736058 178193887 859042011 75915045 707417748 76286130 82386395 67930904 491413861 959315051 290589522 178699112 204238073 937966506 194885919 200918812 9092003 54777799 8476850 259208505 17124784 908939890 26806504 757959816 296266472 260713763 3429479 151982131 487697445 105497378 178195868 267967410 133088641 6657255 167526407 407914164 286228415 94233427 953657032 377208482 27617830 982379880 64116038 689744124 258637579 740187053 139862584 957137348 821976007 25750547 273297915 847181274 45108333 802560398 518009834 182175351 960083627 281887646 754387351 970878463 389338735 489364792 36025073 86623903 568774269 211813930 549416376 386339301 797608773 162659660 492734650 527421980 867198881 207263343 792517226 138428402 749833548 354249456 841664225 197060353 980925841 157915709 182614016 775137934 209734426 245593035 979888785 613691662 872309851 33769778 671239062 454326132 740229696 22765608 246510440 542230265 662154968 640177328 99415065 730806377 664369455 466002894 422343295 673734812 573362127 606241874 80771924 677134224 965944446 895680408 31309478 746445948 15182596 549179202 9722606 988552680 375374379 60144577 982073537 694979672 614115694 730486868 907545881 981946442 985565248 264880599 677516475 460164049 571660627 303519080 386781235 582401305 539116863 136816895 109434458 523867649 992679863 86159610 663384218 412067224 989827165 677724443 551740626 410950848 581636501 713810605 337315031 183512734 706393295 947487633 544896559 4053632 914164954 545222504 714068257 367036910 37332672 459454970 393276200 75573528 328613829 770094805 755409052 340520158 730317568 894223759 768955590 619283155 751360778 301010670 906025158 970257360 903722259 74808795 102537780 22779822 677450903 304298614 66336375 997650887 440319852 646366567 908529389 976488947 765901447 258325153 416348965 50369943 405146667 340016914 430985416 844890172 602348000 177555459 301802065 516571218 88742347 838404807 119083954 804727830 305538474 88063650 238907554 631350257 905510200 723492358 23791292 250850429 870383817 91490284 33041133 384262848 158551698 119487665 62107654 898117050 848633417 157631013 93897765 610407468 48105160 880299313 439203948 508332785 964568941 47688683 194181625 343151860 62017843 67378954 140128729 886761434 240293118 99717278 246804255 310120139 586195910 48945202 567953056 210227138 878574091 543889250 638735598 114931106 583409929 766775736 7718877 552476775 124928111 378440571 398502723 833798684 47276809 181491177 773599054 186916014 710044647 347032773 637113740 34277934 807065012 246449515 198475577 606655726 231827482 473040193 234551207 577188857 739256290 414039845 15943736 880805384 550501245 882610333 90798553 386120604 346724166 515636003 315987126 418932414 702900392 514894625 762718851 742440259 639494849 214314834 121463083 88531068 677380361 103597204 271138249 318556448 458770237 846075562 722530124 864754870 286455761 233575223 246867650 35871449 90436621 708984203 729543142 418379016 4191304 12195710 463834848 707397260 8162051 261778263 83423069 922469431 598889083 649560688 293716485 284483409 977931136 887918563 600011833 541685313 760936171 151975356 106222202 869701653 177134515 66073442 516652234 387356898 130153930 307683363 221388433 260487097 750316657 337400332 643750237 12528711 970780330 458833734 96469356 67256221 977993299 516476578 620304181 960313529 103805599 67515058 122753350 70042984 548360156 64245536 45199135 83092108 620749347 904683460 412165526 265730493 789233010 727549904 303392199 197393405 164021276 516937251 715269082 955601506 863583170 918575150 978217392 815472382 320069544 154612339 988261616 204155673 445140168 772002830 270003081 815613285 115473948 609849950 655293100 890995230 962254105 903771646 987169575 195817701 746793534 437184388 703171725 58528780 704585677 101430272 239566815 618530121 485940321 68655613 964541611 997852279 609592564 644968194 659194916 212130523 407713347 10332776 69515865 376848332 52216076 586725583 107656321 37454979 138429417 472026077 776795226 168507669 129867523 313801979 501555482 639237626 140554881 297725406 473628187 425841646 510673319 822559993 733635990 395308260 976624923 797930391 349819341 371070855 221656319 512469160 768184480 996417576 110406693 647535917 549313822 818414560 590679743 143874684 897478116 720990958 310404078 882504051 347361874 618024778 728664595 548789371 168805496 253521679 568260859 862676265 187382724 917256273 274552082 21481993 557850182 355931571 43223406 374301272 978696325 651182979 488661998 854613632 757447324 639766951 948648183 984223273 999102190 659769340 549773106 490532009 168580238 975965796 56606386 187279415 411746893 435425221 193977964 174296374 383311591 860513126 31821378 283305036 873962753 930609190 324459336 618747535 262640018 286528703 686891627 891418250 771401655 753858492 295590984 679440720 658335107 337143769 353426162 734326986 867863996 133645349 867184119 437662963 893354995 126968190 88395297 79952335 518848939 347122394 316084525 516935295 922057333 991540805 764077419 414833768 636128009 307552363 56264156 920604520 578954179 989161086 847908292 35164405 539415539 796454164 504678158 753103734 825505751 777723177 780175844 362113949 200903456 110154933 913996840 418510643 858590706 81539710 638619521 978017551 963940117 493517297 491650721 474515910 755153981 245499614 191003449 549406508 953690491 517643348 61125592 216444930 797280046 242484628 234995065 601931808 575601650 455925044 455721141 237072217 175589945 346744464 202406643 461788658 889984361 89739481 308083346 938061504 531842926 148197253 76648050 359027280 180363392 112160757 179078573 298383417 139788525 22617410 855363482 348865755 697734820 658292237 696265093 182485196 367273605 802648633 284444239 499869759 822486553 566272970 725830648 695319734 6750387 276693576 336432089 12802783 264719197 411138425 774647062 638690988 159522939 196901185 791418331 192218283 749241642 109240408 189382019 882282738 12551839 249785918 440637395 275717445 548428499 593262388 848126096 43419130 760806371 140223901 298934799 776303692 542944227 193719901 933669406 983175562 951094885 291702770 581182310 614860073 647811850 574204483 970279583 971293057 484294432 663539455 716721718 801505871 36011067 828977267 696238508 498036500 206885363 43069443 970254819 203289700 623783904 160777814 552126599 431803505 450309035 516470762 506929983 154500682 716401209 704686469 178343287 288429357 316250111 39908131 944868691 502417405 695941307 807748536 797962082 396007001 860669445 815871863 432814907 592157043 677278401 893984547 450965361 242463402 534819005 658781687 745431216 50967784 174401195 860067382 855498289 973521285 855738311 714433916 243143897 480183524 592404036 132459691 281944914 73791034 146666635 929988944 513047483 502896639 371185554 72325917 298445856 750409668 449545799 628353027 177971269 125441800 176748166 867305372 241478849 845538140 513763071 14183307 507376813 257735973 309120174 170957996 968263728 10902409 478853746 825914017 211177688 634952930 296615191 639762237 563835155 182208422 722956804 137738 920788956 622387956 240189294 94236134 385745706 821396851 895982565 797629059 612104056 950363677 982605248 349201592 297598883 773026688 311935070 480535709 294262789 461687794 197677220 505642602 488013510 309531369 789357768 644022340 884227702 753083860 212740363 894536980 616442753 490522803 374414619 765666386 191994444 343089388 104196893 242727271 183300944 261317591 373160419 124326125 576813096 544753665 374841801 584046882 71167143 264752764 553267618 983148190 511004408 587127359 13882055 819994416 145369595 690780579 961778922 406412354 557177576 167575564 349377482 237849951 553048531 654075748 168840091 304552347 185093305 493011650 398805884 219119235 4088715 410890069 55899634 683293366 7448085 416247358 700860459 833218427 594781261 70588915 540684480 968491801 443559096 822368763 35625656 97721754 264372986 974349243 788767727 361244941 68655191 312161776 628800868 421439649 305968651 320507438 164314748 327707092 601142898 524806872 749963915 342743255 271057183 88652167 302345444 81118024 69378294 677419479 951979645 175436472 707780268 438160909 735675449 759792284 248608011 980359280 169180714 997745102 306217361 385396936 199721280 372479574 277231617 238793960 653897320 634839809 46998084 269796704 322661600 151554472 399380130 40435755 224569610 61838144 519093432 372024565 15802777 115925492 753049690 675232830 907451801 105161930 730531555 143692236 379895306 19634888 241233284 170439219 634052350 634757272 147206175 363524972 1699639 511748771 339216297 46221961 344216632 371208033 897587389 407907144 456281874 353249560 509510744 358784247 557963823 526875050 196451992 484936193 52874742 35411746 942027029 628933279 227400875 357475071 954324951 209511447 623421941 653708718 144362702 306843855 767703850 369083506 553246922 900862629 247391736 805813099 166064825 472278643 340980222 78788526 732442157 919482041 803412861 306847167 306792261 515758594 329154007 715319542 961164328 52856215 529194894 199740266 81603672 422373042 200370197 52300670 47023313 161073573 843455569 761051664 702512429 881214440 732742518 47447919 700147648 227184 781404590 700282031 764119195 36454740 490593093 194858574 865388293 606995687 804696470 389904665 452114680 161893228 240996657 37122669 262534975 776205240 607884651 527659986 268832508 140368852 131290129 31877376 440297956 540692421 972058406 184943808 311209784 320231113 940505558 333721651 723360282 937323012 6221317 517832226 170473226 271016230 979414271 272827047 982706966 82609806 839181708 701323014 376540627 978064243 385864501 238075843 888710567 150745583 846491844 828275606 936230439 695007251 896277411 97786959 390043853 513283336 520200343 698140488 847567738 584313014 722390183 526566590 93828419 956525398 255089081 966575952 985447556 124658527 785387843 943901649 466595807 184819618 859499682 413701445 375881195 396427169 749119360 757265113 799317600 546487010 148570315 294207992 307243598 472194677 506967494 132267755 605597495 712718754 288406021 662405700 739726975 941588509 352814883 810152313 226806486 655339508 718334240 33942464 514830616 94211326 351799122 759105369 964599079 166116861 894910290 482443734 272834311 168432112 977006642 524430896 344268495 464928623 153380392 416143698 378837598 160814185 183997417 938559151 738180815 796440204 57709687 396583521 746899564 481529331 89718927 324868410 789169084 227039750 734943361 29487157 343752698 366307028 704933405 994873337 91769768 28996118 634763852 618989548 165537068 420948830 405954 158007256 554979687 128795734 797339405 729641913 359436873 260697214 623998375 112880323 32739961 607685293 785842925 906703962 53318562 28336400 124761488 375091368 796016447 101892678 173085697 702538050 651861629 359906679 928448851 755695676 355864849 321391406 172175589 811374352 100658655 529664528 753106064 208333947 979354541 114486498 77712591 686473211 915540246 885668613 726417391 32288513 378690243 164033837 909831243 144567504 171089819 877622341 344603391 918663174 136235205 124357616 66172099 215958981 694820151 948106045 118928379 396748375 223347264 815937533 156399637 59391296 92395358 33257155 361977123 497572586 175307996 159322880 240874045 723890582 710160661 112180009 394278778 354375453 924768294 667697300 695367718 108742345 254539040 30150224 87458304 612306088 146032233 750698651 7822717 541136621 328727855 311706579 545103712 540785052 343444409 579788780 893995155 54532673 367299382 427876271 348197035 749075145 46554583 319508990 776351971 417446411 128925606 767402192 553638064 15371089 156525773 298468646 42910540 238129516 369056609 986541221 377369548 414218374 219224348 308132454 825235589 364364379 880300591 764256081 291587968 151667478 858160199 714612662 287010922 942491744 14046240 265704617 618135425 329197001 858205280 627009144 208771964 8281493 98589294 772820288 637994248 789973763 164987036 385167151 655954969 98040732 43476150 710301629 91696286 616484159 131072587 944704609 607490933 862104769 446797059 918006282 118579587 684238743 145917452 573359024 548087007 146317022 970158705 52451028 819245953 285396466 334467114 758632580 605896958 717922036 197468107 932231935 659928435 818105584 141649947 130681110 844481159 16484558 154440261 976408473 582511452 997483159 750554253 357524375 399107325 995446760 870922176 589779426 506232858 231880276 61490722 311531654 680022577 427182220 236395076 897530673 767046016 572980022 717980921 451978558 107486178 591645033 616111967 612946726 256266421 595488759 93148305 849044507 931127751 498346944 190998002 977459174 683550595 180899726 471920455 123686128 530409516 29456518 292863923 656833332 130008035 779921416 905253025 949636166 204532388 149269555 10677683 366913551 865967771 424952998 583048179 385323199 596146183 63753791 584646533 555486972 213701359 822156740 982930750 138688714 653439321 637634394 21839358 701917562 215188328 511051007 127541129 515789125 383930512 72466671 601358789 432909884 265311173 961942720 717119160 847100560 71680576 137171219 453797216 962304917 403192566 77264558 842461948 147271852 613227707 333312721 761489937 205840103 608583083 469649611 631403194 278510573 444235246 656760554 270161285 604766318 943116909 358010382 108241958 656626109 615042850 276477648 827901328 276698295 816378006 129754041 372037068 240543764 9970724 187645105 325804125 94658494 309584151 808177752 717019365 331842953 956580560 264114443 450653608 790395273 817386067 985244163 477908401 109048780 935190540 40932213 331595290 439733933 817711549 219655193 313255606 591618771 469602868 411257334 921869066 166964958 270006811 559076383 747535502 372675674 198007123 472602010 347101288 629535573 826539083 542006539 990769311 31619079 47757056 995187686 286208495 46905923 809403495 667951103 610334436 763137686 523520740 602989375 105940036 144716412 380021805 302419104 316143518 174683548 248912903 243070677 894264887 951274617 511397290 105492650 235573766 835094853 124450554 198494820 163606182 575724654 244264775 105526851 505727607 701178192 563925330 184581975 603420809 711741568 306137880 951459521 59550321 679023183 234538762 505091326 552281093 50303705 275012358 39272765 615308193 393038505 687704794 65742121 258242692 11095763 90559379 628902298 931861933 4541143 290748475 708373880 116203036 259695685 416753225 613687317 216515182 463011145 713527387 766583759 526131807 116171380 743442811 468993087 556206936 839781542 523254203 389326192 760922927 542905196 256190646 737835872 555996410 631283765 41955211 795677521 513984965 361578522 448141307 442018817 503343022 664194451 265261592 470716857 954218177 558250849 409975913 409018646 612888290 101375835 166294142 473357236 938813979 447890377 956747640 354059560 364843443 633736455 334801105 894704163 509143656 639652 508478865 874695776 647027096 976564052 323624318 250331643 585637314 99140923 120611896 905343116 540805548 73447944 316255659 324028169 35053636 883268570 441196047 220249463 475379291 220271531 40109737 978509214 610899892 169980936 796459859 377075145 215277438 249978541 350494463 182113649 551970382 499999884 49049518 675315035 574242717 365660694 314134824 654870708 423668441 255545081 360587711 892999868 507772475 902817795 77658378 9570549 80593957 792815149 326395376 782442603 107045937 288536023 164847255 360414858 79778392 783640340 688824120 334752017 17847007 641900643 359456109 735742069 387892596 915088588 413065549 849094529 74691210 138282561 369670272 735912033 108457456 282815674 113662318 462598909 183857926 484012967 333107259 662194856 538631892 275470954 387877558 608420524 213823693 384970028 345999043 190130343 978400009 984248307 38960205 245113548 109931683 842472641 96412207 892429321 477693982 462192755 523789024 436022946 257002154 310267399 842538421 37911392 362830303 271303799 683044895 196716783 874242024 42097220 936391639 128917756 870835368 811031246 229149430 683825715 610435355 886249884 856973838 485801112 90073384 450339256 567822471 903778837 247105786 62713477 623820428 48046157 216000963 984700010 657004723 579948726 943222991 90533722 16268252 399193637 166451415 774454660 785439719 404544486 479604572 520548175 29009107 799338144 855061865 347818648 805628775 761570038 63481925 186520844 338514370 137294410 898077376 404710004 327942367 505905947 676051453 286122887 808444441 17562392 703857862 269514927 107478756 124647424 903799632 528562389 700761776 696291502 936906812 634529185 195126608 16628070 437392646 218365140 601989649 463642919 22875031 788904601 367830127 671107218 234792014 17416177 375823104 142452593 938325584 733445403 975538107 375621228 634702441 404590482 60936192 507364612 364452924 983466471 486283125 663861669 598998069 227960952 768847175 469456235 926764843 665767445 857563791 281559575 359755247 708192876 402783065 145375583 332387472 281301501 686816518 884628463 416118259 32739326 222741424 946095447 857701360 179376592 278327631 984449200 585717295 373518835 778894809 575389387 115769455 732005976 645122545 670261537 286503962 397239054 281637862 709658287 423128870 449165972 477590996 520287996 90930228 985808081 90178271 165632967 649991960 285685715 290143411 595759444 245447776 472700365 893409155 449426227 595363932 108250479 445594651 262270326 373223473 382588183 267126364 922883811 703087083 231461602 381844556 547025176 920888723 962328101 833432936 375099973 74470699 139844289 611726198 905623758 697906158 948754999 971417129 882950199 501933505 42913649 663047731 504326350 937425396 65418222 957471446 457868323 290574870 519601522 64597373 469105968 671589953 37934364 871518719 308778953 60542317 950568415 477799766 326204411 238360150 922986511 394599843 624641105 241096764 270599483 998873633 946857364 423910626 687758265 952015009 894074561 99142859 476146408 177364034 727684021 613542465 314837374 675460881 794116635 888861817 801639058 72895396 476846921 977658828 997008014 105029615 590680461 247369725 110045710 269806970 447011905 955678013 391395018 511212156 58718034 14501248 235815413 517604154 24332477 806745105 68883393 435018627 643206722 173086974 86193703 36554177 706520409 661170280 464555883 751654851 213701712 676436638 743885362 843007917 202140038 462384212 764427951 431664112 251608222 284217607 829804446 418012485 28008028 935895128 739450849 978745825 845479226 173181192 112944919 718625908 768650951 946909827 673049562 657504904 518514676 667865365 725768977 147991050 922752789 318667449 538340371 144741743 367725795 622919798 415942547 79368374 117265178 484329420 244185558 271364274 472526809 51143619 598637857 134054902 165455059 587888283 853000469 255862057 797255646 21722792 86994095 290550011 130697956 82580534 738544350 546131938 820925446 236875610 440574266 185660952 951642985 131380336 238237110 219982141 108528562 37937231 535221431 33128887 723563678 573573148 408821670 757896568 230162768 624188971 97978722 126722949 266390683 659542651 676392730 896556878 192850887 791379000 837213340 779394809 821455798 593670933 630724606 146210363 391642683 644977185 277457039 197939823 411075106 350996932 931009035 721073282 8919755 762137989 587760524 326229493 695734034 559563037 469039672 274035941 693738203 217985727 323683153 233626283 302426104 580179849 196608912 168093689 676310743 536787668 285032932 867475055 161274293 475324764 372551455 175487991 973856216 437083516 871492359 813506486 80048649 271473838 295473859 169481023 175740364 833750269 1029244 98047502 377211033 32888905 760988133 59030220 355623024 502435254 993967216 673725123 767551024 902681321 913745927 53443231 342619815 123157367 941025007 471742109 632456389 120289310 28765832 663602939 937574337 423357187 38514717 845679286 39050094 674044088 946202280 271026531 456971025 124239131 296555477 212226797 566692246 369684170 18947281 711307045 967744349 970598245 5882721 194207226 253273089 224732196 645009219 296345436 367861963 682696887 776099094 918637503 321311709 556573848 451637734 687057054 371301050 261504557 702786900 638678518 479586812 190460659 47789345 57727145 101450354 868432726 471258147 767154465 871566373 922681330 465373135 206013233 73854433 609622567 249365885 436647098 729044872 854946307 334286318 85796914 312179896 40238453 533444078 727252771 443049942 256172634 742933500 397149290 584381473 525450043 187988861 802323183 112143741 592124260 579719490 584862820 186004953 362984078 200543477 444076492 681883335 220602865 830390551 174193605 901241639 411731207 468093276 432670002 945218814 443144103 963548421 64124807 385155577 990939633 734169383 900169471 831633610 548573838 638626010 170430595 495632675 27786891 195924680 367843428 475928295 573612037 326379785 104895792 97096902 179308558 633865797 210903234 236728737 65019122 323706227 554415672 80291029 286474227 504342688 36678428 127341968 951954986 367473443 103310189 750339528 297843362 906052380 124258761 973573080 626364569 618618429 227438807 219714994 279541294 588438136 720146888 230968667 45355099 298099293 328267393 87569967 917136524 571892256 551887680 846397008 651212842 880054694 403206104 546515958 968056253 770900034 906033576 838132282 491884488 256428014 466636127 66712150 654273875 107615535 851091083 555360627 248183535 245281919 217388667 88110895 341040622 429899624 295976568 681871901 453583801 398150031 992047201 119693048 54558602 913248817 606412305 816773539 914977119 129072455 349819192 550350617 994310093 65791253 17846202 179393610 1621257 992907813 184556914 149383949 961757576 776736337 767184827 123296466 147200464 606826564 187993257 409785809 245031453 539025112 46659895 768544466 804045726 165539622 983787418 123431698 573765791 291354263 752959316 325250249 539917101 555078107 773448725 97897619 315734786 357952947 653373175 426889830 116935090 228507918 473894780 277856788 834364736 228629420 232934905 976198757 296417289 773832326 211569596 189608915 452116680 649630696 671609612 742093690 547726792 946987285 989104112 168120553 636612310 421539360 520206058 958046568 483753520 569287897 168884212 187444596 597240519 739858859 692884121 210077112 11359609 272510037 629118757 63076463 396931571 244040479 362620754 114092487 329883494 510252363 674821037 692402529 74642087 601140717 102919835 925056361 509051142 42634767 67177537 621678081 878802227 631526529 23077649 336829915 565965041 945505039 685383525 225549378 675327439 991497307 743507829 96502632 820692521 552245783 186757060 480693892 71665161 82365339 84043307 190808730 640854275 929806835 245831563 678634912 208186098 343867997 151929713 868891527 656079760 167638087 567276462 521858568 278830774 902698461 205237148 562791391 889291719 823701063 10381470 798645338 519294166 725580722 196031479 914758465 356076249 140299418 411795439 568205960 977892586 575059622 658126305 675089321 272032690 139304017 923802223 859087378 442909293 276417889 429525844 830874593 670325011 468788282 405335633 692892664 323433151 688914784 239140236 951004905 527188004 269876352 159625729 247165945 167463175 204237755 457967267 676722754 470388754 669329014 706260862 20794377 807006474 558534228 210592976 616219450 248180389 287650980 237710608 226603550 373053474 81974428 135944500 610993344 42330772 455514251 182731828 93250594 812363959 574834822 934269924 964546011 475687211 751319945 993192438 612826801 571574745 465000020 899069627 722532865 904818153 387554071 837656872 431547915 737774967 678864570 496661179 292334102 848119652 126194641 773371962 903892184 437404280 127198958 449897911 942681527 977510959 2069585 377616730 450635903 845530722 908266309 801780705 246801059 790001895 179468619 739320940 112758147 473474380 58663430 678107883 839808397 805196958 231933500 782077548 326019056 540102264 466484791 654851448 775720360 485230911 357171064 963720376 90167360 554380261 769906990 174820176 122495725 89249431 31694963 51905398 981094192 880240602 236428595 452242158 210180019 663109811 139727977 896369698 296721184 943692815 994321020 123375995 200559254 303059590 188052118 298922978 236019440 705203776 576145524 237473443 826357697 114788930 15159310 786356363 375969977 804782684 446607134 605508009 811071767 529185448 471462788 178971826 338759383 865088922 617495496 155331168 39328733 783959587 910556395 711067299 100976495 656154427 895416491 847336318 839677529 484792162 167808818 170884368 589683331 421711299 284538759 977231670 6101039 52690037 212418762 1892364 250821372 613752848 260765458 413603115 298301729 437262199 662296868 105946505 901976578 968585259 814305930 600537816 865950859 88081995 840137452 158835080 887501701 985274058 196347968 949473837 738332965 469019550 124003799 2372505 207282941 810313557 236984710 2934010 123934029 768439858 826355310 634788129 118090773 742248528 349787732 169957469 479408988 607405614 74234510 815312705 175684651 504647139 947918850 4871485 197966036 356966125 545219532 110189840 574456645 949356468 224156080 288369773 220206722 43332781 422268300 33332788 317099673 277017512 758411651 500470368 295134087 905781534 23874434 84452447 384887827 725349970 73220221 418334299 318061989 162847031 601333545 500325227 609896536 596364529 732246409 1368859 126605724 65273838 295706021 520458176 145985405 134053481 241321063 356810642 788633927 646759776 328005940 762203773 799223466 21115112 623366051 224440262 786254616 198928526 830665323 602371604 476877651 780077683 2742798 206334677 901360683 642913799 432627822 765759868 30028927 771178663 420013992 750570824 759070291 567968109 517507271 92981075 299732452 968923033 614250874 662104311 633823395 137325341 730953269 731740952 577489779 861817099 519408013 488711059 458000306 128477037 22938666 686254251 174290076 39773413 118873728 787673705 47947632 139742168 214872183 970578479 104067515 764657236 876956463 392194833 235331974 324658187 946713552 129907971 477275534 102214093 495494068 772763472 742888696 272859604 34309894 27110904 14880416 544166298 979729180 466354159 426424445 431272341 361099622 780657300 949481666 974947826 100992908 307904274 850136242 336053336 157622940 467621445 467387846 706031104 768285243 91068966 514707369 362771913 968024288 424168400 631347580 167781149 449283938 281205943 736895257 758949170 97321290 877156481 769592943 279241145 660869444 643722482 62048467 45730257 482709018 490908024 513549608 681684455 541642311 877199024 611470056 312945486 527287591 683232135 128322555 992745076 567674629 557220883 360512023 777504128 185242036 879219403 780750958 311064813 54560960 796362914 217330911 710463374 333213501 523595198 295726855 122253792 295907841 405951151 651562644 742505218 848287345 906176367 61668589 477558721 646641889 781660914 107760153 276280850 750736025 32395635 378014252 586339280 957546465 204547060 164429210 337344121 984687083 907445961 46192165 12741949 470881359 602430672 458115333 634257944 67954609 911139417 234467832 860949004 89851335 759389830 706265856 703361256 535243303 581520145 687483934 185459370 231208857 632066236 323860007 300157565 152656439 748270818 823317574 645050763 595714877 196477636 912643246 456617576 134956243 987773238 733389177 57268370 417935182 556810174 207923643 774705384 81212078 566358324 768860912 861702128 555257646 921809785 881735469 99147075 739545601 590564918 345977697 27937605 675602233 707695239 996442460 31929686 453616905 715975837 90323419 161961246 188587575 452816594 200712247 433386298 700238226 587769553 616408141 705645487 508131003 131986730 818033353 509970301 938091619 417949380 158063666 401036725 465376361 42800540 975164660 838790929 678278778 975346027 39987951 999500045 515953288 652936291 187072992 527979821 964071729 150311655 295283723 637288984 465730285 473199558 961834662 141518290 355368811 651383836 107689617 229464764 854015935 13311051 297569264 273612584 5725475 169423032 893431504 877951030 531281182 217029280 43376236 438585296 310231939 500661639 638988225 788769170 213140629 853754352 805842920 614170510 127021956 529094319 489445866 954629495 722385405 491637976 840554600 704459110 392474862 773827850 198280364 259075344 827908318 405704579 14627276 132412858 187293529 393205515 257247692 51267871 541887218 545199992 808003204 391967043 255676314 801209095 852696277 931380220 800681776 751002327 4290884 80307870 185208443 644915741 893574338 248291713 79317780 266193711 405616364 169510422 277577823 88050742 330575893 220913224 376419162 593814311 843803174 781388366 182388301 658068843 568515623 736259471 597683471 647724166 411871962 291586238 875766051 861516520 487308975 746739518 174742093 292867735 137490853 425082651 160069558 242029443 821640714 249581401 566836181 235673168 33603693 89162451 808632319 820420736 33489683 153092356 720968107 436091592 337835180 150309574 61567489 378191339 541303260 289373610 703914672 32771618 191548029 184561607 860595684 934742846 689689390 761792037 663847735 993859654 979157281 322474026 520843264 741791853 854226722 83993415 367201696 289006869 132808406 178127163 98832212 430596460 840089369 637376147 153991238 804730315 628937954 579318478 505374886 249333051 705164263 851127085 290614315 474458265 780949402 75232429 467860574 97969015 668013096 374570918 72021380 183330724 364307752 123061445 664110659 790629969 158141651 201100747 828863548 796421338 157220238 960398517 704254511 544182008 168760731 904270738 143219062 627861759 860527642 420242458 924836868 542370981 499325874 208876970 340585320 482088499 246118714 755300187 193083808 714285560 58084869 824586438 105857438 683025614 210342661 631197936 78312992 573059839 118789251 929828243 932689332 54728868 830795679 354782385 690271407 730606035 358357073 132300085 148044496 69855501 963931211 905852173 949978525 919553855 714146154 846305259 111213064 709577973 295418091 901831274 140516781 170984819 187641550 948903559 472175003 61718950 46073676 85536524 391517388 71379725 833974932 763938028 840257347 328223088 111966471 110866799 902252528 476310250 619381235 76009855 221850988 445817555 940510560 790381958 938559597 345889468 311455520 809016724 907083457 811466924 208041047 572992440 44961729 191294357 853487802 652326661 224871758 774609601 19030271 611928037 242456375 51076480 358588056 676404016 410285027 243972582 166735582 757727690 75804668 772268480 993453813 894839338 861553199 222491918 21931895 639754336 286570012 864059700 74376072 785933226 409394594 341691012 51934591 407255635 427230340 140700623 888605377 166224615 327859872 293533663 965562012 520752766 82998158 544121366 757210981 459291064 567642311 684162710 217223858 293369626 448352159 240952922 329063464 604253600 626468952 996717742 101607348 43011829 422335035 82379709 815463289 418851331 522194597 663891174 20848762 652964312 777856346 11125273 769141910 126643802 610068220 43520784 700420094 576550734 990788716 227852161 106134451 833873070 281777129 759336428 98390515 55410017 439886566 506318231 202556223 649592620 76003481 524545945 789323452 467301167 439296422 348025018 877331151 874038418 697532240 812672611 775578335 168878251 173939041 988463608 215380553 679412030 19362714 373876284 816147882 767330928 299970860 796647980 32814455 100510632 969965952 604859552 275505762 503073953 991063408 346962315 982544070 104813665 1958192 693318941 158260230 989459490 784419008 260819735 427468959 750546795 536501058 732700801 218187283 377884086 300568764 520629889 335457672 707384390 48961799 681073369 288114033 988055662 109610593 846186096 47054940 236719182 942764942 843127762 672512526 15482390 874404092 629275134 712044678 361301598 877135068 255718980 192859599 145039848 791180190 945910531 52772830 734624064 724765687 29710140 908764196 232297832 255718354 107646088 603342201 789827067 23299737 373553376 356631994 327076455 300619423 585134452 755942595 563930471 866721448 190317759 107237088 937729602 117203594 291643289 92029884 142583274 220119449 714826662 788659055 371445054 75613758 899273045 707492022 503431025 52151291 165859133 652225557 3863849 754713812 386103323 396765591 832791262 900135795 331029542 122644092 430853095 575476809 902296696 50200300 819345739 324363986 145056553 792164338 288381549 696517971 191536975 999709480 486075193 565891353 458813066 200404962 870301124 311174152 16881577 812615564 973342653 533291487 700697845 243767972 459651020 510990609 64341899 747460 128147339 803829569 867103963 108195246 496889132 159363314 695614725 188320276 904951279 122176665 954795763 79514651 289642178 411655434 285676992 392410737 103166267 624108360 564689259 830736030 659472445 400756540 695032356 499936958 986375608 47580352 485674959 137970550 505704470 668904039 590567328 421922028 597893139 245870601 179150966 918185836 326119050 540451281 980797186 12848359 638184227 211494291 666216589 834294213 844387790 487142657 623998390 469706958 598587004 991885012 40584067 433804234 521083586 50964078 297008574 818950464 758410927 376281531 877015419 678530295 572453131 606126306 766953633 78332499 586249909 756821449 870118467 100065867 145231523 623487143 447654973 666270677 239345373 633295789 82888972 667846023 840097641 372390777 322212402 302221371 656881205 820881125 971380606 962316537 711566702 463962313 235412596 189952275 11435247 239634327 361536194 378637139 276182243 640333071 896644993 98695871 284043540 865656293 297171564 392476867 940561075 51065192 24996940 397539601 890771185 896139193 962467754 595117889 477661142 60655564 540803592 662397161 922176856 573327737 235096535 206122671 308177596 856734222 247288374 972496858 994188700 28488787 271974962 380155054 60961907 333142310 811941863 15832944 720595046 878976573 960717249 210678327 13560892 556412065 444810179 96328209 60478710 839315234 147525439 356377313 337736532 145200279 205651465 253574127 870723736 851021427 367056412 164594892 898243307 462653608 984874526 157007853 499486353 962309741 869096458 944157611 226584061 633191963 806299268 772372198 410471596 758346790 364922110 273137722 725232959 235046511 207375830 753345006 530479038 141697045 277569437 51195425 72231527 451152685 814608393 818389322 658350373 260501330 176790674 427567506 173077086 900790563 626478991 214017885 282930088 833964478 152330044 311803540 162473875 147407962 672925619 218893308 418692440 918819388 44781666 500032474 699294325 585862273 454789751 116553734 689507961 621906014 298458546 816513954 145264854 697623804 818171132 222919982 248005807 286612552 614895732 764882014 561072949 905520260 850131504 363815857 743164550 517395449 802396743 651825126 146483204 949727396 635012978 26898732 177699968 800102252 292460665 371356151 285692477 484808225 505606801 755954714 816205024 792099209 746779924 764366917 282743113 902174214 374672141 966274091 210797031 31708025 594356723 28551366 878882973 255019002 180764915 58072605 375132616 631739401 675482124 522270826 325702993 245868974 376524360 29038806 851364298 681487349 411738854 144347996 52478144 95950061 541183171 542311850 697988280 542769642 519684144 502651486 97063395 127944941 232548626 568543350 650338276 150783159 489505435 933913388 592169856 511148761 623277291 131618778 409936127 3559484 630688665 178293977 361515196 738033076 148592799 985213442 125671939 611128181 702142226 127690184 328307089 319569993 520014826 416126799 828836660 553807507 82175640 843549039 669369467 444278663 955015797 767512525 144596915 990635546 472113444 592439883 581161936 405820513 78502576 337466257 761253358 946049788 976835185 185160452 195224860 352665301 236318118 773156949 644418460 867751761 139900077 54216300 564886397 145421495 537866096 32696667 898771758 912483207 329871207 104757615 69266038 850330649 367072748 730160166 845188578 703235262 296772801 821541322 944668478 130372998 509845451 926823449 581892787 219064372 500386063 2405586 394126082 261549896 80471060 317766336 155932329 813769054 63646065 512057188 364162700 470123169 636086103 961585883 339902437 170396368 509219708 77782768 61439568 103019644 458998941 135075351 962986599 54302206 724972537 759471049 736505968 926989235 696596525 536161569 410289358 276210144 708307803 186293252 77533689 925891168 7754170 925160282 640776110 311956420 120577815 374898605 560735059 809231802 169850390 8800175 385099817 604413404 145696584 849228416 979560780 961920571 28881375 570182438 393164987 109872187 62049193 966476999 318630067 553447581 82696727 244816077 406654204 600092881 126716260 793113580 148077203 319104963 832786956 939659635 346470306 180916095 823730921 577866697 338558817 421986621 457588700 994212519 453750056 163907775 135012674 991190820 620247774 550963568 815015354 328829323 230526175 90042741 47495185 91050047 735255747 749378966 444780070 861132386 185877040 821834499 983587556 540177940 811797943 61417473 147385775 234656887 604556823 837744465 889097632 739708283 3052852 770155730 541543722 289342618 692108756 117812697 265203522 773852557 979937966 676544524 125666898 298136839 404815539 72407076 926964125 744626332 77023666 9789134 497477332 407974471 922502628 653402507 759255055 288796582 9305559 695142 816675184 929656127 354609112 163459375 43161009 675086011 544763145 296614160 642082186 955588875 956347241 75887318 386733516 138713814 917898870 241201639 664212058 687008592 399633053 930050194 817505341 271304400 4471591 146740295 864743047 732497122 590545330 226173812 723984733 265405592 99403585 283789529 231627371 725498861 372052959 807399396 265794109 130112127 78869804 186571525 286137714 918003999 514256240 804929163 146167175 222114404 455867320 428839374 159048007 140725369 660350182 812672233 395864672 55352681 994089479 459637099 77981818 579631168 812449236 319989575 279463507 439877517 480243218 665206375 293984153 56300558 367499849 887446714 492286845 166042354 501797424 615798947 942024788 200926928 427710656 317216444 153412680 137778477 779846182 240250511 827437941 702077911 84528257 265941351 298101253 302195676 611949045 30901072 156282736 737142255 647547179 556565314 331376592 636776495 53119043 269107049 272846718 173588408 811924250 285864100 179610421 965301646 826682793 741285743 372786753 736658684 114136579 402804239 779909374 220528222 560674321 204198217 572037753 733259974 584010931 180541284 860459536 170257249 30178295 330808707 437956874 478054572 508807515 3819852 564531614 375909370 384784948 843976865 935602787 248425510 575405990 631419140 604913509 172307187 562492618 945611163 559501715 846522748 395518037 411799088 252312083 711358656 452866164 125215425 793930166 884506425 211208772 199049841 953835784 181140023 5674060 620765779 696884085 133781265 253534220 780005028 869584299 58242344 222352556 973312935 65255194 3701407 413445775 823168277 483381833 148192128 17418378 730816613 597307525 694241969 677214290 533222391 633569080 103842692 130708242 120689061 843475450 744691906 834338558 634381506 597778757 815680259 661947256 600957510 281682285 206188390 568029487 108262568 144725791 86097320 477271739 806178821 485985069 612885215 335957528 919170716 304785754 784169369 740451709 845097591 286485361 13378005 272791776 357773900 707541202 989369206 138378604 66986257 324873712 920819875 904618611 898780987 31195132 655834465 355417728 560356651 716948689 138790978 380837583 366651548 267792429 155358090 7045232 832775930 280300988 661652403 545292079 69716926 76176921 816364493 171036390 201761510 416387474 229475506 41652510 605056455 187331911 460916722 35724703 479950490 736035958 739659533 644287488 481570375 882045430 200106213 142397602 377265602 258387511 824729812 616975604 785304530 782324002 535407519 690768032 730018558 225890355 647642068 343214032 220189340 248693873 307473053 862882821 718588137 929091519 171963156 18825827 129727602 406257095 512520044 762627858 759077486 152344480 774017421 238297470 505425650 849521416 515178375 890072835 958914311 936725300 887145993 773577422 607228566 489975923 132110985 656506837 67849979 99460461 227299345 769407099 691042423 20027952 471524223 480627752 748548687 820832207 13949689 810459306 89147762 385063810 277605555 544920252 49050526 250607020 27381533 440575155 464220112 74105495 979452051 934907350 845973106 131258951 773280512 47746365 454064557 669934144 909673913 586686314 785420390 66287041 296023136 489121497 113244306 609115037 900792670 287236289 267966494 170913454 146540906 749828013 847685468 975738014 64885984 821529240 575941069 261391879 35220652 764720719 797545934 21630790 698034322 376889280 802593969 450282271 46483505 83978999 998554042 501183876 973731344 61748168 545032769 335104104 101762657 50902036 999253297 203482093 470647006 647057021 758938843 392361491 571640783 181744740 99453562 76102484 204498396 328101782 577726804 608413856 52463312 631025714 144442103 690316134 298775642 50499151 712323324 105903027 708630685 853918997 164655942 460317862 842441332 150792405 243738894 235584007 429229126 116557000 775566095 320415505 966509898 89075214 957382959 570926161 997682758 510731570 233388329 709758604 780880768 527311019 335737578 201844670 708081201 280009005 375387587 851217327 364100433 374720721 35756304 377771058 623415855 52682809 143947047 91080593 943425810 120701740 866824580 919809015 307275567 17861084 913142342 769236822 356103307 616693955 655778830 677666908 11742169 8452106 114417907 712917412 92563408 618739490 696721125 779697405 650879300 991227897 804334744 940157156 983310490 115590982 292098956 610499107 320447675 158910703 137499274 276161600 483138956 154833272 82931678 720981563 777589999 738275481 346340722 848187831 350885729 362780236 868250455 959030385 517744794 664326416 208293636 458689001 719331167 264121125 252877107 368923443 229444624 164734661 822790838 702104685 68932387 99012880 646749335 842946516 812721864 461620782 8961475 992867040 228072040 947037288 231578953 418015581 127948359 646983918 638662780 525024690 520735815 438132875 800748743 538401771 990197747 175958156 241933495 345225016 401470025 88905321 204002428 318942597 729678891 684270428 817523015 30256179 43505630 348439392 293969896 656571029 387237476 538086581 558336556 28965510 130758198 399511324 567567214 348651748 882039831 211005016 543481784 989368288 229752718 547033970 422015681 924001996 848507535 515626119 272932082 924736246 285732751 230818598 229252702 521911487 479361764 528704110 670030078 745760742 313002569 741997550 128615584 297994645 79764508 589588477 925349646 77804598 538515752 349048657 246926296 789792858 655383189 574138093 524322015 704606176 703081962 801700539 802792651 524083250 410199596 303787801 395977861 903609083 182838104 158777967 536345360 102870958 678645692 410229628 908180074 373993351 248224690 193804406 877281250 967725636 645574941 676630967 408029357 796116382 647866277 746080548 441250478 419019036 130826826 992200009 604080113 16091589 461375930 189828182 590982799 934581019 498752789 430893184 147059210 772992821 410962803 422692720 95627389 266841404 732605824 490641781 859418477 148367301 540785678 386471852 706762446 785146235 264825706 562909118 110940145 337924464 512102808 11148070 855876510 897833032 2178712 830034129 728372075 916348860 341805066 845846007 760937246 886245365 568325249 803041682 826592875 877883721 381494513 244286954 368304288 604422589 377661782 82094037 92801536 863280018 378160737 158899171 87662396 834236024 312245166 435716716 808045548 697934024 829340094 142703047 467588459 597186277 264027094 289513304 375261193 47744275 950152356 755626957 27789814 40258899 111544254 597588404 12242518 529594422 174597524 836883489 10290550 518756509 948809427 279724478 828902164 584603626 643180239 745123338 465196176 112829610 330063666 569402633 552693430 504719756 622907611 425509464 288268548 831440164 920776233 382259367 251519569 389150238 233750606 20343056 362628192 229929391 727016606 998482706 654523828 289786092 142023407 256894270 750615561 180222639 507114429 904739997 347683864 663309655 410487023 930991140 676387175 766104440 791078223 108607696 250920726 142758549 220436673 683303661 4622397 487426566 109052901 538242416 690256819 63190352 975628522 720012688 614641221 362732400 636535545 248030669 318091371 610104388 302641576 514951526 166964527 838433167 128682494 770055360 262786422 706645765 602010791 978611986 506135821 148053498 697508867 790387100 147594201 164255439 840800933 290366421 631192904 651780314 253010330 619738109 11211982 393834088 273744340 121018239 670694876 417134883 584668428 231719996 203054951 577959443 950925602 860812563 811040426 110389589 377632015 16626272 543110918 120818897 836590417 990929520 958904866 291256104 364069546 48821796 464903927 165595988 758015766 900757035 126459527 18901988 907203121 946852538 204799705 152969896 253818022 953453679 764131305 272088210 995977992 683339712 520523284 856145967 880825996 476767056 287345278 381023016 675415612 559105904 189640588 963874229 512271289 687055202 6131443 210155914 685235295 196749697 480692390 329150877 746755492 394356970 301769155 200876594 57627102 775380010 804251231 407119470 855626293 456349777 937830404 318018282 824543346 657739681 416464571 340512089 403744705 376140656 349741149 296055387 457846833 107538379 733111747 233789512 604836803 953537594 246329950 369699723 942867919 165500354 168010472 902679097 726328184 265018889 771285216 705459553 643357428 178554111 609082366 326412481 860187778 943594630 99550125 512632379 408118822 717403905 835256168 42971569 114697317 664269419 728379568 125573295 913134495 153061693 914982720 745513186 591057012 449453635 199421096 862806649 527828042 963178306 503465207 772139002 230462954 96424881 328307481 222655949 263575175 428415990 59831764 293659871 437112946 842911540 831907195 207386965 792684250 218348439 167268725 437483667 9125389 274806644 802592927 216866214 781789054 449155450 391047981 11381093 708606434 18794329 604975534 398785516 286907735 915121113 505413651 769959819 174218486 91702292 5198754 348282921 9347203 520217346 913614608 794461765 228096226 7399767 402162375 353031085 857866345 995796156 964364931 772562499 195629677 965095165 143007681 12049456 8661732 212660997 933437707 276227909 783903022 268797727 763640268 10551506 46263797 295172818 210225399 709354719 48855440 892367559 998928506 295917078 5684682 312275724 219473626 774890896 835879316 101814393 70559691 98156971 638381553 523789197 33768045 226899033 159223800 689510579 915489203 189454809 858730376 238702027 213515543 609192044 114415418 658870049 694686438 376903638 767045408 542385880 45335067 447926873 758731209 107636558 116532340 707296330 239330756 727889105 166211471 92848016 272071481 464171577 831092951 956270582 362937934 184290596 327746071 176724501 456258101 173587395 876913855 803385257 436749792 656702444 481338399 283500577 145552593 506596996 99450807 155739878 176915109 883549100 594097428 434949730 79214585 308728013 890816492 362533 877959981 533159567 153094508 186857489 75030403 927574320 544957784 887727456 194950298 283679290 689472465 414878410 810758292 255194476 790133216 242078301 115937163 516161238 235277703 485444681 158558581 988051618 691741387 873564353 611528858 35612373 835401116 159793339 298968134 440861647 834323998 230110451 641343474 14378686 39003949 514975328 879726636 652764940 567844976 570462737 299291491 231123346 456783920 871931928 370014040 746403578 492786451 152658796 160287314 175000051 69003158 458241203 186752785 759344265 429745753 999066385 493058378 69699526 43393578 231254824 86561897 247159962 48960618 153497786 796963834 149285189 48043874 208990401 288723447 232141518 762604360 193461851 618119540 843422095 618224346 907357296 872306624 441298737 187709279 837946456 405706887 579801226 886713629 329439867 96342514 785995129 115126407 67176321 245230016 391716709 454463979 849535348 761773670 68612017 554908555 769662965 720499018 197821144 952191177 698419466 546851373 127870934 317025159 840478261 312663956 693235334 400735570 367604921 230672927 715043041 212037692 647178237 507598266 582673140 609123808 720537750 255988571 155023206 33544799 927599713 382560925 955793404 445243156 597581157 980659608 608254128 674513053 2091667 21153124 542968527 811128145 60710907 962517195 25120180 628697065 961663127 422483929 789607320 325128044 299229788 120594862 123286719 54557067 33210344 485807650 483208973 412811748 347277296 133615146 127803316 741667734 77228376 674740222 896530718 23879108 330947487 992813028 656995388 145238802 408518410 457863043 993389888 917344946 569379992 733405077 689233847 625873672 877006271 710254190 471549591 149827304 772238391 638775697 76337250 199388641 875224349 308545940 664969897 126621534 502140731 390814096 56515286 50473138 683508937 114689890 176124862 531645685 173893913 614694396 571179500 106079665 828658749 186858991 738289054 36505416 241848260 444484076 206143062 738686877 905157074 717914729 984454789 713160250 383813815 781404449 235035148 284523368 303595 435461293 178171533 453907526 266096834 712612351 514109069 697185158 985381515 73540183 281645849 740738587 748079935 421986231 897388467 412640924 414413846 257234341 429319048 580668695 81050368 472527525 184296606 376829522 402867840 516598895 249630732 147559256 485233402 393449573 978633107 438319751 917331863 794508090 81081777 915405340 411447546 118707766 539889212 70892240 276248763 561552372 930149998 902879313 82129920 348102688 360843565 10278064 765213952 373196705 310101605 991160994 691150288 297316696 637256361 292483017 18381477 76119410 255884405 960532042 737993659 273809859 921600804 545425824 954657546 391961308 612216035 59894374 15528197 559656239 309272203 69822948 653234301 28793484 768113668 235572185 554307242 763916722 168355460 419861985 8674190 788373735 815387228 24107333 106114286 439695148 933724893 914568787 842357310 763465534 140465078 811438077 252154874 813619707 36172397 468263064 19125466 612637769 972083288 844267135 525950404 526686786 285081072 29102106 694046920 429629535 829619708 893164701 371577956 846253659 839956921 837572325 731707152 67956534 95646559 760505950 408257894 227923359 116554019 318736746 918685187 235864754 290610332 464788350 971572845 211404159 570797734 457934335 168684101 112277948 246017633 70465704 774227739 296715553 974719857 809460727 759484227 476448465 829796870 13047471 414165404 597289947 343917869 292105729 358180570 1994967 816312536 722837131 850392576 942970481 954798116 910599085 826912647 199547589 171967438 431213757 748274105 514971182 268540163 16064293 181536722 953283066 604847319 244489658 609460724 519511553 6191098 979143429 478643318 506681513 426167417 378154364 240021449 73396569 106738690 872930799 825920350 181042116 66861820 785365594 620548243 866593331 253180339 864906283 146871446 592144327 892581123 529665622 981290694 634179855 967247397 683044177 20513283 700142188 560473486 513614424 643155612 933069115 402663193 713073057 648676263 456566161 106160227 788007086 713480090 263721350 29011858 36730889 473402498 928974258 203639556 91326172 63027264 206796001 39805915 731695865 235351699 938392943 403397465 432852139 72165240 267935882 847735009 417009247 167040527 308624828 758120857 947708169 256232772 649817075 613484227 250741653 281910519 737049664 791441321 208388275 255569911 262219996 469577643 244561460 588293379 304817670 502830160 612825410 150511828 164347138 833592089 960395697 217797281 117174390 238621309 503097966 655045336 368900996 342313466 440003963 379220973 808253991 613557916 71700798 88664424 240290237 534459214 571397158 663341881 813598493 67301589 31587589 540348982 472426283 991232827 474400784 620852740 899638771 718275720 58838373 461819494 639850084 865394923 522507416 108578924 573900900 872123967 292231268 148006422 656799363 522408285 689342692 236304926 747945849 967949182 294675816 922827885 728451039 75710831 754698748 771352922 503694126 583782651 768490940 551369559 879652882 360845162 969237347 956234949 692484741 925418728 253455681 77967674 991394671 459375060 186166241 373542927 734202454 519844931 31702227 514415877 886691796 416084674 18124642 335821755 345498768 29010704 890429154 469303801 896791390 643365292 57235441 48910719 752737203 383357598 752458652 225319691 69209764 933623284 178911584 921088294 980267664 401352910 620298743 509981381 443622603 105158852 220096316 898713711 994477655 572446752 814182883 767685539 347112583 491439576 787330835 653302426 384416423 690803395 248089007 922849606 50286141 96823521 509554231 127119317 473657790 465191769 426037452 664804213 513575238 336520872 276607958 712996154 989369158 186912570 319351706 660075046 859587656 157722393 84166276 462008608 633917168 129480782 697152633 863290750 347150515 908078059 1656145 647030335 994513364 767526815 752940340 88738349 232853944 82757266 819581615 722332524 290362178 492495125 576610042 576974101 404274939 696589033 844969636 326196031 153221914 341998770 338980971 85716582 563649457 717759980 355227034 405662918 37646482 46525248 817579427 324803944 73600809 22823984 218351860 5627809 205761815 417701595 358300760 107125098 123683968 277773011 266436598 356157687 468990798 690460132 339150208 225052633 73270350 567076116 272959813 206447815 873052029 19960721 489988862 265116932 517772952 37885183 711836935 214668521 473861039 576409317 397937786 387271997 444538984 781196510 953577263 54113931 837793366 291072724 552163568 682882654 464831402 695203863 157014509 744929542 738268953 744500197 396919406 125466566 597617182 907354290 751042232 127163161 563922654 533915390 555399006 825528573 65761675 62015867 586955660 157240708 108256320 507510415 690336309 586879259 136647317 836846508 960921276 348528136 133166314 286671999 136862862 408349133 237594869 157348484 134767926 418060929 412280846 219477632 182970554 352597139 912773687 1080534 60355472 92019243 666313171 684080170 916321539 569208289 81714859 68090711 219382347 18066392 516209257 549329458 81617410 976380909 750749181 239307939 261218868 260209720 826021407 676980065 182620297 585372819 333644508 186180739 658859457 604810582 148259604 250735850 313649271 492893536 656965109 35869649 709476952 554260983 473569496 175224171 2321231 707374825 901820275 888513528 149739126 513782768 398510507 913814299 325302052 120553308 883353623 911442618 823506548 68771493 81674410 762960316 892429632 277888603 623960726 270348649 340559369 487707808 682743628 47136295 840034854 876049355 696419163 145119078 504179072 838707831 6253347 554374522 420468132 196007410 886559332 113732679 855869811 660300186 571033821 351932099 219995463 262888221 503155183 532076716 998522235 191329943 577553873 927211546 50024535 151929507 280917940 274207937 156314798 687172533 925367833 508635729 205865433 433552989 627271254 337895617 930402799 480031078 612238506 593056887 672128180 874816890 454291052 689287178 777260465 482696494 481813344 173169700 650665437 982052125 967285690 997651806 822961766 32036429 4461076 223464522 430045593 572627389 654463792 553945387 459501381 433544261 853166895 683847208 251584279 725205131 90313131 192639056 872724422 937582978 531618747 782699653 36297922 201573901 209965095 402577580 420443864 52082183 446633086 428241732 253909771 109934013 177042513 802214683 432872254 754333053 285828805 121703854 503151993 183465087 213780143 527551945 876709746 120098926 161459456 312421076 440740689 854684772 945457545 540968599 634974356 420021102 938947026 40589112 148214123 837813084 951955827 54775220 883376482 522371893 5887861 824627559 833051838 701029669 560274231 449488437 726314311 930134939 358466790 766746322 238001859 466946526 473009866 532322123 429193971 138921132 937837508 641530051 457735010 980277770 707232207 144793282 640979199 603605854 121554209 301482866 543937655 683973687 230607347 384155541 704775067 835835062 585858789 944375830 486673907 10013721 57491909 503357465 933507167 612986184 448130785 694650400 817803470 39973236 167520703 741551298 510757069 887386951 207160351 641015704 880161509 500848292 199514170 717188789 278659014 991824131 247042900 196753848 947210527 29801352 231908653 503244150 656575418 172571079 482680641 249944749 648028319 784910718 752668902 539233526 805521621 311636998 255172133 276521317 18760212 169350703 849747286 496211512 25213728 218558023 892455464 781053257 900057881 955776092 258251839 613386686 235330939 384254252 741691535 27751253 189779305 261611801 782052232 233031786 319895495 221003580 682079880 730031286 696411901 267410211 617192682 419695354 830187770 70397535 924551852 942013739 291351354 836900021 862408895 131102261 422639903 62668998 336827971 723010789 77749640 62524870 694505375 213939321 960032665 582867530 187181542 217176091 101819038 839272994 252606700 91582392 12309164 172301074 843803118 40253685 234950940 60594159 295906244 846824940 874560588 713886817 99509597 40500491 748922204 178656638 510483230 940675387 20764180 944003021 7729739 132728952 962523065 666533314 200592548 585327700 98229557 593508216 5103783 533846111 313510912 804306802 833527500 377870072 731323470 246801480 682854864 189207681 484860118 597592929 963512852 30263636 601978662 148859154 889704891 127139797 850050668 540654960 567637487 184676167 552332296 314762336 414192065 106041438 304847645 37436419 316858558 360756644 505441853 566704872 119977211 917677791 791286759 243836948 756960885 391562107 344220223 139256084 290953390 956991668 84437523 100255677 697908997 226701272 876132418 918737488 711876741 822649033 836518396 114182073 588331532 528365046 127665124 242162697 683386634 984958299 307173853 739231573 893946786 796491917 517545993 662430917 35877021 837968411 619905259 583689625 666769495 138164549 695475143 452933678 124553020 706373107 936845386 450671168 706235895 26509874 72852237 253782245 895861331 945869539 636247984 637285259 268440984 303523176 681406690 282132547 893944705 670651308 69175652 200818748 689460480 30155877 435991540 91300744 479847140 61085143 284553396 698249933 674413467 899715769 372565052 162501938 764050839 147636981 390958116 401974537 447656945 21718871 156838880 8980901 264847848 309661997 115064810 430222336 864403627 413653920 396584143 993188178 634121158 375758919 448339700 771816008 102908690 751481591 712394992 481062862 35345898 324130551 592982532 595910023 28671512 106844680 642599254 389687478 678591261 757223055 790433290 499871546 60082563 673529406 20779868 450511070 51031333 120288743 627016612 714080535 225191510 986375934 370589257 191118887 45457694 712446185 588843972 977148952 24208341 244134842 910415463 93339981 720204450 968930965 793206654 529421584 485915915 528969648 166207503 825374635 261760887 739308423 251609741 367209440 646373265 263688080 359622591 512335750 394898423 732682833 586558952 943144585 710041544 665338486 402761817 834466645 203191966 166489603 499760941 400079405 436151720 180546311 755997101 167375743 76123155 635485583 931768009 247277939 856501305 581917468 126549885 905311975 649606266 310308465 509764651 259702590 44709875 730884031 516642371 738330488 800624694 474626430 543353552 550662358 813312364 458641053 943200629 652280911 536518878 160977607 71901011 710604174 75915504 458600024 951433520 857156735 313061778 257456041 979752845 850998145 622986260 212556042 83405011 265379834 116182753 236125924 257336394 338793071 96753014 448572935 674968510 751980863 164105375 495910658 952159748 303754153 484097547 489616335 253180412 728018219 501103428 481915324 565426036 136606103 722003248 186599718 527688093 936082133 993936616 791828958 94476035 216836698 705431572 304884710 88752746 966030064 138791534 498062861 940029386 883304010 122251272 85717399 524264395 716438158 406192567 332959865 258510147 636520902 41746621 161010093 737425151 534545451 969463398 433880992 3978542 725217040 891992488 397442009 332686622 655587288 303967684 981405865 963713221 215333789 745643084 444605060 619268651 625206576 821764638 882903451 315129550 75850720 342380499 680418281 972399702 20464131 96110468 112262515 859063950 590106726 124827170 875766898 103289972 404806658 533834482 602768649 370535487 147617199 386705177 24467262 286340305 567180966 142322543 94683466 223899316 915303356 696787620 242525395 275870684 550667665 29167687 986604056 356324153 153245731 329074386 502575364 285196092 756170509 516044458 353895969 961727322 783841128 326711854 250752409 951143467 164860371 537340149 105534136 561627334 732476421 905759595 202238465 684205180 389168580 205095828 577942200 744025203 208572421 86636426 37859716 261220058 873845581 145611098 196498806 451711811 123016840 653613325 893435182 590387200 319999225 756605339 535734968 760447599 55172754 376340613 600821302 207015548 625739673 20429013 708464392 604799438 503688040 456769845 367782932 49133261 763763004 104155679 950812436 476402975 110791058 922003329 861424351 572535876 256291722 51997586 10857932 702035939 17471978 615458998 48500952 586052202 21493226 228800039 967359461 923612564 86775958 786445634 939291820 347990755 619708875 870905395 392456613 459726030 540268953 881284880 916220123 188241949 226328283 825047996 45131881 897057664 473363950 123941308 616796595 107489623 201724895 705505958 692535544 812042280 213659714 15324664 722963494 421535304 828072057 391588959 830684751 548375994 239552737 151695090 225196868 6881764 219126051 488934643 561170595 929419053 47599806 265423679 776322459 789127312 739120203 225246750 759615768 98342659 185808839 458260649 576131175 933787491 500969732 955006743 326782059 17997615 782382029 230033663 223164004 874158234 143663303 420892310 576599166 343401692 85188099 932465206 147157874 517757847 998519537 452496323 315128485 579196364 470107366 896340031 349751520 953743535 815202217 82510639 109755235 85721792 19939675 611375072 177313515 947872799 16907321 889392011 472402556 82065308 981229738 964071291 373959965 354263245 931600420 55965065 134817268 173713747 155564280 895278126 871266875 176208160 209825831 962950890 214505811 119787665 923031406 845221327 537834782 895293280 346729275 690821059 198359667 933247264 970928335 728169176 979050824 724583275 292205533 783452114 735551011 689626362 433303715 616676963 74153307 190543740 225984055 387931043 292740451 919321068 89351301 157700077 945901330 382073580 960061407 293455147 595097519 938834983 201968708 335496107 661449111 723797758 93989001 13616650 624754283 253178490 311193398 759264020 818656042 377778709 500916946 50258166 915173980 798000638 246423858 263808044 656414199 307268067 987750541 433907784 118144876 103075404 88353937 121537873 714741444 251923511 237856021 128091995 467073439 27972624 185438173 657707696 879839432 175103773 998340882 257821165 191006857 9562124 900200 591613554 539558980 21819652 1244397 31773028 596357083 495018607 663565391 542373832 794110554 866914394 153239824 601669595 71087126 788910998 282248662 613086252 518996607 431488577 38957577 224904642 293284273 997795414 327335321 179353731 7859175 977687833 493581980 70964758 278307260 886742909 951877251 381929779 587819805 193324679 152072849 935190836 509257252 844213974 170684071 916273502 64687451 522310120 219781670 286997681 432460594 198938061 230325018 404106338 981418160 760732982 143009722 286033222 172932309 310569447 303146918 404778645 375313450 18497950 988959420 583582882 676130412 6958010 799421389 380595088 506489943 208068621 379907932 312724794 715645457 47801694 115836094 547288042 992270293 152967579 836991888 509196175 574722066 628630902 367374115 941484514 693464930 47466242 173254294 899915461 31868191 678046358 374730816 865602738 142662080 148273152 692174837 701429569 418362349 291709536 364437250 164650178 11018297 760482697 760764829 603623293 948155608 106539827 350746689 518145628 185947761 795767994 667060665 687135103 608609492 77113301 24655821 16259764 32297279 335157245 700058091 494933496 759026441 848971388 227052975 851184734 619322569 890371099 991335179 224576967 191946330 409027727 274593344 795482528 166480492 859046015 79839921 664438536 770114330 745415485 796079921 426974394 541886608 614479202 227091218 312322453 437907355 574643482 709143991 846796842 114302304 732554336 998981247 652594635 256126697 825507317 531900846 954833416 45570382 393654836 525513490 285180493 259822140 538071221 739863990 413060016 838494603 501439771 28292872 537336190 682295790 350180667 497214924 370783185 86866735 328823395 625080005 989018616 562666438 733815452 353030026 287145204 794519111 828399605 718369797 108624330 504451632 600113553 188627685 680324434 38149089 756993070 582119348 298886741 715993688 832120380 551496706 201979832 715805093 151256929 543987720 397866073 782642405 508690407 898138749 734615208 997121073 234239264 664159506 669902103 223645869 603955354 503712208 440875095 409736371 569633754 338702880 263410236 836479458 145047206 569274482 501682563 800620644 520561142 961992518 534168704 948164519 393285451 127859838 412219918 670935780 897585721 68419312 848493209 406793499 719052803 865312557 57691732 230673896 273671038 130282830 246082622 409117006 754491353 790326 88623112 691866795 735466119 926417374 24570201 691004485 415375004 321746987 200066505 609068021 54714831 965727735 187721020 823461907 641752614 350682107 697724058 635040353 199394733 691487309 857679746 674391011 70928633 83979106 785520541 918828854 941678947 695001433 687560377 962998784 143329458 196520078 539725929 652327769 753334477 705586381 717940601 193346208 279778162 448044274 119652453 70594515 663794597 565431710 368642625 524250748 687594434 451986724 45141122 806963169 865904031 631724329 655665274 538131420 463619687 576217306 594261719 391530759 261553574 106059999 643516546 191257647 306716212 550417301 50901221 667110008 820860617 57403772 131925347 30752467 115905454 956205238 556632126 540161689 51462274 683489850 948379728 258226912 844259847 253777202 477346679 442148459 568179715 368929426 370204998 282304551 723691560 269186986 805582214 784071339 239696061 815769375 441424209 281701437 85753683 88208062 930750854 984674179 700330425 794086641 5110569 137150063 885382677 294512095 848331140 524955981 847366594 142353028 261470856 333714711 795447785 650893224 120548372 778829275 280647698 47126660 742977882 570514518 938412272 214185469 869894442 449109657 624499818 737399767 286203315 530101377 772764019 833893963 289307767 623060348 498271112 82371610 55244759 687631919 111773038 165693676 840110877 725493627 361281912 240363330 915917926 344772409 497112851 171521362 731906029 972055730 214718442 820457289 53805922 69321924 440526260 817746903 419681566 459110677 464763719 291213346 565730146 409486719 184257191 768135256 350857845 203420309 838820563 716930772 548924899 160499283 225057593 267173782 49074933 31570730 12814402 82758708 172153706 921201501 610820446 998442853 426316299 937205830 60081788 917309552 612853300 930183914 70205815 576451348 6712612 916364895 99478957 79153340 397949781 634181540 696825564 9954996 89602255 104100637 325382378 817508771 688080050 296052304 949823717 900272396 392994177 107882364 880324405 541866797 761171297 258124270 862971479 108866514 17298769 730070258 632386562 109315667 58120299 99537778 364160192 464175985 196756977 54471602 945022116 417869608 851035698 390921679 249423399 359117908 958143278 949641789 26251567 667415731 928789371 503184463 875437674 986416868 374057830 609747701 10579465 173799772 345332106 759167366 628829445 147215371 265365066 911309449 263317243 593119030 395046565 942922171 113907564 489649228 45146558 288419164 432252396 134411318 395771132 228804981 226838298 451372082 50443908 710422945 416224667 651479953 518254349 842246044 5002255 810839891 243669295 842819153 74415051 379430077 828870205 722603011 687252133 632591941 571417047 844085133 675622279 100575808 883261456 842261628 218385988 977071064 317993534 374203909 860031623 923212784 22511973 441326393 117247439 472454431 938518559 397880759 660007502 139290008 467661950 262489171 386377990 663602504 814337919 285678640 501252852 60121631 801546224 433930318 489885413 761036207 38113740 197948853 545435025 296776858 399993371 18916407 60015957 854980086 8967726 883689994 8058061 178299834 804288278 777303494 113544618 540297879 474989514 705670171 720995660 520603706 712331623 533210032 91356581 785592227 488916263 397923795 396334574 123384778 299447056 625720818 466395079 684362824 720726663 75533434 232043332 259581262 688960737 554788359 67511451 965443588 147619310 57263454 671596531 258378182 901671633 701281838 779884306 987982106 36020925 428287172 68498095 923456992 493371046 366696107 461592890 93662659 132496550 30880604 52924800 7254129 207449339 647646710 814075025 554584959 578244742 871503511 736368928 109600555 409842824 365917776 527206787 707096064 229985126 115241060 657291945 565872390 91365241 81475107 591430019 578589105 710508846 514164284 513122982 833229149 130356899 833548488 575513092 469149116 915558383 194687411 35491323 352446277 96609238 598133840 624336095 496421893 70953181 301052603 271769035 803320520 299950074 105287990 982765441 560817343 232577496 241977596 722346517 831279040 853143893 914410980 595621041 535641256 368222347 150385279 204150416 106603756 740986168 57771555 530734369 804559444 820224407 34545695 916944805 767661708 521361959 384477637 381785897 646455027 714404957 14676237 761221597 893835011 702637731 57777851 798671182 378178562 121149941 671482506 980600293 740266139 114830027 15195264 278306395 122263806 503993018 710466080 23584743 746470297 124537121 544288756 963681221 354632394 190429446 267273047 677842527 209185867 744249680 706207922 331824790 796168477 403127981 452650487 190179879 686748170 387361217 541104649 706893341 850261724 570301143 89048673 412791090 58209622 150608782 735763213 797304398 205071218 381618369 546508369 271864022 32475340 157882151 653124096 474006071 317053160 2025324 8953438 565123317 418173216 484213827 210578060 693347815 143285827 704284077 357210729 386529367 963355875 721141270 5464604 901748946 290866578 413753176 511398206 951279614 737017726 975796118 640950898 697808302 577505639 177294016 95661677 878193128 738829224 635929506 149828383 739976608 959364343 899769083 533943513 592267328 530200585 896454483 74661155 284971993 66502890 264999718 277941176 383079427 594790501 322435577 195202365 112093348 313653279 364636422 492330500 740183115 347522967 756044602 914138282 612304132 113902039 55936514 72777593 505428589 888803416 271892891 606388507 198194089 569945404 402895526 800826877 246532269 360386967 536470104 526666824 504169651 318941596 941346752 281429097 130776110 596869169 472779253 794428940 374576908 976795654 628291120 163849575 443297408 50272267 842778524 632647861 158237024 966652648 266818573 634729456 697415696 418970323 72982017 225895849 104073987 355376042 158030690 225443591 658159942 201760572 495536904 387189325 931835190 248496640 319474462 102241356 12564420 782346387 684119873 747353161 835732667 997234865 913300937 656421593 513514263 93990191 653022481 141108433 319380592 102274027 848054984 376406193 741775627 23729182 167212379 172369170 738869855 52371938 915922866 245236728 639345513 922743621 43868134 682215971 22286310 593751115 499532199 565212809 107223877 837902357 84143287 231747660 529030012 285978541 715432884 473394057 114487708 119633666 276004854 67138736 182408673 933443911 831815971 521141583 370690089 973786069 560559000 444577582 231395127 48608106 590063256 688654661 429254628 699487628 133307409 89046417 860234165 242325549 653012354 478508775 639018078 933578123 887394745 3728135 85512152 936469837 807913997 915490576 400775619 84370798 162966992 779571224 103620041 326970730 259333376 285930419 441195617 164970951 415590293 744503914 440942052 683724187 856511293 630206152 873628920 78840062 257750118 747268329 439660710 957325845 133395430 839565447 55057862 513475001 681795054 834857621 229342813 618656302 392255618 872145352 194294184 112936578 199403896 229903628 861224672 615736214 468012917 523006403 264944218 256278225 762445160 899986802 339428037 3894058 976136744 885725091 780812868 83956795 750190700 488299998 289709455 4077430 616605218 120800260 430038666 893044207 948418618 325101565 273401638 920170738 233204390 705117218 210543066 991607314 622383035 156832958 459570603 806230477 121026039 711637377 352986807 957357197 103729583 309626340 857074211 267394015 320065310 720867967 997538570 597827972 25785129 946889195 157905381 745581099 957760645 320104330 312614958 122165614 618461727 914842491 738831865 696923193 105206174 914719526 528891320 178077336 677988184 974808926 543564829 371154567 139869606 242320895 408060155 702927843 24085291 460452080 347309615 134645481 416546657 452459759 932246770 140467505 197159937 94874599 41060458 839024807 211633823 861161566 641906006 109154774 33693049 513458239 565813117 693650431 306706044 388566621 805814818 278974530 77641212 267671017 450422294 132474467 982009479 179365531 525068086 990603500 420705543 745150487 629044582 823258974 89421700 934879687 663816166 178645198 360018751 232473621 812214768 246188412 135789924 443685312 702043906 537941998 964757707 355088601 120093164 996923185 593265871 345038808 764042072 387332757 473266112 705582065 738594592 541141716 138427669 13673071 808067313 905899686 829947823 566311777 169537476 712279070 566978784 127481357 454491970 671012859 915369102 474879549 110258494 842108249 402077707 34405506 717503194 402902173 71516489 365193193 969411429 94846223 248884845 455881774 658391135 321865182 893900485 738279290 120176883 765070606 373529847 281935041 803410920 451009609 864684261 500138231 145513434 739787354 669893281 191167358 394918903 363181802 1465638 24432362 546825532 37088473 742540042 518817839 454186538 88126702 964268695 236718541 919123994 707101690 144261517 306193530 380790639 227380526 617434195 350987469 112297337 44153846 354964845 357394942 388876671 959307527 921925900 960708637 481849180 395187284 435540667 452782034 313383976 772781987 724192973 494001430 732407417 356874199 890583656 226140435 564376896 216038481 952545243 802085209 63681125 143314102 80362946 10290017 836888698 469532630 760031379 240264871 584930811 508873688 846510577 996770847 627633051 879793481 259797574 817906722 166641857 484085918 225364320 258150206 505292664 368240087 365116275 845031568 820056071 978808473 846993688 849602405 798930376 815292454 338845424 832300516 573393974 773407167 648479549 152823162 56035884 379505104 178130047 64925659 485681624 958581123 307800203 782543958 106453596 874963438 7250493 603722793 453395099 399877962 359577638 930115907 281805304 698278508 420704763 600373167 373177057 117339021 251193461 787580636 772721225 513550632 147710525 718084082 333282047 346099796 907557432 422286193 954501333 579437868 394386327 695020253 373512332 979497540 279727860 188913143 769381919 116696042 388001485 460921036 758927890 863582437 617010737 171313350 78972795 781848829 270342002 814640892 381232917 12492029 24847736 703571529 636957675 355523825 130551419 333122241 46439206 325021459 541612224 93446371 139109207 366144171 188264720 219362307 540863138 315689940 856677130 331241010 546225356 418786055 925540956 897118187 109454622 422994418 809126727 391017678 15526721 718404922 851610169 882260363 98354467 638955877 990538640 506476428 42131013 419648244 296989059 225970931 609214058 525404786 611845558 184421299 976314910 435410718 328564476 52741672 498056071 658627920 584122400 492529749 591564262 433847896 889479919 705694075 324436808 299304652 59791372 909613678 794795137 713474296 356457706 768990550 266678973 283152820 377599420 379537812 771208043 51924540 565187337 843917015 205201582 618222197 142792357 245710932 784215831 85873901 737812334 117722636 145014661 321158967 844775120 666524573 991618883 344175034 232382666 284154405 538223547 251178784 247580758 391256579 388770734 825298864 721015201 61848324 440272733 942351314 645704947 700111583 903291047 400674758 60477227 422048273 936815282 647381813 273411285 523375818 346596892 290977728 151941271 832766775 590418799 503206198 201573821 606732717 867850899 344976514 264139587 332873634 754919102 901892554 867039018 579761398 67688902 423376923 390039196 849790832 52093580 435400213 234710816 844854331 250634645 61004426 104773266 395639662 97925857 592881208 185904310 430130740 59434543 567583275 112662746 525690338 170048596 777496741 459460291 578274723 106296816 678841932 3861641 694742836 724232830 25413125 255143797 66164113 222253834 868912862 427187552 453946388 409338806 44122546 997234248 915504722 12505930 528317546 121493018 127549842 385195101 562173433 118620839 562533992 897533272 552901227 30363027 638505157 860906352 921580376 852618405 284278556 412453551 394191091 291563298 852827380 898537876 994477648 101498037 231905969 205056487 996949600 279551037 977048887 626590048 948255661 617499983 991474789 812391712 789838027 191157609 363032862 21898225 216512639 882298012 775323819 44272740 694979526 47550470 449662527 234574837 947897657 716625611 544997824 741136804 849485281 432108876 506393661 1941779 243536568 260986423 150496340 462373791 756341005 437523157 380971446 327029176 26592808 786493170 631991274 502769982 646713131 301020648 463589749 659713992 254405879 658254884 890411031 483551553 446272369 169747350 39531693 289772430 385308023 234215361 468081796 310944016 678104625 287133618 931859787 660530383 212353545 463348786 844787563 585652625 661766527 133450141 674090282 808207093 600768222 357085779 345448453 998835146 74783525 479708945 823519213 136575989 119099193 203706113 425544626 248097917 389479996 191516016 443503182 14016513 627986659 84043882 468660341 603284748 413454699 426990516 144157110 148514068 214916490 70419384 45501492 490045853 47913769 704217699 544005060 71983694 565579740 934344531 739034871 677862195 855241404 242998944 119552758 588570889 73525363 269898641 685982014 242435010 287998079 753609644 77641003 159445423 672319110 154872272 447272615 950720650 940731425 175596346 3258153 504789791 714229790 981992126 260688719 134642610 391901592 105886529 123041395 916160345 529272767 672459984 163931497 105281300 230215595 709331868 352405497 14615744 238563336 344122512 4165464 461993318 749519651 517081220 692293856 80641113 918341217 146659020 980466054 848947397 572130101 816526751 878960218 783427864 78794543 294775097 879600361 279537212 993452061 307796325 588627161 313907848 5634162 643547348 862239274 372142553 990847770 565298875 179859717 479489499 580258092 483014254 392642730 714816692 929258332 860660019 27821901 353296999 892681073 298421980 401114217 432088307 763441904 66180064 20518943 90300140 653553943 280762731 822067591 677164252 62375554 116497687 763713359 134996628 380087987 36982675 894047600 291872641 22648024 796677196 285978987 544739537 596715093 546882867 220978383 741431095 876565049 996062090 475002066 961743772 226102935 153568583 707518559 817297138 268388136 961674513 44785354 286736794 509315659 640058543 632805407 522057277 127348491 475794655 843165423 179665461 75726206 383455821 312556576 94108719 248673431 703732765 823056903 626296839 473439416 215055953 476651070 785364909 551218417 477198161 271811913 872487010 605671917 742622460 301121810 114481211 954934641 232859810 499889627 215247070 369532702 420829520 534458665 889113499 931823972 392919285 35993927 137599799 455173710 215641631 841649493 817121159 424139923 708229991 382155696 939281654 483956952 530333011 260550198 494980388 139618799 335520305 255686375 934022942 886671398 33891445 564601911 903086082 92543728 591079161 43975543 112486915 789276984 159247203 491851640 323506600 267185062 233178284 883447255 952048160 407845053 272594099 567357321 579113822 933242625 536806093 89598872 222941657 703350671 443329668 644140421 129019275 660857245 407106802 581740025 782656736 643933442 175021079 786096158 670263367 911869349 726075773 400280428 405140180 991961901 261754581 188437020 19197944 116842041 631134008 161003925 778586533 263413611 471215996 493469311 464637762 69947260 356028301 270558411 636471876 466240832 599899470 835320520 690238459 796929800 607903403 52257554 57627260 250392055 292828761 655898456 878127900 906266383 284258166 934239990 937483052 732411806 856502467 7918928 328313606 504171910 134301614 919288229 248421674 996592390 549332235 398294460 713159672 885933801 523650606 569956557 913355365 538161427 480737324 785070274 703839545 140396531 82424942 93588531 200209317 583841217 275473316 279721382 266498136 765392780 437061355 988083985 183729092 913038252 428905738 390810784 907938185 985800897 36639039 191844235 136210685 236193898 37669796 713135251 497512733 364585392 248263079 726680963 660928005 892187962 114349900 474674612 164828407 543613813 152698387 241529432 698822021 572661744 350864875 775885279 334426897 580816921 122694598 956360301 634692244 109240433 734483329 25784319 324975221 862591992 892461320 206147261 47492607 470784415 483752264 412329379 242208975 511192643 136449093 68038166 261989188 100312405 73882814 779596204 721065649 725839378 86019531 556792206 889731194 466875025 308882637 549633791 192681224 596623760 391717604 824659854 808526658 910638854 686421460 790181381 271708476 614070453 642053054 165747240 423424289 799784254 972430875 489493394 337002254 243009987 588331239 669302363 640194526 338213839 784381028 512328510 193474423 211402395 930737488 979201605 388071456 30911646 329306895 112490384 799202856 792758778 38188659 298686032 712901032 504185499 100980808 836252229 647754002 981689394 291064249 243827823 694137294 289410758 788173747 692399763 766423398 33397042 512333505 400175749 240681846 505215944 791112754 123347288 500757774 768101349 980130438 481254998 237547036 233143974 255453148 758321936 74494459 87845789 601421506 425858722 299331510 853561047 358497040 469201889 649858823 945251195 428307249 435985589 378930491 672047839 281109157 97184690 337758232 878636549 692906891 391202879 423601086 638441304 32918445 810046551 207161332 816410735 176775964 139594085 491770334 251433908 808614803 993134664 770592638 756028042 87119958 818501621 953420212 817490465 472179096 467736644 766931835 997872795 386184840 394583891 944994498 517016742 450798092 950884606 744302773 917669459 769748127 996297975 13388442 790472183 188361832 1753829 557527622 435654440 807871320 668032223 228693723 3289595 250689444 888685499 148167193 790529172 904733769 870584751 277448369 137572635 65703784 172718628 760860332 98435358 714684210 787400439 91858491 573772641 185588617 887650193 544087392 796165015 24523227 873990239 62409304 128755150 243005478 326923558 41873793 481107231 597878397 294939059 153775487 416695589 751614464 196261190 616878451 124143908 802042384 829905850 84097013 586372611 945973838 605753588 740717501 810388424 875812873 781243032 752487184 439766438 19799117 37157283 72375686 904315824 268639526 55885006 849161388 814677281 573024300 47692689 621178586 793561233 507627829 810385175 162537667 871602527 297318038 827696275 256618563 838919950 6400558 175049182 297170447 480412460 897874395 563908901 154208896 233545012 80223720 200449553 223216430 927544228 307110743 242337188 323762604 699243554 374198311 48732417 983951561 372926008 755275815 492827897 153551965 6898581 32978916 209362355 716891677 149170765 33728246 783572386 894277734 711038262 282699330 225971260 707538397 634991635 940405747 294991300 469434148 995268566 573486037 567761350 963095094 924342237 291855812 92444242 105633079 278274800 750839924 127388431 228026875 640792422 885326673 684153351 972412827 855188379 26019149 441210583 688721436 200994535 562062245 812550651 874739314 152910534 432718133 768706317 825888248 802770521 827565690 2603233 122118540 232697 668689954 975059232 567634421 659473741 289380130 93694648 143208495 757157293 767340759 118601689 941066074 157578829 163091166 510363894 845498176 550741920 583662322 85766734 67326794 695314955 182752442 939496112 49204780 567003557 179901064 260731453 193843125 60322213 465551178 228050739 748810385 996334894 526052303 48748996 672393727 522656814 794869889 466993413 886621585 261952261 653100934 163564330 293794845 344871483 929145136 642804575 462142943 30027128 926581381 655015968 365037343 104169291 395912305 116898365 969645202 71689001 516305607 290601756 974270972 499694803 186544806 946468419 403497106 45035009 476286038 166725767 191319291 624040440 619550230 182888025 602043549 958046289 372429469 364300079 803761012 242602215 972912248 574219056 523523512 590019915 577262139 242120776 785655919 623209148 732071632 545351744 315911012 706784045 415915001 767703530 331300200 463933302 981599582 635063512 475572431 160153627 149896287 297992403 674565615 555108646 459082175 239078874 628213555 186165083 951749656 232071149 451954472 832626365 345682884 234032534 305607756 390287368 135068603 149029679 432295891 247938138 322877685 517611231 464268167 162002809 472796587 982744167 285080672 119593460 952719474 225315517 456970344 443235995 272368840 563925789 842762954 562034006 82522750 339328048 979628129 300221199 575476987 246567220 288770493 768688384 933418174 737634346 449212371 875508689 243946617 302405389 551792348 407901566 737301385 133805927 555568358 370657022 967767134 17320615 153894224 503339905 101068050 496760224 87278119 23590619 866244500 325307908 366763300 538720870 807895048 235617093 198439553 596511691 334309112 393543045 662881478 830129484 204664128 551023409 415847878 70794947 900651299 169743463 211554756 548879205 734876586 335430568 612085210 484305563 365597684 434342109 681352688 690864356 892294046 979017197 326682970 345915343 172477179 884998729 834451655 830733037 973654665 905140238 689511952 737789274 582615404 367850841 923681897 522486965 583238195 545609750 222883053 766010570 3388493 983373222 399544405 445933148 552369919 892701006 920408736 466040670 762184989 706005457 83790121 773798257 49609132 492789205 256775912 94138289 508696953 666796177 428518019 388431695 63279313 234755717 498401350 720879408 247921857 149684738 597072079 692463529 499811096 54631588 434918474 488712444 137712629 7460918 723629255 173111181 82762964 881735162 372856566 196946561 583893141 899541784 712268976 3257619 16173854 428130901 775852388 225294926 696348085 341857982 650449439 133047815 109614981 29150802 95280374 321716100 368239498 980432105 1673096 105270432 185203071 781805031 386757182 557414398 759787628 1483624 774489954 996398129 854087492 273339474 139937318 934018198 331527010 765526824 484262016 106861336 713436187 794571255 654122029 970507935 163952058 811262044 648319492 132414891 335144072 615699085 938353894 520243216 814253183 159475724 430276961 169983809 790360218 106658431 752121908 807438692 656430251 247920411 2695661 21638905 616733980 68786436 33685536 840525015 471550833 461564793 675737176 989001907 845583826 866654399 591443521 353164243 527327698 112311946 608502298 395980798 888720251 990921136 816996187 175417871 132045862 7186866 996556605 271755058 127779233 720100972 556479862 768335586 739349274 413335575 539357703 293294448 510427670 209592152 272237592 234710857 257410378 60886408 770496698 17353992 671036524 641349792 735478587 96102907 121766748 379815986 166711764 573635024 872421566 249998212 735027356 494310238 121458251 743321715 801321692 91191312 995932536 201277576 367128333 319475733 275729279 470617529 712850426 497658841 293750960 331687080 85362339 550507527 111628588 438456483 249542256 934406594 377568905 851985141 147396349 63661056 174920742 860015728 31487223 184099242 397302908 615916829 582020911 598103751 285573975 198480744 162945282 370971982 409092731 165015483 75075374 930577216 345669576 69935743 511131500 60120623 758969586 832234585 146166925 621690353 65519766 576526935 369397593 154401703 105022118 3362062 540157701 488529361 527891452 81045121 628917988 708977881 20208859 932386704 203711972 702876325 409438275 331657874 791768215 116819196 25755963 518763650 292185756 530342860 818636662 817988489 815312875 646904839 670489898 342484858 546169096 985861766 280320512 722180281 563207124 92966764 801851180 540258478 988265798 521486485 153365997 877946767 131214439 819137807 692309623 29235614 123875348 137826947 785046447 70485546 603234774 418929802 903784259 348162660 139799080 239641726 395340316 571346832 410813821 415539564 264605977 766848516 496507682 734486569 539266896 144654280 425068792 319735737 112241828 362268326 824027135 276529650 719652008 107560859 250536785 46522319 368198752 839783648 595629720 92364375 639278102 995013322 622448805 329159207 527191637 132827825 864811000 849992489 308108656 100190379 592878400 71024184 850284515 93659941 52803743 469766907 447544953 8337738 759472344 53525290 645537488 898776944 190665713 341034910 586489642 652156723 504057925 531241081 861976474 784549689 857697653 586460410 516113495 483819334 222749201 351638659 434153471 288452116 495959237 649351597 720067152 203222106 298337364 13121910 506013391 190034061 132194311 823325346 567223826 344124108 154670623 629995292 863101595 30399556 776238838 973940430 848999582 842583607 313167202 951262714 178507432 428950068 651245547 723638635 975396951 115017384 805946 640533280 558270760 63024537 982251515 108007645 91574764 662769153 378121011 386466143 399575358 577028778 932458179 466439241 648033053 961775709 656400514 353351059 10087620 868543349 904677170 958135039 96304130 998853493 217229512 98450846 143396445 938375912 737572745 238186233 154083061 902942090 637323757 35995833 98945865 720120923 58377082 448166808 756522134 763864079 563740766 22668287 8730795 613006990 338950135 222008938 147942536 19367845 689292951 909311894 88152889 627752897 851083482 849918909 965837090 155638491 940159618 13546975 298301772 151376018 206743684 395562185 165759502 467912450 142011291 507630182 583063587 97620261 302445735 205407674 728738065 696688013 280239835 533958233 469198181 702052497 245978855 296157281 743531630 742579163 345978828 321482557 799187379 540453493 216660779 44140927 603693724 527773258 35436796 625750573 693883529 622962512 104361193 4250765 126247636 83849504 301072759 114774522 956924760 553262801 355962721 832177148 742040606 290662733 384565366 438214283 579316981 366905453 770029322 637581121 807115885 435861553 655535295 622715378 666789990 991841984 34437777 41275860 855178575 999235443 848322478 628965163 40036695 995365107 641887142 838792332 815380228 322965068 806264630 244879536 93253371 208261447 527107295 117718994 191801201 156817249 903833607 325888208 717903412 381161505 212170689 306955772 163779854 555428290 961748550 251432088 979579111 252762366 372558627 293412151 119699014 79939658 289825697 455720453 324422723 145195113 586313883 495029089 977453290 176352721 110109778 845013118 249575916 399398275 323587770 824049329 406798219 652477373 241860968 11331666 373263674 91748800 557611114 676152306 906191646 711021475 435485920 978031737 627675176 280078206 234667402 69953201 133757879 829502040 827794317 665511971 125667829 683919695 21816488 334062054 202112738 814160857 378969955 206265990 496319701 283865478 845342468 668751568 462908639 400655901 373139580 929092468 713219794 692422961 201649500 748806256 144270541 804350015 146475383 154067005 177459295 646541762 503325230 251331992 358058884 932889660 289814653 127783064 323016471 112000160 403228297 987233179 581555187 563073125 200428841 498529611 354882870 367911942 672462894 90598531 449260015 392931030 559160452 193910257 332382711 520830602 983109469 55038129 658011375 756043976 725718492 189640514 944645976 538379115 973904135 34882230 454174881 546368282 485470445 729055674 309817566 185877424 35148671 162289656 799215203 821188615 841171154 255682540 638679384 272998158 740876135 724130237 431217990 594789186 555048165 478360772 423604870 681228066 641609473 997469383 829602727 110898715 457260522 551547427 51863504 17253201 562990604 219355679 627560278 821902430 763160859 922432804 430593769 52954098 40693812 771117337 926674101 277556432 314845451 950145663 976233927 295800856 932180121 558518959 41442179 413380093 765389640 413210083 203048089 5408170 421833648 263673768 997292650 307972668 201183798 424193996 183445824 643002591 59100428 838319654 205521555 262639692 639819475 474087821 715030256 284215457 923042485 820271570 707487851 603246498 715918417 919187663 502310999 988162331 15004924 201091407 251296405 8515166 893033625 767419155 780783450 768384907 545286990 954612062 545549914 164405388 922919758 951752571 572613696 175478750 284084839 45365205 3251062 148243347 5814401 792115865 22087579 480060864 926909199 227034409 310171812 69957653 260095355 944284832 205613623 270875637 848464314 572054680 308935301 296965378 845078107 61619396 379913453 418675064 319321884 158235656 901510815 184602630 218009968 198868242 922674705 160411358 317426885 280587296 799111291 846568110 884663189 521858539 686864413 619094087 436467212 699660041 638969310 292583243 154689115 183528328 273134946 507410801 849896726 602394490 365620027 449491475 580906369 371689043 947811534 537627689 101828014 886846924 418119125 514724461 351399945 805794450 20464501 800465223 740351442 642783775 672134702 621622532 68205508 675669935 620381762 270827891 345809197 75228619 95848615 53414429 469732242 130812079 361436921 560250060 358579438 693892608 827594383 263689505 197081717 19895857 5067760 774722410 511325104 392764063 237694161 205701111 623066445 619962820 754149704 803935594 914161264 941046540 147077699 255958481 569770379 739159317 477449789 625673555 284505837 105396546 462312448 315780624 923367974 28164724 401056057 449798367 461878896 793088896 720333898 178412484 752395796 832205601 288229072 52134386 183366794 365924512 607841166 247189032 649368916 706833312 104372866 181868314 513242634 523571523 813041654 963622303 650038779 658284849 120647018 429591378 538650451 165092054 950883876 479817800 301862885 554250239 822138008 894096641 954401276 713372025 252521012 600604012 806153305 160389714 27769733 72518307 362549529 366819451 830344417 194387381 671107007 106452664 101425375 170414058 50344187 714630065 228005078 763937927 129335979 587594648 295558915 305409287 519449651 515413445 88103208 192046386 140202158 804846231 519165459 989337578 287012557 89481160 839699326 65145880 615312868 722510786 442988215 582751817 909787256 103697330 644137008 785472056 172310372 60184928 589059271 21619579 984647351 254004040 179260465 713268128 410701434 369429724 988633589 239407587 257748735 49071196 163835321 624048737 175416240 794092566 928642153 729944568 67222181 244492155 625014293 383979699 63500382 937187955 465175898 714158000 862292836 299789437 714916606 298169334 453955821 905417847 558456664 954499169 480415130 719439524 100623676 960249868 95487815 488357794 556628883 87248540 399022333 154388660 196596588 147137958 336144237 665561808 765793676 777616820 376935745 328448746 418747136 696691657 134084412 288471285 456343536 87269108 840185639 475908322 430699854 21082303 352987768 141832286 780913258 720603355 600605437 607417326 181037317 17427607 708060832 154616855 74368682 973211682 214577994 766475209 516928881 241208106 585601564 237744143 275555708 51243598 544148341 399490421 125274380 535272449 287414787 203185717 72378799 737672269 778097501 567383926 91951736 77356237 7441961 739279404 861140944 246778704 572149883 396635624 574084913 928559107 941349406 446766702 410749643 973096898 951417821 85263490 375624937 713056255 132924950 292479958 825796087 86069351 377434613 828357148 623614123 284758529 294028587 205844451 326360195 652543600 386433178 429765262 733315966 465252759 339021702 344765520 737616427 137059634 391308777 307000378 524341679 753361081 26626599 813271008 800531639 889074503 705569779 839057820 648391297 130740772 588988764 318183706 640756324 581060934 525423250 307318937 791849102 930905235 451095243 884527279 898434568 786794757 565976390 811286479 45979563 433683072 813422499 732771344 85150836 141232510 398006010 497504556 846624444 196081530 997185679 484186607 97162343 63244862 429925732 209685960 15195767 89877989 772651582 976288762 290828123 56342805 620100031 995334784 190282472 235763290 330149621 816572240 240570794 33801342 783790206 670946729 108979306 212452606 153941135 728076346 333127006 384858319 283886836 160785495 516185343 289800315 237382075 209112537 121021981 647655512 165578928 904446462 951770895 247992197 897951253 534968383 573703808 584683958 230234293 7203472 299164244 985687949 454208971 554694945 143351283 128680556 798543035 9348993 850428338 997798715 481300723 134798892 883784978 273445178 894058844 471102752 94931217 774841663 988517487 191412029 529287978 407699523 619120121 470858026 660388411 629895061 736737650 157179475 980989142 388529523 303025091 16216949 653281970 44898069 761553122 969602369 774023606 439767736 508101583 548666557 262594122 721953598 248491940 984877184 381024093 759017041 944726261 539911598 546106671 366229785 788045815 562427272 131109197 991544193 732402933 370727231 227296754 127712320 19663603 820854179 660008962 230680809 153801911 474871422 789667057 844460065 36489766 190649378 480638935 557666554 455072943 390808410 611055963 640954809 770079627 982334509 133399873 388015115 791318654 184251881 340810893 294168794 160813141 239249491 920744235 793236053 408715885 774032059 132751979 285205901 27268651 348096873 248334561 738803641 816273309 728227285 947133923 974758955 562414863 847170014 808977914 33575505 987271409 467334222 918505347 300355710 41870946 827913791 464985093 184952437 307492403 812305407 405980223 544684761 872779597 380127434 871382920 577721696 976565905 372978522 308810540 560002327 762612834 77396637 436661680 15442714 568613519 723941633 692287838 924292904 110531406 664982553 109868873 962468495 291666865 340798817 99628317 10362410 785248204 667425793 62576293 890043473 494281010 882920741 482364853 170043921 984123679 989278110 927771845 963791884 781934537 581786600 683437011 53128944 280473486 112123111 620315973 729795471 84517431 86895159 658745071 285239129 248918031 106935781 565864761 122828564 292991176 507731591 278713123 724714016 444416462 52728541 206653290 17955068 942181416 403833030 6959506 875579466 424844622 20741533 337130063 20349882 187528861 260269131 430103668 127630805 475181439 909746464 806520785 187040189 190374676 742668291 366731281 464476989 174256387 655067480 12862287 824188504 629086292 145299438 187811062 433916278 42878601 196933781 240646986 549181162 847725562 718853331 545659025 46296079 170429074 510977201 359255122 58626852 464057026 119583603 413619313 919828772 244410519 779429433 290709364 132518430 930560559 459968784 162600705 340214500 278010495 923454656 415335474 840141965 885415222 121111395 506534339 320491539 262967640 348344757 660843915 176295405 347033129 934546076 69189967 603379984 841990816 842193942 793321756 38085329 443177069 710072537 230302145 124463480 729414444 903321095 246082999 136407796 634271161 242204982 216227899 799874232 880523864 365366593 735719178 794611365 439303096 768712768 743099910 595306625 215780924 24194758 750789247 411505185 322724594 471271201 367786606 640992229 842745557 528029861 785121914 981495932 843964711 454136092 941551404 189473592 386912736 142295143 876200565 188022792 525797823 736062071 295132294 874564982 216344212 286897912 388193180 733528181 346889858 76208948 248436896 122269937 703704862 656971381 677068361 470563539 134310801 267263748 329514934 578627794 460484424 509330565 136595148 28140347 286709321 38473605 643271964 836230593 765774441 19380486 95912640 955694804 759103190 920766249 603367554 7243017 674679790 142982743 324315850 4768241 961414105 715735270 505965850 73030418 199148112 585553052 51258587 981423300 146340956 609763862 190095711 192263904 776538360 9179167 735802513 847969544 883712786 425611154 949887714 372125526 105968229 412131209 587539844 327703390 287553574 200468053 890198301 187330205 918096522 484767839 384248153 225562281 408850148 13401992 150581485 931705569 560552517 542291923 162631300 385092007 277301744 52112394 638099030 54273028 140951663 856132992 254140262 75803906 24919011 130224335 82232497 730018085 24143841 228545638 430104022 488265075 782775214 34191980 772107402 299679455 321800277 919907343 574716371 578966449 157763537 356882267 889352695 226739716 160344311 864867411 354493239 736213294 155360649 933369000 634827583 915905447 76608449 478630804 181304056 609971174 689436980 795811922 194856446 258452012 125348983 796095743 398637410 789720552 877092068 288472568 466009565 659813340 140099818 339981457 57476227 681699757 676706337 37732524 38560674 669407103 171690530 944860562 647420519 268062255 330619151 303591533 912777890 752158194 907243777 477592362 643008691 139709418 303240539 567028516 866992171 831531047 470965298 778567781 505117519 283795543 180865254 119777079 452155221 645476300 154976031 305215151 778967312 756837985 978788451 593558607 903414443 222533350 75852913 289744754 36225331 139068612 34796537 441663353 94284779 689819912 162103346 717123591 347627045 276451501 320644605 476161376 991816387 35105196 899327606 175354317 113414428 80565837 774906045 417999048 662931690 825148956 215946216 328299047 176587102 35356852 305162838 767754822 144279321 291669972 294761748 207517874 648757452 663229402 10542886 599179391 707710913 320028019 959325075 51082994 274030665 565551870 56599531 90434160 824833199 240990986 199383134 409338335 669440160 808074334 63799712 532650755 268552074 972879722 497957015 649360245 160395259 751499958 353243123 493449919 529107739 354375211 41991450 732008393 869918205 288827962 649564419 225851134 358110953 358001128 113307612 895287522 808647711 482638156 688003845 561972905 382932714 51177688 954045017 796224188 588342675 953174198 256028987 224680718 138263641 37854610 893366011 554153356 895093840 284704115 52402252 12940288 572460313 313915533 784230086 878854871 71216292 98673907 339591250 824242163 849062573 782838629 26586214 310016975 124849600 299428320 990700221 127851532 177905643 755767874 396825720 189646931 140648962 674392729 928897873 351681110 68340739 869157986 344669212 357572859 112528932 206569850 517895240 660484619 385467709 233927521 741289147 446754831 432211043 993300181 64497356 337345849 976101957 122453162 928441578 914692687 425345316 6116753 394963110 258751189 737718928 412917667 668781314 892138214 73493532 276789520 846964625 634018533 601836437 783507463 359253734 462025635 446837215 293953079 523430622 865720137 848163686 600724091 716960902 17437844 908235157 552608114 560619644 122053168 41298161 130257706 134989361 313226940 45191665 332534051 207581006 231929558 930714712 522883433 857938829 690994783 567104034 181779421 773526852 748950408 888611933 845708155 939979207 836028202 376611445 886699734 853748507 935070479 627982913 257639079 891556259 584417316 512092968 132829366 404891927 454521893 931835017 257916478 782431357 648369562 67231951 780176593 12222993 481477173 303746344 59145273 100985422 952468896 692442241 776231196 674852912 78915488 555621275 152264977 71433223 65914655 666888437 273568217 28683673 273584190 503752865 499038066 418916472 157167231 710504269 231621751 468499791 88170228 117746906 132857841 649518175 397508863 374838938 84090085 113479841 494411744 899526987 551614116 846427521 320180652 330839161 5015547 819090109 335952405 102573678 35651760 76642641 651873481 970285377 21518964 528376943 912877764 913629425 391108540 921561281 63376705 189939857 832994352 239621493 737870495 604621314 772667325 746285882 179591665 396518585 839588427 193941267 478081177 198103287 876896981 626213449 17978817 29668912 388809351 764629493 922401587 132657091 744311248 394615801 857503465 288515538 83040114 876152497 194379259 823857343 897439392 208239650 625590504 75091073 176798325 345141958 525834543 268941666 611602097 390199156 148625096 128891305 851019405 912228604 34703921 797837722 984318109 431881628 571597497 959567347 819884468 80961603 158468165 245373619 538132730 858851358 86702827 365284063 587103488 424328055 422463119 56339166 132316901 109844796 245618822 649556124 989045222 894419497 508371265 739024823 950630641 757832700 585144719 549958979 162219166 535036749 381498816 886238776 802921398 988041080 290914182 841201624 956004223 128634554 437447072 770196650 407015247 859894403 303609342 863325685 57716801 184330934 534388703 461879544 351628834 801821634 708145155 115259521 936334135 552474673 222252246 796271121 396802950 866061966 75069543 540384389 509663030 800024410 160290008 77311234 670193401 184655048 330471197 242358710 668813006 145669683 409921111 627694076 487499418 65833960 190363952 518429090 86397692 347254092 516453403 172850714 838001668 908307511 103001611 387157733 610986276 60194237 219267438 159943971 843137548 283484892 903170709 82358119 799137433 438936504 543172249 359607495 576850230 249675614 53896760 685076318 966160449 503529925 998156833 435330013 651963291 131824517 708255987 291929244 757730636 825735597 47238599 557651320 156275647 89885596 406751783 526268023 635335533 991031770 476627408 226017582 838566676 872546637 908090871 619693867 367733599 850530801 275428877 81941806 261528063 423884442 275912639 34741715 476020399 23545417 381454198 544042700 702734763 841983078 318339580 779541028 498057636 951938106 99935349 238726638 578327999 896196994 586888140 327000257 604926677 99871909 73551847 742039529 791084656 322488497 204393037 645102320 843401449 46436422 162457590 447887851 895056028 77207013 872658776 771174908 797420568 881524350 902354569 32078759 935972566 663653301 409190804 733949987 383072215 820182864 859043881 230614286 54116885 550328501 729370009 957379517 592969295 546385454 462289350 31123915 128323764 346844009 767332804 598230911 988383814 211521639 223547007 59294224 715915689 540470342 84520466 635853957 797873253 301505550 408795040 595201325 103120565 699826102 288592732 185819359 214941452 413870284 883921293 445754523 925585042 101025681 432631611 293365863 574107526 835716158 291169594 627631487 102343845 895399326 527176089 504193587 557694012 287414970 307099851 896102577 120698240 172017155 80986460 589617557 380900991 440956814 339095213 442356081 876093628 921575751 952841273 38837646 111664972 393486785 608442317 260799446 589470820 209266546 621047300 816625873 838823162 67298300 922357344 346055075 162025271 23819412 700188686 550198794 563444542 378246130 327908969 925789772 24074000 696750640 989019978 422465888 545886501 610582748 839051797 822094294 926374133 807109446 657058209 476493582 126623109 249070522 943401125 694644020 866971762 533896457 834184358 217412148 19010503 733666000 134406561 994131303 208893319 206914399 886751223 292315957 778480716 509834387 645037606 32795408 138821238 247131129 757785869 788567451 154143421 231289615 31120477 104590831 603655681 56359773 525277888 675952176 874488887 703052806 293032255 199625178 701945869 745390925 959280447 903494178 533491060 799307809 174911838 814648123 419467009 824838246 778304959 429274090 852347913 502776002 625695401 726297257 469531753 560266120 330778970 444199849 117335579 666771883 542707526 272367965 679058428 377908359 171880414 944900099 891245989 521878108 156577804 87987896 475235124 382625533 517177479 746057679 323354573 539966751 329472403 666073115 329507473 93865357 933024501 311432124 377210512 463651365 582826848 471994426 90906600 504657789 848659757 50140787 697416699 867816392 695844886 453205955 188339696 370037361 185655393 582235497 990169584 3590737 915131238 520316399 547322722 418432579 511710772 149981747 279557583 132237390 119670927 69120090 751075656 860044195 204781194 915823952 699666132 854648023 703378120 647746138 199231800 703319622 830336294 905103608 334216592 11371961 750354681 886081743 258006514 868205281 182011304 900305923 298306245 431480187 128318813 56232457 129354137 539803197 640914132 68762683 854362559 349830201 826737261 266203964 257564691 6896362 604048534 30567053 994753973 350466158 184937157 807074569 887049799 602942443 892527642 309264453 463682248 334006396 235945987 484740160 513367365 426785971 616928918 819947735 250145892 393210199 800820573 531136986 584903385 306583151 790564219 8859955 916411369 301210579 833017545 374656212 25144685 117167459 747413379 636445094 911043676 294742186 48594199 662255941 263471097 168566449 220763279 848295265 357437655 719971110 770017868 366353349 318422444 191352689 245466551 519725742 933396138 81720983 85908961 314053275 85811748 942228180 142157384 998422580 673672746 361753000 928134412 545471838 263288652 506743065 176579543 74967419 599334069 37740179 156878609 817172357 667141516 771592018 875621534 452237469 961474296 200777228 17778835 822087808 440587663 750704873 567718037 936916476 525504812 464410273 737522398 127849702 819246964 664085981 943767048 306700114 750343630 77296611 739908496 38434281 581078273 692805586 525387321 827537359 858181971 196311503 262993709 645985705 390134428 244543221 421220078 641482610 665995527 788504556 15359029 266550664 501127816 271874542 573190847 786641352 224258692 768957634 354931471 108802486 100553968 868048242 546130037 58381582 517797166 194624986 253030943 892260426 434591212 133366142 896645137 999576440 900539798 421796601 44105726 680584652 967366186 242107124 501039255 623361467 625415287 116600710 66740080 121032135 373606299 447307943 964379941 532636744 44437216 980047709 327869353 522293528 990565638 361154930 771700832 839529010 896705806 933726614 880252092 213827464 211670029 707934844 470020099 855337778 949049243 109313443 66635325 708395727 558343947 79915462 573690896 940118399 746787444 704267714 448547068 10984043 186035101 792488048 218856563 609885814 223103101 57085403 945398641 581757566 280285569 358759286 908139696 851837330 77727093 236765232 370057520 138530454 53586329 151038129 224942727 761651557 533934639 566818594 774097245 401413375 815100138 545216493 10778317 507163931 465218228 261604392 639689387 802617920 541776897 834783381 308030376 536418121 122133799 487674379 698325722 522330036 723789925 317680968 304268199 318382751 217832148 909756345 294270133 249333816 275244280 753101956 353453037 896941659 199236371 869643989 37615627 3675968 755689479 213789603 186645963 278745991 859338880 70433893 207810578 297485487 54158811 684202970 63917272 758772469 97413832 940574067 928660286 143206779 585751816 445392747 358330033 218481791 170113216 522687483 786725057 200735190 478801277 366388408 357022022 344650673 156194789 758759024 29451019 776610994 164564502 557759716 869235139 274728263 462619422 469249994 10554913 4641593 306468587 655849897 264699204 222783718 822013919 945175979 94047793 131614970 726035023 503171144 466099576 465382914 391740409 521896762 597252889 694295812 507335789 97357067 83284446 886528671 936220580 87200445 241302448 413609808 406230628 966157972 660978850 244774292 748902108 639977079 42552748 24769179 801548275 283065260 156130960 367796198 196823969 952791075 455427067 741499584 732741964 794981579 720248375 646784958 932364572 619912040 249610187 571220463 169287550 39407094 474636107 923091522 930735758 838763227 31578551 725631071 152143171 481893007 813729353 447046484 630722376 512807259 958952115 103468224 890529580 294678962 716220659 539162298 40786801 661437626 393370998 841020100 345161863 678339260 330067102 205299688 394932168 509839 541454792 187408078 686514082 794645654 155780124 213479752 944346252 254819830 462646332 477921720 841810488 645946601 492909617 891653909 360804412 294834785 756703654 361023261 573563525 428569769 406330033 293037044 487221959 117334234 730222944 490103264 117920623 455233626 263740684 369125089 852927136 617968647 47730661 292094278 564851312 41167075 134088181 661078733 748097889 865641130 600139784 518221598 861450784 923287489 335952659 858451022 951095146 697074696 797585670 704941780 276729484 899750621 33997111 129698672 729926617 295568832 562571516 212991208 733546346 284889582 117457370 834710023 683530885 138395165 929943697 383313090 106910996 966065847 279154407 418605107 501076521 767909186 748456439 696408960 227978118 888293614 181496663 581027049 502261195 435370869 63130799 260086740 501899719 814789723 429726878 188736876 928833951 68283275 74415437 168328307 551198973 225834765 227372401 844346938 294762147 929016437 866987893 721385610 190178073 849270348 718308637 52163491 191287860 768348328 772087778 219672764 746642209 581705083 576646776 433045746 805652196 184773894 333613770 145156153 207809667 483381757 754005681 252245585 401301392 121886660 344453226 782621053 849194244 353043620 763075146 907306056 178067186 317328091 327718469 223612618 347305636 59088320 186785513 866364993 269659793 835440027 128252800 719181058 495881404 152436756 177609832 403492815 475272307 488280167 577803174 144456603 667454239 89333289 26791238 139156871 990925013 546564266 388432563 148830079 609031878 34684068 552248554 362234358 113958344 407134799 4058596 157999148 523891702 636173794 587037866 196751016 964596808 932250806 613987969 689258678 878132329 900825001 456469383 581772317 169782417 271290085 901764373 100293595 7474945 35553983 8595222 102434148 292561110 45097688 220712753 877592746 15318030 111471784 264516813 498864143 40917782 222710217 355191755 662503036 469332211 956441929 86908097 222356205 816206961 248016561 441182023 57301735 189614207 924406124 666170378 226462168 804149219 777542244 86209572 202856391 287084761 20730168 55422861 677654800 46667751 959826207 190687892 279439764 917396390 919512791 323440635 931297088 448585222 732196534 33681723 320320620 604914781 240040839 801187853 149470383 192640191 157352305 644757091 237694681 346084942 603738311 79079470 463756829 10213155 600225185 21435669 459198704 198605088 279523212 312633370 787057205 136657756 529420477 145865823 895309321 914573611 838586170 574920670 574473392 825655010 613499405 471510614 273787869 680190344 10355211 535631584 243987751 348049376 320314074 393577266 925754144 862934580 588430247 723811290 75406299 411505036 422102204 569115880 965114336 123803125 825419419 285916548 89632973 458302812 733951415 733218550 284882824 607063923 135171426 183473015 693266816 884064047 470042173 73229079 993208628 54275484 867091448 512825409 65712108 543647760 522799041 165141306 133239349 39562563 469857520 589999727 872885098 811991093 885108592 606910820 623952149 218315845 714633399 321798184 896713017 97406639 200161746 768993851 31257019 689075543 71080943 437107059 919890493 374089630 746252979 603371419 373593892 788911043 570760709 143310539 643072376 399945191 993810226 229185377 913469873 746324182 481655463 578238355 370326211 7412213 957140799 800644396 222313580 269129347 924589060 282525143 557363018 99248053 647688031 33606914 365735041 150334497 672725976 841051012 863737198 449152650 374429137 385052390 723229838 198887581 440002881 847938051 833682818 551723591 761711856 738447676 790577417 9137930 99024673 293683165 294490257 616994971 160350833 799214986 14523510 15926237 712231539 930748450 918508496 96509566 29881203 18940313 869313803 334362957 708771536 179065865 22487974 722517780 162390819 517497607 268197482 495467609 342509959 426661432 953947105 848107491 574433990 533321141 604622141 502785986 401927661 273325637 435280597 480097958 201039408 615770245 56244805 898985777 766647016 357857628 623920074 329322771 260063706 108906189 229941752 142619475 846048141 486290412 594860717 650311384 588342903 380602675 752534952 727499643 429288202 598374557 136035842 326765915 625105430 457333712 232265360 543817148 211072595 889869141 850249848 175266419 93379090 722255007 461548281 540850720 606649552 131930524 214197669 833394131 139254217 88466039 5973475 292170717 190513469 637627996 674202897 436062546 123342505 143889656 675422309 806984420 833586568 685407478 882561775 241870257 360659874 413392023 97904787 969681843 548106843 491273608 329641874 615476775 535894861 416921590 323632481 295792404 143926683 819423200 543194978 329711771 218276790 776126425 970169864 142459676 495405059 656614866 643728369 409530696 474327482 935366268 677141147 813583874 628383435 209641806 749741248 412261360 255894891 495507409 608816800 262104430 534571061 294685731 894899842 824322670 162113529 203705991 257981694 66053015 75445951 12628660 646027617 541587923 996933125 651030242 211980377 975782221 1134613 124036975 194668246 825537293 234211817 487976439 273999808 66892402 339908584 777966199 806825742 836416799 88336827 310914579 133224554 449377044 461005028 342552 328903446 904227857 509175959 35623127 856285632 659218009 284779589 424031617 462197173 351414462 581584146 684892162 203932009 663942787 731826135 990742278 325370398 8584558 301581823 2120591 178106436 83291782 129966231 905887971 346772655 403975080 292955313 874579161 633875963 563719708 944579759 108103879 399228308 585781732 326466819 402809652 759676789 448295990 210089814 464525784 284105737 741410540 856390965 721433410 528453153 88375956 183142263 531207432 714753151 250958233 677219485 230338699 810225053 701890413 91917148 406765639 201776578 984989229 384023595 603005557 6125882 86670383 969277195 270515982 640726128 87489441 972652923 548881817 530093183 422330830 362270242 509771365 550888454 443247745 480863827 343909379 96110168 58309456 465084273 460028521 353132988 339917744 811065206 447744748 818577652 215048326 299426215 422077039 722136342 941264495 136159606 99691419 252616507 268078451 142475323 412521478 757252730 425883252 597208552 723570067 207859685 77909622 102498969 612848117 290215054 200920799 441820539 355373109 277989991 459630042 276523156 666569650 565398532 47538586 378078296 153065004 853591380 183698170 80639153 987230294 721017055 787865413 943973582 275181342 902761757 170882339 655611949 731844258 676333482 650230516 47670786 842603894 38465944 326428326 968018812 980484727 732330996 411792689 150197783 951249602 722615389 783045651 149681057 530988119 252356310 670846375 198052474 143601434 204108156 463604748 341441424 149989557 835660783 713639634 463558108 206863540 322826569 449193202 904211630 281939112 923235503 19278862 542049009 673758353 465651445 168840233 162824466 232042086 738883440 691552458 911879138 700037956 117065441 499331751 23950295 346053627 506318874 948783818 728398295 946599484 782283559 312578504 123705599 484988569 887795457 101476309 519342326 459433905 940679274 15620691 338758969 747324735 558588527 133919662 393672426 387657919 495234784 43630091 956518958 465312010 843367114 965887984 12226275 777427397 277883783 497286334 213884205 196425578 385116191 390486380 336505828 190019407 17476112 87558565 15019365 123958607 818319605 977320444 141168598 839804176 373705485 383293627 294784949 149297558 704943364 987939982 539837032 529111515 609675730 34806587 277090427 229793076 849873229 135631721 856600320 842904433 789004758 853215867 720282584 282481087 543407750 426415923 448845260 599901642 320994829 5664244 235281726 984009002 500845877 276386259 537733760 805525435 80118879 607802502 625769564 600660784 852322887 836489483 143430345 851313671 272760402 781720526 230708005 567568792 609486458 449839667 182490006 108713052 505539794 924419559 900875138 500411186 378135589 835933979 184547461 531703197 246675397 542837609 181703706 825406821 266939989 45055539 75253223 693894390 139398589 858496158 224243353 441517792 151047250 307700202 817320865 428201 138700665 8868924 865903365 660929497 939369343 972483652 384562833 717506615 907982459 4856848 265517628 22283665 321014133 88254680 207200006 116604865 568970997 165476622 172385275 266377574 699173216 665638773 650530364 359919458 415125171 801227568 811026448 30504105 327714072 954144022 469355536 210965555 319773507 536849969 528760432 957988913 117498676 906200398 678476869 434562250 394896453 590443025 237557189 510204502 780264925 840789357 853962993 104449894 987105086 87608732 46839793 698111152 957489688 388790677 588874655 52628125 509203009 443754519 369366257 333749377 508379308 603069830 928449553 439855486 147540097 50246951 281310033 867695709 32917666 273355897 328532818 580829731 271137516 735954347 833678369 412988372 593511333 556550083 578913213 323662974 9035164 119715989 102180051 54120503 586255341 918234146 465789617 574966412 998113661 717082955 175224956 634077319 700870018 233216737 815199755 603902930 642873356 231366293 551337303 671629359 441168454 737664014 62861946 792988047 54671062 424282234 130976452 685021140 462696800 566120108 606965628 722258009 693437309 270647255 349915707 825554210 282267160 863327058 384055668 528757306 608112570 505009270 803572751 282581628 624687243 874968821 618090267 37302427 241559471 894831544 517663438 87438044 798950337 869540250 139570810 570119463 293381678 335892281 173878778 13583578 7501167 58812107 131070081 545502390 66675129 390124367 259113564 175484479 839578937 479496049 49354750 394769627 793110949 4465388 260700070 597125832 52286725 514869726 578560679 942450896 744535683 841965268 35260460 18507036 183206109 648565992 9686761 970904753 933873437 794616575 843609018 682261421 236753962 153486930 589580616 59512607 156815489 259739237 196472028 851417913 486497235 99155149 217405743 990914664 606848441 309869050 269610905 120506272 957335008 114863996 958904095 533444799 257269498 139684168 164360648 666744270 64604975 683570030 716625562 18169971 659663408 251306021 186761051 627067408 574352977 264668864 601115689 199472444 185153121 382151870 990449247 712534520 501413054 707970653 155700016 359421461 774151768 604866163 531208556 624592810 371778014 849316673 412737067 756762144 599051764 90313011 946806173 113960740 53985646 849042902 818304052 70374272 642864479 321000340 423347372 341340223 737496762 784974046 401772096 491847966 113392911 521317290 36267419 264542749 10787529 706790426 868264403 35830420 215759523 176041309 32734528 554159150 126733328 702580056 707947451 885606797 376194788 157575587 204537225 217539199 237609045 56375779 79401953 561619943 642970558 10512792 542299299 13757205 127129231 190544874 49182097 835597363 453901379 962155341 658145657 788273335 478421351 601204083 682486258 39894706 533449710 100596934 528359337 779318729 400462401 268317268 510576658 71846483 408125189 602732466 276777462 612677743 855605391 837772955 941268940 327375470 48473095 274863113 550258860 820984751 735520086 143586149 663366882 980715026 21145355 693501897 181647720 407487284 915831222 505395423 535006844 408559802 977470582 667202977 542949496 702713265 842890384 953547173 965085448 848069385 153733778 583250604 366156709 262120790 374666016 38026750 673379775 120686338 631066260 534934897 953787340 274436536 459033114 562991790 606973842 207852834 619475140 654115917 880651998 893844526 440653722 391104054 378332947 949982669 610741104 407473831 764510131 218253870 996654520 19636698 31421853 781437794 69902727 819475767 275084935 325868821 781508597 249598230 97055141 347576083 23837389 867450891 17739309 323422474 919894143 283213134 565854709 678443091 662881757 40196216 664130680 472343625 426566534 245468364 974246082 51488884 260450117 705150217 779280037 68962676 155081352 71441300 448044171 638667908 598869408 876622344 562444127 229150392 237332255 594577546 848664430 191983593 154119044 936027037 420422170 886691689 699290537 280202896 19427467 404240063 240274214 821871009 208757184 544929918 572413871 805935391 995692004 868828863 70145864 55908539 317142788 252020261 974626494 788653208 962666565 714375682 477302537 554726634 219827857 356797001 644256445 325139962 581573030 24522076 856378733 27408076 359749817 728763502 30612514 290967049 917424948 80835619 552551039 91377396 162360044 70592308 47442662 75907729 408007054 984344566 799369669 639926481 893059015 587120828 580631469 705069043 290758922 899129730 911807594 706181506 769274111 96376657 988434385 405241749 817787752 565517846 102798595 645510292 231086493 251490533 675395166 119462807 452155846 60816227 816948822 289058182 139814194 752649185 319070383 837950178 791172066 730346958 399233370 494102913 865349541 120523122 776826320 788157823 228504326 702617764 955291601 285017421 202133891 790644542 37521102 670746913 822917120 739719435 55700740 59314070 505960456 922422513 50202672 835524496 543522638 736133065 863814707 349608233 582379050 838528117 999719136 950888832 996468662 809994069 458346699 631357715 88333245 489623225 86304879 326196539 675028838 660484839 582305333 238673150 205727918 289476417 244532722 561822018 633843275 293740673 793953108 190870897 386095625 623339395 952890519 244839957 12715496 118978102 945164122 88721919 493349595 479503768 603700442 157229858 197077942 771948931 822164339 443023449 791304945 146486328 92497399 476608275 270852812 217175065 416265025 927461202 234542630 355890568 282269202 694972969 6533704 911128177 550792934 847378998 184218015 169257528 474090683 818477864 167500765 878283689 73032597 85394094 564036012 252228794 978587379 216994795 929876297 668066304 208491034 797506234 415498309 366925479 991572843 626285370 626068052 266399446 140782754 340164444 950691468 819065713 664257598 133405686 393326425 381165972 600553324 32580370 730752983 668887448 103514377 755384596 463611751 227780143 33082683 551540518 198092989 968719384 895811719 424016775 639288546 9544627 526510641 106709606 102114957 496006052 376084025 921858328 913086866 894272942 344537109 476639336 886227727 291679413 44056513 217878261 89103351 711357428 508126695 103402509 345925439 579946268 177970333 75970316 278346204 422266710 70795684 233397069 439787885 254256718 286952103 686619058 675424958 869772573 272256807 620210201 343840966 285194846 884901496 300705488 318901522 334699859 629663455 976714418 172462040 355366454 46079130 446168226 321170501 563861391 131690190 624556012 188728279 837732596 752553037 417676110 132005742 155739432 663678016 328077774 700024847 557736202 291807327 520380231 871025416 183781398 17691575 996946714 696443522 751411909 930912494 350968468 12550331 582999690 254860044 222031672 756153304 365377065 140110040 922826494 793833824 962814026 243385041 354532819 171361949 294852356 530570291 791447423 550520128 669042324 719042959 586186950 262058923 123180914 602602126 698848573 827224265 874730908 185866618 619092188 348949612 787019334 923217543 637652115 92831659 239661709 999364959 622448144 218884950 738683443 843280368 237520057 687197557 939318975 758657796 815542600 412787230 324114766 609460100 91096 840536125 487188351 172304104 41888451 589113246 460792141 684449269 241280446 440429903 373783876 827724837 37403463 896561646 63623674 969188377 150014165 922162025 101438147 119019594 404753460 862120172 558697186 58184180 148664476 549033493 92271921 228888053 575853467 321970860 385345280 409237821 25017692 969570452 745805683 543766477 326431863 114861681 521766348 959400279 108195509 33838675 101887114 696592405 287896227 341185090 108253635 602448507 268202105 846420616 563841706 302781133 543238842 963456821 603527108 721387242 146867759 126404451 111337441 61818067 255143470 148454496 661458151 652389344 154046347 682431326 729101435 64940380 976461315 250774073 441013853 833058018 790201973 787080005 616381062 876498791 522413564 955471617 839058622 577667427 852999259 969773748 451662482 870839460 72487278 865282870 992079203 774690846 915279756 176224360 731660764 183025609 260836286 941073232 984598525 49652541 939485778 729474117 524951840 161662636 793643378 858097216 264292497 282191038 387583720 137096666 636328987 213386525 596995769 968788592 195627436 370407039 39955471 269441827 463702265 796946968 953155645 656498944 971352525 871652365 97920902 44411684 435668656 978988995 476395602 902946119 174045445 186170750 453066594 835792682 527075581 783881307 19740277 212038236 390069037 660694424 823379321 42127608 863567897 490333281 889469643 237582976 626632840 163836791 409683177 852136808 19347887 54100947 566026608 454227447 506990505 946688148 351540349 879920870 581100595 137006814 920504091 226964217 947931901 899076301 799081720 413442412 941484405 62938294 882093103 192556299 470592630 263542860 128781112 965663868 544274748 11265728 935408259 617174339 540438001 572399198 808263314 379116491 75695179 127847980 453264803 995509309 254644936 130523088 775225739 826163604 776295765 134390513 967811523 149535307 709609389 671394038 533937055 49232047 319052009 809161995 514530810 755533630 719759467 157017768 454953372 960542087 941001126 80931164 716481882 269960911 606991952 284811065 817104758 183478495 568172278 895004508 902338523 259512215 833528498 988805498 501988578 531695874 241439321 462637353 704104700 759282601 394095098 273475432 522789178 80874901 627233601 739948742 519710317 383539592 170550336 446043199 216929761 274311515 552917279 184287542 53418807 197279508 878986297 393111516 663634493 167749287 596662758 527564936 599549725 503036279 699281175 181729180 513263548 237978043 967747498 255454796 839924022 57161724 249468780 904091617 819979708 13058029 524152158 475218696 44622731 285658829 581640826 294917160 894534141 283275495 370229631 927029928 686934266 816515380 29336963 417671326 5858392 561084628 946826894 120540552 713004018 666367978 122542503 421083481 552099625 496817288 821936585 286896775 174020532 770519883 670944410 809221840 286025809 31247059 494527729 246786955 680042149 789114211 1108055 25391264 254776148 461018530 276021698 114840977 340025067 287659142 523489033 520247688 94885519 303088685 821082482 46953857 605456287 123960303 238000406 992423333 600944233 926275884 231641228 479454847 564992594 813577583 297539278 505702452 407675227 103384615 307857392 863609279 159364529 258077474 948806273 46718136 544461296 58397148 824112934 414117893 216165000 789201680 166304680 939522942 983289246 367781125 371640607 797733585 378141889 862981578 572739767 631807986 895592938 79430822 882934038 61778361 808516116 9246330 745290623 403874805 577843044 692498831 481517466 463354808 504262582 418881774 479354096 26820179 539458389 15244834 816578478 672807181 250179031 578248852 952964786 585381548 893750996 189829043 668905074 800557681 23821372 427918787 114035868 531190129 670885593 195207922 10058971 917531700 546484874 661211188 708980804 606042709 830553332 990261472 3853891 6025180 5840118 241043408 159601902 233121309 720523330 124250277 748009562 551860377 108047733 246105381 636639059 30881041 364287863 11807647 232738554 883679087 970386126 25814334 665063986 869303394 621043876 466865731 985609772 479021594 92911767 922995389 294793774 632776125 156900818 478644170 964965368 444863553 171179 649178268 197604551 235803531 935462194 168949955 158974350 641411672 45941843 710697950 496833150 63997529 505507542 249198751 191115569 812796812 243629955 507611068 197114528 966353850 280304574 128287842 52898168 920951877 8944632 675462248 454897661 416648296 354483123 254809923 474214613 188080401 902165374 865601116 559332456 56611167 14833259 104671648 481855207 485940871 155707041 971266297 925264895 456575484 230495694 450654056 251743727 131534569 897192964 98754679 671622995 872125888 47205311 160817081 778304915 181052274 788883252 33190331 675228148 855551094 27418175 358233300 99029289 126788454 500586452 480341027 573719502 439279167 374588090 601943644 431698759 36142024 157352521 344161507 965620039 746623123 399564863 220836393 42372821 711904249 689346981 126183394 442322311 701309896 150514806 176288045 132124293 874802753 46799763 729561471 375089660 459921850 398354795 991256871 405848795 931165503 266192406 665300811 811928365 900650295 372744536 152451758 635975388 373925047 656605405 511036968 277559584 644420940 421646127 647523271 742468718 595842144 317535398 566408924 774485973 75249390 912288214 95097411 355973102 237346968 325689838 583181395 760314583 497945657 174493337 89094235 851611306 807375510 849811519 233008897 785701013 320713112 779936273 602791433 433131822 614257682 22367605 685902729 974114927 146971501 188590983 788919943 206205217 756174134 504533333 809141626 697931063 385919436 806835234 609062207 59196804 512934672 14891239 172855653 661651324 348843915 764510695 733664894 678344113 547595773 196645720 182335849 76253992 250701980 701294288 299366562 825215438 331822532 972854657 127953422 592946997 336983422 599025413 381393526 967463120 571636013 694539648 186379330 188258048 93137824 186776939 448220346 54862443 858944194 11722423 631140114 397209221 210793590 167945738 298957345 819113166 743043677 769447197 936385158 896113492 30483989 961612007 759256192 692173802 476204553 785944452 397595676 271822409 767957182 556012003 381060901 263690110 229260782 879164677 511128950 732507679 850346427 493674436 68232391 46100985 22372500 815040259 22760783 407212508 226381192 101644270 654341689 24802781 120598958 89041279 935840765 748593627 189734630 788146110 892023475 483062198 983555947 791633580 226743422 965325009 265435766 753038362 706846877 470938031 427774282 652378649 659552068 624620034 961808998 678593240 803449067 232409057 279206666 99655414 21802528 927111416 834173474 83014885 900009177 544869655 476300891 487600037 178950409 360719937 478665035 490280036 113608199 514671929 318547165 427552193 58154233 788307145 61994432 965640034 214057381 925096676 108208345 749187458 173256624 440247167 316435010 17172608 621252781 45393529 156836148 448581144 187665297 817240529 274582059 7070348 88282602 410032212 548187742 710169929 316481932 247293934 847782787 495715705 503329001 440300931 456634210 865084401 371675819 559628316 568879328 473320909 161581288 530697105 792722141 65872869 902048438 466615413 281357228 642903383 228995987 115984119 526287644 848167891 574817005 941414364 705969292 925264783 59118778 300394842 162196191 798439852 911336467 446882115 477270348 941643513 478723588 173051126 327979664 982292949 305927047 41544717 621374130 863816871 911874649 220956064 127656493 392499790 463851736 229911786 859569267 236181080 379475241 245508309 40224629 782865277 183112186 667478105 228810230 205410153 106888635 44866922 538570998 827796487 21782313 789965599 262983947 242662354 785632062 401488393 62137121 285000860 335815 645630489 998477350 487494477 507502728 726827606 409530458 866004364 372183397 934845325 109128385 566497649 263362913 564795143 367667722 48203121 621600512 173179548 984732519 969326864 19078182 312382610 264945377 687532388 551513498 953344594 573415401 375712528 623510247 712363796 206079762 966590650 796242410 91718059 102542321 801308805 772342001 130425087 607362338 933741090 202029959 848242230 310470393 365086850 987553249 229559202 428719997 918935425 325395034 627536676 932222088 574926887 27285266 907941008 643965900 134953721 533134168 452609603 558354440 975445286 594898109 937997964 480401747 304034797 509343419 691170273 510610455 46675691 884228460 185066192 338551865 571296964 190497737 634403569 403292911 734088953 144794297 820399931 570767835 288610566 610059803 444663675 591319524 175798770 396483226 580712204 596550732 809880659 330622709 843037237 47147144 145774152 446908009 738118034 619370344 292078330 127723110 40705270 611355355 721915048 10016575 528205134 343186223 824303259 81444966 594172326 668579903 628644429 971300845 259180536 853353546 844978615 124281064 601099744 236901728 119407191 214849469 361284731 815817310 72294417 387853385 549075403 862254688 932932152 405789159 457161825 397760388 137696675 788849729 93750065 114921825 634119628 938343713 303311345 332620162 31534962 813188405 344604083 179137115 373408305 720163821 781828352 105732419 429501874 374693175 886638666 237200617 243847520 191557854 140360481 43928116 304432651 413751479 763682961 627923513 778611699 486043504 1888105 811828542 39527293 674955946 61566758 887927655 223168992 928225938 225318440 238666974 946732152 243633999 172048491 507662007 430241663 471326665 544251195 556614294 312701392 791567711 378900738 551873523 17813625 800972128 574305863 591516513 65879140 201570417 269230863 717569827 972129013 829998013 658900798 586686077 913653698 879440334 738441169 332779694 157220668 773815189 26553599 272868977 771182356 974999920 193295383 699703828 673324116 254534886 197509864 227291083 954323631 882057935 559444630 415364882 27085742 190675498 804939872 723879383 159458401 155890211 32450108 705358830 30743991 730576144 743285979 200525386 51390653 601450290 829393844 24994515 536291962 50819026 759407744 161660298 481459888 478650085 95472171 260939685 570077237 374096884 911777993 581697567 252640205 225252530 263525900 95899505 190021446 583525684 315321677 676027195 972424783 186795006 404730218 447764756 970165554 570130967 102598117 597550004 104159108 763283315 686335754 193109869 415624281 380901079 164478433 885765599 514802194 143676360 821868301 680575659 241132231 142882076 497941506 193815957 455312671 998534836 76049936 874990526 113397234 356604523 493551333 955743134 992585126 227987093 281951752 633669943 817470393 635104403 202037156 986403761 814201639 100970712 519046223 499382024 63417745 181275799 674755279 169885600 154038945 306268171 125607606 977112178 287139981 945352337 338942024 925565670 414220559 965954670 94132377 301105515 691913903 513070173 462879732 486803393 421528354 613923977 216543712 804805552 804410984 166215945 509020821 332271311 28313153 427093051 731655287 199933250 169824136 642404612 498836299 771033486 767531052 508121907 23358352 277826980 371580626 314499717 883558686 107360363 525644660 428014397 58390014 61485522 291902759 32802794 488174988 925691149 217318041 930731726 404828579 790185503 910866146 282525906 926278649 950594716 856734302 903916123 161426664 385429409 328867272 862238406 411646927 451862471 768914189 277134904 895259930 942141000 210452271 501891364 934959106 964270840 497691324 235933631 700002291 203351166 548296994 35235976 737719749 761016547 589973380 489166643 271569266 920369626 482070884 891362987 449151123 968886627 651725248 994378022 355988044 606954992 774136198 801299120 329462305 24905115 913547130 298188480 847966113 555817873 110279077 245859654 708207917 914916077 269551986 321293019 512245921 95108106 29590857 126142819 155075437 837289093 873532122 122021590 574090056 128237189 203680716 960859131 565793617 203921543 874846343 240390531 60828509 515565141 935015523 965949752 594659103 945077507 388448117 658619044 404323455 838198698 180406021 155438009 16800436 662315439 804644795 478470458 586468286 758188675 556745892 233616711 413485629 752184454 96007403 182848345 453472928 470885806 838993684 558581597 865480332 378127093 341205460 749015721 259812582 229259030 549964100 739448667 823395129 215632649 56822241 420073457 877514645 49058395 655446528 373105503 263283536 18292609 448157367 832274910 19549566 597225948 635868529 612594154 793018346 197752064 592684892 696530380 811894552 77188651 657400842 255053984 547732368 89027769 511632746 980677839 193091008 219697612 614606332 935617069 408367074 996347151 742488809 516621984 747936551 848459790 875311124 804130500 425821648 177601486 200910218 109221905 165384091 828019027 272614650 475013027 146156634 235839719 60469869 456409425 902440871 579581273 12538140 693540585 893495674 600403916 672318459 396405086 790570028 961536587 66835524 972593551 722257030 390877913 509975323 476606329 571151328 451708867 663443421 963101040 45043200 308631525 919365321 475221017 775218921 638589831 193801916 194684176 544534599 716582487 46999774 782582207 23778152 521185018 656886448 761085281 776851798 681735980 139765251 166863611 555840927 526095205 471944115 810155160 130870871 659807832 202413895 183404705 471257739 477064810 382316509 560356066 82136521 998518191 824242603 973952038 194575552 826515863 143644388 981188112 77180714 201741574 277415714 890314141 374795346 871843267 995453073 219542610 708882852 991181636 603349293 658558877 569874160 96757480 835638106 727202372 963559859 163347871 59610554 99949871 171183219 873366545 774478990 37912969 927657891 161090332 268968376 324811783 81115373 770212162 965634986 408278684 197810847 873336290 127865084 23781252 466141183 205389500 263694801 688941951 313686240 496391850 778642261 37991111 69979032 248146310 638169939 609189446 965535690 252341682 176307330 155602870 259622720 139314186 951426854 115982189 486559088 408237440 380357918 885069990 45654640 669764932 195009611 777541290 936748487 285629847 951323444 85555421 544183120 254751452 43588799 793116973 363253678 260449237 432470560 911823246 400118771 645568499 950703979 295604439 952307475 965442536 725348268 305504840 817020808 615148283 863003766 496440222 381447179 934130818 981924166 612795375 844464467 64405296 400522994 906455681 993963603 375012736 564437834 169606055 388683026 731855943 472042843 838677297 172136591 725300999 729142278 224789329 617057623 751552953 74316218 549963282 56767881 263000368 966729427 754818170 620435658 847087784 151071302 97321549 724261292 260109057 977846386 474457960 703121551 799871491 177350359 784471633 30956 110265010 585955461 562109416 332510593 438704237 134241805 861418399 903462864 202223603 71350115 532215094 449984319 42255235 264696432 437142229 4822141 421626599 652518987 820595090 837783533 851627977 168107387 561908427 722535879 698076036 798694860 122086669 223283068 258478932 199928553 65080292 88667871 62753569 259455250 717470179 694474513 80471983 120748295 255113698 764050469 222689519 998085969 82941450 812902026 51098548 670133046 873812568 775647173 531605065 246698514 73127819 85927217 261718213 879747946 647105103 218373549 916754812 243434064 181598326 337040545 728556455 997447775 312783875 249999645 246643326 221752961 156259439 437080375 911727884 357014625 325393208 27351614 351236022 390023423 54510684 497582932 932786018 878603264 768081044 555838909 858864000 690689997 261782030 315920307 12574397 897492495 881590111 717212727 553828958 473837907 669163561 613958864 781092228 82365678 155084682 890568685 241451689 248310335 584130412 88096367 333554727 915174786 292071936 86818552 650974156 996791241 385183570 364566681 523505751 430152983 736864209 770589219 41356728 53626835 293735753 292091601 548472183 368281957 76528338 357714715 922946232 509964909 762181940 826880045 840415867 647832193 115593889 175647397 993168825 954519543 610534291 45212135 658168759 589976985 867064144 921698539 707309820 417303369 657565440 273196625 781760243 315758557 864754743 125312447 146218331 603339264 347459371 920359721 132803094 544369865 759733743 928160670 337349955 952863707 598153652 576798853 356407948 340742206 787202403 22272373 629104914 934356727 111848122 547775248 118136950 837520053 60782152 596144719 694573456 186184557 333551923 601075726 397532052 757527516 825976360 585641676 962734589 838384623 106675863 550319366 34000842 666892698 941976903 326949460 86543768 198996394 658255941 22860843 910376100 150090161 701667507 597642045 124017940 867987458 883474515 280824974 951677717 293888084 27037849 476252817 18038183 147692387 207102270 172643175 630469788 851234009 77893159 480670541 231247096 630413175 845002851 90952855 836153771 174961083 129097018 146605103 222020395 631206898 455699613 317760390 298721537 101083907 280843597 555630447 807716090 385623716 637618751 296917691 94053147 310655839 75232239 382175323 208888565 239268223 662207517 181666363 343083687 732874157 555185015 33700223 731475514 105489753 993525231 875059973 847846873 611689354 542256589 73419085 487344705 547616456 642201181 113164179 645720822 19093659 805631374 198406745 964032453 145238717 678553810 227728611 957683281 995704912 547128210 486955296 645998465 41000469 265325198 54886400 153194013 774934333 88377271 841867921 319363516 73284337 917022972 405103333 875386888 961451572 118167619 598855030 387163262 430363859 542792434 180715396 145624528 203300915 431575904 367599698 529997495 256529387 255579865 693987009 137010762 164940075 275177040 83713382 933061312 148084729 135838634 559565079 266897795 195076792 137427589 132922233 687875159 866925941 923424182 627676523 428223875 321301309 186631750 519468830 6633546 179149589 770051415 936390231 642934016 696656689 219225962 907405978 533890277 91866141 50000574 719892395 178567747 902176868 185727701 266357773 286029748 755247411 514603724 856810302 965908792 433764723 774713305 960609445 922201211 816883915 640556031 37978135 616604962 847520040 586422825 216328076 944146724 800859347 793749414 248308694 184528912 369280322 65220470 526387080 292270673 825137472 936815156 761505750 761550184 282418811 272809433 610168830 326449433 674912727 664090037 37259290 864101961 589777059 667110180 142416835 206688089 737874436 171644887 358391645 268674003 364272779 840854627 990311771 178176225 469411754 212551132 201394089 834669182 538381687 164789094 258381304 71105093 218938563 235196195 931067114 684616380 839176811 64944944 171086362 308961655 163537365 706596601 982120461 795482488 755953732 109083304 173591085 392426617 149404592 120015074 163750688 260177977 592154755 318304525 130493093 144062333 784006538 426493661 788281415 452957635 560530835 586365372 786060429 600992166 35229111 737527441 557451527 644558822 254137668 280578403 30476270 484953098 627116836 666571326 11931977 188808502 901206250 434005011 78151858 399245984 826864989 286795323 243713448 547309732 294637543 371480132 878733156 56852829 95753810 655521962 546265955 988262902 290368757 588475093 503822216 985917812 669204898 225054071 155088749 829924229 498682926 376317148 919444097 481701213 48991478 452163151 226434509 25353396 258779447 900364487 162213853 465439883 820166995 659289498 671447648 701611361 329115622 373441975 481520446 464426837 452011072 267938831 414977209 811108896 232736515 280953117 174039791 313968520 477919437 452012035 201139711 617897129 420363568 604487650 151224084 942845852 40998979 958854130 841858365 579291389 358516647 937386040 426681666 334845230 92511675 567065609 666795847 507158545 427058025 123623566 311634466 693015015 387399429 159536377 127834938 396485912 127410244 580541395 74098346 530588109 674616072 147526245 436154144 138439941 674592390 574339303 917488705 973929286 63112814 98484316 879872005 915817181 110352191 486610585 506374162 629654623 546204236 506817473 917760692 197387126 227231278 927805288 825710506 799500992 676738778 430172998 646426988 548146075 81141427 953974702 683400290 460973420 195091714 246719477 874060452 581214669 137427141 259015094 23602465 482348097 166156059 817623023 625404128 59538930 584431498 718532420 719164737 380740324 760313488 107845624 186265673 618528717 94910186 209745851 39993642 433070363 45422235 1357974 387664932 656253000 241460291 823712555 226978032 252324230 132700629 81183148 208195394 975949740 690249813 767347955 69603552 279258734 600669038 581621106 390692423 257904162 208923414 82254130 741181434 767515224 48548139 696331716 244038899 66551952 852992036 275042712 267003824 800086286 368787674 533501438 607480242 599587189 582863043 174124353 718692482 272182683 65129668 156577611 119803753 449386101 923891773 715663069 128848067 401148156 140486701 699127957 297172945 463183926 404642032 134869665 469092120 409261173 646113986 197586466 909810396 745747163 490105223 43589465 965243011 744984902 903015793 452282102 455176418 264266508 887264386 109680962 990843689 97492070 38245008 10890485 20034152 127598501 865630064 771764080 678052216 777778171 460480582 960102017 705183893 329186049 279052365 804775232 626324504 465469724 553749200 217247222 999706558 468682060 233222509 644017936 260084741 786181010 465575533 710102366 318260109 128039953 443075687 239590126 912990131 142282078 205281881 316050541 708806878 85661949 564499562 495338252 895001867 706951117 846797775 748869471 960754686 367483670 803010561 314845477 947717193 214721368 410376128 939470307 460723741 497534666 47917902 522728122 138110819 955530162 363426169 232183968 482680193 689143283 916962647 49961929 197045465 409528214 49595366 734330706 437692112 134355937 472934483 576452139 730123401 582719425 152469807 765467466 131628329 957494939 424268026 98313509 648472210 255409046 997733924 189132010 657282458 301423546 830783605 703573823 580076585 788764807 704568568 421513783 738168066 932921418 640132570 30798977 206415820 405142898 375731563 124290655 752576803 68707532 167183516 293976594 148477376 588918139 83026838 463138727 614177681 512327995 184263293 397694035 792897922 950394503 168775614 727577796 789916705 149418908 674140566 6593082 9122146 794851449 134843048 394615771 429459140 481249808 196911951 260969101 63962924 342021842 469434949 460115922 361186880 614773396 559651332 898073430 220608987 93438959 211151836 255565037 483775496 869088083 961151545 287651365 439609143 159209511 200739893 8674553 391474606 374585366 762799174 491964236 94753866 361252446 129888170 654108224 54990256 797520563 93948312 54015510 215861117 231074352 824247712 680599002 446303513 739537462 821869979 248481859 926707383 449985947 163103664 998931426 976803141 237659685 945251612 579341196 944591595 411763859 578541695 585757416 82187265 751589084 139562433 510111448 212921126 776808383 400622560 46456402 193461799 595842270 96542078 221187698 240677855 301818948 766031612 868229211 415224286 264630385 18117882 863438262 894799716 259246533 104717826 747149722 593955553 209230614 555164261 737413981 130850801 947500151 157331475 160436941 585187146 795176885 931997020 214875596 378186933 320040521 980340180 737736549 915497928 686034232 60987133 829484274 565863229 694002474 415287456 49234434 487393343 332197538 377423956 799835255 55412478 400782093 1868610 70541829 545547852 984935590 609375174 750607600 624886948 493775055 860909819 258608010 40841689 966193742 877470226 168073036 160725482 159340112 462501735 990444163 460262580 597170257 773098305 686323577 771262384 445147813 978077193 154891048 407913979 109878481 844530561 325350810 610633890 414123751 940157726 10810703 433400560 504992511 129006614 246379387 210916665 580152055 91265935 966662770 620033285 807830057 323784523 957695045 562140765 144240328 334934016 970831124 274589207 740744154 885988633 293086651 993103567 318343801 111285401 319027552 536736524 118253210 153334751 182276367 106635569 617113811 102203565 215722218 25124015 155998666 485423235 712906510 564789757 17896366 55845048 962507528 955573629 37227805 466463402 835322465 372206178 379587885 760180212 688651970 318948298 694770386 272458893 539858519 258871804 763285970 153798968 315316559 106291640 947771017 707229239 856076639 841484649 129076954 64431808 614825374 962939838 687506399 140261490 429013201 401371264 405692168 115086800 577116446 584100380 792042833 763025615 609279262 874347030 686605203 510102543 344479016 605547643 45430006 663509472 355377527 270761135 727203017 530327855 253379531 251004921 541652361 264796199 665337148 599133616 576185581 606898743 792944261 317907717 875660787 723687376 329842394 191791683 831028553 839803002 565988109 179057641 71730976 727475996 552142978 329039725 423417781 476104749 828836556 12935900 125970768 559024252 56514462 150928469 148686097 935795797 163439440 985989312 694644898 406667856 428444961 144768720 277525210 865724318 301285151 294404420 250979420 29642149 485454399 97860110 299883848 334947848 798563302 837673820 125468872 925203483 815951017 13279180 483535596 82856319 531899529 987142968 112246224 946399456 997314666 92307588 714872134 834541989 545763727 101353963 385873837 487487415 793934826 139656808 65763287 302777109 642219933 410610717 206758176 378111997 682782101 401790356 388326200 939579 15368497 184255934 416946990 21230916 160047423 690507267 38013583 835959951 747542265 125084018 75441649 927538033 417111226 251854720 321560240 142329619 809713541 847141202 894618418 406264747 55371579 231413843 247176763 348289610 681325117 470162593 122177385 706539455 404896150 175266885 571139415 18519191 343503001 744480968 275312176 342492757 408259488 101355467 642051140 901081966 258424762 401874696 864751354 97286390 127295619 926990502 74768257 568948033 753022257 711712937 109318537 483710086 424154147 704011198 165516648 828196956 125254512 498070853 921108046 686441003 903431424 197513084 597152506 988389124 30536506 579511798 205630650 171285724 365088033 4349279 688191097 398771762 705219028 597672400 574513933 628956655 578085108 897950692 683047215 187003865 268809368 954287728 830436115 518091764 326098610 420396179 665716104 705620203 759149249 12423534 544564006 211241561 432224242 524927084 344482257 190703445 19071981 48369196 209196573 718765963 648246505 28450616 317548949 672551015 711116153 600392484 690011204 979088255 433603355 236996391 747966444 500900752 544290652 979321198 933689138 541977421 58553493 404777629 120999203 418337132 426835475 477781649 287932666 577880375 276062661 303841539 2977869 977338926 582520108 147954129 849754832 507445439 122765205 33614125 963407963 761279492 731887232 258543894 494323256 496115026 212574682 146316626 379764634 76519998 874004859 458597255 724166025 980243711 967899327 640176920 175877789 307177567 150036918 960553783 296272411 621714202 127875963 511997756 484224579 510574757 142471900 282751499 571458690 199876983 242010393 91105715 915506201 711927464 758772123 526573744 86098617 76944184 496088020 203790731 854624776 170343970 43714048 778164928 392406794 145816838 322314723 323946969 508495152 552796233 462517982 513494534 100174269 486048890 835001220 920705339 584113031 136726184 28803127 112198699 598192078 538072890 996240023 767356350 71079116 309462386 942041111 626965369 951035987 354551564 543411082 268398191 202515277 520104393 444362725 217548504 228545172 741276958 895627833 745693234 484428996 128161231 128585586 515289497 731552993 536824615 356128098 85768504 351464490 282957267 86024511 435752939 618898514 623145946 385805464 754452039 711256795 601130864 935897174 212670007 248607324 416483864 346455239 672557072 942025270 12777550 292248928 971896664 808248053 437268955 704968090 756440695 704684233 725702489 605669346 65740989 591685690 549116965 854426620 430577603 995024654 596332279 169662344 804471152 346892290 630856904 109953306 398417243 672064307 235172056 379901372 820943108 668196561 208280773 294236301 59041189 542384223 502245121 135102376 822920430 640761685 973614689 47474768 70772314 742614176 345668524 422298418 278240871 769671374 785915121 325297242 730695249 898500291 607659280 765874318 308681770 540351718 996339178 575710336 981903020 511097786 229152383 906645505 982496773 855301724 28745405 563367484 402404723 191699006 880758563 873382100 666810822 614089565 374947984 619647969 861752774 273867084 608400102 704405379 883027889 313015771 519537055 409667996 407173948 135035001 569265252 665297492 819003236 200487291 486542802 918714747 292355196 166302035 249932374 500020213 18954738 619670408 262905902 253148049 545787666 313926287 792788611 35179663 39494238 390182510 4524261 710844309 403918298 741984054 512733371 209728281 445164698 670026029 949568057 358418636 537648964 796056825 64111868 561743059 46049855 64615344 854996193 741634247 405036194 188530008 112922407 519161826 88724838 483624707 836010929 628586393 616250530 979635380 594794995 978386205 209220892 873285725 415796808 922467921 807840019 691921186 716714202 259030034 71470559 149473077 465195151 217748194 224174469 550632788 647765806 259801243 997765200 605932679 534928922 33753014 832149016 610338492 467727773 910662987 981890855 184668605 262844774 323688238 51766946 117920959 141670072 393133210 874050405 744620264 191527720 327517344 41955929 144597910 724159769 261923224 653829389 883294644 707709818 296011599 44261955 82302888 627291270 850333195 162577814 854557965 686737186 826061592 907054409 263288569 90903697 355367114 383287708 320260423 51796957 41079210 881161203 33240812 460297953 356920832 725322231 827190765 606339582 535472366 165116045 722864847 520172252 32575095 95413398 446839310 831425023 693764538 381714470 826282772 5351972 20562804 778042572 425519986 419601634 170870926 69681640 901522430 301741554 667701111 146834058 576967761 778457258 831030153 536399137 505117681 506387100 116211818 926405057 156355537 526453051 332345787 811925911 160085042 121586592 44674105 989425299 265116786 89232721 349082033 746893362 369701216 352042189 181317438 507723635 993976809 520796231 693010214 653884876 184088886 356429481 973316043 271702105 801903455 958924378 474510660 55856840 592498420 555934345 410598463 103290100 784192829 242274529 904813584 737940791 643042377 507891720 450843842 977456846 290071597 824681243 460298544 17451094 891350782 573066181 847823173 204747913 891443415 437869864 466081771 690675030 389778980 446525761 423193442 557129376 650128082 442600613 335674004 967834539 71696932 962594036 528325957 267366271 358293551 268231423 245687492 505708421 110062156 268105121 811445501 882253838 685772507 989189011 523585920 176578979 799814292 720043510 447158909 866556284 429551608 484036155 818861352 113501143 506975281 764496164 958960618 173193218 284704862 188369014 146982705 728602293 528138159 67229272 439235997 147136426 680217575 185648136 351519950 767743834 25212953 953490929 137678228 547581705 738320011 585258297 323317834 186816250 523941847 361316561 331966495 451936242 492190441 212110685 818187522 612752231 339664712 289251346 236305249 899434516 722467494 191905068 552797971 283614601 267089565 68066922 221533575 653068353 663413193 43710880 288739993 259873128 46204297 154312042 71143721 295484587 78295634 769902389 925112795 765839329 587327250 465535441 671632661 953689830 339785207 523257772 173315744 755472762 760397148 335422258 569233640 234985533 448141606 803055987 350275478 535140179 693526771 263364339 45049393 379639232 286425765 500721654 85669896 611810777 111777759 878304169 122504033 40552146 263942910 993479308 827550229 553135033 558744686 54953530 771362920 545721920 12353225 646877789 696256672 451548230 101183428 10291152 398758527 866461256 228679592 898792599 778727719 687656722 799950413 163802578 216988729 335371847 242797950 455487448 894805995 200167846 582718007 208998441 606173041 467436487 917838708 456067204 847033474 3158369 956897331 784584234 907894544 650343085 272349766 248301042 171310499 462276126 287034012 224850834 810165366 28587575 422782967 605283762 999234269 344645056 990841918 689071258 145740406 321103774 727795249 807290957 102777055 777382526 225615342 757533558 743647146 987247756 328303984 106932107 266270157 234788440 468450967 488219620 409428238 257667286 868507646 918532917 938609176 61027780 397555865 21748439 497622975 689372315 748280891 214887145 496335676 740371946 962951435 773111042 595685925 97492463 577186711 247795648 639503024 248504654 873985227 223178661 934198495 264558755 474160602 903740864 772355522 248867219 128492744 761939806 12281377 979456601 971003361 511868277 616814601 19555390 405381442 568182745 23290897 615972503 918126734 618675093 6796536 331829415 976364723 871371703 342126574 60280830 384791679 517066348 769404356 564253235 73986331 694091474 518699143 70509569 796569901 385680731 503041421 909495772 359543331 332962323 744605266 899000117 973450509 161733777 207018884 829227878 900163604 855935190 223657658 840477558 450900111 280408241 399815510 811201969 347183680 721654273 915617703 703074308 222691209 736068847 30393526 449705869 80020421 973059944 136227074 588192600 292090369 354506775 281648600 956153397 178117851 855314714 291800331 242842696 315990816 674656476 959537606 484765423 500465355 314112770 315573004 121205698 671570804 230566340 85124252 595223871 114284119 27615989 98978089 131967161 581904067 412110174 206428038 528467951 609029552 457583783 659693309 621628681 329241294 912043841 26602392 122417982 720156309 638502782 49301443 864811493 715324953 801318948 611490251 266953851 292555548 451536205 388020762 674379705 795073768 554844396 193326142 993009740 164890903 876391347 331737020 339071930 435103925 471930177 741849922 166303313 413884252 701413484 961881355 159174680 1151933 258316159 116197828 906613500 697097388 162966513 856990910 749722048 580758343 376653374 11607298 196012289 385815697 859348060 212002197 61821547 357832724 613946254 295351297 259339101 40534444 533017795 289872441 519678869 483222699 947668864 145716931 147523940 298560231 457410017 881287566 946886896 396303920 154865812 292927983 536940053 889072410 181393015 949454717 850941330 575946282 400304435 775011721 275650593 220579486 99011285 374077226 608562177 238431903 849299542 573398316 460233481 638637761 34688455 191829951 410221286 559803657 490702612 177448801 197743356 282919992 870826274 595330645 355421680 616508483 620824217 98424561 378263244 530488722 484519804 151642739 966455305 30578852 705130390 471027607 805190233 923376595 281489360 290323774 879573492 23228379 203083747 207017185 355146556 721953066 144538300 644810315 620003618 187208255 528524732 429908354 857898674 961115908 664613157 106877677 417660199 165972621 525329014 886391979 738711789 218427837 617912863 914091622 666813352 699495441 592504061 575298301 776401851 600440203 192287614 155454430 236864732 434128406 642074707 389776377 94473882 262337686 560753702 984959641 19318194 309596259 982477271 294629599 702855033 516619619 503861589 724524003 926127150 362116656 89372872 297098337 614172595 949456609 550139398 77598766 913791226 582173666 715408859 880404720 604491002 382462547 252739763 146741369 976681732 121500096 531145750 373074613 234825444 862358291 489866803 34277637 621010800 589080313 133476712 240919382 199724021 806216588 98741165 759901340 856316540 93823616 672620026 852877821 189619819 560328525 623976286 102732445 536903335 718321856 80903943 194066324 317590447 596086922 256739515 297668167 564128753 893266968 982746871 839044257 48672289 933448397 167262233 815475152 830038769 723363418 18677441 128035759 364656029 304403008 598705338 435207536 862638851 360505135 353097826 842632811 222438230 185285549 127698321 653495633 687450039 681207146 334514326 261706528 36724428 1466635 243279093 155002483 171401191 235028857 70797102 561122456 98770761 58829060 822997464 932640708 267223120 62113846 154005274 583994689 976465959 713815851 750052142 445102654 533393042 426482827 288067617 467369055 811875535 837110885 119138322 139418825 620871744 576814436 917397895 876885563 242022095 958618128 90607295 852313928 259863526 118814008 658344595 955318696 603608573 278694841 887528727 171028572 255458538 937253117 420521347 381288049 813585738 267040938 614080960 503109443 373139896 455447528 844658669 597553953 100764784 417487812 756841904 321052604 636413079 51918876 151470004 801006251 503178086 246474654 210268208 779274091 68132696 479645208 974017989 895190177 650250778 209522507 905052974 510542185 897690853 501680552 361372699 668885903 276880214 682012881 307355378 527494363 813826755 95889129 407561721 640821312 796838483 89812099 103082381 723075396 3761271 267819499 896291504 57779123 625368528 678333066 819730440 160484503 120146411 246013129 591122686 643390211 243864861 812044483 864942322 114299956 804042867 309078971 26294568 970251747 160670951 493495205 206143153 233066011 947840019 857356394 647485471 735695909 154193774 700048917 675054227 102192977 130937145 17572150 600608596 900571577 469834976 914544331 646124675 607693258 915152454 367713505 476979914 820963554 955594940 232443492 293921576 421217746 692222279 284852863 786603927 283085661 485659199 434833533 596993934 59978499 94177991 192110324 307242872 408991146 897357307 806643188 453752295 812272541 244351622 440711620 80420514 548401943 263223711 595490947 510920087 766140878 30293518 213963217 780734533 545249783 959987992 435842322 882653504 327926641 151983571 293422947 662104006 174831966 136552950 527854325 513314612 863620323 875068617 569366738 99963143 171794497 716231602 888172037 814241287 17250116 115975734 718678747 783530951 323047975 273529302 928293067 832843133 235947507 541181080 561930724 254935231 145800330 282433013 732523356 747468137 284904267 241049602 10481856 986247234 533367912 890282706 50965042 532661124 674867615 10541662 285756329 282919989 905513792 623147216 647096263 15357884 258895937 758275593 981390365 983273100 286560102 715177854 960571531 114836569 667460056 67317287 798254420 539627897 864139927 778713326 265422388 413800396 346984761 260420609 390963315 902354981 698394377 934733504 866437712 939239106 459273947 472222825 414885722 885563958 321757467 374506374 210184807 549494648 229853755 337366512 953937984 896545817 167162274 213734606 592027173 395705508 334515482 985584065 846716296 49368152 426574349 560433752 535933185 323850545 448628048 240944660 6416587 889945713 371391611 174322032 148294256 395176536 277928702 332565312 737069312 709172985 343104536 848891965 634760889 924645971 688090372 688541450 771514663 158473048 335245842 420319508 611425848 12956360 825285861 821854369 811911468 366408865 667098629 110813273 990602879 442119791 19587769 995906581 429300178 978454541 552207916 809822284 269529161 92163571 22137794 890385968 307629753 547857314 528483467 642877765 402638232 761944124 134335639 105715771 969352117 311076945 4447862 99271468 240914020 599556394 30176578 228685946 539665359 844408603 502898029 922487538 55079128 735073974 227411652 250354119 137502087 504312977 914455723 77060597 963398816 383764053 742103429 289445244 781623332 816713077 640843312 917219500 601672617 318506690 359114132 755921998 45130102 275826286 565664142 555786174 202426979 86831823 266425905 862397062 341099353 42628823 891204029 935903023 215799375 498359867 340200965 356827942 793439431 621766825 136633467 128794888 528867749 447614280 462126716 276934460 50337592 118447529 551918331 575384456 582149164 240574200 362430316 439573275 627020337 955903032 600452745 911700685 48600485 662412104 661957261 76935193 638794135 921180905 141962083 232985027 546093444 622684810 641406207 764778668 598684340 994644141 762232954 97197487 50845850 267915162 233625734 137100027 55301608 355279493 790456739 195842772 236085098 7381753 503215738 605282180 99018566 950129527 260285761 983405678 650440490 410334499 669976063 848045601 667128285 223620642 547834676 295976550 166143814 61045144 287092321 652480548 632977250 507435112 907635349 833223343 133837736 80972076 119724576 139241239 819042446 539405938 216550147 238842024 350259537 97152727 374727978 349388443 282919418 828903457 651691080 111182106 897879032 146996849 556436044 150033668 354400343 979766207 542069252 898863359 973690382 509254373 235479951 74045823 981083306 872377567 357737285 757378922 233610872 209878576 236733855 610338837 774885188 241251598 34920817 346399197 712529435 405736499 475142235 166784658 639083944 501433055 20160438 158076483 737148328 997093253 145977700 755432228 359935466 143456285 566362087 983210284 669276003 393822634 454598948 204710222 331398121 618145675 372983436 265048473 897329475 405280518 504329790 436122961 217217635 219343874 226525002 43653275 142062527 458842645 305023328 762992266 507393238 593154785 854017169 456091888 556072897 260711223 86090820 369835669 517052014 648727813 731331648 543156788 346019546 192059605 942829559 148383177 910796609 842569739 208671025 238769438 835603686 935673126 985727998 753166668 510904321 598212474 331439784 9956792 647805761 552916398 303078505 311221899 471332146 758240994 560462938 145464597 752977510 885913588 961571254 958111244 713580648 381674646 415768408 833620021 670954185 112506986 755160400 251011571 980317745 956939043 793088471 66928520 808695851 742250990 904679098 459563881 913715730 37772727 24763362 85929996 182636347 90927469 426419806 203336496 50384292 727121259 871084510 766885615 823444768 382890841 57427093 329996666 269474298 209056897 46183815 928309937 902060009 545318867 864023202 813055247 721114878 822537469 330855573 273562172 516528891 852794642 111626223 575242037 229608087 962256670 159413516 285225413 975939308 207438528 782348755 171897546 20243466 489679385 937755227 871870282 971202753 481211452 110264436 147483197 525003164 26559555 408292556 406698468 497200808 554625264 902237955 522942793 656178133 975076662 265602046 721495431 581453712 49405009 590816743 357335204 261169675 590798734 859418371 905812654 165265825 175227148 732917765 718840006 515558395 783956645 140329400 347793761 142739429 685268101 230268990 639197733 270403988 411725643 479132775 69092455 597809148 265403246 255997256 498255013 314743507 929059286 642152831 473580509 983114280 121583165 309912853 211370818 290432876 955871978 927498298 819468110 975768212 44387153 935483243 323915352 540088833 514984873 136750306 686508868 337494134 918502152 7377222 827557267 416603560 165528787 252623227 288717314 253213094 488875106 38967866 60748600 7418513 886546320 838974776 691570680 470969943 921324907 182957331 695492433 174664457 844253924 327940508 861028712 331574504 269922451 69118701 716433700 780987361 201000313 8924169 792832805 637829403 766656943 767942796 247486640 830554867 929983217 925043424 243644210 424283272 111084082 230171256 161532205 728402926 273554530 82605542 591262246 419464639 375417574 69831791 441331868 70690945 627854705 591392520 291162928 941155373 270104846 244068637 301369189 384236522 288095699 165165321 435351300 477289246 874087803 240608986 630975997 229098725 476406124 793048450 461395261 596965242 271247207 769227064 541292825 21120259 65163454 83822393 338745194 158187260 573703318 345750091 843111102 655727745 855389521 917134832 788802997 586419034 453513469 935003149 401187986 972156370 305163882 259059946 753295505 485430709 836791006 5762175 424078825 643258266 733310673 132306525 305369440 307367805 174489863 285122067 679442570 583601720 770387716 240106014 531931705 430642757 906196826 710021700 989437579 738528413 679708641 704220988 669226210 721266611 757522694 365497411 415912944 454587965 239583284 370266576 386661106 682675181 614896293 53734610 501879873 744420274 58701127 428357970 439808761 833497600 752392301 757971504 151494386 795166594 267315427 273577152 686778642 750965650 784997483 689851774 977020026 216898902 99986511 20172555 43751985 499703481 581266660 411528961 888625342 896494926 260910165 803326454 726711800 190989007 266183125 272833748 745871877 187001555 607746477 805488134 533556581 16368935 89442076 79363872 568997844 537735301 708078887 825289126 136026983 984165226 403802148 644859448 460943939 457830481 723948378 683073863 914799816 818280385 170253985 621706940 872923931 110554376 771949325 37097486 574541291 473388911 72092735 935421570 425304267 102387126 647127845 195646771 602009569 289321590 877514887 57154789 990620546 491408392 424115334 813889358 208231806 324230732 936401383 554865818 181676968 870819940 172240428 913842937 460987719 449821732 79706049 966949226 814738938 396441585 775262861 419000276 698239165 535693379 390811988 484284986 103339064 196227398 84336183 295600440 774861552 938273673 141678605 661819517 290365511 801559504 876669401 114623817 944789611 86999248 948049740 391152785 19659056 151428349 236697620 387343198 896232247 360265966 727343900 897623733 401935641 881209552 690694573 266481979 468928878 586467244 53656919 542756501 105014260 950318313 248337341 713743687 37775505 194853752 783345253 255351980 154445429 555183340 168005978 248262122 990723739 833258655 195764146 440509684 371633935 826121549 763259485 449088005 171397847 496436362 121625044 605616784 151955578 592909746 752534370 515455804 743505342 489857575 14686559 499926706 764697701 456001394 988363975 338129553 93590708 716077563 650634273 22881299 454812792 904666816 449364282 86884048 575640720 169655774 93490848 872054770 942136242 125576262 397017160 292056756 397830215 508293806 286820698 678598061 382675751 340071295 463859907 527925401 542417443 763341087 493798536 164306009 694470552 584173586 53327859 538664483 540460829 13554055 130891920 628892818 77325658 23857510 69048794 262645554 78036266 167020512 191105561 821217978 768592208 421227897 833130500 91996607 642752445 877747816 215357265 337248884 667627681 482887084 720028591 430135705 250591847 729168649 647512873 250906719 55594250 74335632 756920954 758033417 826867391 570975094 149166727 234200274 641342718 59076780 100216690 923128288 208799258 124717221 888204746 274104032 587711996 959084221 978816196 162967338 722402478 574031550 94356314 892601642 275081894 355626599 243793270 108390575 777566864 887431901 911861522 696677292 909207365 145788890 33192314 34318974 739607899 607214824 539721679 44914640 619467006 202596338 201946642 537553328 688063443 806787442 34133443 932610252 204882613 347195500 558877194 8234996 446854365 911213347 487614555 590963143 442674850 946376774 817638385 248850780 977214980 248692900 764369301 210057191 650026319 944895783 599554349 196087785 321656750 500458004 866969310 8895062 833814756 769973112 78140542 308450545 156084366 474680351 321195598 70590604 213586272 350493658 241329746 82238531 153933999 642151999 542507457 896002940 831454327 462284580 626210947 773547284 209301211 75844805 283147174 568477700 178924137 96107253 88079077 32870162 568116466 222645288 578051829 758880380 284732860 352452305 125265214 734605275 472187970 217364491 179914875 341286164 331560827 654165370 263608420 632714128 150528729 757794172 7934234 463314932 497531145 951238745 242862351 512787403 754379393 588903793 226167238 5764555 723621686 125116494 651459782 580951130 378597766 561622975 382953327 81480311 104441641 62080775 733656505 246523191 856472675 291893364 76924529 129913502 491055209 450577420 744451144 292152342 794228313 17695356 86681694 878675322 111787233 258977011 369076329 953012835 27734779 970502419 253250049 280138654 839578902 4619733 407713452 585061493 320332961 407438461 171550202 487103259 171533119 325471696 695084003 356971869 874086155 942276883 398958973 137789124 850348481 784893927 910847496 811041470 7024521 57929016 467615693 830971784 630232119 286393065 8126032 251520866 364812459 117236068 495320117 906217227 430584731 715266084 808582203 235402786 223177193 673061565 40713367 243038142 559986932 792787994 579381156 235328946 365896318 864689290 254833240 171058225 221669904 479434851 541460855 806347655 309973036 224246478 19971363 616843362 605763979 597405424 436876014 345856856 913834546 152427459 933672850 81201434 255327141 846497850 678956894 181475413 36618107 399848573 168437398 655287260 956610431 496724566 445510964 404298160 153502582 404442113 691836444 583500569 758393136 83732506 689319572 992401479 60383503 691432712 676990363 849782945 513750655 631537063 836859944 654449049 555897199 92838557 229625821 79384792 753698797 151479485 695346777 772126634 726145996 563170600 323420776 718669895 196821219 426877759 250514468 694098874 577146225 977154461 124791621 633365249 372640419 403098619 331896125 469800102 744490898 696631820 324553940 808296248 400210536 584270868 954232134 967413003 391951964 656042182 441969030 272586404 484127926 134600513 543736697 236933180 629724196 13868108 892309957 82210637 163193826 203921697 657649984 963581913 933124779 385536027 889295709 50727265 175772821 948450851 425163236 29584843 783425229 943454536 226308321 108317489 163987853 364825592 191681433 298335693 21289210 459541093 450237685 813287242 925942091 494086011 874752694 247209304 860937985 735482849 133449366 889423612 44888264 72255968 104059255 462032145 499440160 190262452 960140608 448196361 706654133 156604707 802256096 298979696 871393421 717370181 941873469 71723085 117819788 243328382 775389950 610107662 367552736 666107778 791999757 228689428 740527940 58040553 81709124 436191423 52889621 483800033 91627018 214974760 198540036 155607040 454216613 366768231 98791528 915130625 410462008 17734584 783184997 207516163 937339704 270791012 25183513 878959093 663869273 961771572 781005374 418859582 725211441 213897430 318914674 93877989 889006373 216454385 57722137 182722072 548099316 554758790 496779533 278418583 834817553 262438179 488320059 271466570 941522993 299728837 54625365 123464078 277078577 756501365 342457237 15899824 540115906 572474744 124177917 952991603 868214933 879086777 83210839 697731063 683140603 355099867 908387366 791480986 597224914 803845600 859795592 733752141 370395958 28782684 417859758 876842742 447435754 978602545 955230779 615824626 791740533 83963435 199792500 123699967 380062188 884289051 41537207 964175549 200327456 36465239 190316539 453885838 665435442 325658077 423051662 832942011 523541355 357201807 164823978 53713056 158497712 238560723 13436637 730038789 697801001 124682561 277183378 676988431 247834876 175800638 743450458 300697614 839353194 752871783 463914299 40626764 653731672 997063420 359759977 635494927 170907061 282452379 214767464 819395930 538130589 216871467 707978251 875730685 337681422 969675559 760457535 212514568 982198966 478545083 118233651 43807211 272887516 697053281 966593370 425575724 459428576 543554644 86354782 938904430 841584089 306963528 138415135 793041460 944445389 389466815 657514724 12713859 6557582 881116010 847679291 267786832 792316995 214732342 670191680 36732208 80279028 409039779 864267014 87680378 942333710 403433367 213052920 843035594 648192873 738259434 888505916 324219155 489341365 981130587 214541704 350507497 244814735 658845591 179755218 334632193 196559963 585782411 944278238 322040540 20933156 956713265 590574691 492115326 284100731 217639018 604709003 107773271 42327636 630297705 190010257 318252534 610055273 525268425 649128413 132643979 110901939 618791840 767172676 607380892 258801798 165063316 961570338 88632696 690103613 994922949 510602987 107457067 697627176 272916471 264467430 229013030 304739462 375408948 95398656 727035071 321148841 483485269 178588833 510464864 32403930 320972403 115847401 508946888 581487997 725912140 475451193 401454894 244386527 188268665 618536178 955300446 501217407 207160901 157735209 939671194 8944098 994961804 104012597 206222657 118428881 208772013 377254683 871259299 85943207 61055402 82060194 391234530 708845466 100424568 660557119 110709136 630648798 19986745 788017648 236211919 872531479 221601634 675707320 541625534 818026406 226642193 760136923 545278433 733646933 281195140 315547894 940514561 455010478 395700977 512568810 83152663 543833005 562739368 734290108 758877498 697324534 879760002 345927147 23503908 209854337 899744916 203324967 897566418 449455891 510383301 45055407 463477818 943892225 517288203 174451607 261851476 128224651 250282738 202280165 572066462 818569762 759469669 681706180 301297685 694187389 96012110 724374268 461684492 983283133 86125255 133650629 304728384 137066906 723405231 259189039 29663666 58939613 842075129 429943317 8547351 721069614 523186096 910659281 972702796 63645551 442185882 152760779 215650315 44734489 161532364 532240454 288706108 591308590 456572538 992415362 631296119 885021681 323716793 893608816 437410357 58614407 944584478 343734570 205549413 763079839 367433823 442760226 611282304 162464956 395257827 413317492 745430160 166809204 550082637 5897057 386664526 509666458 584673322 472128047 602938471 900065255 285077220 230354164 884232622 471921506 917168012 353330822 660457910 68519125 527546801 95029801 196971873 183109666 285002794 963898591 677750586 156222841 633255003 815354618 954489825 218570631 525548553 804701611 183375368 547076317 18686674 141664405 170232618 43557953 456138519 874142190 873312894 759984489 420966824 820082108 276548715 284380237 107856789 70943523 762217288 793397916 642596262 749415689 222771448 788217795 199093544 888139285 613960216 201847632 327980377 101021144 411716539 709454300 87880997 692505236 837852391 854362261 494590853 674711502 166056812 37314825 832154858 568051083 184537308 811671010 522567514 455772809 908179486 119594805 410343521 588632385 158629815 862256170 391856206 197504065 802229518 282001796 791022852 861646739 578501249 93313945 333817688 736316354 355453676 233845622 94663117 278149496 186752347 278767329 906191143 988659596 5446722 45371496 537533064 256804246 949365374 224920424 916967159 793984874 966390711 743258294 244585457 961440642 391379472 494429 322409119 82393661 10411035 421225103 910633414 698076585 383378801 426858416 63619813 221551588 312951685 522438122 143030574 859423165 523024302 168238786 271085569 109664141 957184477 387629940 919653012 946947264 202951216 564986142 164050546 152560350 420530676 350430249 325110508 41813603 330071578 305116217 190363435 628974196 499553343 248264159 227753313 611679988 52948351 156767194 395871631 878483288 514531484 124158199 490987747 582966561 568827051 349357814 458638046 373171489 142519249 837596901 692109304 899389424 181466340 159529785 143573480 156732538 253699565 797929213 31988121 240653680 308715414 236647401 545066434 161711716 899488648 443059829 556934870 477489982 848028024 910936532 615446686 838220690 445854249 351136731 18453212 79844484 955151766 893811850 11790306 508023040 909014776 468482373 334947043 939544771 43983235 587403953 991352364 634964615 787031174 906423506 227128747 179047527 20015793 404167773 12787298 345900563 755999248 195925260 543324920 268265724 314929900 464968445 880965840 782337512 119738204 301438917 546232631 867348628 704417249 442040157 225473060 833347991 430875164 408297043 620146504 742872667 884160903 644077106 427474113 257874244 92480260 816794176 45947177 221623966 418460705 785310957 95913581 337527246 175448810 468749496 380225089 201236819 255182637 199345815 955049728 738233270 911000848 473420662 721993623 97382496 71445771 367819244 677921798 778273236 107527762 41718755 797366109 24050313 648037585 246802534 777221867 934127324 281626247 723015916 796028146 642739443 242525161 847862584 113766803 290914094 138398360 296895884 897863767 650869730 28857206 768566394 593415705 162067119 196659020 656999705 805522204 127562794 324390822 883861989 962125673 252600321 450916013 239619712 636034635 871949158 342264481 359124022 720580938 645782809 378756168 107274963 71706664 683939379 146006328 815627365 766477103 567356443 708784449 872774548 86618750 818145352 273589270 90238332 530579291 637934213 312903314 416990865 838995197 344874 76307852 234184562 995169674 278897329 688698878 663115823 22001307 479101266 506222367 233415632 273034950 84515693 129706994 624752474 730054818 125670783 966136399 591109619 148844782 682351165 169767856 67519025 838096493 636340621 816697836 55821768 338255072 222624565 35917792 477037898 187481752 890604079 920695709 197386859 214153920 285406062 87837563 113508085 358929039 624990489 776797733 748791786 906647877 678598492 669267783 975883210 244549 732250325 411511306 300696690 989332508 347069896 422414803 193090859 261762902 55662772 836380777 939133875 682071152 806057223 961243206 77187713 851679333 853260793 586837364 559354451 292852513 937912720 218660918 307503546 476706480 488050144 975212234 455618597 279894838 865273111 198694811 807919774 843393980 171778042 463234759 610416011 461628233 341466964 642946326 117059684 554247968 53464207 940589527 572493130 811738600 395977653 161249759 455956975 97874604 199183493 110611087 664675579 109453633 268610951 36406039 115213292 268652638 835495829 816239787 82251582 548842371 327727175 853192468 792466667 13776321 227477141 183471745 187624586 306797798 831137788 420374903 540242892 195110922 286186651 740882095 975163761 965400913 472661491 268872637 806795511 686278009 283385148 350668173 668660107 927929587 375020551 874846565 932005804 315356814 275218047 992343344 684725269 416258211 690340093 348410346 642591254 729129843 212910426 647684929 809863113 344472758 892720343 84798110 81107117 834954416 622092946 342802279 891258536 936368071 303799603 700749870 598272289 781203590 261859571 210608565 155299293 243464797 501455650 236778235 263876573 257385866 907799897 65640563 754999054 930593463 884742637 764443968 835785535 91536616 994827275 965646021 55909631 827758156 158593896 203001436 470004632 984002845 430239909 202028646 126418412 79540664 108806149 105969522 166549261 557521113 566003194 586217568 341304195 738935913 542004129 80886873 869138144 164989166 205876566 961585111 186084687 364649459 777172620 946399915 103857785 448188025 286959265 541461449 5478519 561370203 206997607 790296555 805645506 191317829 121177414 100496642 552161048 803006219 694227142 138985289 47101369 902664825 485414505 210275897 34734041 639079852 246654299 221005124 958476449 480361777 630663729 140998272 927684806 399533805 49527435 419433157 188007488 896869153 470227140 287458133 959091170 463987877 648817053 865268789 164256285 292092487 577439722 899858448 270649410 10361164 762830304 393435835 184004069 584216796 922748644 113407831 215850813 975837371 797882949 552203863 64417719 681626244 135629252 403277782 851607229 337617389 118144 687146588 1678134 482031962 53655805 104486829 293429037 981171762 737780614 787714872 868468083 443735762 298925742 824212856 565819760 47961213 742998520 746117034 994899757 561160151 196102213 311783003 114586503 745640695 411425474 382151741 313352774 132989937 437489474 278257540 465022256 343921178 773186848 808300423 865231393 710411624 429761676 845734552 543385605 368224850 615800731 72830743 802568489 677593151 523851587 573877575 207391322 510989966 479737933 637954399 573377633 407834996 908783503 172353265 459588735 173480132 309428344 71832804 820405235 788410759 458896184 199110951 9413479 740480942 579026250 502951012 374695243 390805347 382634594 670583860 374588255 776993618 500248749 526150965 459935132 59069967 108806727 245059100 40288690 281482033 444113826 719031527 347213670 487124539 485668323 910683793 324648196 611409291 949664402 624580173 143844973 648995933 723936614 555512242 30612938 702094229 547147245 220651171 155758895 912236167 615976678 196047501 930284486 36722349 928631825 386133408 511790828 857831474 943451842 653976610 246622343 139954017 834572839 679297561 410909106 115352767 176770525 549556177 533472456 618971826 365177926 513538287 607462204 591633459 25129738 769797145 838221083 675856801 514277618 324195894 700509579 198535944 714042514 852571347 2457627 586024053 425771122 843100011 863175404 535558628 333618258 186208568 797930240 744610762 48819924 105734792 33986428 292780709 759144475 66971267 40001963 31634919 351170521 232810856 526046967 132206801 632939068 460117872 737887262 929481612 481064113 533973126 852983660 664552806 490768539 139765358 684146348 830963500 550280912 278797074 145934046 784467587 314129581 435885704 341637706 852459864 893763769 871392657 323732264 578808146 61111525 193032251 258792584 143869259 179957785 87517834 14807480 161290566 278785851 986423687 610219284 77379102 434032072 271175248 609473669 810155213 645266092 415920279 234464446 236293420 287102908 877828670 59553591 729930297 430495654 771547364 404548830 14073485 892954927 910165372 209491579 619673206 331973280 768354069 948546320 613404807 919518454 373279220 754090042 278153062 8442440 641426746 310429563 98118786 497007023 72147153 61243148 109282921 190170572 442718150 461868290 662163636 268447413 796601097 133533125 932173781 936215120 398143066 968802574 233218249 694023675 891592438 95851440 924089914 379972435 73315468 986194994 554441828 830066854 177004150 985368054 263118592 516856054 901577721 248480732 977900593 544949703 969683121 369845090 106046923 149670626 934209355 973906674 893096091 492261959 519554552 915970570 957366637 886239978 851078254 571753006 86697115 105829917 154470756 693745284 805147295 106529352 421161448 184483169 849206406 399298638 617948333 824571250 182463794 446704734 407696606 510599147 522476920 573522426 978735044 80927596 475869604 471822931 481234771 424727368 100413344 100056284 904314168 330578507 556938751 315444100 134572856 598790973 777184999 703135356 513133258 794273421 564101992 752922782 353819869 57404873 72977067 693723615 283816776 903462166 246756831 116393488 231157790 927752628 206231745 116533850 446528819 365262796 378591656 837873479 270387394 982689579 695641081 46622329 426684241 609722831 628796794 746479244 245289761 274609836 829665182 147458613 490941926 884432344 25723529 444372785 689096339 672987915 265068856 796742952 284822889 402510980 66497275 824819277 222473368 43324418 196554964 327290433 594041608 26959374 971031045 974248194 131386368 792406773 525864411 161721942 204622779 207608141 616685375 284537016 299511831 103781881 109183517 315119095 431992313 538370673 928864167 628002968 874692383 644601049 995893879 861889599 833244025 637302742 713368140 170565540 600828716 533032889 589781174 93560507 379596951 676866818 136816694 842426691 402645888 525314286 522262379 696400616 960236164 336256327 940772290 403804099 570979723 240556943 383556700 946266835 86082049 272380469 289286151 890760634 364158929 90082924 610965613 54697074 868670639 79142184 430607294 874087345 11928517 897354532 442913821 341654013 145248948 201827771 122474971 133973091 581718172 871958535 155019396 362897925 246971978 8431499 279974017 325822623 614806134 836659654 272666232 261110419 423965829 39943783 347867750 232583292 639310387 461214246 539994368 509434545 962599818 871918082 6279115 734473430 59567896 983487766 472408497 162920898 623846107 446905596 458180272 848893316 61272181 999012065 450170707 627935596 495326128 883159747 599601403 937141 385968264 960869797 711515929 893117211 679759782 236618565 297237540 47545012 874559775 333418876 117618078 627653461 714046394 586452015 591611656 998302560 406837960 109957901 172746048 227946048 882793336 384181155 901859171 40905647 77682722 483506194 225599518 45970790 300211621 266462301 286072075 761542356 891217210 856156962 91871924 591060357 428948211 101686909 782661053 36048558 777320983 472111625 88436895 229855310 645505109 497681930 67225964 426075767 6320129 161008647 138999154 674979092 501296906 248933696 489577453 776098180 95231514 117125525 101915003 159118881 359166050 522861551 221267410 790950274 110505370 920854681 963062719 350545043 414728887 770298436 186191435 277458078 400745637 548543268 850223935 422936862 490883726 37763059 1493371 518715689 296523934 681537141 47845515 169761550 112403658 100548564 382752027 373307714 789810121 12337772 762425965 64828004 352273799 74278421 514690190 676073647 781793296 689635210 555984892 566272848 675257908 473404184 230419280 506255947 462701287 868924935 964824178 368975508 364238634 45729587 788536068 156842566 662514143 716642112 376235613 167016335 696529033 829105714 488482591 278354284 547217759 973665279 150002878 245723565 113080744 598840280 756313093 157233491 707867696 396447804 229072882 347365249 574849036 915089649 552736180 360101220 144047985 702511584 801445716 803141867 368388089 166790032 369821596 211104293 258901383 937156698 946096932 839510394 85174652 256089952 122274023 681513656 754275031 723423202 482735912 683265780 632513193 146791941 662614828 235212232 664855683 304086150 429540046 805713054 513704627 111411533 917419520 146535640 680490418 679789532 613923056 425292208 355433011 886601530 51969491 186170760 226012363 796579300 372282683 377848767 53093775 765209664 60322317 644510911 287008682 882514237 170142520 316568832 641799530 5148548 153140870 307853068 240089164 618788883 744810178 17614047 769950003 412463117 128058639 99511186 574304964 836094583 441753988 658788878 106067103 800719168 487885391 717472469 711092255 428668136 447341263 584424738 250642260 882977341 224194049 782643336 822590731 167373403 720335422 521562842 827812876 557622773 308886198 937567575 856858427 897422946 99360002 39441167 604649241 145665224 247330076 146441188 29363513 528652835 590356910 267618670 228023445 471788527 127240621 847955860 420222438 862390940 942327723 302667084 195558041 648973154 904427502 157619378 381446670 103071210 71653679 552001718 818695509 923862068 475981814 469056 454187582 966322213 676962435 502616159 24728938 100325819 99128588 554654088 906331055 395017002 255988364 477853383 274862358 551737907 617222196 350877524 934795272 904432494 912132646 476384667 997153033 796794731 618678953 117876841 934695027 554526394 477159052 621512254 222013629 472775178 681976581 279479407 106379390 284349229 539816036 152253487 473586239 699416765 165349269 284708982 702861146 447782982 709051671 387666797 245490933 759797744 15737749 471539208 850188515 902122511 462227935 547164792 203895439 285869421 555729708 742290645 790187398 347712548 837075960 964338929 615360860 708073414 739370038 943399580 157461660 56855629 270414207 424882860 8904853 585937122 579067359 317715495 979816651 901191954 650910072 772172963 640789303 765568106 516091476 297159633 646055281 380840210 789917657 596014139 534256524 552870414 579665639 491599883 937010625 815381643 418376310 718528753 656803061 173332875 385863313 740803114 659090760 367510258 845617026 947546824 276700652 197073179 75767971 905632837 339627732 156574246 226705148 214401568 325112345 44495949 809179284 206148513 556934865 784386434 484504545 767373145 831131459 875198675 145264989 545559125 687512150 501943300 91522192 349424462 945423779 74524903 886465066 318826587 30280931 421790951 858758909 695221392 471318553 256430254 408672691 86448656 342564178 265423217 944229600 87456118 575450013 798600011 672073379 140752140 721642240 900177104 590349124 164286559 604110007 832929929 635404584 971485780 693884439 940073159 103437761 952460689 621351171 998871138 149228537 522590744 294102175 379210176 835769555 961291446 979202148 81241465 730447902 85539252 501521547 911401229 76216831 487330276 448384776 941787133 874061076 834626798 588864502 57856613 628474247 72151318 77565974 788267724 515534025 199942824 569668246 476622884 696361732 689678997 645298212 112772144 187799213 769955571 357619496 559071785 877825130 565827450 531210132 368109566 664412961 901316918 901315277 132567876 290220198 542851648 657870249 592935565 951264785 119797027 837743489 16639120 952499477 760866971 104518195 27859077 431143737 795073367 447869959 111822894 409399427 837026040 320039173 188163116 166763120 831980143 44779551 585491482 691418881 210153 183740642 270678069 702077615 507938113 849420582 7631034 887244804 188043156 775845455 442391287 413175217 287506330 122100791 449063316 421960115 784965133 826638132 526349020 658980145 313984480 719514013 452853070 895748815 231026121 794173901 591899311 613240207 486934587 54536593 856425060 831134473 918487265 506403439 986920480 74898333 747747962 262695115 78152192 196380938 79770171 540272285 511150572 947177055 240762914 354879677 599851029 926805681 769990586 196412824 38793128 863146180 87353492 3818922 935574775 165044713 231176231 715475779 139938193 826991607 224585216 960050800 571252681 239934425 173339525 662208456 651052550 567170422 43322942 870211847 665504113 22955345 867135180 137176450 928827537 676950773 32920242 992906721 373248505 998596774 254475830 229804697 776185010 487867795 752014002 357419843 214242606 571256618 827065619 520884246 226185243 666902815 407204479 700356347 347032693 693384448 557707274 489335255 265546381 862876655 363827744 85386962 204392702 939857220 815955813 293908979 653355188 453540952 455049255 996290416 618923049 62675972 136812390 253507564 788340310 315488959 129210731 80517842 204483919 975777049 337693635 506931577 103287666 258709521 757614806 419036613 694937839 497881073 479021192 509087049 993680663 509257871 545150555 591501664 418236321 384794844 858058643 681895256 867318243 300410642 813255217 732936178 19705111 215689175 78770461 675530554 684136477 224701762 32866295 144079534 750826679 617775395 666110206 718358934 769121026 679967585 781815664 360635672 336197914 414876649 694579740 636969417 605117343 898962059 219761196 131277825 671992774 754554120 384530932 62805851 119747015 311206369 964588283 507666592 292487373 428412952 90962129 628271369 699090199 880362632 219372273 208535122 318406318 146443321 549678617 771187066 204578846 950330035 309308089 225041208 312310042 47847355 331506812 40143249 35188665 314485981 119114204 645742461 233797715 667131827 616777118 43892882 648773979 473498267 566375891 451864734 20279029 550558505 772889303 689795264 722896872 920428881 137120371 28158077 155157290 981460265 492256871 932885251 571043907 459899650 696583456 54680033 178629721 588174021 278738196 277849646 474637535 727304402 2288580 903164516 971846739 770972292 79944373 4938389 448203396 991670114 68253088 334300860 48086568 488017146 596378292 668269275 221275594 727818751 600204107 85825354 383646659 827796370 637271149 383687666 914278669 294133685 445661382 276250571 372786946 394351800 61687678 317241530 860691085 466404211 733783680 672114068 9775740 508637947 274119117 229307809 420916558 353530398 97992047 545603653 130755766 781440635 118242276 143620814 909712804 879540250 119489513 378767568 168763343 402335238 277976331 122262622 113100832 513807863 106399616 369023285 218653723 919426969 92523066 870422723 518317647 369523238 668122922 741865554 128542094 555618356 976495850 594391611 814717236 691541257 611949812 498982110 752556566 372339554 198887675 470750701 144187677 728450835 312406337 696338869 891928533 304029554 47070038 376884978 561645128 983364170 489607460 354714520 40693715 670530233 226273615 444214831 957859354 631894724 554899011 878188839 59662118 575666612 732566676 106295047 493075975 483440381 349118787 62043498 83295788 483567187 172343286 489909246 935979617 681962958 877027275 953191388 889914306 630591473 667842685 840348510 87839287 870042607 33394273 186882258 855737296 709515015 598552739 128286037 811522792 373944593 845196656 182406570 419195388 677211653 284793586 448503325 445152263 148190018 678640397 136504864 643757196 884271506 124655625 863937630 127890888 986948175 976405554 177492264 78774569 147976417 403639375 108793573 723087931 929249959 85677885 493518721 722136303 554454188 38958643 67626380 965165369 466409396 239332955 365869087 31929675 895895712 890548514 815093010 730144213 397838470 642723774 821997802 350339747 539238380 40124975 64268395 649262380 268840169 250235776 325685873 866370902 27634169 529643880 589769014 198806507 292166734 532012632 403969953 915434983 142572045 495379909 547329984 40948694 927730860 332074835 392028858 549518872 73502854 774138960 910310349 473654292 378288950 542379029 394850033 567692209 558643247 921617056 208907135 348369679 5082059 191716262 37478001 770617302 868119610 788454448 407799236 112465446 671695307 467616417 501324607 588213136 940607607 45563539 573612215 85987218 528945834 183833595 263024441 592078487 277685070 64666844 393491232 456750029 48056326 79782737 283204597 753501750 652414396 904155257 774896809 7817154 609101302 138375683 506628058 666535205 119012460 382356771 278889882 570042508 391403251 17763189 862659854 504897055 902563758 538268830 89177530 541492652 257240636 780500403 201765037 296011875 32095550 769698116 953108901 727636534 709854805 741853070 917328186 436076164 467289821 492425755 495448400 887273569 23502624 599019380 110933232 934813337 75547724 981944601 166063108 142622429 126227649 697781220 483918224 288753385 520132021 857518344 830023668 740027535 164155472 117979118 785789564 250414272 488471141 759983146 599232409 41677155 200805205 229028886 93698622 703289717 7925526 154018461 599098682 30843503 517617009 270329597 788756789 77681354 812138625 92359311 937522525 108684072 630429515 251772184 318751146 906427205 120601334 288764054 800898670 83541110 824750234 910156002 159034548 475036160 631832298 158747248 589925961 409299370 191367062 23390386 546100368 580092674 789554019 57124844 340253413 238974669 79954358 265491776 792909495 891906817 766211134 621844697 357024120 201704865 943897538 217652687 431628460 451916541 250890697 286247442 993576207 550476556 244228207 369930911 66153958 166596789 164714780 580531387 361338073 683431848 816585058 72533852 161915286 382252331 21545406 958165444 661607136 955534709 60236949 400888143 656591201 110815564 931456522 395584376 404884644 38759957 447901802 768204279 995215179 650256477 294415541 213710525 805005351 815168469 413160000 510437905 795126553 541802863 612312687 347972813 436760754 864797432 869104606 347251294 168138247 36297836 335183441 373715189 366783304 577973712 314272672 729046886 282599194 633618093 387899354 187128660 648800458 884470540 687712128 444583383 516667673 640099040 7160855 161814748 251751035 513070469 916725030 336953331 206044980 176383380 266381332 242157973 322132558 532781733 690075128 6151405 169083842 885081416 716625907 646926952 175627288 25523426 654165903 839782445 882652278 650787766 962349373 621899331 99762475 211136658 837828946 716875664 382236879 407612621 159395673 606474992 441986600 527625428 909479303 132861340 781354817 50318641 476376084 107898945 126817792 90772852 164068920 758677861 344980630 692642360 508819766 697939688 338010838 729921302 222778998 147055469 638040500 928136009 260880504 386674554 27508832 622455271 248155938 479719701 884914184 671974770 367524296 801536909 51262780 820534280 156785755 470873238 388772297 951346411 140873043 823679794 437517555 209391739 246731747 781634054 863596309 195212158 882319041 699309449 673174997 787626253 123364734 34176782 862603796 962733773 200911058 156012873 349098307 302782759 693547912 5298101 171346415 123090474 316491335 725718280 607048422 693480727 194050141 284686173 709509306 562993413 306374324 722968778 526765300 12193496 247480745 194889429 140098847 774585202 408262399 213512257 321757341 400551048 75272921 557469561 430105390 183961734 924690079 116366843 292416739 227570544 173690409 506324086 640089862 715895590 599994460 427674220 323614087 1731762 988801343 742448638 542575477 492686040 91674457 409784262 761377261 9741461 274280581 223247274 79340458 634747943 156643067 664159153 556760127 955564842 222889754 207091034 47238056 23895273 693700983 364140288 502867258 12858443 575993645 2848627 865904440 833256024 460088199 496819471 825114606 810859333 862191888 951546306 138037142 90305228 6708376 449570885 387163903 184960140 548614831 384042703 121207983 424475900 268833402 770831263 360989752 101361088 823736263 10751173 733433569 671747656 186992390 896813901 796448823 250098771 810407522 24576826 611510178 431041012 845404258 116094235 598491744 983057765 759646464 238928043 60878186 790208228 633219601 355477742 506769902 88391595 202285707 374024717 71336403 571493356 485493933 35953936 945747011 902366711 856294369 71124330 310118150 269911237 727536044 929065964 308084811 200316078 742459070 425618283 965514304 97670233 460556838 943045722 957744109 62942272 561714727 998678908 440197993 761611537 7095742 160502278 221932769 152421202 937187085 434335551 903332219 683767682 51057120 286708838 651129626 587211371 56212406 626638072 796262181 682081380 777289026 938902544 283826607 25284610 930352515 93218253 81604649 413847167 771952643 192051052 243348368 249368555 621636786 427963741 180556123 224283043 720726946 358297384 901724245 27299871 831663848 250540900 133914518 556709536 1101358 503519464 655614158 212928567 336704658 830436120 857417374 825836328 807146271 920873352 147335717 898721237 191903452 512030025 649070616 391260218 72264046 93651502 92764366 572149933 896094344 260871723 563309476 485132389 29059426 921351752 777570481 683785244 974182011 138938677 564430441 632956115 143370922 25972716 271522641 595644504 136559004 432714497 462273539 293854036 109061880 858744558 803042290 691404480 855330535 448835886 434095794 142612122 414453983 185335787 461264161 157258843 935125674 163465116 508121368 47870523 523321150 341345920 268604411 142337025 675597724 911023120 991665566 290709993 429177403 931991896 807253852 773104545 117674191 162140679 886138037 744451298 985214924 779578495 128495335 11259200 922356762 533555487 316808280 944876290 285311178 265321219 711178938 255095432 587765883 398295202 3198090 306699510 327548831 386874693 492558093 348690239 182076219 574077861 737606671 232922770 768479690 720535238 30461002 618471097 97539793 883019646 96353214 148312596 661014060 261866864 449804028 956611023 551690845 45769384 29673697 893505235 562938540 706389704 782132247 439056215 412393466 329103146 539018333 364082862 791860827 139156125 279735583 532248926 168255296 460870543 626842651 126144503 920327457 926713526 630525605 676645755 729298535 698717229 687174658 246305626 599363237 434103348 591612202 570640356 253756137 462339106 894405612 831904175 463919678 36432847 687010945 922266926 774166506 18682742 457830527 389634921 796591590 762700759 183950911 784093654 411142662 973532782 584457022 293854515 799956400 149411636 135179578 351068746 959710830 333936985 510459968 391440717 361715622 690686073 237110557 779168755 598330184 444460156 216487834 581180169 892059345 720922986 176707883 559401416 767454075 274968349 836100635 147919872 5779570 988095966 849072232 747619837 86937156 468111902 914871398 318747618 528253519 905729666 647815799 778007009 133285050 979796888 179467687 288173409 329241618 264863500 431262263 945242135 412486764 615093777 170366224 68911711 712056010 185427652 329352563 353704983 879519609 789259033 708641112 774112314 162063161 127222881 837324588 235077794 764501625 258090892 699810155 382721176 9805212 892054740 3783729 583393014 509497135 934791002 547278611 657044637 829682257 754025582 929461328 597537669 55608877 121960334 152233949 139051599 632141688 285731847 746923798 997730791 40917167 378755949 796598252 762494264 713002387 526571849 308989386 247959055 651241458 233673122 50406820 961894635 126167465 194353556 569542033 795732873 328441271 847725356 61197148 211807694 898434935 434241399 661842421 239145690 751741797 341466796 42253138 234597797 419471289 405000175 516676765 218850445 457376797 777330042 704375456 142636225 280551792 709494860 165386314 967776638 508203620 127287447 497719913 501431805 941177074 495834096 743786384 950803681 254568876 278393180 848713902 967770581 58394582 214747622 879593465 846926378 128818756 500825683 663999338 468595814 573817037 332034677 634904146 779674346 203582457 170214959 254420103 392165168 234332106 29800310 747847976 691642181 729486293 292059133 121880195 28818917 23151938 142566365 282506879 975550467 216653169 949239426 347211392 560043077 636126791 893266394 229843600 691853746 411354035 60314137 773120036 596042750 886360 522282164 943386929 745538705 233118890 186442830 620457799 712033712 876977582 38548758 457207616 69323931 643854490 833916023 876796296 610827262 787311302 722683845 943031482 169275130 78348956 116202824 724114068 614412017 814557216 654124194 190014953 203669337 997745715 978990515 98085444 678204824 175964998 653222150 802996160 107805385 261444775 818075261 65054265 766828291 78153065 101439044 52520936 640082540 634447306 420585243 154603662 60488677 473168448 667905241 744820224 176573978 111408398 598340034 47211023 622856066 61439979 585972799 900353041 282598188 587308799 415052253 311415665 23218924 948595483 165694112 165308732 746128315 135056193 334104066 936571679 919296371 692110914 903149055 697886516 383620861 31308424 147006861 368027822 281775454 110702647 562637952 894781341 401643375 181905036 698427480 980999460 145331950 265447177 79275409 326599326 569931729 112271630 164798597 16577161 925250629 984030799 79098108 618552286 486480020 118380656 301307649 100862424 518022768 846893896 262659160 877865728 410644951 228054801 276341802 760448057 439556992 56177741 191192191 538518540 729354139 734920463 48262794 575211020 797902128 854648707 200416610 860391478 567294457 277772917 122868705 253347980 579077175 706365006 386207605 101012318 389595647 478679723 979731800 997218232 254291872 54731229 932085039 418672223 720545943 207626935 421541828 140324953 75416185 356994337 820373934 229555632 756230073 153460343 136061502 108547953 97072076 726776507 755907778 31525746 491090306 55539753 307828328 428814832 282545548 664385343 43698433 507625131 378630959 473292845 631054256 873670469 999220706 200502221 599234384 357094448 254135669 465343137 850749097 826326501 397710545 438148200 433114289 82397510 753592032 582755450 197084 155453654 431178254 94146521 397410957 564638618 661570506 457028098 934596109 522350759 866216039 827047671 182147779 54055725 240656461 692189385 607656454 202976444 51337481 421960981 496233460 419129408 777568860 337487325 883369235 126989085 408188914 700027506 577206595 826848100 959189475 397055204 208651564 635761769 245265039 611093967 761003011 691960217 381764738 141644320 30155596 105734381 992744522 371575009 792541034 194573199 339020439 198747373 243915029 935496625 282599427 243115678 710421103 194943714 762803295 139838177 197945326 756370458 85916950 778851036 396124813 583029327 771799563 918343118 787832624 119204965 769182046 747132916 225507331 833544623 211477393 793031302 399888552 462601261 24000264 240269556 151329895 488198169 418189564 454745388 711096531 414815760 215141168 786515474 842173668 694058720 226579029 166771190 745036612 68564217 432309767 497021554 946565748 106600667 267577277 929781318 480258531 348564499 192764387 218302490 114262002 265409922 877048122 256075600 186742942 3482219 685625319 168712805 466661181 502143645 227630028 184764637 966963653 834464729 615030302 455162904 21963615 668590456 761649501 870859749 467972093 507763504 528694271 563122592 484925337 319588730 803158027 427654013 732303243 220935659 676183692 446721176 813352011 157114400 602615022 79825309 957880908 236136168 984044702 311933785 398769545 89461062 928163625 733369785 970715982 413994733 927685812 451044183 188617768 147898836 775528291 692077820 291570410 18192279 571046000 44019727 761174239 825809763 271881965 682323854 939878263 73539373 72555213 250107201 660232922 557879367 919159626 195579678 472534507 729646335 291759736 222319997 956752117 264566878 215499769 533741163 245017626 246084013 784631773 595644957 684027980 584197989 816736605 250148025 947379467 903243180 454325839 674893144 572217249 122536273 129660643 903560162 24876341 159853536 589711161 735570340 370595749 600629087 143187030 286427448 289499469 632331981 652795426 748192534 632382012 538988978 950111991 105704962 924273215 276056420 86657049 811159109 973116364 281959657 224993026 118128963 258062768 52762456 525070499 274279193 259946343 101803618 346478312 898913124 821577422 962166804 824673397 753213505 621929006 832913681 268193871 170696773 95115567 944322512 704064736 580021979 244807146 570463193 680009451 433286612 529978684 62740431 861587612 64591449 603006416 924082161 563138011 575793420 66949161 570638040 286210638 848487741 997816892 659647965 575428974 16505625 438135514 329272714 946651235 958895379 169915465 294509464 682186392 63644359 664551587 33369609 431143508 434140788 446757855 702938337 593866624 117330505 595945624 85306529 675958590 819811687 784907869 822812833 421008553 817550840 353891780 944554619 470086125 568019834 470723806 359683029 933636356 549405470 328450332 264056676 888257925 629415476 684411619 684685256 227042050 291617878 964900356 262512234 653965915 618911229 184029566 15738445 693973601 877211116 257360257 973791991 202077307 590381058 636495489 278668429 12917506 134921834 94878273 38193570 818990419 284513240 319227219 241834097 936358209 195982136 947747357 21518821 172261467 81017205 516223728 170490149 892745975 912135175 936174625 652056281 308535167 683220463 23354469 974167940 820086182 437328287 848409748 283302632 274749708 427717801 558633656 88951487 850074673 810850783 499843119 575882622 5464836 741185009 581876176 32885129 740366502 956007869 977686184 519387289 423679728 3519045 675731299 502858166 152835149 344597789 346464368 946740621 688726468 162978164 823715001 60338350 846359359 435876061 351058306 163447607 726039678 524322190 472813247 856937351 130432858 250718505 978945337 814515010 126374577 150930076 15521332 637169059 108365713 544911645 880188780 52046017 493289705 885840549 879280991 929970430 183855311 417482342 5726746 588830 43934706 330196281 843885206 240445171 303170406 572945244 485742584 93188795 183659158 571706542 624238880 885488286 813363846 662534276 797931760 887714990 723238252 146363588 963214097 226270685 212775370 899857069 291573691 823718108 112393394 812839249 917925292 363989426 208957244 937426807 63541758 430577454 193693935 730003677 212053977 443185874 992894951 543759664 975347891 365900406 653049463 324677279 237740792 340591288 633378851 850503007 273941969 873456143 656738553 269189037 957965058 451652395 432822919 277229167 509900465 812918718 386165518 29373576 713726326 257369422 455649527 142220300 986899622 176965777 484915802 632127471 86901168 161829834 419225166 281361074 376236461 745993094 810680380 172789762 127486218 971981120 736683311 360916870 479613320 448223941 241280522 973435909 969415845 938254470 649951952 82393861 625893999 469043315 501332496 30815505 395541164 451270022 933503569 97144600 941162479 918533927 266101575 714716565 578528204 727950605 541589710 288268185 292749822 262832227 605852101 794967904 182448407 201581108 634862441 702458498 73213619 240869525 120931322 314325249 178937443 342046069 65955547 745213899 262974366 424664749 588748500 348074488 82931276 521888924 509792993 76247778 825492649 960877445 128109155 405398271 269364129 177308695 724297200 753109812 119763214 282410150 11349128 811873860 16104708 646187215 323631913 958216729 548147740 259345868 317878276 379305246 116088702 850202470 967531250 449757878 848282832 308431411 19535826 653488341 514879274 983552027 285005374 527871062 997646274 863452236 818261706 293327720 108898798 131760668 317188715 52260843 187244867 247306241 515999849 920183708 653827319 192190054 32219208 410633944 926629009 731488997 837134611 402214296 466905507 808979004 628004782 542097212 479088861 464566558 137001377 581135965 709381051 71588816 210596801 382705702 631572200 221876218 994783817 199691571 725736175 824030857 967265784 695078287 421689297 290151119 514265269 202837101 79549476 805330437 950036367 94432543 393352463 485847355 37521561 467209049 510082926 877147434 413246564 40303434 194743335 227367409 601795330 268804444 847986378 616912656 830554793 251131296 704872457 560102188 825203559 293891781 954917346 554418476 44173729 151294841 95454528 13163138 9009381 507966105 696458490 196200633 117553288 213093060 363505978 843859449 255903179 262978764 215678572 142743787 361785419 249193554 808376832 52137805 852737184 644329295 571046300 800218464 184978613 876793021 487970471 267742024 962920771 905679793 693763649 629248367 7536702 877638811 34614042 191425343 175521837 239652142 161199335 470866691 793605796 140456720 236302660 336286761 732906242 282927061 929428396 442361138 135345871 218019018 630750580 739583299 955997799 239612046 286699174 200490488 494406644 363054859 302476156 702325884 715816543 83340204 993922695 86464591 825893612 56076040 845812278 870270958 382796007 491341645 629990844 93641345 51867236 830472632 150723237 522411911 378424181 771407557 447924020 984887810 498053027 194578940 141966707 303744916 741647610 945579509 950449701 661901335 840408594 665907866 768592578 237928295 280422847 511510500 901713864 482753351 696053258 246010889 148569100 93301758 839664203 294587552 363195012 952274368 959658464 441171127 959754833 605437000 563549384 372609425 551707106 172297492 249704332 551953165 265048849 149618911 250139661 522778233 344145388 767071143 610869762 286717807 34425786 518207209 791869301 282723424 952745815 315520792 269150012 610160229 571101533 156558017 413898622 531510067 875032225 492597552 883309154 773789680 100977497 98790421 42560214 198231053 525319154 85357140 686861419 936304303 263152261 124743280 405570816 146208333 501666433 256067584 637092931 848717353 640609763 493035889 791369988 405828387 848085591 909545063 176359226 410929266 358145510 306144001 164046649 567989524 641251837 216874427 991494952 773832384 342791699 778923338 297116262 41233354 944670016 726649968 970015348 85182987 628878421 331699075 592903607 646157460 851217927 143858257 999784409 714198317 683185678 142681058 242882134 593033336 780275749 859141620 272101832 594049680 70526215 267175696 929235339 60536820 603751392 54246802 762027572 815121837 34593 618668528 924829363 971832135 503736056 515442256 889786141 72664049 290027877 964404257 696585913 82448295 900172722 849155603 541440150 206373316 272005192 257432979 918333137 91489881 412040427 192636726 774636714 958114489 529507198 379982876 484300314 743813799 972137121 311756683 604160968 776346292 972916923 893385627 986934084 273703110 791749759 388877203 41465632 566603959 121504546 78606885 400089496 589307406 411580995 677306072 769855190 995715355 912939631 19901108 83279386 727089771 477230255 67882116 902469611 21312498 494134802 762000631 791099710 739493738 823064737 746363322 718944891 597925084 117497387 523275211 208293197 940845486 202640261 56941156 926381499 878348840 197140445 710274679 240438207 622630740 304683666 178400650 812662936 439809789 977141939 67166023 638396604 575001494 115803587 28993022 761773120 646733891 749321502 773297720 930954814 36509329 51584669 163285056 415912318 930268232 417666395 64618947 596089591 836919830 767977328 640194013 514398571 563075313 983781463 495709011 86082026 159155832 810285474 500147555 486487430 770513170 595030759 598297827 959245242 23765105 647868168 997319236 916754627 770087573 554362457 504611916 983864881 530169600 942817241 514894632 250687537 779737850 62865360 312741353 51610421 458736786 604538626 898922913 761624459 428618901 90922271 828401743 149540693 713573717 167577892 368660901 177575728 898904601 233966625 867946656 318270917 630625732 364287057 227687956 90193038 769129612 89967087 10783653 457076536 920252369 862369147 156384633 905055070 197316831 190866906 618413878 337743457 295363430 661976111 5096324 896337314 301808688 774301865 421968653 522281075 741404006 230718361 410574369 669114869 907282564 175442788 432137963 668048886 61537052 559473982 227319031 554438624 701641227 733884467 762800929 643413801 219145775 288044179 482406497 756067774 859795714 262220089 161999900 525033466 159833302 201917042 8923880 825510887 694834893 448874027 369973503 522854465 997402375 466776798 571852689 258245274 281051769 102696740 850603619 966507444 645136660 779529957 53801366 473459662 977054987 155317129 143282198 735242046 678141450 319049206 494732349 71258714 709804626 811734620 545356442 645306224 156634230 211184100 694535015 239852270 94294366 904889167 198473279 310769844 763034656 238153801 384893303 845858423 75424804 49781259 930781371 391281559 93535780 953374757 224789910 990008436 464058854 357246899 807030383 90381097 184883973 635666734 753622163 856333757 177053896 352640197 770842606 514495318 759179034 714286221 614931031 159725255 779449603 636133674 148618140 689520347 295471535 139679893 873924673 904278091 148431126 273141511 312618182 779210899 649815393 737032275 762788144 534889467 935825533 495995440 333621995 706281456 626524058 411153005 765870652 981068912 924051991 903537616 789237902 84323987 142124077 881407831 269836455 543846331 917109523 725517346 436016318 469046672 88198836 809778425 944412736 443708506 267168236 888965042 152425498 892091681 236183921 294607838 106249693 721977939 118385859 606679246 149617298 133956545 695825067 340688259 185107831 339903885 872075139 413496191 297415845 384633429 268418224 74680062 403419612 182581712 749287457 356461019 855918293 749027896 445523697 914800678 293511587 404510053 800245854 491775943 177307755 364343223 781926641 254618379 640355897 831923073 658835227 236525324 690466091 878771334 307677246 123078165 616118516 188182865 375173057 157730740 161203377 369354777 641612641 890512659 715767810 877230078 944530324 41837330 773211611 298630272 352085472 4615122 749903183 550641703 106208637 408579019 446221391 580922496 154498796 953423535 780204580 913823268 130534474 646705661 820732622 890557750 529206512 460796247 841662318 409234520 267181993 737395675 179000806 573590908 699926452 976847780 924627337 792190601 111081439 292233199 286476763 250487170 212005584 603756960 459650886 880601200 621866701 167153922 294687551 72170847 488331373 305359381 994387598 91656074 147026201 295324436 913672488 208665990 93330483 803438583 151888062 884853604 930003995 613864695 917401458 5724699 280120837 854119585 317158324 215693982 114437285 691700777 847825447 845594563 7222912 2554071 756879689 804267508 253850385 398698371 218741637 710085443 436555061 155495819 552892878 217584165 662788208 740728185 150033956 109643178 657269192 827461505 440836 257350685 929100808 104584379 418996394 574346172 79715084 629121946 373935765 239071921 678059149 828079612 962047377 45453221 49656670 188001310 638845681 111020405 497996901 431295309 914575609 338663085 430599689 5996717 63130529 618038857 731963786 606560802 772668063 343132232 111200443 700981105 686104110 352163178 42826710 146180940 502710762 461859204 305980751 414154920 513501462 466369433 853725433 598290892 726975281 849867830 733901399 886379983 416986882 540431033 281965799 31572041 11760970 598256860 861747344 467639114 132360943 882297931 875531617 398770617 249433787 467207113 843559929 718089321 392550227 113066084 469796668 327613042 655133865 652598849 943223925 268169402 318417922 178913573 793779832 932620693 46228649 52982514 287735013 566737275 278279392 30876210 137768566 38143342 315088687 89548018 956626324 873932074 139235715 168124607 615343087 835506273 723753068 854288301 918598929 58160210 984581216 53236902 796797919 258525796 857996788 357160916 397686304 10527667 72893768 260948966 181940162 813280758 766608838 63933628 346305688 236019589 567167121 211031397 700490313 594960037 285745447 34526012 218999917 760669541 353011554 936777701 230217471 596286182 147868910 341600337 29761775 989138017 105978231 435453317 149490547 979292927 14725864 577009198 42514884 763127676 923798851 715467739 849756695 89508182 192712872 647951614 568888543 215521578 101769125 61969101 197159958 533355534 66899739 290879664 203384242 618013229 119908191 738695974 25266879 851683678 265733350 299785733 493242162 430944344 456661384 93856496 291747324 417644124 696206885 31778501 972227471 538907120 910244320 325638596 97977635 881909544 355096658 268322530 387688044 441372503 694754791 626313013 207634704 292172382 29396497 123096936 254044276 540036405 814278788 811309626 576880206 759706125 54744713 235301508 189466459 687784238 704566065 796251286 262182327 831686813 121882513 229645700 329154801 251440999 210473603 998848703 2331261 920356115 178007368 42838724 143254098 589612603 229287464 663074302 25514483 3762786 478012141 644031750 397796355 771826671 258582790 93860140 901654325 902607404 661053697 449836679 828497628 170266215 903765588 587646346 964508981 568951112 125667844 604631587 329823162 681144493 192962474 105022269 281471107 766242043 81377342 924782449 651251995 336834820 608034142 507047310 131587486 852280908 962156707 683679578 646484348 286575224 114283107 567057983 33917671 35718600 482442696 699975299 229163993 875643203 89760407 567262893 620407938 22399034 377618954 189750822 839127026 156878243 971899851 626208823 500730670 229616199 501314090 753343487 281844224 198167297 105464620 26048894 564051983 974084261 452532591 19925416 119738778 248847260 522861480 514278286 995701920 994824512 664150854 147152065 453777962 671746189 736856487 823556595 653695022 856966943 932961281 147190337 127213183 589036046 101882291 846719728 60366959 906583601 768324593 494724779 328755514 755178564 358630354 411739640 634047816 386840937 140994942 568582012 282606889 420965255 833545383 247689791 796582822 123196472 720959011 734268057 976341559 991464624 301233972 789718320 511467752 33449800 720315254 863450214 69962019 57726688 688240566 358480656 221357818 94588364 712689034 412786559 543660276 114655867 117327821 486603597 284710003 937943820 671427227 871944833 736379177 526324153 343469197 815842063 51915766 891146347 355771921 953084103 178254202 721490858 475581262 873720135 211048327 22072455 110977810 649022201 744369253 638836229 748993379 166074963 500387023 758773879 283464789 922164871 754010806 312407371 799805471 690706675 987714492 93582054 411508341 665600582 102914323 419259293 211602615 304072427 909515957 105815179 270748787 61390917 187194395 750123087 676382022 236039394 542399380 180748587 823244135 739639678 374830336 560181826 831900866 81588437 252062774 459395104 180392987 999458232 166133248 478707535 70381857 627172116 125262125 295493917 319445528 60229401 308436110 595298578 117784713 54453118 329637998 97818002 772329513 114210324 128036281 961183977 543140826 498682422 944345275 290992000 422194051 71336866 202900995 88033572 136877524 483496747 518669535 313959865 556466343 369913459 932164005 167954156 771036659 401306023 499084483 920346720 487738251 224330988 970736066 619425013 220734589 814470984 644732689 592053522 277457869 210927478 829506059 774043201 815999832 776820506 72358782 376864366 704745784 275304808 123389012 726946963 774310855 381025865 131786643 110761499 230457525 762901005 20260171 685226124 442689681 996273909 736588736 396691931 332653659 976270104 641078488 460468134 826941786 421947890 909760734 833731275 283462540 186251902 445498301 983100517 434839484 633395740 349669385 983401534 449445288 882774621 400655297 966494888 968362720 847360219 765352589 36905623 452516507 204883472 3385025 509446445 326533870 543516326 179573508 852314126 852444379 142015598 371737318 792500267 646751149 261429877 839278392 903875383 718144718 846856568 550055654 341322968 947980317 773593479 887830799 213234432 181035675 439142408 729494294 194366822 131374856 88037842 785067121 216853435 111325794 245883563 130112851 805830674 62769346 441919297 741867518 455522927 562234879 816655656 523307994 637791613 454733629 368430016 617882154 514318210 718028105 214106447 807296723 969480513 234097560 392212515 926656127 781907897 667147929 468848756 799360046 443120648 47504658 550415923 47790576 958961105 368683984 343790885 564085512 655471464 868890621 242347545 981554623 309851738 174809750 190843031 393718412 205779563 331327698 221348845 846583836 165973406 281045742 710240403 680550135 401015880 43117863 110302488 704440979 433407136 732145834 677020950 4197561 916968779 374275749 954775027 467017269 236788626 192419166 289789252 619873883 254880203 93493598 53044280 990653164 890449865 137862156 751816030 319736064 823709007 15766229 437577059 530768206 17390136 330877277 75670185 373218630 974895062 949307509 280415485 357438213 179539450 173500118 523208411 998366829 554620268 96562932 525938445 974020400 690322809 106743927 670600079 577899749 154180597 935434945 686766310 833147168 108371664 178997465 188286047 341146508 390022008 428439155 881161462 64085987 550689626 47541122 673768115 806404405 766696846 459277506 602004558 27932446 773963157 422828113 913046029 604635359 892379347 809669050 232554732 504887596 157955184 713724586 646388633 988743058 115794818 40672600 468079525 452079524 148939538 758395271 918243359 943526819 325470443 147962089 490445560 99992510 413884038 198949735 472496520 40081734 285458294 923691651 587807380 265252079 403609631 643134204 125654820 490209471 32212127 196096211 933928661 533487791 81150588 708765544 516403719 163597083 568153614 220238947 132868252 586963720 179033869 304051030 814812419 171526066 907746321 626120394 514689027 572611212 71825395 474504786 229469709 94546338 358320766 984892504 358975281 478303521 37486106 257734972 401535704 40550404 876296275 844386620 619115731 950087498 556450756 817628247 345194317 567608522 7292668 61538544 515293160 155198477 519690166 196619230 181640470 321044069 541539396 181490886 39345298 335271060 364735195 870350331 86924397 130592148 821088380 965487479 318988785 61521118 186640479 884655362 388683546 980174271 975468153 893235824 34162332 498260292 171763959 144312977 822524882 833139234 264707315 24342225 616640557 877465280 596956056 700025626 285153194 613095205 753533574 54724356 961299557 903332714 399164404 841982740 188441990 631668686 346591914 620261475 232598092 945016883 511119643 540339891 907675881 558979684 95390659 791493085 188230606 100822475 903938960 99215669 390687994 243269010 531768872 854532901 840052106 964510769 63962618 923348147 298897603 577148462 49079561 4608389 812085930 891095493 297138 228483790 236090630 351030907 284962552 101115192 320486906 901542359 375599240 277822081 410871393 542499029 767350220 384189709 819222620 389070800 160962242 247005955 140950251 790576085 288777018 692333800 893538035 412568348 325441020 182379568 722572906 963736512 416300975 132810750 145720218 737045279 777674577 628652796 90108964 633351065 721716205 608240607 156783780 313065625 158636989 193811462 279086354 217770937 743249109 108123320 539180832 850042201 681464856 382282471 418122269 941032924 300209519 935511422 198496073 693295433 4669749 224609652 342347551 306812854 29647291 281239949 569974843 108396693 124909562 511910879 53514099 226360458 180105493 703060099 456496302 871427007 117109919 461547130 155396089 439585530 320284212 293996790 369233540 371225232 418134253 238504070 170455544 948347651 689807718 21160186 272016950 302043752 942266575 544243931 641451640 155554802 360172516 95015774 53551250 920419164 809856096 733887852 526154884 973806734 966769797 767976531 797388642 84511280 407795389 630561932 552910872 164915570 928687923 243937726 125171353 420762103 175026031 142257273 814905027 647830874 472108227 396581227 808137847 469473240 891035900 776011414 285712599 2159806 531341234 869621345 237680627 379283668 772637613 803805077 767596311 356301707 797582075 767797615 227655128 299542972 799401593 178700575 33235544 297207139 87108842 371109676 755527288 988604432 585284840 179320502 80334276 936709510 380486415 630802050 112296621 470667627 679957322 181462568 714735081 652438247 221997056 611486767 831789538 660284490 595442158 19099348 93503547 820384882 248862124 211981069 15062141 40141474 86346720 563787654 737871661 383759197 251925606 415143172 404701205 77655918 934827104 140537630 247136794 717226958 558147956 480746085 805002040 566711719 147578835 949439883 149305220 835098274 895879603 608802742 227869741 10323996 69843910 648812255 458043883 215845949 298825897 826324783 307546393 594260932 871102114 231565965 793936059 949590029 179774697 241571499 891395662 865817930 817182798 461067579 840197778 291429304 900026611 197349388 294269141 593701769 57959151 459968971 72293989 750912991 828198598 189187430 379484963 101858357 251163147 144844811 361768064 621680341 709746261 478509801 649774124 769452116 923870733 270151775 610456935 841751841 902647910 395720986 492338457 53353318 178467137 67066761 815320552 531720960 148748497 435142964 157709933 70085687 968632928 961820232 983528656 29150501 151867198 805601120 998733998 504907523 39568939 34502359 367021457 900102492 492414372 196668843 143598181 507465117 799273929 273470029 440893549 319683948 534952252 471382829 94807823 136485913 749369287 579917161 498317423 30250120 336483615 521453677 875256498 178777637 592009949 792203292 694650961 34937945 289027330 49739313 359469027 112331760 45249438 603043786 703133446 706579255 676245505 802482049 113057994 389168634 500645220 570444716 169463612 241198340 711778893 105987962 314874837 487245736 162028413 12407226 622133618 352716683 293772339 9260884 32194022 906322582 470634917 174158542 363210088 910077398 645737252 650503186 110433890 658034730 235669111 116070333 863410496 110224167 359582963 755456586 769458617 690077964 961479841 537941956 392132996 577351613 267493870 876328751 463468783 64753651 966951824 879298365 756860655 853270515 496774075 589009701 92648129 895393519 301190191 395133643 928960706 853926261 523928084 435012484 285626479 764537790 121993136 889602093 598847203 134433737 495863442 39352131 679776486 4763133 753046210 981643329 68349932 701755510 395346915 944740098 175827853 591221448 334917310 291616370 554220926 320658845 549023791 739561155 865079693 892448944 320377443 995471995 876325165 145177339 149918583 224186151 627699784 857251306 427438933 137785357 807257331 968950854 4227797 178637873 708215602 155017038 423358899 54021662 980237287 420830677 835674876 112082284 601211545 329937960 396618883 533707780 749533130 593775942 836616695 838855831 833025074 143519460 746957650 699584641 934615316 281718941 415024739 3113016 8760572 76558605 653035828 545809735 509715894 690256024 881378213 277513297 647235574 804502899 866627568 397535198 645873419 379319648 204834203 85688689 32781025 691166243 354664190 268770114 757787151 52573757 693466564 27469186 728341157 22592923 431292348 677050264 225501753 843776180 223252958 936960964 934378283 355229078 401460418 142177835 798892697 933621194 787084621 64703141 598462808 366204115 172268361 644313682 75196110 531470937 512361585 128105128 443842814 638597152 156083940 167484009 443439053 797290968 600075351 226503857 283895397 739255647 909486728 297218955 959261149 857114038 267195863 769720217 546147136 950868733 343062470 132597353 411797506 492358184 392285754 907215977 297448660 36571058 146807177 80190130 113144799 560537924 455534062 918194406 527334436 865476950 716221564 932928020 451299640 259423891 165398089 296759964 739326163 859423794 56464150 703647534 782177113 952327623 603277454 305174673 467071207 763689076 278124315 900953239 782933985 465570422 559990602 434032327 42680307 170950131 230276741 696242962 838625252 28091159 770394504 72703609 619588184 737399733 634277883 185587881 92420904 570814704 874119733 758997469 854988055 246163526 305458017 553815273 117105150 830663388 719898913 752836304 658512580 742013325 321186096 570516069 38792106 686632054 19270493 243914864 82440502 566099082 129941614 902054479 5569768 112763500 66253388 279296998 627740263 792357056 795491149 844318382 756631160 354184546 592044760 866147016 207817298 720400243 415002171 272347905 215556918 62582303 884109399 68689388 257242389 273821516 799779489 15701963 172386036 640861011 799736178 262946908 257303765 122062918 170035890 142217596 299833551 878014821 908031766 176319251 287370051 236074026 27704146 813913809 247760019 306629566 909164121 224785948 171407205 671998942 564972592 517953787 322075366 724449252 405590063 941548777 548456942 418434098 599376974 781616913 59269772 576999243 93612681 536216323 770570632 311610860 21478977 245074021 695460493 8601165 217551543 642085066 236416952 246000794 278238279 572009756 110209826 905412790 280152662 221212639 967458306 755222908 60132331 487111891 476800385 114985230 112867950 129608826 102591376 817894300 113461116 408175440 874028369 329140434 677226884 73114812 721645111 683301634 906585082 818377557 334953353 77173179 199844766 586238565 728899354 252915491 964733555 278022339 432300037 635940910 500580983 547521820 239339079 517009178 624166669 179039324 700652147 522328321 311409625 860362495 511620450 923802947 64131340 873149992 768300276 761367719 623709368 632252050 614591559 756381201 87463447 415168176 572820590 308722157 837245560 68658175 420788219 350338984 501601798 493230952 785508415 488656951 425114638 148928488 445388392 272219177 696277569 572815071 230495776 894496706 819973794 374566909 519559742 498131449 600948202 200910454 233697583 216807280 766475911 115292194 84071217 190749977 376536951 531217192 212881936 617874995 513536424 32792404 803994345 107328991 657235690 838316102 598180602 445656667 631836971 983633205 907457810 653694520 884467352 117568490 114295696 968243796 501999035 127636275 29823078 113384604 662068475 138768590 325793986 240222267 3297056 431140920 197130677 974606019 463796350 475322276 213270867 944667616 888529402 816713545 151389583 562810081 630946634 764172195 181645428 261060059 427045625 123797828 463454461 282691161 207529218 787710110 500692807 946982804 139638051 129216611 386258926 362962322 206669511 232390548 115519816 914385080 62052835 939918084 334008909 447012168 360580435 441690550 500400584 399869216 386358439 483299718 114642911 523877046 835069070 783238542 866022952 357731536 863280095 435682916 530514864 139862435 285177327 520652422 11633123 64806681 880472202 20394494 684684315 513170504 620766900 100531035 543457338 100934187 305032728 65372333 409223320 138222916 596385997 315652734 674076850 972959575 987209207 220114955 737022162 814220529 658108270 194707346 696093181 811696974 753760349 52492780 47815742 28115826 536178541 435329706 939914573 290498338 354998330 668242586 146027001 743937961 816580470 496407286 716650106 64103569 685062572 314186299 262167251 810609268 768175625 163038659 342181084 737441616 93874314 437840141 886636283 33269521 57391614 202628506 917587152 91606988 103814438 916954483 570720094 537722358 868417360 386176548 456042179 45901880 141824559 351731055 193133563 638114206 876903282 334820314 212117945 973119755 401542375 235398664 911967939 690202385 277533569 191718969 28829632 785393993 885906441 48579012 398670560 985945957 276683072 1924380 333921730 112592822 134892444 802346980 172350359 660239136 800487371 722951283 280738514 543497325 358428968 131760386 623409186 653076653 100449966 27023211 18386181 539357349 239653488 80487453 720980644 834699588 449840321 447269442 88142704 901840035 262900746 686874965 245678221 890407556 547734074 602088764 66836861 835250106 642895798 270262337 428228494 568707984 102337196 173372217 763091427 973213511 612052240 756204240 92040585 138391537 136500655 785653376 592683882 168056246 173969805 422961565 889136024 395294433 962276456 15128510 154747244 922893293 846471541 344670769 730532711 158473019 145604265 407667859 491940129 613635613 77960402 11398038 161762173 425858627 496214386 662472269 31426739 532304693 976014692 30867252 556667391 909089580 336046020 447901861 471703924 13082996 15890151 497097216 75922025 109363682 46759513 253072476 20833322 132798635 252900450 270350832 74651776 667029257 169964117 314283387 961739050 903785503 233548829 589363173 278063582 876826454 287785384 21622592 616494833 684432108 423805400 196876937 202966755 275184405 970086962 863659571 922950910 426690682 945966301 503229637 862375440 120266688 308816641 390781692 686424419 298545766 669573882 93164542 830477012 283537081 354019174 237541462 944956630 451577416 515927736 962739438 823249329 214562319 316014192 284889260 824847040 147029834 85293092 653973091 873589310 294684676 555803149 276985259 235905029 772789148 111944736 482690735 203098081 862353609 525957161 5296563 266238151 79730667 222037753 938012202 199501310 81025986 969315804 262267800 305219125 2034373 780678066 392369071 322187094 842568868 644759757 201830803 485316494 96302617 846736200 19488903 289309039 66010160 456390303 556760568 38670686 306841808 567763365 632611776 943716974 12710675 472201897 468547021 306522107 138357869 150720465 282785245 734994299 4016671 447878028 43495680 151239519 51150386 280328599 327039398 918488237 317235980 377518950 363971332 841503567 149707689 57980290 416069034 606750410 696334001 785954550 842442629 619181545 952160693 384977180 661042379 252396952 274936131 49428120 47188789 253757471 727295148 931136861 348818787 882660621 560933354 524423820 419413842 738438349 684065183 619343660 748198011 875015363 406335363 376508487 211995931 145246802 659798248 981003325 648090008 973294548 903475264 812477903 782161106 508065141 366911478 734338811 269070273 941323071 195093382 781480696 617833154 485115136 11447044 750613144 502415152 829520567 860392814 556623941 842914646 213863599 616054464 352068969 258370578 506551564 736483400 403355830 825383721 901294851 888165971 33562017 110890570 124179148 396340555 766283713 301842257 577032206 459732079 283755253 706780913 272804711 600465184 129159020 960161331 85889792 743047555 92827142 483814371 568429307 832015620 433042991 927210997 241485935 950766649 245462773 691995418 355909596 530321731 224968534 14206439 307348274 470395201 73682857 328278486 800476972 152252684 686533844 823250873 435330586 555541727 625989575 579009224 363184550 172870931 384081868 930589262 164895654 888337157 98822186 662682812 37636925 150658786 657596309 827535140 685456800 220674241 777009226 439490303 427619559 525956331 6937168 138298941 826422883 61561832 5830808 494294664 109489070 384650411 615139105 598007618 890815748 389339168 383902903 815027080 789944591 480880205 434556811 231706592 603242285 344055415 246854333 845821892 640949711 909409100 828030551 121074189 913223144 571158760 294382954 510215682 497680252 180624049 914862338 266137340 950243099 12553034 439953971 515891131 385368277 232160215 27384030 103370107 281107722 568419394 404822938 186200209 648062645 573277156 323878531 742352527 895224509 475317929 30970850 345901788 161202638 217554513 55781059 217655812 50163944 273321106 87605734 167460107 814297213 685271201 75724599 901487607 10652386 624196190 603291458 665657917 31145069 689221074 670410275 64962244 990637195 282475166 129182676 130577705 481881644 204202151 830033918 12426203 232856536 330873556 247178086 526262765 4762463 511409842 147368143 930209270 103949274 7899595 175490379 141277065 454884942 968580720 463516908 514780079 845066914 835369711 697069472 644297913 291199662 749565144 486898174 948111618 811708757 236350114 907557862 47410518 909857569 954035346 598883363 794412122 199415729 643602809 49379353 105344896 6219194 589171124 838865311 233877842 81661830 945755630 456058223 870120703 800697505 779011998 362895040 204303801 914112008 79639917 86577597 574631280 21790804 720782997 541896042 786409430 462867032 361574813 4473027 273389438 243333386 670440142 453306195 324357944 389675173 12132306 95245240 681687170 83178410 545898930 152519526 519208972 216115648 282958495 628377955 205875263 832201047 791548958 141286847 15364957 495009772 19911026 856165620 918581768 352930642 248827618 7528039 223424479 428396931 791642355 450044671 284416205 262105031 691269721 350014513 28264608 845762763 951328435 240771888 695470205 816207729 126976012 812090083 330391549 150859933 700170130 319891985 60989259 789330822 245993761 617028795 627854090 63201462 165903243 288169409 878077185 690846212 285826480 682205162 197360157 836354197 705515339 336250763 210108083 264769011 744557785 949901567 232352670 680535198 230152068 267660001 428226276 957451745 447090495 965482998 155129891 327457031 621756808 884697502 65792014 675579690 10819745 30234225 494057725 73804358 616654708 682041025 763872903 342846603 271859139 441335746 453731392 226648156 857644294 664473619 488832325 528758819 93682425 329166022 784451179 411532370 416396058 587622092 892603736 882299827 222467466 903713497 195340408 518774635 587826336 646153600 831297324 820102408 637246045 597197319 910571549 11749747 162039831 564211113 744634371 55047550 22685476 615104224 114106421 877662260 552808829 271383824 921102456 699413141 110296311 949886081 927063559 919305569 991377187 729586053 258224512 400475563 791252937 232643740 378563728 73405261 534835368 63293906 756277404 24047564 18130021 820478159 458167062 112200969 865618624 277995655 574636566 618615485 518182472 440341228 776365490 287743727 198667860 981155675 301400668 773211433 125930857 265774855 150848640 851516092 809699636 143752020 661659018 497145344 239442671 487107153 677099758 211870112 121789466 82557572 246106673 666343458 211117351 494922027 189076532 908617018 754384781 612827789 681676981 906946405 40704235 973902245 606425309 608897422 30599947 461402950 102314913 255858735 771817251 887641769 307655601 222454850 715926837 227579398 169884254 137663864 730239810 240685838 397464032 233947628 117181127 487065740 635280560 299261540 946166470 120109712 536725891 153327520 577142616 352692158 874899076 202186920 253800438 969772812 595870393 939640655 257209677 157293174 660690317 836533472 330788422 260236190 242942579 519895094 452430304 851802242 394142918 156656451 710358476 832830887 530892041 594585095 167429680 743367666 304604358 748917190 656777130 621167259 920400411 108839515 710683813 809134665 809691706 477462065 9288568 68318576 283618061 236785292 287708748 254943054 429849064 160465154 170198760 923882914 765666473 762485440 270073791 683255214 604108778 568235566 917850097 357201928 537151359 597523424 887650572 201831428 80072956 349778220 937381960 98238558 37112169 334047490 590523144 585040188 177946643 188934135 695536793 391597743 515845233 656618586 498356996 864025010 475666469 203891837 537280746 54421773 137310721 564640093 291889449 717262779 921319097 344165616 63859910 944825981 896993870 936895441 233536554 241885551 507606039 76610919 364295361 456367502 42801864 201710094 96640622 359343398 171474989 697403515 694713316 555592707 466949885 37486724 969675443 150501018 380617930 654091263 631439554 536351946 152422149 413486227 160656855 626712613 432812890 102080627 197783956 432849947 798034335 920211536 499817184 290131041 586758632 812285944 805243096 294021356 637153292 663160371 900275155 568474590 797148069 25570560 34482511 784507324 84355282 382188864 353930393 95993524 129904935 936680659 455461143 915664856 497340029 152307043 321882015 416044280 271996140 465446196 479298884 234863558 561070985 874912781 223483801 641067852 765372867 494493263 48371796 841308274 724912251 912639538 64554836 537293167 271166308 790385264 552383564 60487992 351316931 481277975 949336274 868524782 91942612 53572212 893552690 312952976 654377450 360713752 800029195 228417346 213292009 321885659 850369941 651606184 203820552 982410253 51996565 911029744 161826220 499757107 515622393 703254460 537309926 338402039 530210695 917478313 53305307 845644308 274230010 881276420 156913168 713547323 229846545 298563981 54255327 85232452 18353225 365680310 871250547 826817078 96497284 560838549 401157056 787364361 51739639 376799035 86664874 260426244 931463124 478508510 236362006 992809326 226693466 877985090 158643279 931052532 521435248 620622650 735516131 886030259 1243795 144384194 721241167 820672249 29695004 730043731 588563428 688309708 908490709 633235128 145519880 129334042 322635197 765072139 566427202 641905461 456000875 388378147 669394255 187452299 108224732 165682218 188354429 191418276 385152395 482846014 612066972 135096948 872366792 570835397 703777278 254539929 353226312 388201843 911663944 259877688 952155235 107828203 658968035 942278714 504764718 382194345 814480992 378873650 274477062 110749213 384603295 930576514 550205772 784453984 662799388 48847422 861659339 979405441 72798112 923799617 493790885 589704890 718028366 354007076 664612167 66737997 338660157 352740106 634454022 353498494 3421241 290785329 232320712 688617531 860529152 10202828 746454061 389371849 238357729 290463011 228864238 375026566 272797586 19785170 630989892 489083080 334177121 613603899 330241760 934365037 390943556 277140917 233189257 633806072 104892430 188810455 332152266 802653403 238549426 196960812 272454375 531424403 449477087 344534949 135419794 447489111 334989321 933918359 615315111 893325125 760119532 228599952 965641649 491825286 809444156 581173818 950912326 93396338 530414050 200723911 53519872 651936290 251485172 544137378 866453831 930004746 719317341 68130804 298921801 319732130 380940741 36694457 668010678 85616145 226606046 985474575 10920258 179133788 593643152 196680749 898533775 771914295 254453572 994021167 862850313 114201540 900621667 947305149 962343156 244651386 533399812 6268709 370560880 556275126 982085667 667598000 310798593 328634371 609487457 637376439 98940528 108502301 183492878 988142933 8355253 837652164 779748082 286390618 758052230 142837852 717066306 979651842 945776424 909379100 669313965 853345140 316637652 123391106 269928135 533233556 19145018 672267641 535552235 600587873 33684624 731609957 114869025 919161218 51032294 712233263 39551170 941725205 472478736 204899770 830493531 500093089 553735211 395257901 211961328 60187293 452274297 474450601 278294846 331295890 113948947 452915062 610734404 337121334 392803793 468932488 110631988 296802109 10906092 636357623 836759508 469125932 232146890 6134717 887403000 454560686 290806939 285323095 25391209 210847969 131479597 836247195 286782932 429803332 46600117 608146718 248161566 748153555 259882370 191380003 229980626 498413715 365173160 159568992 675886822 283116057 415089284 309503469 77810982 162830141 129086486 182784502 481156843 167317595 281336793 991749292 238173575 502006244 313008365 781973078 768889510 528813934 20924795 713156060 48089671 352173928 537920229 848209958 424426908 228455205 608137467 237751616 915171886 785010420 669670102 928872174 733653637 731921324 895365472 466166289 557793317 628103528 273272823 27321836 462883716 431874373 51298478 49238499 519995384 629178366 58404236 87895777 918898713 463564828 219907278 798430394 655413102 166480482 161124505 905854803 99458840 275418978 201526946 51776563 139403737 281297135 524827348 515437430 583510788 573366530 906661276 659900498 667513775 366722207 416690887 244241668 611890824 754753225 237245019 535891605 590058475 67047830 260630549 268739072 116213504 379282060 692013938 440850713 848660536 844414110 412067815 180999316 329286289 971509450 966901490 6462770 378985087 682451331 212681342 832826797 488876362 63100937 847572048 542960593 272796376 216056628 596611342 585969159 247564027 518700974 366172275 373169258 662333049 616954650 788862908 610730503 821104594 665761161 867953252 564234639 524908742 862142660 589154837 281090007 96071623 760023714 821252843 168380943 378278568 904244737 674966835 901456748 928197934 544335437 797862955 947034545 509597876 627939564 813358405 990673975 737659916 13326328 442967863 829552238 151231097 268041906 49591039 30144202 838292794 80909885 171613413 334442387 189388792 730212557 324652127 480591901 503294685 221551637 177499577 945046740 381129445 712854715 9732855 422751011 120171608 130448749 304445879 242524066 447532839 631656932 781436249 725685804 393836663 286117474 737925830 106409519 679028351 217794987 214222679 461670906 84308524 10505695 355495382 548378359 445037476 874882080 155070954 280795424 450099038 796506787 352040304 800934279 102488520 773701598 894022077 267472264 862910845 316017833 792839628 300679369 958598319 351316817 729390187 572693079 632388006 943692915 569474280 182579105 42408631 875821014 413785428 909129320 954786159 79124089 501638705 42731320 259484087 981081554 430145192 868465578 37774050 224182753 150938972 499731053 830306088 461032780 464162553 866326478 665218204 540068580 932202182 886607809 664801946 20870790 238913633 343466790 20683716 486261645 120852601 647214242 117647688 832469628 576636690 22230672 932102561 760593717 170850837 920820903 47537707 277033036 662208037 552696661 599798572 395407602 972341966 638412181 503734199 948124206 228190184 236775855 695573092 226871308 175484309 667325331 617348431 255788792 912845564 279282844 168944099 198068894 181599286 434325715 632025394 209045274 866722376 719461692 798979055 566750403 182579238 42652322 638146543 865087460 863945284 970430559 326389502 732001136 269634488 505509828 750015025 509519679 463371143 950270766 959881484 575500852 723374885 38986641 66851686 938859185 181311452 98655995 372830554 405547958 606779860 125579227 558839238 442143105 105926952 63982821 39105990 206974266 558583119 889965045 128420188 461539987 849262027 66097939 915163627 160078703 401976374 794098547 227830017 498294777 526097017 529639578 68214335 839666864 111932421 486238350 359933658 218258940 196083174 444000488 900046729 619537327 69568868 58267213 927232700 332930236 288886830 258631803 641620293 790418367 355108198 576683044 339192324 754688668 129908754 251206913 289136319 66597360 703499874 800424117 245316124 630599577 343637010 901838572 341155042 624992115 967984757 220896426 302826370 459729629 770916688 532437450 357962392 158019368 770888785 891195080 54753814 942162592 122190062 484056311 474779875 46735753 904044369 171130571 827536833 263530083 968672261 943547586 126076098 516647349 196038317 106797897 972929057 80192871 223181138 6507511 211429748 50642414 79225077 230257891 386752335 197592242 550423754 579403402 49819859 220756653 93718286 55406139 547468385 51052402 942305027 485106608 120394888 582566162 441270932 71803688 393965004 475679336 944650650 825365840 273492770 698200789 268014352 625661718 226564206 42524721 43340772 923175107 828050502 210613523 863979996 781594733 658574143 258710748 917761622 114214939 307160492 596457351 649527524 150635234 912652264 234006742 112458798 973635884 612478038 226942178 911970381 987037453 31805613 580529804 711793781 62400444 465199174 64166472 633345639 530907962 516621477 75973598 627843648 297170776 669397630 22590714 321136502 402537308 867869055 473338902 162476849 747306823 503521307 68124277 137480237 68302567 315873217 562065400 309500034 94072732 156059204 350563053 128859928 209052484 555832868 105878497 642331594 699921433 158396854 379336998 992672717 215365276 417696760 17652030 988962373 857237954 177809471 796691201 20825409 2621581 124579554 848105743 854431714 122364846 268355104 819289954 889988945 761971526 962265795 47353102 486538629 918106743 623855695 337465381 957444303 730707617 184754042 418429998 559785739 978029271 75270275 868747603 13751249 640975100 342905607 86929641 96299022 186176301 256584566 751991668 151562677 791003227 675441663 419182595 380059759 98198233 70135738 749027462 382343780 178562043 848188395 76909427 833514153 987206023 236218327 164531283 127774610 103417394 304420937 436339645 180865947 712125431 671519382 335953950 544367752 373044488 781356131 989111486 759813053 680486530 26400906 184343140 510812475 183903772 913395831 555899660 884093523 100034134 137151771 700207008 268782133 809445027 187617437 274757859 149593623 202525696 154733660 630151981 701855575 482333945 914470947 62452758 444153790 76920600 336119226 440221717 217315268 294589305 821190901 467869756 219828714 770005432 179572444 722324176 712336155 436004412 55286021 837045151 211320512 783054863 753324223 346366986 481088013 231148600 40683267 625275903 279303586 414150783 899970696 582243992 167049082 562592587 79491250 984454849 381976237 426122589 243613722 757715280 170844119 838580988 479115905 319204599 952870488 231126401 252236901 391614688 348413662 43885497 293900595 655674149 229930922 488748983 464017094 737595308 362452166 12076713 155804586 162823137 74763223 445199191 124681258 224446869 306613758 447379009 947370693 361686168 555637624 974989243 382091820 239438786 216413199 937461143 8625293 881694305 876604772 218911546 457838542 42830354 63666124 730601346 4729297 321860013 736951787 391043433 823957876 205312 168476306 624593197 252903225 155879882 355902074 902818204 4322688 312165767 110275600 698266128 407538308 770682259 440523681 322306908 2574256 681971112 603752708 505734542 843826702 918850347 618278036 612077452 837623223 742110517 837564056 191280408 420044070 507514707 836910521 362908225 805399447 454122014 532374601 870808777 692588827 663676528 2957937 103237373 439620840 464159927 158682181 900996126 618580438 539311662 506839921 163812447 738479299 379373124 549967225 566158134 719787491 708314869 7646983 139245259 455153308 919761651 260049645 15446890 986623916 803359011 857377659 441808089 501109748 945198042 697370739 610729179 941580932 530470124 142133595 159169136 782983993 694872240 902276926 687852531 716511365 612354799 38481455 661472656 351611922 920697070 477888448 710489603 217103245 773897096 732642089 613088148 365343678 490175648 758971064 396254686 483666915 627338445 126103240 478238949 147959605 609840295 901421137 368209926 475654056 473585588 893239577 870835003 306320176 120151032 293706438 590415483 5855293 648169511 674619276 898639613 309922475 857557817 309773968 510117311 285778076 11521237 628000215 961221273 90510616 529254925 800927938 732131690 204251656 12917331 16374010 436701990 388719794 61666905 901269553 692768743 164475940 261441672 293332300 100615917 38299344 525662 733682996 694317460 55363024 20577771 29366158 99503535 80078145 368538913 170660005 213956642 957972666 597591145 664134811 168075117 817291158 983926738 195891715 521307751 83095935 723885452 426162276 185982679 120281129 521102476 478269733 559665794 99403790 543509891 316025275 477203149 117696328 452920933 360053211 694408031 61558840 354071688 682897652 570791127 592320214 890457268 653917799 753095867 55248650 383559853 772818350 605337811 905449134 483437561 223687353 7419470 493951877 223627616 636780207 661971656 691609182 45615794 236924511 620932520 92676825 431617799 77564166 869944112 794226142 705363982 98538996 706816842 152857784 671825690 724299739 359124371 851871431 227672662 987772237 921565345 884833477 450855309 904711586 36068802 280340955 774727453 810729684 191874154 122191845 711007149 129419559 364338927 250675267 938871641 409787448 54158581 410020217 550163291 217159045 227384004 36449092 315183988 216369595 449359983 291677785 18119337 996202042 859819042 252030898 921822803 496488521 125466141 909857205 849584193 316505951 973199188 839742907 954726228 527153500 169495168 717520839 759368205 683310900 634119141 753957600 28422478 228599143 74578651 230546400 114296551 237244463 91739929 115359608 681488369 699531716 177512559 358887309 844361714 96874497 141114179 597575570 355224711 774644139 504941442 53615867 121983335 372832607 516023939 758765529 263342979 733151812 334224986 775904263 334888974 156703886 999857629 96906687 82358512 834430743 817476247 524605415 90491711 531792076 511835842 292240584 510112530 122212276 253575729 840382183 101601755 102928260 595938688 847858036 192998168 655480323 658168764 240591235 779369861 341722130 444117802 158698805 459537019 227220028 919884688 229674938 249902430 663447044 978654945 355049388 721017581 116205735 363984748 168952236 735780615 961195642 607658691 68563795 874214835 157273133 570904904 995527096 133312415 490089022 988008565 900640569 110234585 223747305 725509580 140711409 942407904 918127446 217907703 641580813 911144453 118084884 369497041 578808140 445815879 236521835 20813280 685107458 729391927 510850231 165038908 647233405 171102774 569272248 682766190 589906506 898088470 713387757 595276222 178757273 635078740 259737921 903037594 952761900 706215317 160639679 418065716 633391138 454565883 95943507 16598049 162078919 924972737 938868837 976265970 438127747 854227427 752836183 126769508 672839025 644034895 565866802 490173410 38273935 778290250 145375804 560617881 835021026 600353072 943471165 771257891 576225069 441052397 785400153 745088402 405302766 175291705 992689814 631073976 560349025 532143310 569829723 444634210 74511727 715747150 270456721 897912241 559642613 627697722 511908581 323158976 415525460 572251483 788647390 457982203 214253472 684018231 266380844 324305367 33682792 162178273 999418086 176186028 47009812 350197233 755834101 782012820 609856848 42134855 569651185 450203340 60765443 984088383 506088552 393814872 555556765 474091833 967502507 125554467 360967645 176298009 906314905 265040420 80388550 960560210 557339687 722273688 122984555 181187498 137838280 588978054 714785521 3569018 100851545 303061321 826896957 210371618 792621967 257438360 593228455 988498782 333034865 27405231 610096664 136625635 135671851 289962356 463677914 43346531 642878183 48641133 704227994 155874448 828401420 54916240 337899344 387203658 985745520 965156509 381572780 368405352 141417590 873561955 422564350 155662858 850946730 285020743 187192631 952808933 282363987 13618107 279892800 647169698 69754229 424913901 968940600 13191785 46466168 864807493 925061476 517773111 722407350 249472131 340425300 104439799 915570581 300142452 174551603 257867936 195831188 851539045 512813749 314605469 227075965 141175275 560192685 109194689 303599246 816458448 214776624 239964931 652776298 999124405 755067238 884966480 234489126 607770258 738675766 61577992 963340390 732411768 927775013 587082245 846840228 746220159 693606203 618270198 870534388 309494473 918430497 371276489 148214342 403135928 217804965 81143703 357143743 307923861 816440853 345431516 980047324 447003618 685164348 685081850 840927081 849938745 185082341 524404199 557524810 705951628 913013418 647608833 223700783 158132135 231677933 803043564 578358334 166868588 501412506 958394039 475067446 198958651 427248993 738602540 238706769 351115636 559228187 422536995 759935996 12631477 400647612 517303112 254922791 786284696 980371001 802099438 61260556 570057565 744099115 165475946 559499330 99328546 107954507 32278376 73336657 986060561 156973671 152387452 165938600 285657216 806899359 609478856 918857413 269577876 143057881 879035341 788266893 307076281 7152393 409661028 240954834 466258781 568549065 792996890 813377436 170290962 191520209 983719768 4036831 740004836 435565519 518832663 954565485 945057858 832183104 667979314 132984889 85473707 19334978 218200716 49592348 974061885 815090116 963118788 351495593 141872650 217665539 492819418 5224201 308969095 793132841 679412008 975401661 257050743 576753950 832100829 743223762 671651907 481765694 244735451 268508994 276112512 361141158 124149807 294630651 112485461 221432499 608549592 377097844 242720925 408538789 177656092 233859432 417523132 121829471 293340146 218510056 563047024 824505564 459814099 905834733 485333629 149962365 535640996 367873873 199242788 448203092 620754392 344159018 29075672 686480840 11621264 814118221 491667466 233974708 390653967 124694782 559345584 210132759 625941773 483623525 220956631 65382731 332314854 891628407 43801788 713645485 196360360 641779636 455286270 795796880 425331428 807393048 202741779 436646017 872217293 717244426 626125295 355531570 19522446 524884636 73499745 868015598 769926833 932767413 84307023 775913596 886707008 399989370 915895458 583461118 587757130 683278382 493303948 104777711 347275725 554071055 269799173 142861211 640170409 94343289 471994151 567668508 442249625 157062242 777407039 672412257 35371058 901100779 252797048 271982865 967984026 27557668 130935643 289692230 930123615 365486789 907458803 356320091 992878650 76484175 772614243 432751894 550203438 15705855 69252437 841786433 523816376 46017526 681652266 710123597 421261228 593647346 248564280 787025242 814632118 851149446 278974748 197673822 475149368 80214963 283822712 124635873 591186804 722701782 554551087 336451960 744853222 551295723 161920773 648481701 102351583 932178377 82479956 5164450 39422927 230693995 743630334 632039822 802009918 911566046 981024629 152896648 233347083 336426071 24274750 954183098 484737467 18838005 228350798 236880883 86060868 965019987 141645191 18454234 706985634 256822294 169938586 252604941 70779316 290650045 835344533 196819208 265408192 782725119 674171544 367474061 584595373 653225090 9669881 101226228 252355359 926165702 871198243 990000146 613899061 34051438 428529219 739504989 490732527 736604766 172815437 115774420 431080183 674178247 736172180 641882320 972757379 652419800 697422406 169777163 251354035 89358227 29780447 89688711 808182646 190628929 292472217 150032657 663626689 165023423 211309767 406644994 348486812 995097621 90280276 369614226 1753483 427225692 286057958 478588347 634984310 893832417 143439903 807298435 684507335 973261932 978600922 476931398 831040138 855337024 503906374 257067908 729835449 754894342 710646198 910022628 843540361 185016468 942998291 321253108 238949550 936567009 99016093 705875773 783700533 74905344 654629054 31977912 583443840 340567272 26737656 582454393 579845678 52940945 188526204 533222874 237874861 683236837 55525611 475813593 73838984 8318844 226088851 370060130 985729361 54793031 108566257 281204284 995145709 584700134 835615810 732120982 854195250 408738275 859827006 442014407 895570718 311440248 955087353 66903343 938060806 376315266 234702208 829727774 719764834 721755458 312905595 129456796 108667057 208951209 400953154 216445535 993974520 862488145 296347578 554272082 836042342 911627363 215396661 555917107 457232666 942137082 117735824 956389190 46797763 212067348 257030466 762833047 568876306 712557418 585073631 56275772 202952992 267540284 322286235 51152026 199729087 414396672 343407738 943294266 984611457 639425866 630169053 500275693 686621084 780771361 234057261 162503007 827044149 284453298 680246238 625277297 145916209 882318339 531510115 357340553 614458534 349632031 340283643 261335844 179194511 570323306 947819908 522487676 351620054 626174182 913019597 754653805 673208045 499478167 974290616 311902962 800144469 264350845 741083701 954634549 65141575 319829854 130691593 24649343 294464652 90313860 969603237 968021240 584784840 97964135 386115685 33580206 123954495 802115307 679116704 122822310 538204509 757099272 961348264 784886335 24476862 562322807 315753525 811362856 390426879 236716479 885161228 563328048 156576202 108466965 20538137 524675118 225923886 770073964 128305733 771700252 9277912 116381647 467831822 106584764 503256236 386885791 614259128 873180093 707174959 658695618 936733177 502203505 989268800 397817496 438359595 468094954 517879198 165037545 257231002 483463143 657798529 806189197 848698842 111634744 165306258 82208706 845428713 174992461 505714595 419753928 420322330 169394056 379257569 225314618 357630278 467021967 493418331 998843988 314234201 595539525 591004707 174218243 8245949 851882657 772084864 430054977 266556229 982411841 983118531 213329581 718280376 337876750 460930240 160999091 520286409 467552248 275765377 287691517 767585978 247282880 846450618 197218266 371033101 287678819 745565367 259300271 222242291 470683523 775305524 642174649 596380559 516728794 217085643 987251827 273816057 824838518 732751325 310138478 211304476 659839222 641734612 409361608 975367951 524204751 578304632 471607298 50852201 492988453 860307246 971352581 604523479 596716089 665794898 359529859 648373506 455847813 986065580 877175084 425858243 725714744 228157250 204528585 816751656 550529615 280618797 368064031 206432846 965798245 939050785 941173824 75323588 5280593 951989721 68275089 489340552 702666100 743267228 325138408 86323514 324060076 328055928 486469239 634346119 876641469 137147691 749731993 412468766 36966216 475470705 619598357 879895545 356502275 187967061 928492458 653566362 295144323 286786338 972142218 211872310 330202052 950736909 308873012 310519233 795033836 855144419 501390015 204904228 96968651 12932162 286677447 377685887 943925926 315014850 564946403 887248412 333299989 508173206 264263427 129263095 909441751 454080527 621563921 988905608 734229248 797583653 384050708 148667218 105524868 385218314 288725776 37033919 495025074 509122240 897488270 100761964 854675316 56051784 880461575 477340585 581123114 187406895 671436716 237201057 523433729 51490502 166616972 295974273 150491502 180064447 571127037 931556451 578563291 284355179 625164884 962773610 840879360 273548377 568569291 854785037 430256325 344207352 142271033 536536964 513109278 780783007 412425466 409885965 477651255 720464494 901465419 270676901 352573111 120529581 22582313 387609528 718452876 693582570 175668899 253049225 649902034 473896795 669629234 695136322 551569964 283435195 605296119 509497521 333561576 962831295 28927925 474454431 204302085 531761179 282048957 780862761 696321622 884619824 757326536 606102878 720786407 465105285 770694500 330259721 677259376 140141781 925379114 269016425 403463579 908616677 13746597 385349148 119919825 78307332 309848679 219134998 14082348 372672087 232165245 154793928 860712555 750417664 269956331 280749519 72539339 503316427 565795478 580201890 362032359 296759540 292347229 357777037 932581518 627719895 957260220 479740817 101174401 120340604 89416074 118943826 788763102 752731252 434510202 663452781 316500823 405650856 828715945 573033543 265598489 727819930 81477078 42717080 974534638 111947732 168306514 712718563 248308432 448662884 159052945 680449923 100466996 99232429 960795730 680309366 609391655 402733960 298133539 316534114 320153096 238849898 298141486 122085444 147735383 635952831 418636102 245561788 974882336 97234028 870264247 987736439 107397950 153695886 108522086 908487747 791707934 54162450 282755236 35395302 408694076 814137405 838046218 879914139 201200964 572617997 747960909 979150153 701134129 183475097 949702854 907444738 589792963 224972575 920813872 288123957 918021164 634829734 654333144 835945351 762825248 303587138 25165614 978441423 944976973 424946587 780910260 856899051 399646375 217526183 731754856 883018747 957226695 367186093 738242779 925005742 73003727 179316312 361378689 234242019 127794546 630842162 623425641 978219292 782710377 204015152 424094262 743908753 943712609 877188640 951560261 274741722 88527514 774676754 120908599 730426348 981501060 4939757 121163453 628895238 715950883 217262076 675560626 114332891 951626690 123866281 12930605 779846695 215168064 930096260 315848013 525268930 728933224 865899375 167959702 905305951 819690073 30098954 179811420 137154532 285263132 573871201 866223974 412876445 563355119 305820447 952735870 497446882 890655707 577770622 839461159 703119388 73306156 24276588 767471990 516234732 825620791 696388323 237915396 402409701 909283732 421475021 108618680 458597962 323867082 770698166 633367583 910787316 117456651 365156407 61275763 564724930 104261179 61750372 572808981 63023960 845177773 965958745 66741444 853644502 815985154 578812542 224995253 686415148 260925167 364827184 791664923 8190017 161292979 554009741 292176499 811119626 253839270 515660516 842788744 6193962 396058415 739897965 166972857 523784830 723891617 460063430 364581730 360005724 105702255 466322250 911350351 895732258 765875128 637581481 179085558 261756741 412995523 30539164 298554326 376835410 610108450 708364314 655183645 544782370 968302370 63757445 646869128 718067694 523180 201415921 278147970 785502959 894094440 340928671 943026489 602495890 205501424 8948994 846897524 194614383 875776488 413986964 148600967 931117971 173821006 182399628 335611898 483167286 153520553 425215088 218523444 207639334 256621181 409254013 764276121 638274488 354164717 522134861 555164432 271890409 585192064 889363962 143152352 887692684 408285685 135705460 970723245 456484463 264730575 278225714 116633014 808585106 158873337 924731977 454188108 903826960 831077715 507894108 273209024 96178241 190078938 791290957 175384198 946963823 116081324 634893777 360526746 290173127 118451308 461528829 141649158 159874577 20256674 848351230 212191413 902809083 647691846 655815820 715399097 39766837 616828738 598937757 41888276 794308089 910336757 122885231 314001386 551814616 996083334 951849512 253146706 648921110 299906997 127221327 159841651 29478532 70466848 123386407 836858773 290995969 611391748 381742028 384498733 101461408 947875734 410589410 357609014 864906188 666049353 194504041 78602396 879842352 58429488 908030698 567933112 217442241 363900989 47400100 334936963 238931404 741175455 643672200 123069255 176029989 220096032 313245421 631373682 611337409 70573857 218179297 728340915 224306943 137307325 643612310 877144938 32250194 67179781 379983252 270925805 623539243 325954489 838782249 897143772 909638480 428641321 480000135 954033366 971370678 791216268 397320114 201471311 258003448 808717075 623275947 147251208 368492171 582889329 442048001 128655197 307388536 960273577 137625365 511383656 262242536 648628671 873655769 920552350 116769285 565552281 510404106 722057966 243773748 95864861 695409513 626480017 791456475 455432478 301181197 183466482 287865577 86075082 873993870 523225582 929641320 992216288 478556167 102091180 443551262 21589870 789708318 417451501 60146532 200747719 422208943 315755175 504827840 883566635 680106985 423286756 325282121 623987302 838838774 734298687 34859378 846279113 919342208 318075736 401656128 829932597 61515016 662798523 98009600 78045202 773741558 992164005 339409424 584052894 489494427 716231033 59670512 510827300 623353852 277992756 250718899 826425721 753985912 356235762 423886582 458195760 497724152 225449350 385956918 783642938 46606843 912846848 348761163 982684229 157114175 889512634 122391257 1548729 728357047 120421055 769073581 373771331 689583021 60283046 849989628 722992415 660834229 238505452 840723017 678943624 131568278 291735553 792638415 815313550 214459093 821442581 418040997 717751352 225170508 567880669 151477334 5739853 58906911 361088418 705789834 840051498 203518366 774898930 494293600 869958315 164785872 598635777 839006640 981420460 536170319 34438135 320813865 920766178 770485761 967265919 453457549 62315434 876314199 409806810 955441756 437523026 8412480 146259691 562225218 197236779 67875178 383663564 246386843 86267478 584839354 386462794 109190270 114658414 144143431 62935806 633458231 774309188 181905552 614466561 872849504 738172137 404298897 324907306 647069435 693814193 292496906 878637007 889128183 235603416 743361189 697570221 444982026 716583395 724698139 331765827 592068721 35488368 481402030 109665827 745933143 695223222 68611487 952886151 777247172 634123304 877051445 73121396 18194236 219371420 224666384 96096791 667051977 16637645 282662599 262870883 816856124 395104926 670478456 848969778 499770630 123877385 935704763 817045082 911440455 121091340 832683902 120310067 29188657 764886866 216216907 994748819 754715225 4596220 139755760 908818681 653653112 631526966 230728694 154879894 81961027 391567814 493730671 403345312 390202396 921658293 744181522 391867062 418858079 628226048 758265371 108549868 707917973 575217448 80803514 810222542 406501557 771353805 157029605 357633815 341072815 68614042 439975152 536549355 505504695 240710513 132254530 790985664 423535082 503795962 830837874 208605689 127770430 137253444 695306110 695932865 582771939 640366885 450412062 845631273 490797826 28424030 43386219 150891077 326393100 419515741 367743877 5173841 589425908 305191485 977042587 439945208 644572029 174515747 708363717 596458568 78165094 470167924 496693075 232556695 29384055 558152215 608865346 952776301 282665056 226040300 241848338 334233366 763743517 117561964 149942185 270881635 402675678 218370843 43726037 358737869 579319483 855051493 644460139 205603993 6728879 162406629 355991374 993339121 859063237 307874452 755554325 227425917 727983316 111183599 35114740 502995006 525716818 384317429 480836383 267755115 658672306 227119976 106811192 596163602 25264733 764339719 400772918 48398808 606602998 606672715 707833573 770204818 284992747 660391974 500751975 907572308 214425962 161465758 415889014 874319472 775396112 91482790 918686864 597757645 477908289 49398374 508468774 680697573 152571647 36955461 313695483 849270234 769054498 951227868 930608440 868478569 293903692 348896706 348153683 493198586 49385167 333074963 249210741 846599681 209345780 865105336 151793145 475332223 465238711 129064772 23580251 620542399 83489794 128864141 705007236 208273379 445592625 787755691 784217602 884240697 251248032 264683585 129303330 742760762 643719858 749275758 633349167 194335211 940788016 353652469 257946485 249870480 494888836 976210541 153507978 252025172 642544012 69082822 534970030 623946884 524903110 38349755 141791776 162009183 43464159 485909938 652385380 225557289 10980592 500210404 639288610 91708563 846107264 151340568 49610428 437014389 542657672 217446463 799516768 971369011 789784600 893981369 62285716 167070062 294299253 341057078 328919204 688766753 939939760 351504124 496383277 812150445 407637386 228076017 213831131 436940345 724375050 534038554 231948382 675103221 737655657 441661370 609896126 362871273 639832541 162591120 945982230 814386018 695426501 690614965 52731843 751105466 715817534 62627453 137433537 437512336 213617075 564586695 841779022 683753231 705644311 89311670 687588975 101581050 577525897 495918709 35634651 37583908 791417296 851697486 228820839 910410938 457909701 66993594 639807470 683277691 326331838 696370121 159861133 756951033 121290382 615684959 264471342 301824674 411284557 756130926 805138096 438077811 733951235 212913834 484921200 465858031 47865624 223997574 691197872 24488252 263918986 99607135 135374779 525134297 945168271 35857111 203364608 549372016 518980440 210999930 296981450 122735453 486053569 157020619 174811755 345757535 136780749 571912415 901684547 933825467 865763213 783397220 993928448 308248628 580439044 80576070 565389080 322004869 797011011 975729892 637054253 971563385 884987779 158930888 545936378 731558850 99700171 536738750 92912478 46984198 582693308 501638066 598115854 831461087 362082161 373015013 200769529 561278386 955944354 830002997 255255946 386640068 502236837 543162917 473643902 486597150 875919537 997233762 589012361 701813767 145470797 738203746 509361822 3754561 959567936 14004727 156729085 207523495 456510884 314909345 673436151 457006644 974010567 151426031 738032479 533832737 686084056 103380180 261905222 534502909 232456232 695105919 866840505 311125263 273923404 434895305 719995665 697505457 484171275 97450177 926980935 637629973 410978212 781237263 73945193 784098246 671879636 663523276 317058033 313869426 289407302 37265534 923319301 148874038 322252366 79029535 201885568 824148154 25502439 875524552 987631550 587121935 132253553 211772459 832140653 264637929 484740616 339426154 955581297 332468485 419015160 80906919 106448323 967861784 993175116 404708365 680986659 969054273 168921871 389298493 421536161 516055930 177486334 851911597 602131896 807412305 979109416 272376132 97386053 868479596 795963082 945516325 589148205 480120889 531204402 591869674 257989349 960313588 139616972 967850361 97129020 51202067 808331248 523493748 464897489 697854670 132396086 762746103 373062061 515470251 190335805 244909373 278829599 997142847 509374690 103257811 481411492 167311972 854461054 888287494 155536043 627899415 141221256 543152235 914318408 941195589 427176962 217171020 279558634 802536357 296273320 565893799 725837999 474812215 820512153 402004788 929559989 359329250 201194743 848322635 211733355 394407159 397445307 145413679 804939170 306677983 504691817 444162029 935842093 670594354 36823273 496684826 209348419 347927815 972485334 678094586 63621465 207909643 615152564 941709436 166478631 753573779 712822675 498296176 654037692 135163022 173712320 475871165 661528207 916593157 178785348 959140527 824736595 387666333 627360853 846911136 466427285 19069704 570658973 715936144 508115606 258257341 704160948 811988893 236893796 69108303 763268122 143089981 193361028 820219176 620735192 138862579 975358361 482032489 657455843 236710475 73603293 355891706 272057906 733889814 480845775 827945293 694592283 502307617 113891264 476154893 999909529 434125151 41124962 579444460 11704367 176836075 891154811 999571184 388189356 866559930 305107020 438938968 187821796 497501919 639663953 183288241 835694506 897086149 189598144 87679505 612700322 165153382 778559865 455691046 894979377 236887475 572022607 147350003 314869198 468384094 263352543 799360526 149032335 186373833 408994693 283293852 252612222 520703808 159992884 630693325 655625213 858944048 966866103 731519557 22818665 194737788 182930489 330045614 709545280 250509470 799201451 304879020 310672990 622449594 996841502 17915844 314481873 949809839 140792789 16090015 543760888 955656411 254702025 262769546 999306362 184929335 712900314 692783585 92292821 153624446 402136297 159465049 329885334 154361638 193819819 31494318 463834071 356717120 570425984 82433938 853815534 268241560 575530082 340731581 426669681 881992163 246604699 193930405 82187892 928863317 101492559 761388723 509816688 99717038 858795342 429420718 410455726 835913304 559316604 452571503 76746110 620759742 536503778 481242544 910891750 964360650 255554885 182296205 79046413 151190379 412580095 99719868 279455861 441578322 214031969 368498195 534527252 81302795 846922980 544372952 886793274 166177230 21011254 308257317 65046670 273782327 835134028 779225539 964844902 428691488 645124442 67632096 976409228 197814394 234577601 880468896 877214053 889556585 188909436 538251445 120311879 837635033 292983482 398358721 497548336 880947650 301758411 764369663 635472053 911204915 618688731 562572664 3539330 425942410 954992836 965323343 985863104 595055974 362650199 766816735 277917326 114166280 77547237 333109766 632341301 921365033 415615607 106256817 207232753 170122824 969233661 262173477 616980737 394385024 842194310 267548378 86870045 17726854 344435990 835415521 802573321 723987864 303127864 410049368 291446584 918660647 672950180 137988927 169002166 119646858 695841061 302729417 898046657 851072534 268513679 557755357 562357613 454223291 441744090 634072654 41263294 163736320 513755943 619067052 634632004 638434098 397371652 457386237 346869356 483776632 548627480 961072388 834911017 221394547 131488807 567181206 29996403 495286957 756360719 533683304 636766755 639755561 471606185 434830436 382400383 377227320 944110450 484927176 803389002 24879260 233856682 315993292 984365778 707399267 502075763 202916352 518163880 282233668 446872060 834029711 447776631 646795018 308748290 673397020 271536442 587246151 534614183 981731756 459368505 874205273 913166978 825444344 413730877 207187131 814373653 999487963 931846606 480923507 266889965 232738370 210474830 633115668 22310303 12795734 138292063 309625644 518510315 293589700 431212063 280794616 480356553 179922675 498518456 246208804 990553921 311398302 787298431 366052094 621244146 268312480 432193228 284423642 28777979 717383755 924207659 388021679 457856572 261220488 249951056 913256859 304065678 90097826 494199777 701514141 167678955 155020141 957710612 824882587 143213190 258921805 159970904 179826728 118690898 462319273 911695823 618797827 477839262 318695501 25363260 835234501 725610524 267091147 696760893 411735919 887397464 86174564 983040005 804944336 696208931 21945644 516871622 866988732 141792253 329435105 362169550 691509067 980106769 361208752 772225888 528067864 271297112 234958218 427133245 900656565 788961019 175921443 610283404 16279846 354312313 3299887 534859853 192516329 750260932 994017281 945515100 735599362 236118080 15764462 807377408 169686496 236316109 866709404 701945865 888005364 975877151 666557135 231268962 485680845 98316035 607402977 220374013 791479438 702691557 287977999 33706631 254062181 552084233 279361496 180144537 183504569 321199473 367889409 533639387 463298551 810489042 124099608 640459201 319187635 52619501 496551583 677697405 234911011 52821692 186478381 950580602 637477018 297706388 91295331 756440600 739983604 98050880 900743716 60312463 292156788 105938005 483062761 300566935 482095824 49185696 460463906 828256123 436821456 522598407 881922250 392642071 952755658 128729639 47597745 953205942 428540772 459840547 896717589 471589556 215471614 203917391 167980631 745315944 196126713 962351082 315136495 671400877 703639972 463645975 53743195 131101518 768707369 523088451 968316395 978347304 553584069 175593197 895193431 195137951 105950074 553168254 352608219 961299973 548209059 529916783 270156243 661592923 440438001 945478188 362872356 538708880 287305778 8419856 574759341 356429509 23271829 102300488 757473917 112081712 503738313 144160466 822537395 484640980 961732902 302128829 180010419 404891380 844286357 437731158 317265397 777490542 309386789 490913989 737265193 99227742 12114261 149506593 622090979 12020019 117979805 505105844 203589593 490463236 823321791 817546544 322462342 347068168 342412657 885672652 93541993 308495571 855333928 474990565 718133514 943641569 155192637 153877352 211469597 839656489 873942977 389871115 533303107 65071066 153817054 365337972 491869483 29487163 494035416 123871747 896146339 394095641 244889165 777885357 378331472 267697838 911982521 470743140 112773815 206111235 562705263 883843776 194973453 490852584 476999054 885722785 307460812 357713064 127198305 333150196 459508848 627154495 195333676 217038583 930925376 829078583 877274095 855683111 238229381 503773304 43032877 144903105 381495258 392955296 186862769 642423315 903301963 802453248 770544792 339480085 913714163 65697869 300768665 360046427 187488492 94587314 826303947 667964006 634548729 247242726 731910567 48293969 639796682 438115424 563581165 98770750 689597520 714972819 185764818 87136940 656362310 477163905 210588023 822499636 106758931 964494558 309102213 913814820 104626563 799551832 582791777 858200185 543690063 700954987 465836983 258452194 16522451 672680545 395581508 229472355 247730959 799833338 585296201 748607810 456103360 958643736 89521730 105700110 35016732 871237243 554326584 821441781 302168236 540106839 868777341 832460976 147378244 187372264 603540690 176257395 559519259 311231523 525597793 165319246 940474447 983443883 739332965 413093150 509785113 945964229 54723940 272076244 147753236 404926065 384167361 50893214 286354095 58745217 498584568 439314358 927333558 503322316 235044708 449623948 232836596 286316585 612640296 597966683 231598064 49116429 63035958 395100527 177550327 240439645 203678127 753082685 787838410 17848930 434805958 122857258 468263046 673779726 318933528 23686260 818777412 795693334 58659004 235085934 828966628 597063635 723696213 244603167 37954419 481462765 409285193 297962597 765806100 243024556 185934705 837457789 62787752 949517515 265617553 322388361 491120574 706623789 590185532 437546992 382182273 534327153 47071011 561568520 851708185 250544646 128199732 285643116 326618985 405313807 369974689 521255355 811909513 478742707 786479734 454144208 624328580 888890403 229187318 640899882 212530763 714978470 380243784 711398328 139122821 704123806 122665689 668216401 161605010 242735259 269699160 113227711 748024648 806807565 795178436 839766628 750543850 987189462 159919691 985880651 894366694 255555287 561849683 87325928 549804057 397612395 686237312 289446892 199454828 212125529 265601523 132368859 654399373 988726423 256880580 226283873 781393031 306773496 141246237 47648347 215253585 58739968 432544786 472258586 503910382 204461810 668498353 890927648 194330255 114656642 448034456 975024700 219831574 601160630 388415129 17215030 206888543 327332466 180241379 221044467 829931848 386448767 706055135 531892338 170293062 15819757 718329449 533519935 51516667 953602485 697793422 617910161 969722535 821429736 865949970 498309589 500785971 62446147 621371558 427929514 241761978 798709201 5069362 29761319 290739851 960312779 187093270 259877694 172674303 327381915 414281237 643648468 740730163 583629411 730030042 497724012 462857079 694014168 199973881 629383578 515924866 488006957 566447312 457066344 173019130 275006090 412522137 841436739 464823236 869121067 806226703 386914878 158014278 324807472 808385814 110014980 928373340 657198346 486650773 698582280 221112713 61414374 161714708 370661844 523765395 681969486 87856480 219575951 609802623 596550576 45484599 990182546 174413848 836018403 696451979 240759675 444214368 375222079 820452470 964994159 369185726 722271417 548417816 633994335 118298350 689949938 47668951 490433076 288282851 896451229 419051654 289198076 761167355 960191293 961864200 946494971 473116161 40934836 350672050 12509866 745920988 555402754 192577808 749191539 312475920 653407664 47760177 187012068 821817802 353482493 235982100 592339435 91785975 199483449 642651742 382659687 515579839 739077257 712758755 503952888 328912497 948833194 980902003 234048209 661060024 633681606 838101049 807763932 93282154 813922959 774951587 191853604 37263254 859936353 673463597 29616230 593673930 576137303 547353026 268938311 875827413 413806508 358039937 922890827 8336941 14179337 58160373 582200058 839127298 518464648 379810274 337242875 345573235 785574719 396824260 858482925 681573841 871926957 444939997 660483590 233249783 474752946 412065083 491172914 952627226 919548404 645633232 644645048 285510377 199442847 242882063 798410320 283920084 540197712 331271630 831764137 204613476 633580617 525330725 472978485 888957639 938362139 292379889 561269159 598716656 293819946 528826731 112209343 257830478 247103866 705771121 122687253 677077889 431475692 176841223 91412824 680515427 630532859 374034200 966970192 592326505 197319664 881313047 336977468 794699345 977902847 659137975 260687461 925750498 141116445 974709758 158790746 92383477 896386543 437258721 633699347 606847796 569513757 189754429 250086617 79547878 126084513 601800254 588580801 882855991 500874893 646352388 446927945 786616182 85816523 22030022 508128464 189116168 363680891 204161089 812872433 885931222 543934318 134499655 837490541 311179272 56330933 213932275 771993706 993062457 99114008 672260193 495105297 357213575 375177986 734293039 908348227 197116719 865394652 630389161 665594165 755387782 916440950 682188072 310841145 659442131 260276011 767529616 191682701 642093663 854191670 193033856 833804703 141753480 820919774 891848007 229774716 784976718 154581579 673332983 831085373 180951159 825310921 926675001 340575632 562296852 231055252 212553149 557744336 512658562 281181682 22649202 325567966 833975119 70911423 644056225 207720981 941188870 913648731 594343036 851844592 651632327 334453125 944134908 9840343 106681815 986476691 129459231 235054222 372587048 623341912 46432560 584251798 590045727 52072564 252606099 786569832 89663092 633053501 571947140 78793182 483400396 1352792 423588589 802931088 94051369 391001128 550491995 702559474 962561072 59193945 858364670 877238848 255658282 918164523 969974593 590271010 9930058 213716113 62862749 203238809 279208955 617852141 637603448 135945254 612477418 6175675 509310519 406114296 466542475 256395859 800448890 326419836 778454019 309694983 860743493 12647669 179131284 766362036 889780739 845667493 668463957 975410165 896001959 768163737 168707798 58690278 962813475 356862123 642804383 292023141 585461796 439087132 135917434 719797465 690752549 149254922 318956590 705196526 95659600 969150275 646855538 142536996 3395903 849007894 392779982 550283812 120537230 750874307 118550750 39441861 95342795 174968714 997325319 678617862 910473598 766607134 641214409 460724209 411404783 238651506 268643099 516680434 156495836 735267056 630441957 331817482 952234095 229826798 234170664 323108728 533531857 326828611 657750947 82276965 281842745 341515611 158198117 615821456 624564872 268856340 327617013 686309800 747874378 543588754 502417903 726898111 349767037 969747540 354270288 60315807 58107836 766940399 127243453 537525895 163560212 717467598 442260122 574398321 760422260 207057261 533996084 592348253 163495983 338038456 165964891 431128263 903185186 386917024 874672238 677271754 699431105 136389539 423203964 906534133 429678305 935148584 866221953 473955229 923509051 55687230 266544616 958842857 216083349 770070008 990815270 401539580 824914778 830017975 328127738 567611168 276113954 525454515 80201167 529350205 66318720 33340324 473021702 242800269 426533856 673661231 691591096 315399352 257536227 824644011 5931433 280685033 2449112 943353987 696580715 342464739 124300165 18444515 184321916 858288447 48790903 284751765 578758315 702763680 821405900 152119503 888598036 847414943 933370773 648361113 503000853 706540263 965487354 652208759 890515031 745597639 292137873 510352108 487879610 418333271 828800646 210341850 593708040 754563745 174916525 373523916 724210743 141946890 771171949 600661691 902621203 776006610 23830103 739959559 333657918 384653668 558527986 934755275 756304510 235956964 497303807 805301027 909362381 306973122 336416899 371181585 586148803 993627685 450870474 24188221 234281593 885865253 972532898 733851025 65755128 678097852 427554951 457810316 43426793 140089654 809768003 303406175 312748893 18023348 787359938 528028035 900662935 956334384 927249544 914229761 335334671 750896682 234650307 896364250 865301895 399310937 741625991 288122406 920927830 783194407 696509719 727594684 582536824 878621992 570462870 828852348 373810735 181069642 215659742 780024822 780955798 782073241 860625739 857166787 870228390 617831007 265112700 817260316 7217901 51249057 773799734 492669494 600000388 422983479 833434615 224691793 879922949 670951799 491778859 976252012 263597577 967250997 531361449 726054268 802638113 545744372 704233297 862372055 445577442 45208203 885554003 42513295 296126372 490621416 105893867 305386629 768177605 716660624 240934918 941853612 614201835 213444026 90680206 623137005 733577674 955232845 836312065 287514424 692006238 539659507 400121769 530997251 535525251 657550568 627891312 59363084 921186398 332780082 137366462 612542875 718635163 128657552 592340003 731194726 646084816 460997247 796385712 736545538 141471900 429501547 58607749 83809414 822956155 656808984 398460277 616148248 911455036 519240846 389030411 160063120 934411912 502077571 94878743 385069588 503009448 834588320 557255427 331153320 485901424 509511461 190552791 939621732 87267928 887168025 151229175 55975072 91935925 97415544 409122072 767299335 256317455 149622706 794876793 529372699 951144950 106571382 618867918 901878918 149966736 235731120 363114959 77958540 736623228 345656749 689985935 611005794 58637874 792899283 237561874 346701261 423827894 970924008 192352556 169539634 124489552 276263746 600265317 142581514 162128844 75095815 135663936 860467004 257219955 400991361 251115701 744323724 349383787 824866068 556540521 83168207 734605281 401855170 371453242 962747647 760578121 959902383 838286278 607182396 777563722 390461740 965359469 578387263 930464989 176921659 560492656 719882089 98121363 109215486 710580870 455466608 647758392 231548635 648163662 572334678 388431263 292277442 947365183 736243173 663444160 429679190 444577254 78560681 536846493 73441145 707905164 834839158 978928673 565784533 526178614 596713725 82449137 326109429 140840462 853805798 836019464 415445217 512596110 927388825 133160000 264822034 769609292 7215805 494753562 107287465 590169770 991071792 830347940 233370092 539070408 126334489 823270395 539397380 727828293 673696789 596288017 366343323 445937550 234294592 624907931 717112550 832558919 562723367 814238046 147623559 380353022 839710989 95045463 237102676 810210268 329054294 356852513 655477593 478163566 665441138 77391875 600093055 885619597 823520686 204354222 162526106 739658013 66952108 251789347 581405000 309611035 671923081 441217328 235106754 995995663 159195328 787067176 287228726 460899063 582091046 251470177 704886186 51700729 865379010 414455816 608175353 370421851 278108376 881816560 164937482 770338342 313847088 56378622 537583141 37802554 903384692 402124972 135697251 921369405 511148382 538382228 89865779 592774341 540610444 288635048 949344180 697695010 898037379 836892876 778951046 554692609 530951090 248087448 324757972 851885996 417195438 113159639 58320467 847351192 44969134 253000098 341032411 53448198 206071759 70362164 867943672 154407304 953631335 142472493 942076812 3239784 805268997 243859874 959660674 164828015 717798820 500738564 788093559 843211115 678839519 125528812 457055448 182731723 158212085 536743768 62040049 461094523 25049818 479136958 871182821 434057015 418042679 628342742 309958959 446471687 780643034 139933621 385088463 378408850 110953917 774908374 907462477 483072331 950673579 241446724 297173002 983138382 143748634 579558619 404794277 381762904 792176443 809965121 149577452 582364624 45772930 73224405 339284785 622464818 117147526 38027183 696318984 100569059 89468972 819522066 434379096 640864860 607536540 96336437 704109244 643978716 231894154 545166943 645689303 64071413 57799931 626988944 77045845 535831789 634784049 841381399 530663082 415029517 406701291 348685602 623956257 123786273 736467218 593559386 829006632 877491844 956513399 271832008 80932790 23985708 291706633 442609304 301622927 353366130 304642910 172857160 958747866 141422684 107996562 899478140 919025015 473081015 460414618 723383561 658883276 223207211 481221720 661813960 730592335 470427233 932964601 205036908 165310591 517602892 566360834 101255596 881390583 701624205 701227503 137049623 498819148 78957396 288346389 722775811 180341260 477628943 42424140 528409229 897802531 942099615 398694239 260035526 917304507 388763929 878452091 393952712 655610030 835055842 370906864 735448487 334622630 91593077 751564419 515176355 701891323 213561303 890645741 535020859 224735892 692537617 170886590 826471696 412165021 266175677 55069992 517852577 495410135 128596637 67063329 831644461 328207109 232744274 693572981 256984966 139468056 297899913 892932417 901888277 285282524 893994501 242939196 39366569 111470963 11087739 471115125 23783690 241265527 440757147 390058845 397328260 826964032 717821214 543267121 840845743 612918258 114354224 727280297 150667239 912056877 729104931 296308188 776409534 523025169 242039785 367030552 916538524 211550234 9242992 707281912 800062791 985321625 11116491 857756484 668147185 158525401 182870272 107992035 515018169 202459415 145824993 344440439 357619889 17363498 535594144 881645442 267534811 555450079 874379199 409500118 697068822 439342972 640283905 660774915 32414861 744080581 354028986 208796483 392473911 213799932 750325546 954813369 363807394 209406205 723263225 415853225 95991961 867886950 485966693 652279091 30868786 213079962 240610908 480572588 522803475 222292030 855951066 517669160 611996459 58511765 77605339 749764139 67322588 174937422 141559316 125177535 413981013 16047446 144844794 338929869 440368727 152116605 618472764 925001573 194852015 68391422 312781302 471937104 587620622 65418010 565836281 890111798 650661439 939654198 36235441 488037040 750845325 917557550 723749534 472214644 38375457 170562899 823277178 59922864 463428688 877363499 78647948 472669114 119379639 843190884 268699205 102527947 171386106 75923205 44192338 480973184 270576449 625998662 442971502 603654369 909140480 98289995 529735872 746671591 848822576 706994612 429435667 754650116 909521373 652793509 901174011 27062165 48619029 542973126 903357932 330824853 989126386 649959771 455763462 562950348 932188546 949926343 417000824 391500775 527858819 475852908 48909844 326902280 953885431 394078085 336515915 799243122 821533322 818149530 903250956 828704785 546497424 670403659 823008001 543405372 201619426 514595215 273522316 496708342 841476862 953797626 962063070 283497568 65076526 388771845 687906864 45574071 980240678 508746496 656441884 620388624 142090383 464964512 908682122 344181951 43110722 302311659 408826361 350678506 943392391 815767947 513709469 606325116 460195727 998349768 449393178 591636188 962699836 99032847 661918200 395563900 815279301 187478123 164532160 940623228 121412839 928798778 168480613 77377187 258771606 781864138 809955001 652613690 795705589 77218575 231466595 328394304 45659718 251479195 670123837 934970624 383945079 95066062 856904555 143180508 631457228 542079754 410440943 681334303 221069963 731643215 517973058 72042429 404101560 346253710 727641327 763712515 379643283 254456813 413236996 23462061 755876559 184130606 723301712 937885828 212307030 351128754 387987723 408695748 45475302 98864455 292100218 788474118 53189827 416316006 118626227 757126574 334825109 416805069 78981798 214237781 784547926 93110804 859385600 237307091 702538755 983038330 990369656 991509605 822483038 553640233 611352729 716429179 206600760 639308954 380232250 415835856 897834626 505096603 366285046 219752198 263612470 177973822 135340373 280310538 666221445 316689217 356203565 391764737 497360322 278347588 512127099 168993965 711390968 327765439 446730047 641203901 141106664 127849616 35653046 741339940 772388504 350936453 691743909 669808820 392890342 304601442 911176033 867060277 324586329 658171357 379000176 475997914 71561207 621316703 456151616 173499708 40330702 818186992 644660048 807088309 201012842 591763367 692167635 118012196 447603096 369946596 709096735 336792537 785180336 832562434 185416214 282559902 196485634 904575791 190248817 682493372 779767742 369016529 197742720 558298190 476586937 266901220 264228333 172781710 134747888 487013529 143781922 155665537 922640128 850009147 270427267 814484033 510789251 211041336 621261366 153918258 971245924 385422392 42365394 233794000 933998382 629474545 79764285 360761172 226290078 121245904 3696534 77597527 120280840 197137125 788969368 100177586 819716734 169129849 771534542 394224168 155825482 578869669 770962945 820334808 738723502 722342444 195115082 238578671 472846584 298418105 281020946 739527880 89340317 34049495 123006920 72609451 365820498 716029943 38430305 741989526 803983764 475321082 471330035 504425217 265955571 635193460 805967166 113257477 496221827 519886831 920619261 155134960 948143636 91580717 704232465 980626960 876699146 261359203 698104878 369227429 545353762 343248900 56613808 595443369 136333385 817700510 603686858 682469352 631341762 189243678 696871106 445388548 589352811 686451235 743834600 729901675 536039103 290063936 217681511 671185260 126003798 157927474 217080644 216203549 690847882 121384164 309447923 299868718 207953563 678726586 356792592 141763192 640129957 197247157 327743885 897247341 709140843 917620144 60066084 767956026 8128438 170070805 700005458 862208993 15010389 830161290 976044986 59601810 314382580 647385560 197999148 878397296 45365771 120983066 639579878 44701132 787986449 711620759 612689270 834284409 713347494 381450243 472689447 109120889 640110349 442477209 72885811 20493808 200215781 986343901 200926739 558170403 9869505 803880225 548936862 251474710 392417027 884657150 139846406 668534111 316843561 367122046 325502186 228441803 409070886 607351911 853564438 37080701 568801048 759579238 854113499 816937183 349585210 848180762 949325882 24684106 219259221 4470967 532694545 91701634 112600540 130271821 825422346 21904543 224264167 23011726 171716099 499791640 21342803 22901237 407023613 699981884 168100371 9819870 219398652 827479096 797429165 53665409 425185345 392303601 397610244 829040312 536786128 875941875 687593528 896025999 766526859 558429990 922887727 267669664 859069078 539730767 119314635 593428027 192438508 54876620 336152411 247527764 615949845 803509279 254256728 390591036 351863796 305756928 98605826 220653864 498130343 550619670 546264987 232202387 584611977 228202576 505094817 497808507 86147131 998279607 616605544 201824974 521465163 607283866 699701272 34964992 106520006 918361446 714987187 843613707 168730595 787133326 606614335 331950184 353824474 42554471 242382256 420927627 611016714 395552812 435346367 574432265 446590563 679131302 326777287 232619288 750524460 123817320 372129147 606195663 272804713 105928199 217050103 35772063 298426160 945737056 249869464 484980836 133922397 717990142 201585333 869535568 583177302 936875151 655336986 194227893 641894360 420044855 566735645 808476635 588747365 67840781 940513839 162504330 207241764 772557418 504823494 969024723 733975953 31554416 100284276 27147506 376897575 584476023 381514942 388725722 116948901 805651525 662078908 326726729 82188578 156630756 66338015 906371066 331569134 169501517 14531179 480432436 812780122 334295652 405951115 312744386 172578172 847888077 624181646 272912830 628382808 815421667 736521657 139195626 738314611 773428523 306298982 334452031 749761979 44659564 452243225 236920386 42079799 972522628 536863423 957631041 198040302 397577622 828101212 762788617 244236924 46190267 776444357 376812280 258566835 727225270 833222271 130140807 959457948 841363885 521051073 401328500 747298687 52255836 43573162 910421209 334184316 953782739 908718240 682487807 979399818 836794084 960662043 170537168 285854205 803146760 506631237 986095965 409152159 722403946 241060064 237673559 880585123 834741177 903752972 623290472 991479267 833867029 492382769 277121978 451765864 445804350 62724602 616129799 972046092 974976324 257602491 590885051 70511346 670832651 38806474 231639798 825407154 930004440 55661834 552993728 324612702 72834967 366908137 509061331 805705107 190320253 915363575 80348416 592131189 860184114 610205121 628876906 15550625 931290605 259598638 628355523 172039675 189086916 699925342 640391646 143312291 140264137 301087776 533743333 388995555 171033865 521417562 169675284 987315384 72784677 317578686 801289175 205592769 575035927 753599332 428570043 323168987 364151022 39081591 191579415 874004643 881190178 265656396 907011751 286978146 477873572 258026473 928012536 29254635 923039731 540244905 177352207 523557088 298936262 154733246 999239761 274561829 517709548 586395597 961520254 120361158 985007336 900279712 481562500 723486045 107667847 592680131 251611266 245421957 319526853 399644983 401966254 923982571 623307344 534161356 599201880 236906555 9885022 61507529 286164655 294270454 931943699 905223935 439978443 663360144 354068100 246789821 606724211 875883644 582685743 703536768 76745336 922630157 659984145 251501821 379355692 292899387 156844641 94199389 626598944 697355177 958550663 251267010 840968197 325526197 185311223 428488859 710091541 447347438 366148854 843109729 452978301 972183451 477785409 235038890 896840570 277830740 5116166 21151005 256669504 561570001 598739258 712340414 683583493 92473099 832289224 981499585 4155360 425487652 21848601 398931322 742032165 76200396 700954481 377368583 504292376 45593524 800652092 462251890 468072110 982365385 133113537 518941904 524012287 235103820 140569020 837025116 248670559 642607673 829666844 223348801 471036921 418969874 762153196 18187793 582854788 438485 949487991 68789231 847477268 431723481 354529386 238146882 678757575 290181948 524995593 196014003 497380068 619885078 432383728 15224326 491208957 990430830 555272166 850193626 288957034 54015267 40787075 519630145 643801588 552108368 542660974 182877818 68861334 786227123 813133010 772726468 919902692 701048820 856174875 708054193 897383008 871053963 377099749 957639884 969132193 148186918 181604069 362220511 501435404 381855973 232275769 560496060 499483560 583687756 779183535 154564862 894989020 215865131 121350231 562505978 22890771 855084545 122655937 335584315 844642375 782120548 446054743 639734703 389549144 34329936 856209493 758344041 40547809 798595820 784918047 209545008 708421296 825955244 937903406 718646023 751771043 151490755 622566275 212837409 530592669 15368020 721495475 515095113 722347712 324241999 290318460 482799155 227451855 849151477 133948715 472006239 219412399 255193273 862150054 786160085 557692313 635485901 421392366 265043913 613369554 742579531 769410241 124961248 174112112 288902456 816718053 239425660 15895232 825561726 121839095 588831842 143833425 85658413 366417712 438336591 521821820 233043983 192524169 271757530 588559730 799088394 615916094 247186475 71734933 680311519 546490677 156907562 7522182 375285386 13418436 91994744 535548443 654208568 104678808 90674932 909755151 14703774 877159396 925830735 260067274 656824621 612240947 362343485 661253305 612042524 732687347 417923186 444729869 261645802 94218652 334595816 669019373 741570612 23053273 219212414 495419113 452134791 36397325 4319456 735558761 53569355 497896590 788277578 68269594 226681018 558495535 878482515 222474657 859632805 629446265 775749687 132572990 679226551 466020770 293444279 933339673 526565261 132959253 503250996 308629114 260735007 476002626 545249454 469766604 322433625 131773782 464853441 509391481 548987331 59172714 86536854 948623837 789341583 44151126 85239480 100730260 630543857 832618276 108357356 945216480 678318614 290441719 96392791 101467754 406028199 244115778 508395126 42971263 233867158 760707337 391613108 168327971 960078922 291732991 300761035 425907909 84781292 173586655 780811203 823986699 1529719 83470979 165521637 647631412 457303290 962771420 227942763 821264644 594255682 269382900 439832743 563696814 726816220 632478030 490999359 685071854 113418430 638367454 405357002 247972100 818178361 157407748 737941301 926984497 263915545 654584474 19341971 108977931 381390811 577527841 223584357 991647175 960342945 22220515 326580399 400029560 336667464 423247262 303153627 990248938 76102427 631800059 750276178 670305018 612657647 664501174 949377620 98074576 73465153 721812006 51653952 807267313 188903756 247424020 655425122 630149813 486556529 764309496 462348370 288514152 776858727 876991018 225473143 296431440 215750497 500079608 306275137 689335017 661731250 952489323 229306828 19391323 707624588 554550279 189043033 980208006 424517419 348078870 88119173 954687369 143641758 887582072 676346340 580576181 11712251 569631996 733979267 326524902 468754026 236118811 279095746 288989958 77515354 128959783 575370891 193301337 214272850 895073844 154690024 50410954 148087156 14103442 534641601 977237036 346170889 227018623 836495419 748443600 776707295 966625665 613687398 232565355 273680118 876693740 914047681 974563665 464533447 473132226 424899113 986121860 487085818 610418703 951443606 44608543 863158333 134763526 737074453 242770590 462105098 212256717 245416288 619451326 776666131 644384106 46016410 350274716 164775687 135342074 897007899 727358108 592998496 28692207 973146204 470047012 546230545 307448606 369519295 171344182 29287235 259439629 964209245 746758003 175995867 582125305 359661925 967421097 424569345 172594711 166440047 446127163 536148545 19609868 937285227 753535220 975011427 912901365 204568995 111426989 182408144 913148430 895005146 300900003 676298880 848703239 518680247 976071304 810666176 281526053 40583978 74278774 295044450 631551940 137326780 190419823 58344591 604083774 608166403 713837453 223476506 346878014 380642476 715072165 866861991 732175526 254124291 298175714 998050475 951495031 174798533 584926623 858844139 323429644 541263247 101069074 575498581 311926605 908501867 757082207 995650555 216503158 202743673 488593712 164562330 235086141 181311715 740287953 536400947 441271056 570116015 751612746 122951692 173549454 635336186 344660154 42373195 163598744 29763908 662740047 461253580 535843112 739555046 457790638 837483119 215286591 535102136 113082283 351099222 541996782 360022006 65039397 437274555 675557388 516884957 28739503 615585166 840713108 163125965 797265137 382832411 756889121 571574869 788450065 289550380 680687160 16125555 645084298 893698932 617043405 350304031 59336644 421787819 340998269 47253484 623629199 315264670 62921779 583413541 965371545 77408004 959678305 925570889 441449679 562599145 943845863 392070125 296829348 63076381 51023386 58355762 317445012 438703241 927428660 932425157 472417507 997337589 324062643 646810970 958204372 261634657 59562942 90355725 762542590 230699099 770529372 81603506 685217136 570784363 35180227 794327262 69413067 740577149 993911028 881100120 833734525 598241645 14527099 419362166 852425165 527369550 442720705 312780051 477904032 342155072 672680709 60063840 806463966 879218665 763416302 882617482 744699513 300571402 733178277 153805276 435344426 16733627 760377732 263601198 9200989 172777162 252443259 917868170 632632272 490287006 483758425 286522656 181683153 394638674 434883144 74501379 177814799 106128642 119804084 553421020 288597710 220242097 223825496 485082311 504925042 211263708 978547803 927868647 47337196 127415782 558844948 840634581 815882618 219065693 454244141 299242226 189300832 942527114 375996629 910124507 439970245 436636631 692055134 470381520 624765789 755202080 112231613 323501748 892004091 460629748 885392835 990942349 975431222 833606615 636685918 529217322 199299598 511696825 690930379 148529099 499077766 46675015 353113847 290037979 997198644 518853240 56030303 939990519 664655711 902728967 350802426 286278604 310096125 283016424 893691030 741396533 43074086 786780363 849889171 358062771 825922466 567080664 237036553 624964653 626151353 277593707 994127789 423226677 101578934 355581055 614727226 639486816 778656892 815771560 17486599 587040113 20561427 536788024 914753342 493615049 374920276 462540722 691767741 546641821 59840922 884659411 4575786 294705282 974435628 412526169 692093875 796808864 872605432 3497228 283329777 808835091 833588831 547615096 382945225 190137944 842390459 430548799 726075498 794509049 117445 426605352 406299229 794245697 185506966 521997265 557916174 795397360 477641847 712068473 844272610 157399851 592593516 857691677 521089546 526167878 397605157 676265405 169496988 957023188 177381499 33894001 655890279 71727260 231986104 404113961 259499907 265362426 613075317 417705000 826060801 773771143 710269788 226048254 278997851 572210214 247168744 543593261 162986775 631169746 659610964 781881992 252261701 756197239 233701328 312426457 958843653 322387648 808619669 3638730 792733657 95539536 562021394 297555173 280923864 740464096 426851637 290213164 558415160 371225286 262542178 946537669 455923294 385550643 851856930 576928016 282556147 640571796 575579898 505245995 120804824 375730872 433495901 790392109 760902784 785321551 74558685 147026926 319457993 537739263 799752871 29403120 854571984 133369013 28084389 372909718 432328265 121688629 906041691 429673338 439622958 483876163 138269462 8916088 639904044 446866293 335748091 132306630 635315050 388763542 864656449 435217230 690943691 874595024 232988459 529385177 994762815 111197928 177581100 37215218 625581311 331036518 786136595 284721909 900233187 530497809 592613419 731742140 209211998 640054061 357352313 949196562 652419342 948683736 55077606 950003155 583206732 758045971 566316937 761854141 610376272 857273359 809665467 638071535 828621651 809812504 127868403 323848756 982736501 182467286 1462340 742630106 282504599 618399213 322287004 738877245 273984243 490199337 308836988 269129713 741513282 43027906 32173575 342123931 872149244 962154445 87232705 336462827 50592462 418365027 354500463 96453528 388163646 800455661 202541738 796735416 590679939 597909959 497808378 668247033 246424598 553548367 23317383 700762098 432837282 678323320 195541804 781919841 288834177 708651814 517133224 818391496 366795422 995824380 170446809 657647179 163271626 239006665 806348078 131958891 920945094 15276515 818429757 591743960 31850977 188755474 601382852 460457957 849850088 743214830 932044683 686615124 177934136 435999646 608011248 347509913 139769237 257500824 732083601 325879768 118807693 826587314 228075199 803877300 431373130 95968523 100839108 43670946 183962877 92430469 358780796 699779361 568099520 798332228 696606008 929543787 438055555 249646175 883253267 624015874 15726767 558935352 275413734 970756099 99332009 15442872 26036105 560630514 584621640 467553307 187166912 239152366 542537077 996792245 22160118 384598485 71530675 356925933 6186988 876707242 617794377 322884207 771489013 217194802 330340688 129675609 22346777 73166495 682612669 191104831 673508803 876253353 211180932 415456266 564966947 419715094 178277371 371297055 705683110 48964855 405535049 209213483 615353136 437469036 64987294 241382556 151627399 855394882 734224296 503234049 700228584 44850572 679123397 872947436 689959014 428024061 366795505 619130531 158705852 294629580 103142496 246249908 42990659 872702517 628485242 147814023 11883376 989846018 504662954 41113236 269341122 890780410 450854796 463185446 38354813 279261068 208067699 782579607 854303091 125144652 551433265 208045675 377728504 620017774 763196387 296261636 798863371 194592758 70608972 642829033 843646369 823355456 276015841 867806006 384713803 151743450 46014025 856301501 393911502 904428079 726984680 700203370 213258190 443263898 661560862 529957643 937275957 910980528 837467901 401745685 258397738 867297934 234040811 566166586 309016422 2733521 383344424 296743628 145996984 239427290 145762954 365490517 808205821 966970664 630186750 306894900 668135143 864372318 95557544 108454881 30859305 214653371 563305346 713801123 179016222 1602270 61768874 476185568 307436950 589795198 193997425 540648313 828734968 499481077 199193468 368730713 259306397 793484582 105792328 521008439 43302808 915512090 777113067 266778199 973732507 841028105 948774648 80157060 14572330 264018833 624472479 435036145 809470795 712626203 869929280 936422677 646880069 211297301 1878460 435650423 508879876 672016069 929052751 372701278 2750622 354627731 89150843 183842630 265216276 294723098 17827892 122001313 235913779 663249213 940266086 898923251 77781640 995638958 171441754 236083226 800610428 425631547 71436717 68357243 875500558 103628804 668504160 304946660 364746295 832718982 303587069 978334278 246603750 743582582 574300097 735596007 647133699 733744850 938423564 319125845 55836113 392511593 399006070 53566213 263472474 881729530 219089678 185872745 237118827 319844646 664132943 517543086 626919538 93228670 867534766 757453899 465481894 139132377 975324738 5592522 492457936 931022343 152280307 766467743 965653248 32327477 127708126 866253959 810144414 515114057 873987624 153736780 275728317 29806773 657681035 922904797 759339347 190952682 5892933 106978496 920939835 302684726 475971709 857770414 272116538 325218057 144351048 28527967 450938094 105166338 32782121 712371471 432330330 110188241 193856074 51406794 486511127 338850903 623986373 36348303 984488923 807541120 517823702 311906108 429140761 141508636 579320135 276749298 654576070 480289157 156779880 233318491 290069759 93493501 239431898 284562934 829146399 172846944 219607479 280962823 64428798 586491062 718208206 817632268 285402895 502829502 699415876 654854044 96742400 511963387 57891150 753033595 100683318 273582029 324720805 716236886 212278140 870021451 547277669 19451340 548999899 238993591 496227740 49239883 594072647 682931836 309840617 866391780 184746983 85808251 404827197 791693114 798013252 711584208 255536298 934885444 775140411 888946991 275142228 698282510 623623768 616934223 885099272 274836444 832432888 286036281 324898175 380017640 830869987 397898809 741512199 199168471 281495775 470875171 880078288 427672803 443474565 477044867 831564541 156744328 585172748 898248680 546803209 838282107 273217866 396227271 351107362 407964987 653173916 85757377 456532453 344674106 490579322 159007488 638951517 292676300 854748911 287161403 298924841 493699233 437420445 777597393 857472319 988342737 402320795 132729867 849314814 112014487 89743750 183905200 59303258 375222214 41775250 147744578 891805727 314506887 204409721 789201498 556714067 298162891 13770791 242067608 200570215 199379704 987492567 900511742 78026940 176590855 498442832 974833509 278855073 67565886 567396716 272966468 503451593 321246440 249231020 214926171 680183485 859933554 311914449 550841823 623380708 137074511 985466808 20293007 144065170 213701954 837519911 278925938 171425220 617140129 831407846 259783913 599912651 141960625 771602802 85036360 400281807 327438986 220876816 429175003 468617470 407093107 45222793 189601221 270997818 81132776 223801522 793058776 919010878 223401395 381989293 186184264 363812211 973350044 169321248 99468503 351844984 825076421 549259543 830177910 938022141 567745586 689797449 506271089 347053548 333509406 160495201 107255286 529502027 654556180 854437412 131580751 166742237 93130273 23259561 28943882 324040388 611467729 50837888 906974020 886403480 716918583 199281629 517972257 127172368 341627085 725362716 642415349 515840388 876242924 333676783 550558004 907539338 3549903 49222884 164047927 214938222 775825194 411887545 999915572 159880710 364712445 401794484 94090626 289296621 260797228 559812450 387466594 474444743 18968803 195375962 68329172 607839638 235789047 656629054 341401913 42625102 318166937 702877854 738918685 691422536 498365137 656832743 597892778 56826003 494717246 152240611 724830734 519779301 370416999 206495578 938822622 273604030 997071799 726538360 250535409 199401873 666190378 208041710 480316402 937289901 418149944 251724317 463491034 4128473 8081950 618920795 539492125 634587165 853486542 801341948 745250708 174703998 52611553 28403709 283889341 327976750 988087626 351985711 282346366 898656670 116568989 705048365 208109871 616174341 186676750 538770473 36101732 746992719 70023221 48669071 211979000 570884259 629010514 760950875 726258233 872068446 588829801 26907392 123644987 579252967 922214866 131405922 631892788 991222637 69838038 534596595 608855880 207367013 204771560 369103707 281300912 786948498 466465660 314788207 970922825 932931073 919371449 728832275 61103849 386757427 70541478 172266358 617150986 370064057 615612393 496324561 926355971 167858467 956026566 173991419 633165429 89575588 995531121 120187608 736479499 813771645 806873448 487894919 594109188 887731528 53411092 341449256 462987360 573088086 856584340 240745078 64917153 513973523 341939850 707629600 116198369 654823862 672172001 747452392 119216669 190716727 257796572 464768160 899922792 15003840 25267349 833509967 950059809 879959245 196061575 605623804 627750072 552983698 357185821 992789187 324147229 889380268 647228030 933395064 773225156 257041923 318390959 961171945 610803236 888124366 62408444 795618498 937746317 256017038 665754535 763775257 826452925 658502286 273680169 486216772 325846471 168785791 773198954 302220696 282909798 15408365 970147743 437029591 74588496 546244967 920004821 368239199 435918919 925550339 721033239 63996251 403594657 843841975 90914905 918451654 24099461 758252049 702448601 795651541 576461676 243518487 947696320 289064135 645495517 256969814 66173614 710561759 791219061 525251827 79490194 662947105 811341936 279076673 370139041 87459780 67161425 107337199 174700927 464947692 710004797 473997863 908786695 738381724 189388356 29893213 178243457 755535844 884167626 103041008 322857540 796243913 824773406 132319606 274761837 896174769 543403247 730470124 821459906 622191602 23735505 883677801 895359792 334208951 646652691 914226747 230448280 751091615 6497664 582674998 312950853 833407725 694920616 582074001 173206800 762780645 969592204 951249090 204796329 332885940 226086225 546647475 168288859 638472252 10262693 717660034 525879950 281933507 378353156 735826925 312519055 227900332 126355640 526469543 229520892 359959747 983951759 228974271 547399586 341905927 444633267 595037597 435950765 885666137 128513254 320265431 259721031 481769286 549999395 201190491 787026592 681746323 163559442 685795612 15132056 272134756 941177112 640028173 955911490 107370607 837991027 162571060 259827346 179316746 822124418 987664469 922456626 619751271 975390469 409020006 582871384 3506008 343499063 270683082 494814331 464894191 313902995 418585889 326180930 344675901 173727965 111281914 124782205 389350330 587816102 881297873 604711851 85534869 283882064 406313733 313056215 993385782 133242554 510719040 556653030 237582045 246057173 497825170 61856129 687996988 793679404 398678907 373519024 783365126 734376732 259746644 827933237 495175067 291976768 273224476 457872311 38990612 619299009 323010949 725446119 932083039 839953696 533304124 79879874 149042613 780418387 875467662 903746338 242838777 379803054 124267242 411861142 592379256 113743369 205564438 920956022 177557813 680141040 499293344 677166108 725008502 330619031 478281904 898781915 360360972 467704751 497164236 838841326 285363162 846633967 58313497 796328760 216463586 194446554 38016608 481100045 128729066 618558908 200936672 168058181 488980357 926042293 231736945 567851789 451083206 565573097 444042857 890437724 279879091 177294316 510175268 222305257 488958630 413146937 896280707 847674278 119182374 736049140 32807182 634515396 573652106 449529731 234311577 889193420 302727931 368295841 632291358 352963568 97868867 158441616 333919251 770967561 89231070 85844400 279548609 251846976 608913723 372968144 925005595 160027238 861324381 481401921 98521603 372737205 844326954 992066635 83435650 687083219 671054389 965032526 825772240 750782052 106549348 938362271 334556902 687943544 325380520 37992454 991216262 901116149 11057997 347433755 301484238 464956842 493540155 901210234 497360381 122025587 377635402 259954359 945509606 652600580 538427137 167760810 588517201 124808222 453442411 213189309 238903287 941022818 822751513 636147905 266985378 487267478 17171404 425012582 55230449 454747636 383987936 599069807 133417034 393969788 388857633 109014184 237393583 172156847 760025103 144252631 100689352 252037791 926475981 900105303 306374375 294391920 631486489 612037693 381968667 541512901 231265826 186168194 640992292 489579709 183440232 661205541 773207856 613072210 63387244 126380551 363700801 158713496 824214429 494587481 416326894 194212581 108411425 48957871 432378075 10658767 637459262 252656744 491154966 464366250 284855762 443229688 747468613 744195710 51741645 952233578 726418483 274728843 815612462 289413905 508009979 471873870 95283216 871535268 67534827 188751152 914738170 66676819 189182703 42155531 892346903 607133785 510146813 276271136 304725405 874081317 675004460 556073214 516028602 117963593 367512156 187095369 618246382 181084373 71443029 265172778 281167800 500975243 812892825 396507934 135029377 352340561 351182228 767433116 536131174 901104574 872091919 312622492 472800376 555596185 133614583 545650899 755593935 458914971 238564779 971281763 849839014 618566618 95156415 721322030 444872631 993679797 453015258 762368713 740975928 592834023 8461162 56585324 793360734 710633429 885434037 704374298 484873887 149050871 593858316 901138110 603855087 386418846 569174914 806460415 315935999 542862348 651551043 537103698 400874205 368262322 379206946 424439669 858322128 21319196 180773010 910895586 893476166 284861949 820702103 648132005 873812764 271830266 814935582 453019281 231495177 273319583 998507513 55143457 499407414 835705326 136329906 122572722 551858612 777512313 92209612 878273243 155740449 527420644 898863869 959440146 571736973 18956552 61477243 639660286 123485402 990696085 506251848 272080207 207738674 690975145 83585935 273408924 23972626 913525845 917541286 314860732 918835264 177113035 488556529 447983720 298957126 263911527 281034642 583040490 924024098 899862821 638973789 251365920 614785580 805222838 965694266 816715749 728785790 815816119 593747920 377467772 90774433 762838371 213024340 534702974 243761338 202531739 224675908 1638981 288085269 822896270 593158662 48224693 531504338 201406035 675654712 414706203 242574674 292555584 534487608 59937200 44678694 814931832 781273541 321728495 594811019 244933840 181379959 244109940 139683423 907923408 386563484 236063576 803389675 892467018 650833376 597387100 701743120 315358065 979584475 123087929 617590588 809516088 599317535 670806045 268301996 720929936 328722635 636003744 374045113 723468448 601959140 723960215 937545848 7283432 666075844 288805771 131088472 246121930 53066155 726900536 882808517 957284387 286964801 975050369 424098764 832633051 152632418 436985187 873682707 680770387 297854552 227420865 833963685 131022771 242066065 33838543 694101142 153672785 227731374 108745251 593770625 164074695 57428080 739153582 795505712 83538978 626032623 548609920 98460780 620571554 933474210 587030073 550757640 981347598 772350430 712797302 541748948 803849356 959317504 138542941 569042369 133777141 336122365 568509144 721595554 30579929 738676976 835402792 652247531 743817169 897145676 182115363 782760408 868963420 360390117 253618218 428998851 769111756 251369678 651605083 394274651 876639198 655695103 612835796 82804766 524602605 193923523 737030302 792714433 944196195 55027352 829724580 942877455 7020854 160398902 425098087 294039071 567164454 144179663 914194484 632404033 972519376 397184461 631858389 740681558 756562387 132834115 288129571 93134244 85217980 781867056 880571486 268376832 651075074 747748829 155642975 525600711 642328832 243869264 594829687 342616977 625631076 854965322 728861258 45671589 227103932 973986002 946615353 721970683 292309537 434798594 588535700 219498443 46688372 15924606 517740833 11801212 101809170 174103547 778648025 988791525 893372438 309118601 943017844 20913301 694245612 681376222 90084730 977493546 369193189 17378671 373351270 740362764 627280111 13768949 31081773 296286767 953778019 855427038 457263017 145929469 704043376 892181047 180142561 860883146 676283442 729718503 976498446 86088190 697443385 956418600 410220134 196524794 251599347 7512510 118514341 251365124 416846001 822872400 754089063 878687666 180255397 425360267 278921955 356017119 487331153 464922547 452694460 514678620 227492501 834432993 250209065 910205449 517276650 231662095 644033306 947216582 874751973 277090512 221933238 4537831 595672451 156599572 974973183 55059013 20148621 194061283 934095573 221002442 125038901 580542313 573691290 130333961 846515495 452564421 33805667 37865801 889253932 772389666 455420522 581620335 980289198 940168650 264442351 910707447 818512621 982025905 230388316 725633728 958800987 785878137 803109078 421678126 938995780 678233602 784175989 544677295 129353647 488145570 477752858 722759368 49476345 636104445 226645634 959495789 292527032 56461485 262441447 404211142 515838711 359618533 656757686 731050448 844848432 217425516 184493056 208759910 211108809 237770834 122514017 748823289 200347867 754458991 435928097 6937548 200576320 630083620 541791212 565521446 833857317 130896323 304379087 820841892 931451358 138308759 865038161 352012831 792971643 704663298 663964605 568693750 285364415 615434411 353347964 149354949 264333027 53343835 41790614 649780688 693521829 177160620 628757604 829844692 946703573 127865212 300128430 740673969 539374479 919094775 935493265 162926356 132753051 201208374 27070214 366868619 921727402 27290626 683395822 588813045 243844372 499878601 547287479 683224309 781311428 842155319 7601101 712410750 906215854 324001659 419422993 235014934 484368342 514823823 624371759 441359168 167633919 419242653 157907319 97540572 455822535 913379009 695941366 14556687 558034227 756134132 734222336 136148156 19087286 124384097 663571584 199356059 517035822 974112181 462461225 862629239 287712093 971168529 570945621 885710701 735481461 704640261 755933470 665827669 283759527 340455148 515002514 218362379 200757156 920913822 65580398 544974957 318567091 400947149 10436617 188210315 565487112 260059566 152361366 69766386 465821756 267625758 549333326 854740120 80121863 998513729 276341451 187907482 627837757 919216385 231376988 166876884 377285738 741844787 646555686 665340089 941136485 177219180 359123475 120514376 99374960 409923388 645478912 593039936 80585671 280083670 16974056 634355019 25557283 59290683 922670109 507434230 247985715 815117593 788939574 841880228 534083935 868311655 968826845 982750140 119683059 9925273 37951097 807104167 968195628 212885783 661418987 625508730 239907163 730301774 338117923 107250704 926820908 903565023 313543379 320020866 39320633 652919391 910971218 502142307 201571545 596675105 752663857 886886184 279409092 884196886 289076226 265215347 4797004 156864739 48404573 935902140 8735433 86598532 12520093 923229075 252201273 798554923 17302741 42907337 357791339 809469408 280658854 127068935 204519326 797527110 162179857 565050546 363313789 502890146 781492355 572772651 517309501 836744119 172094902 605273649 548188671 538706367 539865726 428415236 907193203 443693188 234675611 480111627 94669141 296552338 916508895 718214271 309484446 9419651 836277298 113878162 37978916 377858044 511404723 947713407 685087466 158292377 747396851 442997142 695704962 201521239 469594310 356124871 782735164 808429453 874578698 583884775 18606004 560503400 593652553 415563009 358006193 714752715 841332815 808350288 598816660 519126288 551936840 253782329 652720730 64479122 470834679 3999255 206333573 124061328 386584147 32066643 850481381 487229615 342132045 62048565 954528775 195916475 141193608 821862609 202009763 421034886 19727706 550720243 639927770 952017007 266561794 326047922 321613009 758576170 331571808 253032 398998413 556338991 962266257 783686255 902321917 6560043 977898614 617388043 204143504 33341091 777745634 855070988 8795834 868306323 302427847 875979129 512029570 99951903 784352212 332973892 519158486 190344189 42527089 226844838 374203500 297067618 554469713 374883324 107864068 255950076 210915573 592399692 978236156 577418215 4819494 220062312 142300726 908482362 762344617 191976331 718785260 419546491 545529914 225590112 18514563 140557377 845553605 371165142 855239417 204685264 623322374 761641130 516188290 48258701 128425385 367589788 475393468 396566620 789940181 528917548 179038670 78002146 287518467 281675490 330872105 48945198 325092100 262689071 528006749 532170944 155264413 374871553 615162683 829890186 780730397 618832153 595058041 779811400 636829082 224433551 263486788 985427264 477002676 13647364 250814567 603906669 129419917 286984569 425636060 641194454 788563295 941908449 797834943 334488688 609786084 534870269 374265476 520887752 955976956 473903481 740427479 369049077 976806553 595080419 920738126 718202899 513445301 698956934 93802606 892779327 815270109 19342967 958243986 661542961 73436283 134482581 10148532 412927118 906568424 885074019 480840634 610039232 943181938 520147842 452971229 156108754 177597499 733805904 753264197 907782755 671100530 948228618 130260594 65413207 182640861 98044363 357514612 166528529 205277662 496663164 199868624 767595144 914868222 148199802 327763449 257557111 929818151 905060855 344873062 620302051 48203328 365925425 146514390 366721341 330966183 268525009 312723613 992432293 814648278 72576360 232779083 241911131 551304490 640036333 475229440 354803643 160616009 158933378 807109968 190244725 358014804 638360062 281534073 890072564 79760565 264811968 911226538 247397476 920409148 313027019 784115334 816627686 230185177 56776595 595266480 667476618 666057255 317173685 711213255 336517008 183387320 7559373 413772183 789993961 621137801 21827818 871610418 676910561 586916806 518726979 312546074 736449167 436312393 618026792 840540154 370422290 277675152 642488338 237971168 114131479 613372382 880358380 287072874 483302273 350230253 11873799 314601941 715454347 327615566 467931476 433893879 973574243 376044277 798763779 772034215 229056497 136997042 240887225 847870809 990872452 620870287 29583341 101420870 870677773 115066724 313093538 117314646 120248263 332811018 101178217 134458320 296222703 279678723 661204349 877294968 248736224 288364520 613348811 989705482 275888426 790620403 672550905 294008893 805551167 568396424 290944604 30395174 564319370 575108906 581348079 757897256 700923778 864859525 73194834 581275833 101760943 396418226 744418720 637151732 55107539 247744887 231328168 433953451 608003352 960216137 771359526 964000457 2698239 313362026 513492075 375082908 321075251 668732384 431791830 778638191 250104101 283242127 809032015 853940963 294411507 811554551 2113993 575672549 792381250 71894519 174294258 858002890 23467436 952703918 922433339 794097105 184756717 663482490 623651622 637291351 859245670 126301315 614172433 575977381 53348876 142904965 523441602 798068966 303900180 1833533 450957481 506637006 343831088 2740717 221105367 36104600 785377325 568880736 365117390 136288094 795562066 120970970 488774721 385526100 785805056 733157352 883366921 528060054 873836213 178102216 724925059 132805236 382741956 746927772 675742000 11825028 472237038 632936014 86261302 380463040 70277566 244182360 192904764 904670737 470944753 231627512 764035454 646435888 85453191 470317760 929742777 238567723 910360641 578035070 972858006 272206705 746950535 283566118 825021635 270632112 488595650 29499870 733265447 765209162 86425213 500803667 681578615 382792956 837332610 128524642 576288620 529160974 424896334 624668822 73407961 891922947 75638958 526285545 952365926 124549938 750751771 388605895 669539745 144786945 138066925 515253172 494013184 25207872 421752376 521752933 734858603 733802635 902406585 122496852 401942021 792435838 99182008 426017679 190345901 85295020 303442867 154061309 544931717 302819584 834537916 261000779 85386546 33831845 529778121 732352300 309511097 299498598 948045140 283635148 645048948 375972942 877806882 785304431 782021760 868806101 418060664 867728888 391440405 679534237 172989427 199362746 967995696 274575781 417558049 957675492 209031098 966566789 528723796 99424096 859724275 343943101 883898835 867804886 182386825 113560719 974220953 295949062 660718333 677622115 142191439 922753915 535885323 330466788 961528772 300384599 699037984 85483327 784222944 86517322 991348454 166054541 210992275 888404875 57944005 173675076 852777433 94922824 58834464 68850749 371023839 162732029 486998010 587650973 145468680 521146969 321593209 547864375 392043180 572820591 787041162 660473528 836139434 951641467 52607340 260428820 191094996 877442067 116544104 186388942 530993804 286076607 726880553 218723203 68479311 840200633 475772044 521588190 26478871 51638859 978944537 63141358 875235058 239682627 989366370 220629057 576576790 274619087 16770093 269973223 186661557 485348208 819757749 520824049 976837202 246566577 210980352 393639005 644452869 726848646 183413252 67687497 225595020 282824396 18620024 168585947 85769076 183618003 917275263 700098767 110927747 580609562 449672282 39936468 888004302 887464654 258575958 78173574 310194268 313896336 958988855 86278909 929435777 246041200 86387767 675397259 446832773 902084120 239623881 592055358 222000066 689738100 223653201 714079497 468092842 102490749 255257884 514923322 968632282 754668844 819375472 3952422 577843251 306226492 556013007 831121569 236066510 447740829 701716273 467516525 28413998 291546416 45927479 224208199 505129173 48384295 159057063 836316257 962218807 945296665 4050282 435644021 678198518 939972705 455695375 612248903 350082450 227944521 531180998 311673728 325823408 145777013 196134421 671600943 46020573 117614357 675343929 970927300 270407320 863723381 74900327 807624945 17538937 530366392 524865980 30997056 160347671 795302587 213920711 630197814 671186817 579333771 76912627 314083218 327101968 792651864 298136241 668815772 737091881 834579473 156915292 308002970 668574126 19311263 542642770 46164129 832452237 244587426 101516882 867915488 451747769 508817487 809299052 949505227 39902638 256562112 184504448 323915301 847189326 553353031 5136146 253245383 613918977 905999626 980067644 765861832 676142201 209141419 628648752 842380980 953095061 496422724 333260714 640556834 176212268 290417058 529058043 998450472 840880226 215587341 61877932 71079469 463069245 827885395 149366095 595721021 520162666 788549602 384630052 840730694 748169465 938615397 209244579 194757355 744172916 856558652 463262388 913879930 494195399 977741177 729355481 562289342 72052734 170716723 55451501 415623248 964184506 291805880 81788875 445188189 452343756 894210078 826655359 128638670 663528800 521855369 883942422 7063732 664573254 802452111 248449428 884465572 986601179 128708883 784260029 221915128 144061323 111528384 715165195 384775840 156952708 108098930 11599460 194555176 167565706 233440082 239318873 867371477 220643515 966558523 300809979 725778797 919507451 640586596 430415111 212622901 408299859 652707523 777649855 598041294 343227686 54822214 43681768 170399546 382051295 288742114 717357067 892195800 46847587 121710551 20377025 421786402 374748478 370267085 289037378 983407443 735951625 475015233 105287789 866895140 739059716 327294262 28246708 815269213 462623867 616723170 193192814 846128788 64534431 130258470 534892020 594798207 891070418 954062597 176814625 119823219 405547092 35042763 159949778 224692742 741470854 154491835 592460248 573349436 628584941 363866567 131809984 305446799 750826042 615729115 742902153 306581471 464679477 484526388 548155248 409560951 310057623 205593181 484726022 728320350 842607613 972294782 740770076 579707501 993211208 307129316 350316900 527481558 614005061 117780082 907809043 921473450 175182742 965651575 503973471 433051014 939085321 900985180 284657073 654069623 330388296 967096948 210227790 103640429 481784357 139473886 567860625 382602623 256749427 457897785 856822801 388118968 663090195 705868810 475035178 638467784 439749336 377620899 623510926 211983067 843237067 654854377 968095405 415670653 951049878 621017128 642968680 930354610 962028625 261684979 878828088 337489306 55531116 275153784 70388888 9153206 58840484 336781949 635212447 569204757 417180057 22377149 107731856 250391611 677729783 149530430 212968338 170729460 856575211 744543824 415437550 231209766 136894970 663400483 720405522 174497486 27885736 752663539 561794125 961815983 440198845 738557202 863407643 582930686 400707903 912075493 854887716 660614767 306334794 429791891 42878772 186022228 214061832 342119030 444887877 686564980 348734300 464455585 251970727 545018621 640152955 31492305 866318193 570491870 524896509 313134477 407172408 754986361 673295699 640057244 620017583 193252165 780700553 139433277 269694233 202384992 643492633 105790301 258827266 584268806 344829237 22814883 31864188 335730809 527556510 272496737 646589254 490812084 252085571 289513002 967686542 75185690 523763098 740523382 100168655 449572526 127770883 508787230 722053844 936483156 911293064 544714046 586530808 836444441 326623162 85606750 381648767 365069266 818657204 630498933 132421484 848919522 852693674 731589049 847514934 789749037 183942225 50954957 362199303 232555841 447062226 980895425 754726721 575870492 375212608 874031388 227010702 847459362 987365528 140173247 676201326 148139310 512627427 436653613 986446458 87013409 416095107 497154765 882051705 717452054 601196467 410423381 216332598 524445913 911648284 581697323 70392493 338970858 635032716 618740721 97632979 649362674 404924730 735103256 869610340 368854211 607771481 324376279 221955333 415570461 475284093 950673352 680748505 273435526 820090923 51616942 495865375 379845905 41884052 39546458 828365105 707255789 290605140 8124838 176556057 59224278 962273283 257974536 118257275 844845002 104899310 119412220 797532443 879872672 506905766 650464626 823439247 874914580 434667391 262917173 213110528 780645891 69117114 281319019 346155042 434678856 43334175 40139893 467125404 434972176 607908794 800521920 416712890 383789166 977498486 929437055 161957705 682396673 260204453 408071375 307081733 350205306 130979679 816047642 834605913 376401861 493026735 357978234 581905800 736029448 57673001 336117873 688163169 75829822 83418725 138401083 938755636 887835562 256868470 546726824 368910329 496383535 90497758 216517300 792095461 297669499 586545661 672747764 89673200 812835219 614217872 49853314 312756268 350679010 121747931 811691497 978736783 466057433 547519189 711190417 989247417 321792724 119225103 131657113 705088818 908738150 91108725 837517948 740123395 579938214 756085000 774619072 682581350 599860590 942249358 690840419 581304384 440679215 600813109 957694585 546459693 530296370 784780405 91314679 551138158 522664837 385600836 958288217 818034791 440216288 735871106 214552059 620419110 261196683 132339894 783349470 91930843 358401772 496766927 396375391 311124744 290978978 792585661 263693613 500884963 199369349 279304989 617413494 464568331 544519223 400436514 541219787 334924749 676383122 529809026 453089003 241534183 299116276 142126388 581154369 697360968 298125880 451230160 746625433 443912859 39736320 280528791 291933555 720639452 460734698 329297238 307092520 135737470 629829443 252342056 346226651 601021832 873104134 484311407 740752993 343525699 728741092 790030716 239071260 146229399 26271312 122614569 878092906 257767128 977906191 208258391 616026625 929818462 263920621 254570922 139650608 716429068 68211843 869226974 524041484 325726046 494731586 41288445 83375965 694997987 740349630 960701097 309156523 515715114 114700290 577269168 578183767 955101356 869894103 988372965 974520632 568004374 312277445 745108153 831842848 74185881 634171365 934224478 946094808 746883553 644923093 492669312 795438007 226391911 327231626 631917720 116305678 785178797 288372332 195411712 10035978 158389292 959832619 698768801 280701775 427505486 191630295 218950152 911544059 803325674 750426994 824736155 791990879 838132379 486384309 236332430 119786337 278442206 239130148 821748455 794223033 866214745 995746582 333295361 764094351 540669313 664008358 29459265 683009153 272537342 179113864 823979343 29085096 65296394 469761160 386723857 59411714 572575283 471143360 972585481 761832713 923804858 739183389 979839652 32295939 198744908 269509432 641245828 874262981 417667484 308328911 442509138 56105624 701040351 311394095 293837978 952519130 112417560 177261725 594743102 163853798 521173619 640878783 900890189 130093837 747475664 439388574 194287977 876945349 69620462 211589584 803388575 182851393 696619190 91706213 295511633 256294911 330286552 245301274 638622255 766173898 441198426 598457462 906098661 662740384 858914378 689115030 523039645 793406104 750207439 218128876 249708470 91829379 827143249 399563605 658685587 328544515 7931053 944750595 808180369 538729056 262930196 838839503 743775037 753575773 866665392 869743571 53262761 985852615 752438616 402134717 928980951 547109774 540067260 907213794 732195741 453532295 608313765 788369435 582004076 846925956 659582422 896560823 426163731 395482486 690961279 626778043 234326836 964870287 162471361 243291248 157987123 452769695 169712024 245964109 467958178 26201681 102995043 645947138 769199766 466163903 561454152 812442315 403826502 457090123 911236454 453310856 372265174 671066044 565162496 152437496 826777634 880979584 614369521 792395130 284724283 787103245 48092578 293102445 104546843 59181334 179235922 213538473 190662220 241912150 305081053 664612701 253966522 146825407 714140943 960278571 608083070 700423879 825098244 145770730 895312168 215656215 625918539 224989883 585990545 56861503 665811807 905283339 750564185 546039402 341062441 724722349 511886303 920559465 669264482 660068532 592873535 509175206 507230554 470895497 106700635 432083248 582895990 725285937 285535746 735412426 8671072 83111160 308610426 887568281 449469804 359609843 631819287 337750800 811649164 949988302 626778226 175384425 198282516 545527912 264706314 637711675 741705209 529705453 962092850 637252339 533871017 496000006 574781946 265961951 809780091 557214325 985163195 372546275 666254586 426525264 409386723 128112653 808146640 330271909 100511132 776478092 873956544 339391082 75799766 855824775 159593450 30464086 640889625 837244889 69456568 889169897 583829065 512203140 342184028 769966884 19008148 833080271 118717594 265879325 107668650 928466251 62581015 778812422 51249362 52249982 459308282 828318257 761430181 136328387 946749448 770144473 255267577 45830971 450326557 423924686 708108601 648446594 690275239 226013507 124672915 57622657 435523881 599266131 222930542 966669263 166668890 83218661 696451495 181526657 280658900 391877324 885374891 171988945 245766221 853543407 242480859 127876052 173797231 203029501 912784716 532255867 87509131 20382366 398098218 529701599 455309627 475004689 721032589 195634780 251366981 136083789 562148400 903868749 835243596 57610968 419824095 999936656 452037944 576365209 972000354 155985276 385253433 102200494 451228334 203985280 188078208 810208770 737987457 181238478 846933587 309096865 89107165 977078968 540580004 163757321 679780548 549582582 550400734 321824392 731495452 576845363 610597513 776729916 569660188 807887976 750904140 552054336 414514574 766749361 35295678 388780206 946859045 449148927 166281605 626866381 421373939 808054765 452806669 125493654 93297207 288295444 75262133 134518004 854932225 149517547 514108646 465722114 575655862 731960062 667281386 66277351 285086992 471567230 297425864 770002519 465636489 52429664 684785639 459851337 200656432 243782605 117784629 100436321 58790187 759555437 753291217 935624018 423496773 234964530 361532503 838946592 833460687 362631315 157774556 945662387 49339458 574579843 864340096 330304003 46417523 176877155 103950997 776094226 904553457 22343289 473879835 922483013 585408160 621360172 656697711 657146472 209380079 182616832 531769702 321578880 896057569 28426561 449394197 209972546 998773606 141456568 557233880 484690262 540590657 256582587 468879589 80971952 544993019 486004277 705876899 402073171 877694707 635748083 775412325 641085474 149204006 205268608 493248305 221323847 758285981 962064595 366000131 544279549 439651560 469489147 399250723 666121907 233883711 823689403 268290632 424808302 11114981 306752731 345725405 839434999 699382461 528909773 68126197 601228123 654853932 627118182 106309446 118167250 539733178 199653546 896281437 530781440 361330548 26871759 17623188 995460358 918331027 570202613 62845268 214215574 673445029 284104051 420154995 455042455 65343269 251489992 79459355 706820368 987385469 241742737 336199406 556254453 737937708 797108299 2135034 707544638 852513619 34343025 149744371 288734797 984250937 85271314 75784168 384748886 813541418 693472502 569978698 745802904 318021591 996526232 643920391 721725061 209358501 558743629 223675506 778033361 363968344 109323757 199164313 57219583 327361906 629739870 225685651 673613487 842344132 816775503 495307809 333296530 658683618 91372159 646302793 310224192 676921741 41936596 504191474 67589288 911711820 305453100 450815560 488301128 723994450 367948349 375330789 934450302 903290709 897041578 921445535 838464898 826320164 311779490 180614850 899772882 733025295 349237311 210021424 812157354 403599866 759567902 370589174 774570881 676078344 680638860 710212208 647407537 560408384 431054698 385267458 333373162 193416567 264254838 965418151 307751724 535120735 738167634 588782435 759585787 229718515 728158517 407058308 802766208 165495690 556827925 320661404 56709163 796983084 363781162 981048320 570557064 160281334 930323837 25838804 551754299 852028025 964308817 962184108 704298892 256849258 134088368 682490892 235477037 995599878 31230390 176159977 571624149 442724397 776125139 273177007 11128688 251380829 63714784 632296171 183650048 804964713 830199719 748394656 558988136 610693273 469809296 92884812 718905786 20374802 492211229 213737024 860638172 658120111 952618350 113789448 276382724 464149454 992387025 826298538 701580120 434588237 1294192 594162719 49699685 200968550 535897358 588927953 159073815 277473197 917113669 134791736 145457647 510406273 657347031 732190916 431995131 876076096 303605509 915712979 494270757 214139613 329489863 439897057 334753308 236026872 209183519 986345329 703880248 87470440 617360740 506987659 739278023 362387581 405913537 766414947 576468386 952402802 220869823 316222239 904973384 74419748 909757937 644686984 866172314 329388716 279995388 33340077 194120075 982314286 263386588 522832122 229896597 224872275 465681668 538167306 194305526 607380496 325590596 924684892 622067341 309580410 479972492 387676564 118023440 371418727 957017344 896371127 271287126 656057954 861124959 396236184 786463431 573266059 72782626 922362134 335708962 63763620 41865822 679884358 955154881 143418768 342785345 361351712 895405703 267075403 174151738 439775737 219313085 717332893 843472777 650828189 374025440 802314837 544385454 945835586 684057612 488596136 730854598 576614778 161642327 361092152 200857124 209671269 394333719 281114319 209097892 488156373 931597466 285794002 205284875 657019481 185603387 555832457 185114827 304385909 876069115 438774686 458945896 669493442 437109971 793637513 616216467 981059764 840596340 767506335 910256510 86888962 611784977 102486137 343162409 857892852 43676062 593118405 329459991 874587833 32827407 386681313 475328403 185865675 473660690 274195805 452190710 523449610 220511098 743291205 220081874 54312832 946285662 931798968 906087877 825383575 820633088 600351270 601390862 801001768 511499603 720212120 659015714 312983452 366411298 264993136 52854114 695284531 837920610 287860547 483532209 993481464 203283275 34336913 35392029 968502636 676551302 441220124 313012759 18503406 780232812 824006041 24098349 975621456 46830383 433572959 37315679 463629974 524654992 490682522 849508202 807868818 171115971 130455209 152804906 137294471 486406584 235703288 661973770 905976139 41453067 25419072 893834348 551792670 285152064 595476679 379467504 870882271 853381732 105903915 751077768 928694192 238096135 672456264 900484714 879886320 179522782 237137786 104425846 659753944 285450477 93727798 896064819 743309564 790149980 169612407 606489308 252215615 325682990 256190404 624907923 200774945 901205137 604568810 48318559 74059551 647300715 419977462 146561664 196798394 34878839 615800636 38314046 705380807 992881392 624561010 816280483 114862456 661920662 548510358 627185061 276969848 704208912 381337707 174930018 86002698 705069799 302328166 837003966 239764847 371744382 629987061 143963971 347130913 838840302 552092347 729296645 24277165 762645846 951691958 825189673 30451237 474191102 446919811 768130988 502974377 600723871 21451395 123546414 875369795 809888818 442097156 358081398 982765192 736377990 948907789 253538280 962143367 222397335 179072079 400060280 738890453 519836384 415690841 400677305 686827440 263633255 502689250 336445927 847609351 842791632 863688406 62367019 93384891 618638964 680267547 138370929 141325078 902927675 15066056 758977423 462754787 420968155 856107595 10452291 687565405 317650640 3494211 769385548 603848213 840571329 36584490 216918767 90723145 220554135 903710431 600928742 659622743 403243822 507247438 46295829 299239341 267615694 115941982 57753515 986080089 681984477 68465807 527385364 308754057 977651680 116874992 282436853 161013115 68728112 174291487 665925180 432388819 271097697 7577233 35856751 358616669 182355016 139112388 779328616 901238184 911628877 266596591 526828700 252162721 877363296 901053265 68776346 311204632 914698440 183610986 40402403 141148475 897458725 903742386 179411673 286925355 938266505 124514676 637519513 119665000 127009960 16831808 463445189 877291426 205739210 213767701 736900648 998643561 706417287 745721847 596251496 915015304 481584166 138152699 116399297 818867482 472431293 686657934 157881373 449318655 253425714 630702972 259013907 571891393 551144589 359612774 714100163 137985689 777850181 96728660 164878103 680635084 461539988 974136775 408167382 139920028 585566775 19527327 636027542 928345431 19407442 870140950 872041750 207748810 375500886 293724866 849030656 236446975 229346946 615444416 52521554 880678764 120428215 981740277 481013274 583381333 374667776 803444198 627193622 56053025 598037534 927015137 773753934 820888322 158191435 303911647 615497728 39568388 19544550 9234405 879393108 931296237 330481394 416016750 911447264 899875323 524005735 134875537 912143442 374787292 35353040 538720905 253209573 831712684 219637478 895987772 103593321 200840099 172394841 559167107 489043021 146201613 125459091 167726121 727687350 663079305 529364929 123349468 265722049 198316836 176168109 62496555 198247654 204618174 722001624 883825593 109797621 842663237 979867018 202035838 863821208 268377447 412853417 515594144 140454532 220401321 931536847 786631211 830560723 344403025 751299541 195243913 22224225 533676402 40763972 423512227 381983585 774445759 761452323 931777386 3610159 154887572 19691821 492614285 199726604 643775900 902451581 579742055 145026494 162970368 323028317 124338838 158456130 608076278 328719677 940563863 804853884 49675296 59319971 797783001 61074383 343695018 984638971 103326166 456389678 279116756 635188011 221620431 405869733 80227411 756456331 242287686 629107991 734229975 458603887 629629685 6180119 829143299 119927306 794750604 608485958 762636897 71187172 364853065 734330727 486334562 409148047 359528879 657397014 306529711 43388851 726665337 545385155 420192855 609168290 217793015 737773679 407738004 579516685 303164987 447094536 984642254 643191723 30483666 893164391 643375063 248634152 452894271 480598694 972675912 696276341 118603842 993570869 996684178 840508030 697724788 213723804 136710569 288470398 724500072 39025852 559288415 342118007 668439969 317008030 941413597 892043632 144933668 406515488 784629349 484279014 748710594 232867298 270914798 764548936 267787913 688850506 291913246 272950894 889705273 991726750 268613840 822765754 902576282 743946337 746974481 569361832 426143845 618198627 662190046 840590512 153839372 592244266 895257345 260013907 738944081 6691810 411790312 184110046 853522025 645117251 968801546 100285060 293706876 327057605 564287958 875887150 49732037 34179766 348068671 727626172 298264389 637536275 721539925 305214729 422959417 537010630 37796490 503770941 361662150 505291002 689766921 394127802 185774454 563543306 621089410 538226836 849991456 648511297 305952926 208525697 114613142 279008284 778698301 698171421 21981549 345675475 541887887 104034922 682679930 607501698 199087931 264520405 668225037 899022201 279863856 242209656 706940280 385137216 49792590 114405824 147194580 661919176 862191313 453461211 85321775 577853996 559860138 14887927 306670629 915864695 538028381 178074803 166258957 634856235 4807598 122563337 647132788 504439506 420240998 797192828 857089873 708642933 864174003 848873636 357523015 30077666 914290573 509056683 601184513 721299811 703443556 212951916 890755618 586530533 34011812 8329511 900360067 874672967 865944387 395063212 182895717 646928294 515355849 89137027 293224603 554830792 876865476 171671284 171952616 548336294 679983483 257586968 259398338 629590733 771567709 65840774 741508698 905848273 125755259 804560926 609135635 750892928 444056569 537814638 274620091 766253684 612941596 490920793 503474485 195258067 79980136 387693373 546494520 330441288 798867575 763697649 84665642 194551309 130757158 11586911 459158692 695260901 781396353 809589356 708334834 640381672 660275291 81965204 357270247 790038002 103338117 778968068 766389249 278257236 711448828 724237467 958164035 170658011 751776632 28717030 516673043 188730521 411292799 942472297 468683513 613332324 622187717 323470650 32935819 498439977 860674305 81676818 255000168 437321224 2860621 146570863 927002329 46659644 693371852 143147956 700217169 744617078 315943881 114049197 106392089 154696148 742645735 813605140 746309640 631705694 809101699 873254748 205133822 507012793 651146628 763486240 383279729 209087048 410737529 330310135 834379601 519908118 503309073 13696711 215168568 737765928 955071566 21057822 873352647 21087469 239974203 97393134 780424126 826140624 516140614 14747277 895724775 252336033 57563607 206929399 415585697 707282595 546732036 54765942 499377095 456324167 860863292 756441186 174213772 272827834 27136070 99431371 20571952 780418084 560606485 595242287 431337376 377467204 560031474 412396327 817364087 439295548 734538809 265882839 446343172 642013133 803219293 254433462 340905350 949422357 705014895 246093667 43967210 141265673 591673885 940449901 248938947 334725262 437471594 535617701 881464316 226173093 242333460 901707989 838231941 752241252 784844789 658048306 367851916 468498535 541866023 108412381 734798146 178185488 914098455 614710397 936438729 188268596 805530598 513722309 693401554 794590461 147118559 690593262 995791573 99955250 972894625 304241418 161814814 543250809 961388602 829008925 324252486 27183840 422075480 211420991 882968216 823007280 216740267 526396106 732346513 649919669 847422924 159583479 991936258 569930625 918986864 776458477 940901112 64684482 849749907 802679883 52563009 670366321 528356909 59422983 472683688 940891886 36468771 586305791 53452424 489195015 657314608 884536725 665575518 992765034 908534798 430346394 75165178 766643697 13141780 484672862 274096331 184062297 126256657 541999636 210958617 835079219 328165952 578678984 789164295 962948597 46149644 849587870 122690249 267158903 847459717 129919781 61725104 520125312 53997702 374556017 262676007 179293384 358032326 434414120 14566981 173931948 720406916 554239541 736275008 506643347 882607747 592729791 500713126 163512546 321767473 577633865 46769354 995927289 429158650 890941351 187817398 124744078 483477042 518009161 545259750 682828642 148956273 323420860 391568005 469479154 785481621 21092544 838997654 326447022 54942328 606857348 257872073 704098341 352849769 526917976 204132206 67329459 663657286 181383080 771599466 862971619 418645472 199497708 755142801 31277558 452847267 15068110 199705325 529053000 218446645 340292950 365771332 654033345 255015833 44473991 491855842 515145643 391736539 492385405 770458355 752528195 948635408 763426319 745086035 835743991 238741724 31546520 259674471 176384014 225347722 290518940 33463376 919784657 219752649 40541847 905024603 606527754 547313740 277884780 282511528 257260923 708672277 863116532 115650667 227980697 453198670 182055867 301222956 28555059 906332255 768020139 158898038 901141632 390928972 4411426 8959221 128914398 967852347 255403587 515979320 654249238 589854426 124626342 143189936 519514876 832156215 326650561 194209005 234748303 242813825 686733304 651931245 938815688 956980858 633264445 996994636 241249177 919928878 87321672 623734171 244792743 590926847 95672983 201315776 820021551 572887313 610223696 105988611 138815586 804040123 941143610 836830275 315498645 371410778 691949434 98204926 436026684 891483732 665806641 610057694 363242636 513396630 272930106 131304358 279470016 316687471 317445783 43119821 324810450 861572082 979823350 160943533 53150628 799005110 692647244 906810335 690711043 281408635 814607951 523852184 403325929 971423133 329205495 683854613 97116965 660243319 463838883 540106338 65577247 68284469 560527948 174782138 406213471 761949893 21655732 96892832 59600187 253925186 289203461 913037193 294499489 178305578 639399996 691971400 605847276 120614936 165076791 262097140 219105430 326384115 107946585 140534824 846864799 270215951 285557828 707130195 705017962 686704702 164209454 336067544 908267116 226759767 894659136 122392274 136884668 197466386 479677715 276296708 605742247 250975815 36143270 690204015 928934705 453381805 708764416 74695910 331767256 445706055 437292878 593902463 298449207 71133351 38060313 448832873 244779281 805527837 389815801 952041012 236059014 723827639 258195381 525282412 412973843 565559367 250601894 888081441 154955101 248315429 275489587 261788444 971340029 567917343 180998423 951274060 266470811 520510824 486535217 658268314 61276209 648104916 848285024 656756087 941216999 945641772 494607440 604358281 461572708 174556892 136806459 18623393 195188901 32229057 985635340 293210903 764792297 353538346 879387507 493439726 488250876 506927043 364574865 603410750 739847423 823005541 856549311 236122650 844183099 470136739 306185204 31800113 917584569 740806350 354807948 111861874 19834891 475877979 203548217 395553917 551637340 97102697 137782929 686428897 235362512 35925597 259382054 745366704 336963415 343167907 513267105 508721947 173180846 75891253 437700955 57133678 222438850 10003020 730974223 880820083 865582494 914686176 262786308 15166042 798338700 680401550 997356556 531433476 288506816 296978651 193210740 478339892 929054902 215377220 686398602 282112460 403617439 716747331 488188465 888933220 318427949 656150442 396374130 183088512 87361513 299197435 595201882 879264188 222785614 625927051 564287274 932110549 50571850 170482731 44626468 752571105 414534494 745956243 243020123 800660403 504926055 244300505 99055976 244768392 419435791 926313675 25985001 251835348 594285434 78174197 680843652 901939456 511263307 367363844 629516223 942495594 443097280 14114573 273231606 50001682 419170309 978751771 866495977 220196033 520398132 309520416 211085763 27557705 533046896 682815874 133395666 106054028 62026350 446660105 805040382 632390090 657660172 141557677 311377045 905841410 486685326 435882269 373860514 191891366 378746377 905865459 334010107 486615083 303261634 152710095 621568264 727624507 417614288 390202863 498795490 323248513 850783686 89885475 712348268 271398772 789673943 865887249 48139608 258723733 574346230 339631969 822710162 928513202 962888292 377223118 227192730 413911439 133792640 481903141 524552361 263937079 976760562 261442441 725311116 185365361 473771382 225211863 696656020 227637187 920081904 438661908 851787216 945832765 548956891 408445315 633654606 565219239 104824 62811916 827616054 302576224 856201773 635481401 424618478 852469794 142178646 829469750 373587681 453543612 494595191 465827233 108958819 569126711 856611311 365249711 134665576 730338266 921798044 615663892 96748326 527989561 262894441 657098035 834927132 7741564 363188167 965879562 349748068 200577129 23957071 498697080 900022653 290186194 829300202 137395606 958406074 854324852 589985060 250075425 136296072 434791732 383315639 655903924 956229990 944541081 126105288 954876574 101989565 598295201 75087020 19520627 785486431 719872711 53468844 443567675 845000699 191116921 359875474 661364517 181486374 419118773 676002862 371512524 955760053 590499243 202920045 779725198 376216557 599033342 329712765 251769972 321304674 999249439 222060238 166194305 372810898 152657631 698535830 716908814 485964577 256096016 815858971 582619455 950765080 186444227 648833139 554824615 766672330 545993422 84344129 801770265 811257555 461266054 719714955 472397386 523472559 362577624 261617289 145148992 619052620 561366885 304913406 81088937 41885555 46808882 932796303 164481303 627378595 689930823 928849049 298184035 534112193 186884563 617949330 829232469 952882324 564817146 782645593 267304984 576884636 744176936 441928844 305591803 92931327 483431996 517815101 470034109 59676255 202876634 974089169 264713250 182924789 295459807 91226760 995484035 116354403 400743123 856486931 523803445 693826785 188252379 955936723 94479110 967406191 324968746 653896072 440392270 698534365 145273568 751128473 647626525 706377569 362490514 560162074 507140905 547633567 485219721 196195035 719472187 584139287 11812463 60757351 393423363 39905128 922998721 235641145 512903255 38327893 535045171 113376460 557084219 750796290 388301162 547102347 676928857 104721794 715127950 152638306 945770631 433050365 863339013 241948421 54334213 957580343 834058353 938959700 282268521 419168890 952033205 987779461 619440498 628736575 336546402 700043648 723743022 58831426 227117429 18044163 41378618 544495892 20755474 810339940 451990282 76231392 654730798 143284768 62970151 813261581 54960412 759051399 711444816 15565294 808576350 256590265 491869209 518381913 373418232 354248215 300045028 667613423 851023687 908632677 694639992 505734234 933209456 234195132 811838733 603489288 184924315 543169740 641180842 946555776 598467036 723124757 302219457 483514967 637727344 915761775 679270894 845713547 699341130 527418147 442374919 344069704 569683570 543401579 235060474 419660403 402446959 231807229 621785056 205344134 138056764 753245510 435099930 882575158 953630441 329029379 91287778 534595977 175323365 619311162 504347018 328551170 379834989 732701328 494012438 783892493 298423491 733634119 24074983 294450951 941149514 223816988 976457792 474137068 589224563 314898418 463216118 852623967 972351606 290971478 441865730 213615656 927023907 187337624 784191476 939533085 414882308 525533713 181385488 258470675 544229407 266902218 669947404 474336442 591739990 432364999 243179234 386880887 843732303 417410421 683721792 618131755 359240625 474918384 652940277 239875234 21671600 752901713 995669127 939597104 583723194 281822531 985601881 803096515 183632685 462147754 612551923 966242604 45132554 825107616 880463121 571307890 320777458 922943430 931908781 408250343 487997841 708600639 364316991 374748166 742988372 293687518 46192570 806874196 471462655 703104510 115943366 680044891 184544345 2247862 285914276 297248565 132362754 275697286 106734122 790949069 411219134 949426303 561151784 756820948 218289739 742048908 659243300 394366240 986204750 840125216 201373406 891606047 609109569 408968779 858236517 588707406 263892074 260537820 527371298 941856058 283755836 924115785 975306746 290435450 450129925 18652975 756858387 129283482 978492284 348827553 116218443 97595089 876667111 694034222 641554678 833544970 821001211 104628088 56605700 698714880 191411966 349201683 450944681 456452871 63283291 196934667 99612429 612293553 668697068 460010644 501792976 850884302 280274272 178971626 31297779 722463431 259628399 270599237 56601530 458882440 97355957 226884551 492374383 579418324 265427443 48328340 605460418 606656129 651440654 556936095 95866580 803052077 118823295 90341933 462657249 31502600 672651859 434884813 417347420 953922479 582462852 582543221 412403174 198832911 710074328 331622242 352615916 159087128 23601443 44708169 990662464 402087440 423736585 23344664 527467354 271296701 887357069 119537500 984855768 981472535 263877893 632524459 244971017 120986591 588342703 594200188 896923866 374876850 646979566 195346571 831727901 290385322 728167650 915114002 831203300 341664479 46507463 819357814 426049041 22596742 244221768 437270483 527763258 905109430 176384847 717138219 432930888 989185538 695046012 552023814 265440417 939555789 584232582 310158404 861545351 699882302 382194001 26084320 358857911 335934944 390627225 255919150 60045651 82788071 391372242 919397098 534771780 714090378 821733923 892422847 942145123 900664191 523597769 867654851 846868697 480403074 797566196 796808699 290326530 919177271 15559285 144197249 857027872 958786518 6208755 147961908 111522164 932331975 812524743 67570851 551906030 349859974 656750221 596998009 939466390 213326617 840653668 229521981 420637844 560044226 15920180 63449659 901394450 506888132 244492289 118188206 756424076 795337952 73799265 146566760 187630068 636147793 778945928 57622725 849931083 106346027 825932232 548450704 118965751 751929191 752158798 78385356 367798827 210351008 352145357 353387975 459697745 281435939 312550633 416584721 360533907 441983628 858826698 381132780 591977400 756172749 468938236 677198216 110325587 548189600 937197289 37938970 911206431 875389422 980677741 369516388 391461103 667931391 236602154 63070833 710944320 329033818 749250282 557715998 701789446 796533925 672872565 566310670 929472232 84868533 247636980 433995091 68173906 691438062 914446254 627718438 861168666 45807837 297233767 552068540 18145040 633321973 156508064 152746800 904083853 844373776 513147870 933019546 821142896 50434664 912622864 279993365 920279854 429816830 307949966 202567504 397886699 189708 584193971 504513956 78525817 488881079 877440286 63923677 935852128 361720014 586690192 605438978 591054043 286728937 665875693 958031695 960051506 575203809 127070861 142779731 520017844 192044889 62155582 761629341 196262497 13332433 990931088 425325569 442644767 316154157 677303509 62653463 559848533 240223947 243631071 700363801 313450148 72380644 3399430 552420543 793056023 158083549 928453804 631987626 651286305 706216817 125281992 185750581 130976669 562818849 201201792 631969154 415789445 591370963 197684399 542395470 121689637 490981196 799072305 249143749 530747632 155784580 380207427 750015240 547079329 169122580 379930650 249593550 717556885 357343846 929347145 35265326 922013396 131661995 160066786 588000196 375740173 826302838 142268942 183718387 27617146 296529708 968908104 820937425 177883861 514264639 765110783 97534520 674590368 490312234 260822079 13008698 17064669 503869571 551841739 787046444 855244116 405866136 156743938 748938455 56295043 346826278 649772073 980505099 746205653 851357392 302694645 955611139 947852514 239114460 297948804 933721853 403656398 123026683 423818725 411707935 776357413 360062875 411252064 81958702 894995815 174585796 177240109 960063561 197355977 440735305 741346592 478222965 829259471 624227128 58176307 65586369 916480488 836399356 734889582 293065132 544943482 268796536 712072981 962554423 440090571 306727089 941089264 183662451 247412464 498740606 447048377 551635693 804202535 364080770 998375090 681297478 382415105 384656453 144895991 450922002 469752769 840131348 460243194 487601388 288153710 61841871 909451701 939090002 315453899 405337276 702790311 2891436 141099481 14304806 210693924 157695932 274877807 715769291 64099166 96316463 717166527 17334651 469716186 451234303 437392566 301959638 3900736 456268071 259478145 308537512 502840752 117330411 291166564 953409468 720816177 843376931 263577854 323547037 847673679 410442690 52310051 68811102 415008737 377858718 332565425 949051333 797207169 652341615 211208887 792572179 595933396 512710993 20300100 421902836 116105366 224348586 51382396 896825707 636505379 812934565 644948713 471903543 354353079 891106469 995672803 537974637 283227574 553940896 105503888 425919733 943145758 400268274 217546039 61716030 844823285 949055196 68524222 142344260 436197057 374584585 184689433 371488254 155354167 469657772 239043687 945523856 675759144 274162130 273065181 865303022 376382736 432063519 842686591 138610966 180342080 945295267 751280414 201207669 772088925 755441825 541733727 474013071 30909452 54288454 745438107 540343154 534116994 907852390 285768811 675949344 806845245 468212279 505365452 439872614 418890076 691434954 711386304 150608714 485453418 428185201 930373463 253103182 177969534 283620874 703604638 757115588 55401994 131507113 376992073 853352938 854005140 453535999 731007443 741680324 555420750 737550258 633474080 150348356 143634098 347919706 666436143 184640187 320467703 336703400 598291967 874649636 655275496 529258415 369671997 698004120 224273883 392637540 59481104 730447616 786608835 913406554 478795680 307653595 376065965 675204027 831087481 375450693 461333439 713309999 282146408 11912596 85892262 334794567 726550492 948072516 340406377 424238717 890252310 318564844 234933517 214461498 11774435 577383011 90075995 810106569 461212421 698629460 496899439 902204302 467933560 254073939 469973616 541137704 923660523 764211675 897958328 285933952 414152456 578132274 254464774 869491009 901828913 270328042 347734664 589330822 611332106 195727045 721495119 974901557 965082768 671105328 257839128 754605702 410281902 280640929 689497825 119839028 890557982 498042917 355927848 334125177 415670618 732963735 299218212 292112246 356016522 340398847 559836024 83576441 547323924 782672471 787039479 759763699 515724951 893590891 668207757 119933377 692416134 665887102 141745425 438267500 354725766 978040117 746691367 345097128 317898339 208740596 917273412 44256991 38495151 253060006 330609578 520929777 414110430 278513559 260754044 994572089 242097158 671157370 615995861 286203927 709737878 11774616 101368865 852613367 766771176 94568851 5250772 865124815 287098670 192178403 920300781 992886635 3643172 307398678 590965836 601712402 669096559 502797608 685646356 831807470 229473414 3879607 458628219 603648771 186061135 95911766 459378351 570568985 115066028 358219860 296662276 455414525 925566388 664290890 421215099 326493353 906146440 45845821 213018294 247954580 185417590 975036772 710969182 752777310 78638126 621693769 23783970 58815939 69130291 584604975 10265385 505866815 117966754 967824895 710749487 47048994 698314503 149289358 331688871 331160630 403239252 504167904 143076361 216434187 573088938 721154701 22666678 876367974 544586661 187191144 28997438 984599844 488520920 433475045 133228557 703340785 414944927 677532310 221941574 269269081 438781154 707343872 318625656 13323955 134308405 569069230 375619246 285113299 197364989 510218388 709424478 266539859 613741854 281055552 785764488 344488979 608163021 705257258 671324039 757950591 623950353 410445720 264811883 826803166 607496433 861767945 550586110 338082326 893271685 857789234 87548985 320290202 146620773 149237264 519776354 285144618 614880636 119853241 747483480 625811028 13298513 143222717 354248357 9412865 845508597 582883575 55322255 579741807 961167758 156156296 354786593 837601277 245055563 15189631 461724312 921044046 230724571 280133286 887053436 804870664 407131020 983186694 131253298 711442970 313009050 598044927 52868422 265858551 679488322 453958730 126047573 180768939 34605819 863232310 15214129 562612820 392690986 79653793 605325588 1601671 798226972 267198039 163459991 985446171 541712197 829799982 294383621 358233756 105085885 95400204 833751095 966828839 668741846 755493553 753011587 508356432 338347120 353241656 583735173 735788953 504936096 226346676 397580916 488226245 689204117 861480721 179245253 806772903 176981944 136568075 182503274 895878590 307619133 752913619 964394928 479705813 924335261 755158367 825340096 74011222 543772059 201575088 285063597 367736886 900722773 772154920 4973670 346679624 894947723 485412746 312266495 926108204 850717602 987289085 832039146 129915173 719876662 940092060 663774057 672089251 405414576 87817102 400286773 544124081 545159305 321729430 170041678 337509045 482093363 371578275 139155023 503809508 541482032 851441123 352177093 449529078 402605221 973599789 371904319 297233553 225450874 932096917 261802616 245266262 941945957 946084706 348512712 789624695 213432355 452978730 116635001 860623583 582685687 765548825 157678429 232505659 175183129 67778241 440166200 630548522 145822286 142871394 740916497 302785185 656296191 492141846 260695821 210519887 348713962 789568623 506645324 499869501 194544977 10363428 910893957 407217182 415652845 52033045 169403842 709641240 313388099 639179445 249515992 294074023 296003447 409430158 606408709 559769434 375946647 621706106 58082711 22215959 358831431 893496121 900094931 835236940 6054730 678562392 533335882 602242325 834968954 986699687 761353380 140437898 972937793 70503177 111695445 501258901 713185614 252541674 25239320 283017733 604176838 168137361 302935625 515449069 443202160 885794995 613152282 221161091 857677126 566458429 261768337 115343345 498275205 900747302 963851055 92141252 996525678 856642558 773434442 188263436 330844743 991613384 721575329 999029742 358265413 977862507 752524869 277746633 689237722 251730547 751014044 598441250 75060426 614325547 646840100 386240676 177379497 327458716 830480693 89081897 494903763 589917643 496882929 281442403 835321759 103183124 889970902 981896567 676679428 832533785 985442259 74152991 490357106 677627420 230314006 3988113 568675410 207317674 100240414 892653284 854974857 20902254 417659589 232854783 590731590 728444047 597984750 759527326 48676830 836857049 644278021 282641090 446028609 516934628 505267219 945416078 52059511 213624859 681802013 427610732 376126437 872820189 595506971 629603291 29121474 748748068 680787816 991254937 15319729 409181166 883175904 663290053 816956581 791040884 933673187 249324148 966648608 255538300 775732757 887490598 745038716 631515715 27966152 403721338 402665347 697874446 952377901 573307176 290877613 531045923 269629858 808758444 267840992 115781698 824131875 149109817 405521777 539544157 391231679 321917422 375564571 782638252 442953489 855392367 921507341 21871619 29548479 920593227 768611939 877812141 38214697 116281368 943321430 248654969 351729680 779399317 431771315 147889450 732413434 864871508 103294610 985217421 531781868 238724275 147140779 272635988 726985744 148893774 356235136 751090214 897727553 12084210 885738465 847141977 788503367 583998815 992057221 864373314 143161703 627734978 232537105 385655226 125560262 265130998 700361225 604447014 207190410 429809484 650754546 575076532 187284539 913219644 857002376 671719669 591453488 442334286 432381881 120289939 652974489 172672742 294894257 228023610 195154932 9320650 85393777 981646987 926831779 790826917 916169471 462989845 899205464 516882 998472272 332607536 392872423 516689551 997170631 838733095 248291575 218544582 816823294 92791759 417818487 140398628 640208648 3588308 68909801 16182127 829001386 130531675 291651707 40114918 217884739 926894402 891639786 570128151 311456440 505004966 576686317 730934943 830009797 667170527 943297054 987456305 794280427 53179997 812156091 222091033 455211600 4651933 39610486 604660639 957571438 57319414 811679432 75536538 746920608 991242031 379847211 948419508 772534296 231061919 606587171 806711355 665065569 310540434 784301001 295607690 61784742 66566011 982814518 567904545 702058840 750839121 168611289 371949476 380722935 470477347 569314275 756506159 362291042 701469498 877220221 936624406 812840323 51440703 311756685 232658820 172022186 957805654 176632620 189979212 226006026 449520707 613016894 810956306 4723192 212217238 457957971 112411141 290592181 721157632 246854240 768490093 175434179 778793094 71548512 120244247 144778946 755554302 138517084 347954814 687816680 151172045 674705669 444348470 171802194 906241322 39189446 882479790 888662262 311616764 91030571 208446654 652939031 494148898 385573697 667989256 641511188 964286902 607727638 888580750 488205009 393283934 364241271 517977948 481685540 731404499 44652922 646839366 836634578 433110058 221953188 838102919 32935128 470158484 76977251 703836788 748463625 936001605 581577681 98989385 220614520 27099825 853554491 662032594 546905567 501191023 950196391 596351653 135795892 522447958 330047108 880265485 219460230 667502262 873491225 166985477 563336037 786557854 226297003 925099192 158871366 195476596 770543041 375533402 953664831 293332631 125043909 589662606 804306530 573913674 270548300 554160325 842042639 347950560 455183744 705492098 403545528 831295790 17588233 386184887 269174273 274262192 50291577 810452098 45903818 143142425 216133820 239124404 653074328 582307364 869298767 348030729 793813847 29654739 864729697 958670391 987564325 116237345 266333393 682524007 529120186 474909506 274725612 716524780 853588170 259675598 279442584 464282030 318128519 635885272 938611721 427405382 135934388 238257159 334607794 987880260 958326409 270810355 301199373 683164957 173539469 400307554 372573450 59856492 999997958 575689468 169459343 83647095 44901306 149057194 973782576 876049676 167478597 1014096 239113338 638263310 542211087 22425503 806279322 318470877 998924969 96112035 421959092 903865912 623271809 274810410 373704386 757980558 910096252 590860510 909568023 314525534 804584062 118022465 407531338 386516553 783194292 693310546 430957486 176556276 813064027 681013917 241564642 267667889 295596443 326437902 435692978 384467446 548529081 854037725 701383573 575910647 88447040 567267434 124688769 256279034 155273783 962203080 40676059 39877263 710294920 942573274 752194818 799504701 16827803 108844833 278681481 300657329 826108949 367865115 179392379 21467521 746137358 661750927 171815805 349337242 257645073 959754212 331705061 324922827 130468191 663342919 248062205 885668654 864019655 169743433 455465928 887114906 672133531 307156012 396586352 568955157 433812900 774451771 6149198 64286300 352216714 102024514 373545667 359114237 228922584 667822669 630443879 575495572 77902664 413097935 836832232 181726256 608571118 653494554 251860915 106332063 445453624 234442437 191058443 607004394 477927227 375646132 67044074 483229918 767981739 204077742 664562189 759776974 925983723 595652252 461959713 616681946 619435298 510812870 128106599 220132894 283527072 186696858 46057829 957662169 110408451 796597233 831404964 935040115 143231527 820001974 668090866 279859230 184994472 360775580 107310349 62303252 751876801 113121861 945551663 886026945 952929998 2085998 819007701 698839295 770472142 264492077 143377958 501868089 673670188 846675829 180679861 613153053 895020854 31665337 949696614 845322666 634558093 886112560 896133066 976067521 654738868 267678300 82126339 386891971 805910019 95796001 629553901 625500875 783476196 576997170 483480131 524624767 707296447 160057127 555088628 102727009 63743360 653548809 725461124 327262523 384422411 455289165 754685401 40402302 576703121 489368229 980597184 423864246 342120109 877865812 292291799 94932120 778681431 45563636 980928132 268333515 932316085 835966014 143180371 298950878 456266559 71666497 57102184 645012180 243000605 164298276 20766182 466075894 72084673 22915431 215811161 51852468 756953005 811670164 650659012 286342574 735800508 276421346 477360699 156211594 945207719 179537187 612952556 692114909 723498737 77181450 186437061 14857609 350113436 21811942 759587353 655883259 119653636 526328727 29057407 977126948 710724235 766235884 338733880 152310820 257864880 914978052 416823836 616276443 510056080 672807695 276085460 514928290 115051220 27282453 926866337 497248266 235333168 245134114 318675220 832164205 350389476 45249959 884054987 75520959 46272414 155335935 38235260 807021279 27215746 832889022 91355030 108800916 119478721 614096551 154547639 26197527 380525359 895352478 262753730 80322886 330717816 909030485 725502373 519440503 470775750 937776773 586603995 650502954 497991276 123346072 112212599 62033908 555257620 417764160 963476672 931143062 116019614 280234597 366452481 34031506 506435671 431487601 146835607 33814170 504873064 297362394 262108124 216810667 777655492 992870519 912198600 506057599 570950486 296133685 101624994 19012855 558359035 145563032 824989567 972610856 354461524 188216097 554728987 121766878 135264858 291295724 260429013 279483274 203940913 190522947 559124862 625958873 332652370 3384860 994252599 913493975 639476058 522062884 659509601 818858357 75508642 624165027 649920647 155260899 533354722 845086271 992850114 457676527 26044910 157426565 666199120 183954733 688013076 11229755 864864643 598690160 671996534 216341794 75569782 932512160 71583113 801953567 979729428 453794736 349167218 447270290 689656547 619849817 123973652 214438472 392524629 201846681 805000222 33789989 399461030 821165658 658298787 164161523 287906449 975470566 495188957 973142014 945322038 421526691 855994867 200123582 257056910 283199405 857815423 236349148 118910672 659983273 584677291 877278685 610363307 687583243 658605340 64086754 50798662 192562601 835979434 801574971 109284867 384065251 273214863 246950868 240323778 146615171 104684202 665347830 551348145 511176962 195801606 11167577 538504416 543759737 32195048 763160708 156855091 972436597 520488262 912437680 13950636 85676611 517057529 595209531 694718317 550241000 243208251 662196999 965480606 405874368 470024633 631484299 117789670 223954855 54668151 529139114 531063742 143461899 955160912 991491452 799272525 714337523 613374949 518770096 972144138 167871470 256478745 852762946 487357353 159060344 575707092 354298263 431103545 896259816 855213167 201708007 501652534 157875482 574095247 560816581 480546869 776041189 596072079 538306642 583783459 977423511 530643400 736718095 236831411 99887299 774055412 189515902 332759858 402638578 865759186 576357562 439468518 74929033 438687881 374659247 956008612 138381647 161609894 478563457 610685539 791113050 80426942 131274508 91592389 152640064 200718126 680908031 583171938 977205411 305638650 980395967 631466422 342176884 330815553 745311274 202681180 387757842 799698890 355424688 928178438 858456887 250553484 6590166 3714705 619301789 488921502 101932762 21604471 300251255 925302186 444347630 140214619 738050848 297593767 855478370 872632378 559460140 520296427 116270765 661740629 291150476 750518332 848448220 446523993 29929257 832817672 321962991 778386562 274817896 133171762 478164040 426553998 923389949 722495175 91252791 555689934 493145277 762535733 261866778 287502069 947079996 400188604 742008056 362245237 884660793 475131347 578690887 629434648 219448706 48042877 8992137 254677091 802852298 678327839 335114791 27881056 191660705 686499948 257602327 853753198 121810730 748578723 417936354 303915754 226075691 778437492 815964499 874552557 323441897 171174489 704156306 707831823 740896495 791270556 381413983 208979680 412687883 188541073 551405481 886235829 279983135 18674835 566004403 883056682 155912813 908235294 371657536 996801230 691207915 374249825 324472724 501965953 550123365 679048775 681046168 933183572 405162662 874152218 794688248 557283147 354547347 68494804 706618035 282623535 323977673 705553421 9334428 556847581 452727271 374509631 30710162 885294348 238126825 841648740 848684092 274154102 39944833 389936162 803440637 114615616 347282892 302315493 491039509 672428616 175768050 439036425 67818794 16427569 207491758 166719787 695066063 117291701 608543106 52906390 87467186 805639861 642266312 237593041 368122826 653165876 104971568 834185471 446137785 806180061 300859141 918543975 116703601 473615223 430338541 168443040 772436617 108632892 693525944 323951123 589457395 292786959 64417216 326069740 594959469 281546557 354285807 315023886 30548125 909690231 239271120 243310097 904409028 85059071 953629368 660997435 42299027 235411594 54070412 559480649 154113994 397868469 563078941 425459816 150958891 759371627 189174479 887558427 830168212 509374802 359347373 960410210 382654420 167739066 838743129 694825991 726685963 426660335 764008705 846039387 720490339 475592260 357264126 220757678 564299328 118487256 787066261 629799888 127068679 177120643 188899720 223957707 795013022 100075259 66712624 129574421 956694821 948381895 134314856 581697246 867912219 896200447 450063514 105320992 477554753 924404329 183325453 475221101 765777738 487476936 891043714 119023466 794404436 982157267 13772073 753580992 243237712 224797 234479188 894192146 191879869 691576502 476945395 604020756 117110629 772515626 940978693 903962674 29309008 443337945 76857273 892723041 721554264 651824589 485937977 27374908 525850964 470085249 938571761 143132178 42344716 921492299 299711869 507124179 844852784 234066325 218772102 261248714 381741569 281809019 598271738 81488108 534298157 268878200 582479432 883366726 876475684 380896480 290461709 282588135 762091616 929897602 20389775 479823614 272635118 795114861 848005712 658873891 640162871 368579370 560591395 27488613 643337922 967817178 668400019 983651429 499800793 93948040 763972439 429846657 81889883 771824216 392801912 549173954 213540095 871334948 88533267 692485439 445424446 298304403 803125628 944179768 504321163 182623199 881013338 983093461 75182832 45528139 942566910 947673371 466703563 567087237 317593372 706323383 713286640 467652569 613997729 204928433 527059085 456693184 140836888 624165525 12643785 888100933 123537080 278312073 197517080 60444888 608515552 433213971 556809797 161857451 727441036 619905038 51277136 81821656 910817649 31532871 684575038 363029220 853583292 462192424 943204352 333548805 681148070 402181440 345121026 406092082 848455463 563814127 815458037 846735556 609616480 304067890 70386513 397250680 624128853 811120746 494516972 573635432 655832874 826672832 512270981 687680541 339720712 718610623 720832305 216356621 430979510 504324660 242269511 184302995 298072636 550237685 930382276 693159254 879107787 862989501 564444555 895921630 771706198 431510545 816331121 110539227 714462270 716989884 970602651 264709837 412249937 16710177 919100150 494185830 13227338 496881614 7269617 523217317 712710675 333215055 302987978 109750806 914917981 752067951 561278821 700667175 349803528 199604254 858835329 236084603 400173543 971365228 437703224 969286735 293870 306263472 327350708 950624295 322588094 54057878 153770092 221725397 454906358 300236171 938786178 83719922 266426899 673459665 16255631 173513904 531030022 914264664 297057582 177809888 322167924 958761337 53179156 670164119 92294462 303090948 607942911 185868218 825559891 651102971 698679111 279759195 111521252 108747864 67206123 936328736 92192296 127505402 422235444 165396737 504722020 553686766 461047631 739705534 637630340 238670082 994336738 321625018 425500306 160724378 474966405 559906138 703675025 579306307 915424107 845242525 183433661 142206869 325678330 55335314 254170764 489108244 102998210 606499961 282216621 766232615 79382957 52675741 174162275 400316153 762761304 851573210 215062330 954069469 158390821 539457394 363327357 278650122 344022542 244209799 473675022 469940602 845092216 289101539 435952103 487992150 701181548 104209186 291407386 636035550 47453674 219725382 682381017 810385444 493392841 701484050 478098947 611008155 787788355 401126123 128609562 146633340 193319255 929226754 626310913 40715681 504894975 858531831 354893265 805346550 141056514 81055575 141072869 160204153 247887838 158373012 527152757 320086343 269034552 528970935 790161221 846528499 232784540 127103041 146181666 411391184 991872108 647405506 49411569 450499806 893129587 966902625 821366158 37810475 567592938 967362774 348624576 120329072 523434565 658280142 18597402 859393589 53464495 439018267 694035162 812799198 600068750 155032212 456591545 269213994 824133896 272222022 460973415 20315827 382107869 861849390 105220664 292972079 750913063 696078036 565459879 994000582 703034401 552520586 666173234 612336076 693776663 70242249 555794806 22540277 406844646 328551247 23726789 620603978 771493936 339182456 525198476 605182192 461487999 61420455 842878468 966240358 74458623 911737934 288100257 675090734 989691460 148810793 679905685 387672874 691714062 314518089 839758265 406302570 630364285 704540034 495202705 436140164 979729813 592309314 705690620 335923713 937743198 622405721 9876627 432373584 288758600 554821761 570708721 125681674 13502164 487585702 772298478 731591877 818879356 580844889 589763179 390638141 27138237 836642063 349938119 174113236 393554365 429549261 168909249 701037855 869758504 779593254 962089437 456523644 986383509 350615426 835592873 462874776 471073910 746992553 441880927 154437606 330609249 892125976 960666326 375280224 474204356 817948885 67910882 994691006 60437924 976909333 83973517 672661922 483057894 195664537 379240825 478576310 440728449 728574845 635895847 658691737 478143375 347164092 769615219 680362905 947817635 952817693 966698388 870399497 99871499 967452729 719083206 621523315 159584952 612765876 649992239 718964675 414178055 681424377 296066045 292813774 61098320 189046405 906277569 690577167 758005572 615193218 718922990 410630033 290079657 286766252 755364720 398894049 104893558 809089208 586347606 392581440 177706208 526107925 219961944 428015644 294553524 256140007 316989444 742943167 506740678 188693758 814812568 428374191 54624545 350280989 895464967 151196270 562267271 960877057 370191874 921808472 217179046 831996814 308096810 90844047 223813160 16831286 233908539 661860284 167719931 95487578 166499404 963826953 384841126 208606900 194027589 811231175 175228316 428525475 372229747 210526249 70801412 639342718 45066125 790632011 771928254 409445493 589101131 436375384 571359519 703540932 495526788 902416494 56121530 457742967 630537167 131468066 140763911 34849627 445621805 797874682 431178927 65335112 324696644 260603712 41891289 674564829 853547189 391239184 846302201 295757310 516102425 475668101 188190615 58929636 551238441 76423950 115530460 653053669 33899584 442477268 460633324 123513764 858311202 666849169 655457117 814572445 533342213 461974717 796537022 571779702 522403660 124532450 944813228 846278544 837139193 682481553 147634115 78343539 133856128 259859913 661798686 728783010 547785215 116024735 276670748 220145393 717647174 32974968 635432105 849198032 591440755 920243164 192812549 231563090 509547034 659590180 597920102 907529804 767589682 605696475 9133890 977635214 571401785 17999735 876848787 14851281 865598931 169836130 206674690 237739130 79474713 669463277 158412485 219622123 651294922 514617664 70305388 534054559 972256940 359199451 184115921 724105408 770662175 325517024 324802121 129798411 875766604 102813515 758020265 647590877 182770012 37261264 474162471 990793840 727495179 807865055 143350972 556248227 710759329 644868002 770771445 369879917 2993897 15261657 988680896 274733183 277650960 913561062 479826682 930941623 90508805 136760198 724962379 440076286 743352563 782443715 465077657 73933886 194703263 855278563 602527286 625728950 203753436 761095697 524256577 879926742 846461620 563455953 203185682 986331702 138382969 677022117 639407581 341174554 102734232 553160854 510561509 278733131 992153483 437121939 870836057 995339960 439321697 973185450 725693798 491623849 668241094 214847513 728553469 583231010 890049515 561245038 538214849 931087249 846274947 834740805 137879099 189147165 813096800 786986315 450273001 129193630 190507773 149111406 765953590 834376211 360931866 608941205 326566735 391847179 507525123 732071511 10511835 701274095 559854781 335622365 87781376 938474202 858017576 40884354 82943755 392339085 786591456 928325169 776423746 334268050 997115809 268352871 199372111 915913862 719007709 509560138 136497870 267051954 986981605 639869484 10572859 251402570 903903519 844925298 838192501 313576113 427296852 454688706 538588154 72641964 950867953 872418 72981925 307188691 935022188 353092133 677769277 933184255 907650689 824651051 798583710 669899373 881810149 371981848 120490435 346119989 634318463 539184612 129053913 910091864 289502013 252659657 793536839 945681202 361336754 820070832 202249643 750546982 86990986 698952445 361676712 286632478 162601712 195762390 950891314 158502914 423799476 685508956 945215147 643165964 84733150 91425727 786425774 879671066 734001054 661512722 405023835 833926720 235561230 787767928 66396553 664356387 748154588 836420853 854946316 164694987 144291081 200792453 417825692 230379831 352027673 483555621 342205329 932416170 832905185 198009521 118319650 359103378 7763922 891912199 864943863 984566664 296182403 59290380 721782927 578928174 708436573 353597705 28652273 458959880 533522723 500042377 594232197 714525068 296797951 294122380 524981096 147180471 694107296 440964007 774812336 279241317 829570341 579404362 275623989 228325037 738875085 375138737 271666266 194234283 564957207 111214875 160281915 13785793 453667878 76051629 340445284 321778506 56283206 104465149 512453644 650219462 182626633 852609817 832386453 997048003 69896559 837289275 200562956 699257992 696626834 837547183 20473608 108886243 613403866 342967387 901256817 391480233 984040113 75513319 680288932 845356489 605329187 633575340 536579791 430368986 140060051 961848067 207203535 358062549 182093236 197667895 68273951 107832038 258535527 841267596 992327024 770504441 417164232 368788793 726413090 18255536 696770689 679576578 591866527 713679676 8550250 991540819 645521597 690549762 430894680 127097067 867798757 216661767 624999273 101315698 264679864 500186899 495281135 954036185 840407623 324963461 727815269 565574248 535112523 474852895 835163891 626211373 839981457 667336531 63140037 777882147 722597975 921269798 383137487 74814854 647225978 530155484 640126832 875458392 295945662 80173605 663597845 96259083 429627002 268306219 361752714 594215136 750273265 203538951 516262881 926549739 544032055 75340674 945957430 925086807 595319807 10469625 97978435 731018231 541072947 137649702 43766918 358158548 447991742 250501312 108509858 776555062 47466115 442135901 739215181 535177705 425608954 903741632 164439779 983566906 91634831 955920319 920827639 809865581 693611056 690418342 292777239 619596122 60036131 342570851 998192272 932740289 284595863 768332991 920239321 19114811 488879630 121032993 630196048 156686253 934397021 386623027 954015431 295663249 907801567 562976327 91694493 786636420 407113593 486520673 336103734 233903189 249586347 150080082 830078328 198567829 216819658 332911711 618246590 200660531 785351324 24043239 3068553 498748736 383395997 683984034 9040144 338196301 436486685 720687623 875873191 280110699 213723608 535346290 728077113 938711684 264949770 152839397 576702391 428852607 534499404 8645812 997906690 204268200 412311290 648211665 744033828 440507658 738383149 864911218 236227561 103288702 887270041 65616154 846110780 246384488 463046606 959830010 995125674 317824156 466369360 673555343 950642420 261638117 633391421 788381186 983128666 471077997 361546598 393325126 999858282 187859327 856513720 47289646 921148751 484639379 89299896 723907625 613204569 898727145 362010058 363630144 848408130 867723229 781702929 243952360 601580601 738714553 303578519 851499987 423752870 525686159 678138294 58811611 782727905 210194478 101453647 824335211 134510403 733739956 747898860 840548843 999173657 821832430 625881559 53820853 766874758 666509296 596231720 745435807 36689691 225426291 322874331 447242014 452099462 781996454 791820194 156868549 164807228 265244474 804100929 930213083 780260617 781499851 110503565 18955826 189293491 171469339 408156134 158695939 127385928 920003488 573026213 121127553 309969959 511650496 862364613 841175951 255540536 116464765 476848724 80399075 370339667 403679284 382060745 909141232 394754882 653155433 282257446 668628794 604871592 332752225 601487098 172154713 292368059 543909827 790309217 327167229 557311378 319036276 195634084 675731575 624595893 75715320 358320591 723436634 740846788 997931968 911265119 367316517 498491404 713648089 854910556 294406932 636946385 876088929 79446457 13157107 262005353 229941684 247380127 515604997 894720211 185027874 379765089 319522664 314222987 310129151 94251349 94909293 40310541 99869642 284384279 902300219 657422716 750917236 365917392 912096185 170749400 7472105 182136196 143951032 310133698 591813879 941284518 65805212 467894114 680756432 152279756 488029657 104667262 616266102 532381121 916390904 276579112 596005523 381699204 87602377 203266060 465909163 721599780 814006423 265733704 27207168 171473903 303892076 194889879 129057439 956574653 269658246 494698046 854902339 602725421 792215792 130223551 863410767 134616652 147263839 591290481 654768706 24529281 546394 895921927 192377828 509057471 237510247 296208760 956436073 51249917 65628589 627546546 772513946 760230174 347349143 742251935 900748429 39092247 695609912 263628002 965952280 503477538 39181001 190553156 229051382 54005998 907613081 104978932 252984249 713639798 277605701 29570187 720163556 741493887 39213635 1591846 762053587 34912967 669670592 433197140 795871488 134439696 442368309 448449777 748161275 521226660 405889535 20479473 271222319 667895875 979603417 189281728 446745546 974648297 30034273 668841428 159893351 204141821 306016009 743200400 156163372 874358297 536970643 170064535 942995411 299850523 788930854 714643914 92697283 761450469 639190173 960557066 293527602 355794608 688766168 318293536 520541404 935262362 186801418 601077883 73451033 164886157 21895946 171505866 647377973 821024281 446721142 807695512 660713466 76674532 555630444 918423622 729570433 591201690 189731431 15992115 490020199 252449932 585270195 519359290 768498435 279388681 152112311 230260164 38505616 594455525 255418537 718045940 924535498 785050126 465889682 426457293 119190358 736625845 648222358 588526300 264168438 917507863 578305054 290653526 52654428 277483798 281627286 166295524 52046674 78543025 785648411 574883983 106596726 243301554 173011439 219891555 812333566 208795213 414217338 497652498 609670644 348266613 336341638 884592111 925990902 291177103 158351112 304875733 2499286 737498588 608805417 53130542 698623113 385409793 217783270 316399506 684609261 420888066 265540277 119560104 831746044 986007441 230796969 499677576 893103659 226094586 917002829 425255196 956753547 517201971 596375682 246257710 625919722 517091093 698489422 399107665 432595990 770695292 32791841 451868373 41572509 724780811 839441570 985264250 122589948 498755638 260465882 976930024 302835440 538962184 467426187 308724635 765426473 695016772 646297829 588120761 525674055 337409778 820553949 750963880 547964485 556338933 912948597 635764381 91362066 291101054 147572666 116559546 560835228 69691735 18827454 391256851 390633173 858040122 940404701 479411394 679231778 651941143 569027522 179709072 527527972 717174902 850351883 616758846 68188579 864760722 477110107 81549636 171100134 544331640 822895222 138258389 500353894 550525284 192378930 321855437 58632968 691912071 323446882 590239688 785804649 113468825 281508749 643037846 438296320 917521461 867861732 915607453 174891274 271392170 638495937 182907210 838434316 592057387 894883908 265628275 854946606 539855704 29623703 602416753 685743496 51653672 942703802 690016739 593258733 259963101 175227417 188593198 291625896 432888313 848130055 833558041 27191080 675126463 64568596 533840033 439023961 3584066 405142481 391709287 63514880 638024947 544504564 376767569 963882022 794231458 505817327 109162945 748387626 576269323 166226476 712152891 813188589 119329518 8034124 333440614 241881153 916579104 8808457 56842496 528649266 405336444 622681148 590132647 191732214 61032233 491810898 279280648 72853089 818913801 183513080 861479976 108874804 24565081 396651361 476011365 772085981 248305044 932418927 254201417 52153989 39880241 675447993 771051530 216922864 635132689 727925121 385933638 740342051 707754541 680156870 58299765 158516272 797224322 149747417 842396103 714041395 939280226 935348345 2947467 354920647 461206463 403168189 510664129 208910635 388059358 443806299 271962365 666540546 972415763 996360110 281388070 542391963 382311191 799619083 32374 934529277 665343369 328557712 846817047 698575525 890387137 363564437 229224684 868388784 249987838 22357221 427616437 973109752 65823325 925522179 322325603 838586856 469519619 581031560 755019611 961059459 293407165 826071291 76904023 164051454 777192180 835883894 447440246 812153407 684341031 743223968 389215856 848246100 848120614 469894234 945017182 232895484 317591076 339321705 908175046 630605124 208934165 554587168 209845701 469565835 778696664 281884661 381651994 973854822 106093639 694043872 868463252 477957696 253699219 467577122 203036199 310672858 73568478 693280063 607358023 800067427 921565440 422143256 469601582 469434771 450109317 237558666 58767221 455977409 468620701 926931690 194028460 964379767 660168908 856233898 775151239 817798561 913378878 270591028 211930466 898473275 567662472 562715964 456291028 175043970 193350732 612981769 3130941 826354489 430692486 215260798 158473557 187923076 114286163 114253554 419904221 550702876 429153525 572353228 638154009 548890770 45623299 452770633 690473770 209935749 79573062 840136312 32043906 319406377 626090777 508463994 677333905 156522121 381593688 147173290 69638965 102681136 931528787 496137898 722880437 626287078 88296938 418480591 488169904 666151329 741787432 257936206 10516925 88620339 607799356 112624376 728308692 466398571 21204936 598063627 27274879 19340276 469562210 819904372 343384664 173760109 388069175 595143233 189080338 250439248 350753873 218550560 574177480 824235370 550342164 685039051 677848113 25284771 908620238 971307998 649420446 315086139 983654871 892131473 461615040 877541340 692272602 813245073 261896220 187306132 224810567 447407075 181066701 344321321 57049164 756776291 182531672 161647485 671978602 969012265 469174050 644160258 661485035 688868429 468240940 561646814 93733563 108458463 481428557 589093889 909446955 102724886 706139948 231995612 914309076 534719386 747883155 719565324 749093412 906664600 169782619 809763087 603413534 111351869 165326861 563291640 750647754 930797600 214750884 279440761 930532963 501403078 972246202 757639513 947287780 801070501 199266147 332417715 427996538 47945727 688501500 310400317 133873804 1031713 886692010 117865574 118890603 753309901 53698767 169021230 372688085 682774389 635063881 332396083 394537703 598357034 929862574 410794864 58936149 531195746 140948957 66681009 189600147 921351094 94556096 39307850 314118477 412569851 876711070 335747929 212076225 37691614 429007121 389300090 199871821 350400646 676824300 526783356 111301548 247515168 206918764 807550990 719106181 649538267 433004377 524487211 940185560 522964210 564774385 833282680 27543271 334288379 429077586 973838953 275684312 887806311 780993336 689796535 552256287 216449449 192449434 927228373 794561781 988036564 547840872 159627998 466796477 131622921 247801768 404195784 661198266 535973718 167202148 63396831 900684775 519847476 777412099 490302160 370016675 100328784 263120518 20855994 662397761 238430760 79533016 667908412 419989415 207605867 138996497 796465182 9115439 606299958 453809263 220268004 361989701 141965501 882897776 962352344 15734437 860049598 732248863 849963502 696436316 78811842 77923224 310953338 669745522 631775938 109492051 572695992 616889174 156519928 891785802 355975453 349717878 487098024 429137901 431626425 34571354 633953947 293886267 122463187 386143706 852460661 247076390 608557442 564605749 321355427 617035077 670921341 577772951 981484150 97527950 115252393 868119490 70217532 940333215 9359824 201219714 805129659 408097030 234134028 387427008 955249721 608526946 440673108 138204350 670383412 353274 790112215 505343727 818824237 303604209 209725688 103239217 874513013 488522937 140604610 169895949 196265798 201938008 387178618 228735811 864896070 379905249 745735549 138351848 716853699 480251623 806251606 315473954 315098027 248293536 360870921 956441108 237391337 901330040 652721199 274719503 743989165 72286841 269986920 575027360 445263038 757880455 593970573 353872637 675896166 22787066 172244614 194696274 363552129 629936887 324951527 923449098 269744496 664982701 321130923 219228981 788688262 462475980 748708473 384065341 726770743 237870391 826736245 801661565 26642437 801187951 211069868 345583245 381144031 951922493 76360325 540091039 551006537 198443758 527324376 774034059 264611422 593826409 154376181 300065138 833366525 885599585 672013341 185136421 788706112 567055374 27061961 8636267 261816599 455610050 823918279 273948817 186126576 939663339 220652899 339385186 241685648 452982440 563319150 44527883 977262982 88924374 501219490 3226749 551007035 13505585 675231896 485639908 135286744 107960248 303008556 263653780 638118432 402506137 90003300 737424408 971110625 610412963 501997406 623319312 674257247 432622371 799038603 742633077 26206702 425845795 282361528 662787220 788179608 523783700 316335138 591761822 792875812 554071771 76075632 980513710 811000846 933949821 768764202 919144607 683514025 404639532 575149488 138179431 93486553 911777550 961865182 949344851 633322417 154515651 649020394 447599311 743083024 321078428 613982339 186895269 678236024 411674558 459799197 352030983 521213050 292880928 21431295 902853902 853589866 237251546 693669532 543278271 851008117 195722496 16435157 914318563 363867831 216787045 873777840 266670514 939838621 335165389 125871154 346467487 455459105 734603149 82913878 708048888 402493588 46273691 741347826 379732834 60945185 304522571 950136042 659722266 761490515 805532606 142777781 570562028 338348731 469304453 590483592 9554327 786500667 387834515 490426086 25244637 88088764 537711184 372319258 225793392 201894656 103121430 837656598 256873984 892749211 780038442 83367789 115673213 375611683 835042091 438903530 769270916 194572920 61896532 668318764 193994532 378721889 549282116 957764867 167312441 453392861 253642540 168320456 356068746 146536111 540123016 27082261 485717377 616965164 935935205 655136698 335070288 628019152 909019397 386536966 113798481 780349961 43166049 456092721 821193112 89791712 350749674 942424789 525050780 218799377 544864875 594388597 89382172 871264243 215832699 918441006 955997700 840860798 20898174 341817606 714640025 966414416 9825516 70438073 670032409 250273041 2420580 741191799 395250120 100025987 789645902 636840443 651280001 226036516 734240 41139454 365541599 118464469 820402237 203524644 335187378 82168761 191747580 616299289 246100199 424325656 252122934 52960575 958209169 36081745 727596144 880750993 267375214 795194816 209043109 763273602 963396749 907719805 475134624 700879051 723393047 293872874 80669608 746605972 912005552 818936912 450801866 621309232 671968355 670256363 211967827 36717386 82166808 570180024 852969372 489024448 175448073 936772040 95724931 885501755 515073713 761196398 269414502 212812976 694496224 219256467 46830106 281877308 217532625 863794099 290340812 779532921 742514667 574931492 430936934 407121269 298795538 659036605 988082888 524345096 101993420 760234179 674033241 260734417 363670186 228225508 317033354 513676308 91058566 97707215 170549061 100767906 713179221 306253898 929191886 123730901 492994815 449151448 457482279 786267613 241316519 130740652 22165981 439897708 937853044 78110200 715821449 711186788 343789019 225422 249532622 597299041 31288101 17379228 392277331 839913915 802109919 692701165 220298562 12199707 280709326 63181475 209160555 47059573 700157096 802158888 671792820 682815730 393713087 975790331 848177574 221084346 407849826 256484497 672953438 311023867 873609864 411539933 285488577 412595865 295423716 893069005 859255906 823171798 800614004 186451296 903718473 344915961 536371527 705249574 569679597 140720843 353608149 814358086 893683603 112638678 74464710 34957580 290689985 619451782 242610233 580282830 138749193 230476367 34233620 865048246 389644432 451909071 186524988 658133902 903445164 151395826 11742538 81666100 22303552 519369572 79589357 171896007 628547113 500660111 370585011 649722605 455306022 947615940 50070021 895335260 93342948 847505776 180033089 536833270 142914103 530898874 853462130 535174199 46279069 356637685 727164689 305866077 794664387 177162974 496444846 139150942 175795839 288317914 763386468 716362330 154665900 531613905 628669255 998892797 58757267 617763410 785079423 783610548 842522451 371576200 778781144 829199746 879427175 680460169 985499857 134511231 814316813 474640168 634598653 126665212 921795914 785681010 832267175 212228596 277077695 496057459 599026321 615931922 994520398 52312812 767660657 504264744 665291679 631097283 943108096 610546750 238919001 752577948 701980362 392323748 167285239 285680304 981244947 430336765 962051291 900692 773604396 356284806 576952218 273150105 200623724 94058895 386536225 311049143 650494300 718896255 276476308 227275824 86381496 127933104 711374265 634109456 71102804 733281160 573420264 380178092 919951178 791369249 552938109 874133081 338026771 4951740 431980182 158951694 860441619 560840843 757917006 582187122 64247087 26695857 827967761 637513132 301262304 627750134 857396582 750825472 293104697 59001507 658525701 87399069 177345244 696322674 399900323 802011572 537571480 662542609 500668444 872032125 186364112 405039374 54783073 176944678 543333939 637645463 475443138 667128456 145679661 716462932 984439509 610703164 366776284 96201874 851403002 780295404 281454129 581518764 124562205 77211916 729749118 941381257 90527917 452585620 893349283 754392845 186104847 365934501 555108458 79991424 29983981 378910615 186973729 153104537 763377471 118369135 117303157 896198630 652463311 58629367 474474723 306062173 435681589 436135938 906376131 934977990 143947254 273479913 490571374 278977715 979024684 271531394 59098271 100212384 77344544 998241644 941899484 377299536 108429669 502370050 655745031 743004897 503629746 490738941 853788684 286719787 187590944 723841448 702200240 284331377 771414890 671116477 461004386 314406177 80037182 675301504 14017479 460361066 383946297 139622717 764280290 576992900 175842791 174393550 641813022 674724920 308051333 163609193 450802471 85598171 409099846 3223245 205892202 382645227 163771767 533745863 54947494 948771538 989771850 613351403 120833695 153464880 175095565 829949581 920057926 201632770 203152304 866552609 298395100 247212759 397081130 263365852 423071619 927949087 912685614 732388747 501290788 984725828 307197765 82775155 90185041 489280003 188770619 484358364 800531727 283349153 95374084 591762623 66148275 111995484 170333709 906180281 80523986 402563578 519641425 257203911 621603174 39807539 406291088 191360951 769714630 582020158 463082254 8125783 205340618 260217995 337019096 665964800 636444613 136360711 431396948 79163495 78346270 391033298 677930091 445822722 21434125 343523991 592225573 391172099 830926797 385818502 468421565 757188282 186674868 608610200 430562366 645024589 641612676 286650340 792012572 247009075 760420999 404585821 47718421 227845423 694877781 584002678 79070712 66851884 526704286 485524475 571469076 517057008 354054960 401083428 354547970 506645381 825348903 924110731 485380089 672458748 648594975 945555599 3335440 97119057 834999722 61033610 97063245 986638297 488487562 51897802 66277293 101343366 892073975 914305424 794700362 842570372 728266861 789454504 363854083 71955928 800211321 744053598 148936841 3421853 510269439 650891668 951970442 133780457 628062290 313833499 580510767 43692126 868384715 276676518 654544144 88620868 222472672 35819793 691992513 595253827 931792972 262360273 273044474 388696279 760597799 877346564 161275097 758659252 304469601 852079380 775301386 778897175 910440902 13046690 777555368 93680275 376907045 949477215 197601913 71365039 307168036 427044199 73209108 673128806 377182635 311406827 958583197 108916036 634160137 679574591 81743346 393245831 458348498 888392230 433283289 320400702 507310249 655609974 873378355 418103823 176329713 962921106 116611996 914036124 259512114 773847365 746090000 104867265 314002357 309063635 819989557 271862208 290898225 379450639 655371932 175074825 767599134 125503313 583898760 371656101 275097766 486047202 142318917 508936011 960127747 234262807 77958135 264101050 676576675 135076185 604642574 509168933 589436814 560263363 429649677 429117077 864823958 687848859 861999987 514973575 318196873 2635073 898906834 724697415 767657312 92048093 419933481 442141720 635738074 676445293 316574032 806972697 976031535 421056180 747510770 873572815 518131496 199799351 735299240 807506929 144055342 755059257 220320106 950174949 782695229 996905953 89167248 664289522 555138814 571380170 74748508 327395246 896626363 64613089 698907564 310620074 448622472 687707870 897964036 484560420 13410978 320266073 232573080 35807329 579467685 46019891 166596031 648152434 195081303 791704137 719730182 916691882 3449532 656486066 725283424 909498323 510386757 947472008 33692182 596561827 116276112 492666649 428970415 426450472 811868847 604507090 325150835 960702243 876821378 202817717 742070767 688654922 43149327 632220366 298733146 483354639 622248622 560789987 333131089 122295480 113316889 660467416 626268533 6723759 886091644 266178220 125211116 116242019 532177659 25055901 468629108 236810561 371770121 201076329 456476341 166179729 709962181 68693840 843159710 772803355 234108478 411011090 536702805 80017084 130737550 212699567 44294317 218600274 632226040 85350023 951084479 672996786 304050312 234489788 679405891 463000698 77538073 670287808 870420673 349921010 225873607 144799979 160341993 439988686 396386215 863722074 221777457 204499009 263522092 35531297 783920508 861299315 743540418 271962938 981017993 850020189 220450922 407805468 339182345 959178869 202642974 610728149 384521215 364820720 464804888 375409784 940354265 565738060 984452120 338980834 98953486 390257286 9594815 935990912 763084603 12620078 166769868 102902865 799846653 178658767 870014413 621070757 319280346 66469854 317743733 299547156 900662872 362285097 915532560 150701276 147609756 819257409 867684475 132478182 57368513 276142943 372274131 512529917 959247180 476846040 331279291 495187189 731971344 626079836 203987345 273285873 136770803 939069565 962527348 700385200 967481733 67697957 715966385 791535319 179734743 692606887 539103379 796826252 387180914 795251001 622960518 282862988 58823717 710082189 573210412 226906308 340407750 126811566 23519730 523577255 890944461 655545527 361634428 620156252 817192699 980933512 560576699 812056794 929311992 826291169 659495745 992924248 476574228 72182201 908479944 817593196 819669141 180685351 505497654 188770861 762689907 51971751 396322933 120884925 965389 235546268 787779926 435310954 883491250 564109305 44499104 296419621 56305159 44545650 575098611 223100581 30850064 604549762 918981415 25632980 768202451 316276912 55761722 684742535 42059905 469243379 454038045 836561159 877013760 104991205 806903718 580035363 159942564 967340599 616124602 34260071 860535022 112217558 477153803 822073254 486454577 340497106 764512132 692165705 3391023 735011379 37529193 913021017 80099394 652481834 588805987 643852784 292551818 381640270 124718907 502657753 369412137 145730747 157528050 3457003 308812590 935072700 122613850 56085006 632364155 966491502 189934797 52543628 995938177 437880026 217755387 509849467 641982276 712804897 876056281 493293314 64038215 934243938 170587650 441412795 195502305 593935407 597878992 801348347 186187142 938082347 131359051 64165027 215712745 886346 554258062 6266517 417692536 532507579 615296839 802833335 997045605 315018148 166011567 305667560 433889498 112387744 639159345 84355742 120993275 248756504 148590055 719675854 440714986 976897315 529844625 714130061 854584258 15145952 70600846 597928940 526087464 625023662 637969580 355447413 526811575 245861771 335694541 694482681 136902497 410070676 189537235 20867571 22070662 67943191 679601038 778229948 931156314 955003540 314330967 764547876 325606196 157248748 936052598 169521839 248355633 289769450 668399510 131298091 607573318 630103080 555047139 288023251 911853855 289963111 628948892 248252109 302727557 760917449 999337946 889504962 662860039 615832831 485957359 456050096 198512651 931506119 908133187 692404496 60361735 342191301 517924105 458236428 332706520 260026663 809872408 620023892 856985876 624428183 713711207 219459652 56406885 896849143 953778375 868473003 470051806 908203873 924375430 646533294 940023908 796769578 696709815 120763822 544679549 811296612 90138028 290958203 394504828 62562143 571277770 72521983 387941317 394491728 516352644 853693417 489923697 259023209 624144718 67813159 622979568 437686798 322357039 170341885 428342320 598065495 321942842 453983322 394872705 64846635 88997710 790834442 211111655 22091540 406688647 155554106 554689577 857970609 987812045 945439 741415091 877284562 208983404 682624281 648927561 771816953 885289164 640706141 45928545 136220715 246531070 620639043 396659175 146038847 403142987 276945107 932032330 369513307 606499245 230835189 625874958 74891993 788903315 886787756 221823048 681780962 244193346 918768315 285384425 665298656 701468946 252824991 621315386 840338996 585308407 126626894 942308 19557024 29994393 400778602 271272702 234250020 860697464 920765250 607532111 144370381 223071747 102093494 75283762 88946324 265654435 357679475 707841965 394422726 751357882 885739415 933833127 981337878 655710489 137535207 329826654 221477589 882325117 852941609 425992171 61107390 33328834 205178915 375801705 358155631 951703803 355641428 524045388 643895264 615783135 214093581 119206919 696783479 515268651 635540422 274024921 400746966 748765671 867190522 42120357 278133073 516278283 935902450 386304442 677952095 257091472 447119105 386884963 502652332 836076050 457716131 268062418 652324264 601717895 983633789 716508158 69214832 356980840 785101784 364611159 414271908 839949847 752082669 201378292 709521687 622220204 804478505 33167606 601575435 7127512 991941303 912030138 528471507 985041829 58313296 8640948 301371831 678815507 196857622 237172173 376521750 402261194 118221710 26225197 786276264 187048905 139947566 89798699 67728844 955394150 384555630 914842817 179193009 131804696 913964321 261440531 289537211 54023331 580801079 672815741 353106961 311696300 696793713 540110979 131205544 793745773 619112027 665615758 399254015 331952888 773178252 74999867 579596471 653401378 228159970 186163985 357449396 76471691 479455307 222660678 732287750 529811513 364892041 222710333 476553322 473419173 607841270 973974983 923289551 584719912 25314692 909392449 164037976 605562676 195885416 613958123 926156272 350713249 732147084 672647956 664258328 716691122 754749085 935946053 680582038 553514589 178964213 715874833 583239482 736169585 307654349 299117655 606963887 302136381 501708791 654239359 217970793 179272813 240598496 784165541 977895770 812700313 250829844 362578354 643393026 358143538 331319472 666556349 894256614 120138886 731713054 693787136 821679334 657815035 985601192 814423408 19122392 961635481 105360500 31834058 568094329 709602626 744873046 159299661 559049340 823842790 388455817 50030565 92669928 739443787 806675460 158937350 22423680 545603668 682787576 196794645 687226521 294930265 580298917 99002041 196818944 265196314 917975483 991820556 736361566 939491252 335959797 288666375 303177949 180058125 778887883 980296301 854355575 595428393 718759393 970315889 243834226 949834507 928466107 844996523 98902521 183318989 310355773 506151033 331584955 943829123 943256275 532622791 811938320 972250348 508781794 176018379 424411825 286922638 853166902 825077363 135814402 907540110 264671882 754644190 782234532 277583400 996782552 842607126 883531116 233768873 178096362 426320282 95618082 637128563 371139511 805229274 977189773 83590740 187436396 15141423 978888147 7722093 813437787 177150089 629751019 543952385 557225491 414234842 953033425 325732146 543499119 584268349 246772712 775061010 566441903 434432111 137476749 625878570 124954833 70498832 680395165 638450436 162554334 90619318 925577817 898210642 669690312 548035109 303164572 571942821 521682811 352944211 405501760 212007581 569128406 518841605 838063963 657178865 664928725 998653222 554911574 348013745 104091153 14198248 750847332 364669287 703713019 98408998 405212634 557629193 321253738 771393809 181173181 261302496 223838091 413697294 653411518 62599896 597423067 684808662 829769615 370594715 484849288 808506265 869111109 350955166 412161934 767629807 763425277 344257141 108793626 769537687 987586501 642991389 808712725 66509342 54335050 956425227 465345565 565610480 48888667 84820843 367535490 649079640 842313622 975109552 456892684 410194665 588134319 55012604 826105252 619316125 258614332 44688521 42521226 559359533 318000392 191291821 436055219 742938596 601579049 251311575 419042680 475640162 123205389 397007449 536265090 285005696 754302496 994510483 79353415 500778169 176801993 29337797 282233927 125785307 846593441 725711839 81974866 763515014 267489481 714980371 439004513 999935382 73679848 394766430 264991581 766864581 22979802 407042351 864164237 821197186 252023201 956302781 34779382 154686352 573561997 767419909 197406299 799897504 520497411 537499673 9264946 368449211 295772963 428314095 269845554 447024534 290704660 222459553 170867457 255123804 189270858 563126394 910650475 229835829 218284484 735288808 287621338 125437566 654501017 624610456 146844928 139782054 346374812 250966704 764934007 209487476 659103101 778397480 220505146 345677831 297502809 189536264 20759315 335578048 130496877 583847854 409411671 607109055 381944840 117904739 202308581 433077134 336690342 943795283 176093631 982146421 507123048 137779237 343909436 481762309 349998583 111602842 59798839 175304822 680893321 355838143 714733828 942421882 429566113 124779984 35898951 963189572 800600258 962456337 656254687 258374224 363530792 99912966 294060836 280087423 898306686 825004549 153628281 663594019 619650168 558811066 744099991 50480689 980397846 31263125 945588126 718125878 620702662 115024088 191476848 856178838 426204406 413273303 719884912 338384006 155379021 435812516 342334075 150451484 215169183 439240006 89816278 297893383 783995030 185229746 950567540 499869262 21620289 373631168 254339768 117965155 89920943 431930553 72573405 463394650 859393603 864781101 95146924 143474012 844254970 23193015 838246041 582642801 967807111 636475874 590872013 937103644 633175654 143598540 56560289 494967219 208056305 309597555 185424168 49291746 138958136 368000382 672461463 449953194 252751337 301704324 991656181 713412354 285130541 520435509 701776952 986590404 749732345 444620773 568497224 774625039 340705621 221330712 390325976 879512690 651067790 968468938 53003389 46451274 379684530 692482082 229035035 220509138 309525678 112545834 821772012 515714295 959388876 760749739 27518213 317669665 560633996 604959978 149997832 201283622 542551920 160063451 560176128 94122622 961618133 700093964 356970538 472172416 213676711 354633767 150287981 678534088 109221376 773262293 215994129 809268080 2183362 954259418 255954174 163428018 912991713 928973766 288728661 529070916 81755308 214307820 105675386 33844979 148864826 836381245 124924561 133145517 324912070 813150340 902061916 74911857 25528478 276939412 420304238 331528701 313351901 153509320 939518527 932808442 464309856 337995294 827814048 27687608 419456163 233639208 42953243 887800274 463240097 270087846 835443024 926261199 55412189 485009261 280082196 367776797 151368246 57776081 300687493 955100829 391679816 2897737 763814887 229954665 619547795 504599709 547813304 577563623 825125574 87657772 722146193 239498391 267330501 139182017 439657626 456452268 563777034 12089039 495721440 959089799 426576293 220815894 154613108 112177461 446958859 862593803 132771560 813660915 115207277 184969311 288434619 896999837 950269353 476794271 534821868 813182304 939624700 719699285 410954695 884137108 852614689 768069034 3584074 484865743 319951730 482617664 93298511 605706668 622008632 904016072 716094827 598385403 207802390 154217603 847226368 531364322 293123944 172514715 338753513 102715968 98074635 405881449 951785099 830745921 2679259 224954670 252981587 10365520 854955501 61814727 719058243 292483783 50168253 547949090 981656133 789878607 17465603 539284926 987563053 512948125 651030525 331555869 170568472 368802720 531275433 143418000 746311112 94310710 43038841 394363236 910157878 600939059 142963888 266098679 966410431 138550412 370952838 907710140 954860490 60513955 596747519 956015123 184443817 302842381 224918292 616911785 740612309 65673426 11314064 30984177 386750827 293699091 232066869 662917368 38293206 951572251 659887880 419561681 668101181 507922976 637774847 783310563 173554265 490820535 911724633 592794108 200931390 903067557 982462096 146095258 336668079 478489535 8790092 871357090 115882199 696378542 945346417 733286600 474948758 955673399 908563578 673597212 446059772 343481080 494288982 992768121 923969496 389546738 273413817 726662368 712778644 969605454 997797602 426063709 452436240 948305078 644028966 805624714 21996452 338798258 220061294 602648393 512578045 803649390 225602013 187619974 590927086 6533466 958111913 256975363 760168986 796694073 908801216 420723245 84780934 768053032 535319494 817313693 284107982 337867352 414275218 481004403 919510272 144161764 419910659 913873222 214480650 387852808 330351206 627132482 380262471 211656703 324677820 30713632 147569017 170701420 150722409 942508833 505582826 62326627 73264251 934354737 509416037 16478069 151214700 88827025 407912288 934285644 221351089 231353896 84592577 239443903 100954842 651595960 470532110 900222746 648107903 604683079 348284066 860324772 594893052 749299493 239760601 667860320 584654389 34901766 305365898 960733324 276671139 908933684 582753021 161815737 552472691 28941925 937723538 204241896 199226119 879997922 836445457 840216358 468005341 728031381 67121163 176926236 785154517 160984434 170468230 466739663 915964866 713807334 277926604 273349872 401380299 631257635 857027019 78846079 908492109 309470785 502510023 50184757 257429889 662040258 784055 451137492 176011531 930446547 197520494 249346194 818482115 167380189 478725301 230338574 192966370 410204542 913746913 693526010 952641366 474476214 920778355 124613698 350647888 273808122 233810036 541874538 557164186 660437383 19224553 703266105 542394696 474103345 5561502 214847656 16770999 90694486 335616354 25307598 735947810 65136105 994037158 949876932 557844068 506233824 474609791 230095397 338527901 771850773 445423279 104899021 383504986 659573273 523636871 698015600 239937782 954278973 740530614 47453728 751345937 777865742 13550863 745892906 834950648 333977458 867197845 768625057 988825699 95258519 632023166 949421849 126370567 732493632 959407938 16463726 994203875 233445217 523384965 940547936 776342538 596759030 168050624 648730859 890734469 159112432 106740078 696435572 274272657 845598251 989518666 500928314 199261082 922957753 125194410 171713199 81062825 721046867 358742607 826560856 630670437 473837258 801996208 494765011 802883160 292142879 484420777 110820799 25759803 58559985 750065404 3074852 766080570 691266263 85131964 50343633 457740826 832832065 356002806 155367386 202109664 390205880 916355952 80645240 439574954 275092045 812755910 561101631 107417337 836265712 962406037 193130491 710673981 342349733 834648188 417715803 782341647 75525742 139611414 399297844 757008311 467378285 336241906 486481475 506660174 865249642 393327150 151414397 785152374 964534566 817465931 327894812 760432831 379927599 928139864 9223645 100546671 187897824 491524639 628557614 778956953 927503746 382649926 165546618 782418080 121572607 917526372 652671545 532075197 77229471 4779068 108449489 179151592 941473934 553323039 670361831 747025257 25054651 489696907 711589875 469117362 340937313 495160115 37183307 1076645 494006972 509044357 339880785 673156239 759866653 828527323 91292784 282203122 453100876 760445072 371357660 833403454 945744228 921529324 149100798 356767174 290211165 609697746 302388539 453063763 412512175 350248768 194022186 799917390 247808168 224990497 389127512 630917971 485014031 289287785 486551091 558753080 888869302 301488768 976449340 266375064 944766899 143125422 590140562 113435850 24722247 488129233 672470522 990323037 552326302 760332076 499086859 970062399 71711347 635740102 80422514 763921770 94823509 923699385 126533915 940084809 407845280 415549642 882420300 839152289 496256363 794215018 434692080 114509717 736535474 458112892 36736658 179002112 857215547 942907315 447884866 644582202 895350408 232904861 661944421 199840043 950766456 859577830 69047955 244642314 667208378 311207298 788873752 965971164 961407768 101908062 129718572 284081779 135484032 144993479 838323689 534711399 799488117 858004608 909550415 656984120 182839145 750172350 271025522 841818655 387210546 933784253 141278768 615380342 797127505 671335298 856368594 748513879 654797217 34162807 717559620 866317275 506844088 660574175 706411405 964211327 280976190 345579188 570319293 853086484 903852032 581605757 819946181 313031694 915174030 72967227 264275438 570067009 751909602 623424372 880877251 847135465 601535312 9340996 789428460 915886814 256537210 798768627 125923015 389250363 407139564 475552502 147245415 663186617 107158652 66417272 833304205 939378064 477799570 752020123 182373841 715491474 164857872 399144948 37109556 785803120 160447781 684797137 89396732 190981896 248438878 511241844 671179323 93595599 673568207 860401730 612011071 867961290 777386633 104080975 83902035 28226753 34766575 628764228 424054055 955017931 259757621 272994256 425765613 442967816 904286604 654149223 196825494 56081179 938960342 893430135 638992742 61660645 897076482 235694061 231086132 212381297 376232374 179386573 738838887 750216740 943669947 1855100 349996421 304709707 801502150 424188740 955377597 483019162 445930999 783678581 434652473 288693638 278324685 238014081 253483572 327904718 799884360 711056351 153061283 268275438 351933003 914332650 74178948 709067932 249248969 694140009 922563434 100281647 383668047 726398288 797972173 427704999 970993137 824881937 458101051 153535234 742919981 927155435 923575057 806983172 726211027 11708141 452041184 927782184 962705014 989281922 536168350 491138520 880750154 645304124 975019128 394581428 387627569 176531573 893713813 698616297 782863442 753692029 433545714 300220155 99243379 606084617 545391021 757363965 240964727 521906613 291004839 57246893 221093344 943904917 759577945 681251523 732746489 998239234 862902409 584563868 450941159 216759704 628887060 425712340 409346074 165501542 612211793 364743536 266792287 338750586 966833088 450997726 545432520 359716280 929569796 841752090 728917485 356906456 14240014 711061184 373684030 261748906 268002057 462144986 201178916 188884254 856929714 758436012 319783411 343136539 811913151 274774489 102125691 111695912 484125994 493655722 321409608 982671337 510278223 936205627 776887699 876796078 312469724 451267671 20537601 102225349 83410632 114355946 285075336 116580627 546192669 864230331 339720813 475139075 743230809 615469732 129560687 30558085 674794047 102997229 874162637 714176214 865059212 469837684 195648932 481169967 818359469 272953041 504284841 509662701 2187533 889024112 517810527 184127812 870239321 379446948 554366026 555141987 279178820 430402975 65234040 185846553 483748733 351632715 14458262 669952081 436386723 51956908 931892129 759656094 262900849 843728281 365778471 133523750 205343951 105646082 363855101 38829938 683610369 68376038 244405876 594678598 345240402 912148317 259750778 958899756 83891525 39178129 62390947 25151805 546217037 495838901 404346723 697303518 50094372 225319556 173538626 184544315 326410041 822150169 170377857 988661299 644327217 227134300 452045969 4211291 180342912 555957735 395831362 267872630 704949883 270620836 25372169 1729408 655500838 19614166 708088461 797535387 162154502 20116686 246032075 86305136 426028853 781231513 305918696 514317529 413139089 411265129 274200103 46181114 514735462 95833052 967320195 548444094 823476766 894688468 298246600 268449731 668822543 155800351 361193405 999393163 122237305 735580611 966220762 354936088 863733829 604749613 486334384 466328201 678197369 122871986 98278509 902006523 615247643 225238616 870470601 965157048 837867753 789409005 65573980 143895940 880318926 990535482 488907667 166258646 297850903 924180959 56254086 546495230 454347515 346829715 499161936 258515477 560634855 669633436 979093912 893014195 751965867 232411426 309168609 203585982 936277451 283208800 173711327 314010539 82924418 942987142 919715539 243226246 601148111 269382456 393015195 136646262 519627265 738751912 991366330 950625486 337952882 957967105 267511291 585175633 68753587 904251402 223642946 322907161 251866038 408796739 215320153 729346287 65875878 675798532 756259567 172889594 959209394 250749762 714069011 237153290 428432401 231170533 421028924 649820414 839043816 86219626 159273598 461958887 129871788 988577143 981404534 907170657 851298840 42971156 728152799 866687753 928909898 278708428 729720221 700125169 588465630 542396992 264781309 644169449 669573079 791555964 753713339 213795861 876315470 556985637 369922049 496603148 536845865 413740985 707565448 591888490 876325216 581184483 648015682 836375350 65211970 781285681 703816505 441808820 742450413 175405630 967157561 985844663 283266080 413427103 600475498 65110071 542824087 564547116 46675670 918347690 518546887 208888134 777996203 187211696 79867833 467536247 834741527 740221799 447507677 387836393 595431049 394211097 581076207 818884363 809198065 656403668 486026394 49423342 939010745 287891236 285209926 654448209 245186284 320111208 559848259 96328859 331862767 685361245 635027167 834614895 334627340 809984102 236218164 829797294 235545813 451569824 289610175 570524490 827142997 78568978 23756450 237664084 494371625 415806460 990716602 852816003 383887165 965135268 950511926 720090054 268476936 385410753 14829063 937101075 739450110 302291372 969964061 762360525 691054354 311657447 770556138 100191844 239823300 656588599 292694134 995387808 218142708 943576663 249754280 119861427 203860371 453775157 706578378 60045637 368508971 287094768 22158273 548224453 254778698 215379607 733296742 190432434 210762940 26873720 879280764 215740000 467571937 753531157 691820375 407378438 626727289 149350211 838572827 252318286 36535686 387399584 878845127 100967606 261698679 834041232 175861908 234489750 636495872 725915034 782642721 612507343 103263001 45835384 588597131 192576872 98535389 4787362 152485109 799750675 617423323 276957232 156237696 772496746 531640567 480902547 511475659 200451354 488830832 788678229 99297156 204864289 618132223 37048451 300040231 574484449 308222230 253902864 151311150 501453935 225987431 17187489 333671273 990939925 162214927 857007343 563182947 355411205 841520675 336577239 427083918 703250546 532787174 873089389 183895898 128596618 918864855 53183307 119611362 106012812 904837055 547782544 35558541 590559915 534737274 820585622 338565026 223710644 173837371 49190848 190789864 896337499 229957116 260658393 728240653 980089508 274538659 960200170 224205426 727332269 265614360 873333121 503416448 233445692 894628179 801870942 2901269 877244777 490701436 554465368 142469872 524874405 573369465 877451384 464745123 767161510 78123572 558208670 401510430 743672856 940500196 674233252 541038386 860974998 31497802 449281474 831327582 107283274 201552017 80687836 595531540 415742014 590318760 475933334 898095001 427062584 708392084 892550705 719427559 75861462 134395921 895331752 994790774 851839678 867982835 3908076 65361907 303036944 188457462 48231654 449503260 271867924 554165951 485710800 833510398 699575351 359371636 69223495 161412166 263308241 137789389 944716367 522050349 601170799 413350974 124583828 760346445 305904836 262105377 859344122 682606099 406473053 940122192 161812822 746259616 23673574 912542401 582918326 947101487 780760724 959635784 197679961 426220039 739643994 271138719 857964863 681438743 110392919 985096092 93487888 197579884 534009656 705877000 124936348 908571790 496373567 283057348 643733764 977125777 172997209 210728473 338690808 976166678 240464904 212411296 771172473 768436676 890950494 823923099 681727293 741211818 257348124 143384515 61429211 179144089 823072994 412671241 189569260 89861442 971761755 53824534 323320102 191512403 67682165 279675177 557062102 626461995 741346345 72884392 670899677 310136646 201143752 193723657 530775410 341518580 522620703 467317118 248964480 224129540 711156917 908628502 155027409 369513323 421978225 66335652 346126391 45668381 179860036 647867360 403298435 303150483 917407738 107515418 796214796 219784374 457923847 113338805 252896127 303739089 164598431 483623654 29817864 447209842 41534090 986681734 751508346 346542204 323868315 252045548 429258548 14452325 80851949 633115477 854381173 204014034 697375730 168034966 749735246 549679448 128541673 567071868 468486932 35022333 339704275 854270721 665789088 35499261 581622364 246362456 546640544 528163774 95777770 109930390 508890566 76954371 249359713 745971292 359577326 420124982 384360088 462181716 251213137 253397595 827911658 158706017 262096605 902470386 890476637 176910354 242248828 135104900 924707262 223673829 170290588 5712713 108958447 575094905 844086337 144198368 791404823 841097390 589698291 386676466 214035623 991980758 460813580 371440984 250118421 341706331 620959421 486141567 11099247 467352554 506912673 776372856 221291114 673692152 782096776 118991486 222327154 571909919 228337362 659251700 722091892 553429529 503652153 126164262 308657392 676741561 782780893 159833054 567811847 269338189 957810662 973364226 724037966 833484614 289971643 727695878 77394506 57534759 673763203 954797310 767070381 207705989 195537919 294770865 502499303 196050698 952662222 255605338 741337537 308860095 761702789 70875984 188602578 554726386 30613134 977936764 296112599 842789952 250774056 969433094 403992781 626293314 42266330 18544646 713806841 17257581 451360086 154495351 310568387 251328209 306244764 73734692 535153357 672854862 301200278 566722841 713767930 967837474 926485316 494519976 75313033 577785501 172875919 870588724 949827528 827395803 308713510 375021563 552422920 349576324 16654226 725954069 970180395 569901576 606238741 653315298 74718797 261631754 918838436 826516239 714070419 55026259 758643218 798950001 638196772 548816897 207456381 647360784 134089192 510957722 668803097 437738043 682517409 700529962 903590279 246603014 9897382 200067435 868595198 431255484 657482157 23088867 190460621 666165494 843188470 355957487 377725588 302856612 127683264 102270958 159749523 290404289 172184833 857509758 91151651 816406394 187963282 433033725 456904244 338620682 264264780 18240227 255276317 953823540 617767253 298730167 431888701 211258303 383382041 237562939 116751121 665628024 681191471 805335714 139294310 234529124 800135439 337096058 786435395 555971034 105738650 615396314 924257872 247297324 626678715 906516187 85275349 264183722 815006382 827016150 606756325 911857995 655550631 236496151 146184685 315471506 45735722 594167531 637653046 209499969 303309453 221870908 301808705 27028045 426670983 904613570 740458743 93766579 410443532 721736216 9933084 157210067 850062855 631807312 85498564 910783720 881167760 748107731 74233988 352568518 778781268 743231157 400226352 641223586 939108157 12490942 795429380 529472821 91470677 586043021 533529984 512017483 982675133 947525209 449346553 717039713 790779481 328557389 922702086 873173015 48186946 390771794 276082317 291990290 836409682 618449201 227400085 858708127 711512038 783208418 81107448 524414188 173200772 421634252 77751573 94156002 73535908 638712962 185469363 202626212 247859878 46793653 814968763 139669667 28381207 205983273 218048718 577804751 162574711 247334093 829422213 54688986 762747495 548954105 530364918 194105852 101074276 401303338 231273859 712240241 443592431 132383233 967299728 719126581 415396088 429081282 991774369 830783462 296748481 173394128 262931180 909885650 854847054 308870970 643690279 388821771 827218561 868684244 538728338 816698481 599426171 302110372 241163733 986990714 787344700 64566225 191268315 557108944 987574766 120974960 279206251 312079216 527627004 8667474 582656224 512550593 597174858 848789221 53643306 407987985 135565614 723853581 250564675 964222954 271718155 990048430 568772600 778569512 238955023 765091179 484894171 557925232 717227973 276945590 34016968 763483768 362986766 837314598 775266224 540882949 856386319 706591371 943258060 953197262 853162232 88181295 690034249 108764402 985899572 807168403 78158755 286020025 530419503 70396928 334161135 389556286 549812416 458029815 235818562 562550394 221913189 406962066 97685956 413029782 455299682 892263995 278742236 37515762 120763443 261078312 342034306 425494338 273764364 163772099 443600203 520825774 167415530 168826163 962416498 803613810 8365488 17084400 913722500 246707984 555542770 231030825 30368934 244959419 724601054 133697561 101795110 492946851 649311517 759504634 804371404 816702747 190351309 650853107 262790040 114277501 428057936 505545914 120697214 302268226 792563269 916998381 180615651 975329666 238278152 175957096 935167012 212279318 822185885 651931604 195293560 2276278 606280004 756565660 200167653 9494113 691569239 520240859 365425558 932345481 186046102 499255226 33875662 703601153 402159571 798665506 617472903 588261888 321675064 760695614 672116965 737544887 348035667 246466505 271212117 594339690 301900792 554957884 938972116 154152838 106100840 532164861 803406163 699839543 378138770 55277282 544816888 520128240 507591864 478583514 395138074 448481790 274471612 278497745 625053642 602849387 358861933 699537178 334857099 884488176 86016307 633040012 89135804 123399121 361439797 8478293 889532601 804831467 972937631 492719556 751702736 48971987 184150478 390797194 132179337 928068659 999876226 201013117 19221275 73217442 538140383 827005894 657610407 47431305 751237014 933025904 868875312 369036005 641055454 281080398 789617819 389501671 74871868 382714709 600662322 972732694 529991999 918912151 555401571 721720374 508520576 257613337 686466556 331032961 470373760 583651528 883625029 298122469 131505661 175556228 566233565 212304321 677188835 191805866 540648436 267984859 222264451 772623589 716500329 933952101 494752232 555126645 236200672 349581991 993707073 90919751 479438862 713014584 526639480 149692571 570445536 38987538 706172150 160188222 415679969 786646330 859075945 231634736 147692802 101416646 883800507 857204905 656238299 687453649 470879053 47159212 322805783 743622213 577695303 606370375 491342069 627514549 387908018 485718987 570492878 416197923 183880117 123050073 307931674 816807310 291148294 307627513 788673508 443753625 159388043 337056871 313940430 697864810 420845083 372351043 276731072 40917499 236435365 509847934 690893632 216328851 24056339 272346406 590253213 309924789 7619810 18449099 755367414 206214409 511623804 410387646 589534198 696499196 674238489 872660205 402035507 94441449 233580773 537306888 477912141 328038927 857329033 443114680 928961909 420057059 694076575 339355247 608219067 560836332 656073942 213354369 426387913 709396230 668415012 964419511 359260360 31871828 471190169 643146849 408038333 237745174 974706558 930967736 514911854 954775902 353053538 851723192 929387977 285288666 915988324 493665358 792069659 144101181 9734702 183668778 791237294 843551442 127542096 180172270 87944913 990869578 570148538 518596537 683240595 400275920 24051130 314390349 504836520 831618206 567562426 64204493 745744856 147581303 282182219 430522757 928983173 786525905 851625078 9904056 647265617 213886984 767506062 108409014 765607849 348566970 398660081 424045318 88258570 416986889 968335669 222552709 304910608 149066665 697714868 209035517 281037096 930796400 837189067 461336478 248050627 157094335 536311398 110715485 760455884 980734249 508144721 481859959 704057306 281560387 528078548 790743291 782888496 371071757 543753243 892709595 176932023 549226683 280871669 924256124 61285575 928588540 601222601 361528901 498540760 701455653 976892986 3274111 751157284 431295968 231508803 241306977 304937167 376836008 235318625 563318496 669632556 88009362 767305493 183529739 408882391 429940467 113538465 640561803 63466914 894186127 262824940 701148532 354943323 86069509 604541197 596721846 440256644 537900600 794846384 796106498 628167052 605344898 587678367 201462357 392044325 823411877 951835377 258224790 71882639 800434117 591425636 275035626 755576693 626193665 178692898 530456646 682117281 818064901 564489429 162323405 263304131 71558054 808476653 912521149 325351952 901482263 463961980 561422567 918934509 480704750 992395613 232091963 194285914 649615465 342268436 230960443 404987755 822273028 828268785 133774350 803036073 628106746 441551056 566863661 169930284 319216420 59557133 544350430 740718943 851254290 569139588 75485135 997069856 981942611 242008949 287217241 682572206 290361237 110561113 849494988 453799181 843211118 598108396 265804796 802890136 196062571 520572457 121971701 235515373 20843053 992450836 558365450 251840500 279540540 538041224 39975044 423472646 237178563 121982500 536518677 178384520 575484028 185634422 791868070 7332667 69864627 582110618 666443387 451178172 170420060 144473998 699623639 277122477 150663174 219380811 603306520 623509674 318264990 247706642 314722876 661894477 5689716 837529295 286920856 735301911 535968102 2638332 585311528 455422527 87792850 412769791 708080048 197367425 60442665 977452622 261796296 786612473 153854903 726351912 31048463 17801883 798330987 726187066 976710617 312798240 556998944 689769706 783498754 39427651 311887333 470633478 969376746 43984543 952532226 518751433 433330376 302358384 309594481 215224481 266242631 287706597 410562233 848826177 554297577 786730802 520280000 508551854 448034840 437563640 937965502 583325233 897638797 333378254 569570246 907992036 494945707 423918995 984418639 279915446 44136571 399325385 871887569 192915492 358402852 231523609 630298536 323615043 861846183 728329599 187821007 245920513 722280109 550923093 557730521 409761528 551275750 498753522 138353917 871965113 314360381 169595764 568547639 778783567 908258400 794963105 571291938 537923217 620592434 7690589 100755975 107698722 292037384 148753139 586428552 85513723 655763235 917971255 13866271 879860719 214634198 12398400 576605094 92014921 160653517 291163872 928940262 241446755 798935819 118884740 481579394 726769025 736754909 549552645 450044606 988795132 109026933 677139368 639622240 772486669 911617475 484471092 324395171 748025916 308541795 401514469 395669283 94002616 518864348 207500818 162473510 812812056 368772799 850059004 323654801 643236869 985726611 791091848 20984822 283568260 618834716 66702762 122062167 419354486 406220612 984699825 477043409 543789277 626311731 152541472 590070383 961229260 653132286 857915954 239820809 290588150 21062878 326534800 210406176 642736625 270490093 303904313 825544265 364883865 750591162 230892575 93313621 112838396 922532483 642830551 6173917 494907779 213761986 410801917 706969329 160477601 365496269 775655068 938901044 848394417 152119560 771174584 27623418 761341689 196019028 484554363 968613543 521967406 917267186 107013611 809902016 58677657 202280320 134951812 591255522 145709842 641527812 937714824 153200568 102538181 419171610 294096233 434355121 383405339 331492981 806609175 743415654 42630573 26755522 196348100 853418106 911333478 96312490 701393293 942066537 695368538 259745517 682579540 729336826 198575577 920737281 178292293 112964709 916178080 592829932 257320926 253716378 207824492 430630678 472663044 105742061 832406728 480364349 937615161 439666385 238914825 260167977 447078043 538063922 4159754 501497569 281373926 40013016 300145248 714077226 147895540 432589880 286268186 215224157 60103920 642423536 173959090 353008338 677597568 207601731 57551988 434654586 95596249 421478717 332765459 97707685 814407845 682755707 976040566 806602439 451518266 254950694 158323355 638243491 698285469 605183138 458631102 882290318 220627176 56986825 484849085 70141524 740058696 909893382 374548386 262124100 356733093 17164273 335726503 417031855 421160772 177972805 75866808 428626224 199567196 147086188 126575698 523968030 276232716 245178140 836259905 420925390 483176236 27715067 231630312 915918893 986432582 650294178 27537765 589510086 588116511 460488140 163908154 321461922 186314915 536828384 322505783 553914764 209967553 236371988 874150627 885608519 550637616 185520609 962695111 464261664 160661921 230456050 169300157 34885313 261793524 214038666 652490256 76134737 461867135 382184439 824496128 220008803 284451085 726051964 84461683 783725890 445275853 393963946 208544161 96957056 427652827 925945084 709257065 883141379 715428737 60952954 883433243 769972616 676781854 870591767 342359542 993843221 159954595 342142633 472039022 202598986 458969049 859565671 894109878 656680998 180413330 318846720 408528424 369460061 835391851 138325793 709603020 302908839 361732198 273867636 199486093 283169617 651312925 624549279 261035468 856064455 538983117 490816103 523240114 506726203 627583402 578874302 422014919 345784381 147177311 57621519 199598607 374675291 731931906 638110378 284902297 724878976 325811784 591371954 874837159 36058717 593447252 507925851 75717440 545838837 25874393 637858800 384480807 327260521 316825615 312000483 189306171 23984329 289991861 75227526 87572825 991911539 5060319 183078059 925815058 653988618 162234032 558072661 781785141 201294343 999208319 450678890 525478018 30693879 209204905 113487287 362498418 700321558 140701907 421907743 348893178 838074258 246738597 229179853 664386300 72485530 802675879 507097862 645773903 135874639 210938413 442199941 206415582 958098699 134680942 536928765 87262258 455600020 275815697 197919785 402759444 762488197 805959411 785051317 955739373 581891881 431331028 465862962 691541134 683070527 4714159 527548926 535983734 738854645 195446529 632229489 151841002 541474933 662892939 561127559 39733754 669395137 594733249 602161384 349110059 990912715 643325805 901945576 3960136 845882368 527250745 27473438 199489606 476173829 956669387 148114123 763539477 459875231 135216279 268800351 489585786 604715415 774566063 675302339 91257599 107236873 406917001 993775558 970863700 419954876 513337494 292658587 219161787 275515022 166879842 867639445 122668912 94804364 809531352 711695174 464844657 681422814 241733665 151723551 391812887 460804952 225391299 448698378 241731165 496586843 917445006 823148152 599643518 989297935 58995094 266146577 585638169 198152837 11752137 874740266 410245438 48134865 113911010 990156104 906670767 553546121 142988709 220896255 540398471 554859150 247454585 169346983 117097367 928806792 689266874 561791825 675496864 604739623 496200909 576247351 441826475 461100654 639335454 869284639 660493878 652733886 54914600 113957055 208960822 190539922 511479292 189976157 552569503 916173794 999630698 620410316 851758156 674946573 978594116 800753966 118511576 429994146 212226362 468437958 158300769 480880 83779754 208946764 969129218 685484894 892072018 128189364 398109733 110981762 180270215 944445181 19934236 303274089 936340974 303641336 863764906 409270841 401084762 794293250 200444488 669795565 38946047 5777593 40919556 774317458 656709507 247304540 384269691 779736326 238367412 334203484 211110968 179457129 735906584 575575250 654487499 962536048 912360061 831847545 268500623 84393856 385165610 255928103 210614183 437168786 273736372 502678338 288745348 928275586 530197586 366588679 273394984 916729265 470240274 645267117 400146430 846366369 902877485 51206519 970104890 566417228 43741274 615036859 506784574 650170952 466689491 659793091 156588550 249501200 739782667 780292294 385029633 154000952 299734221 996360943 271644411 801125996 192495373 596005938 535731001 606350613 200591765 946638104 657903919 772613100 348877277 746842238 986050906 806869554 808885167 83704566 108835843 705266314 198627999 902357717 556604578 280275457 976798085 304874475 382186720 711743039 992977766 963891506 364907951 258913788 176526002 73030131 103769034 839339306 856807131 491534653 415531685 997781426 60771226 711272786 288907043 519668254 212411681 290332022 217651761 611291689 339013709 622099828 937343158 463790995 756407587 414499232 190359492 774099088 782186303 27766489 351698539 814190412 321930626 164560583 932918618 252896357 909422708 367425047 954975361 666190978 193602610 65852013 410019365 567088969 196427204 460733621 230331636 27926207 74827958 721850407 198585761 104028865 116877291 25874991 164389136 637789038 852564797 939648253 323327425 266701371 434444880 226110454 192112073 546010809 252690041 58866074 130212705 576413161 953298794 754790915 281419878 966868604 52359025 443833385 56844082 987327827 578647875 792607963 407092517 819476475 862735461 954383031 937350976 217615596 12736295 325257349 701075176 884014226 260340130 715404975 566578724 580486047 11158936 798907080 87158146 512602824 693936255 43393628 596256483 773598960 175922265 375778245 855325410 795001598 20603404 255396248 422889396 576193154 737662491 595634566 605711686 221334050 387589798 22089011 868523076 972389172 9855738 617759254 817960064 985562958 962944334 509300248 600150618 120466390 475674425 918372246 111141941 201049118 391834020 368842998 488161317 684155955 464800451 602102386 939016967 962084994 403372350 436677856 519247760 162872931 878227329 645832943 946473451 964131264 240790972 810201659 820926837 230822890 796676498 855380455 943340424 115692081 488179289 71630948 161082146 743860047 138526894 586381162 472373648 306212071 234487817 429356775 774969953 940527525 722713606 693772200 376151630 432517289 568688662 904957548 787972754 713986458 29425154 432935971 58988417 557770732 694187151 842322081 910126121 110830527 387734073 477160043 497396511 480831266 739593607 494605147 700133240 314997619 724058183 118981686 149153685 955244330 826596386 184512761 152756352 204513352 175599922 662940126 399398975 667039608 597005135 134550393 194512034 61375869 810231156 10949064 881100112 760727986 668327275 970528499 923301643 574742499 239566255 757703029 967808793 905042871 899943181 882264591 229582496 189976395 98645873 951106455 609664329 292446938 652557311 163320951 375055356 105087992 726248693 806811529 407635089 769627527 194774295 106373975 616009551 105471677 216053067 691252171 127763024 235807001 377551957 914600177 181498273 986588472 261053441 226685491 894470376 734360984 134240750 662401523 200802623 824888643 553074004 749810276 152909604 151269809 692839316 180734548 706103534 140089256 780591967 166339586 520995515 354263365 267602508 442119004 906445909 395633306 883961412 200263646 84536827 179176723 584177369 525533533 869612975 677963833 760739708 293843076 746525325 146032986 101796535 247151500 52473273 536067015 595920560 142434795 640988147 702248114 810796423 34305363 566672031 562481295 10294252 582073927 334749788 86820778 996448113 89937908 631851913 927482720 957686673 612353961 672399129 471084618 139164061 270976263 676809632 982052446 230986960 807284870 689572035 722064988 314221319 832937549 826469355 256439415 385958672 377673392 949424189 217012680 211212095 209560060 607838087 889742721 683084476 628444772 245879565 452752385 802017863 193939532 615845528 782589296 786692629 569930086 460042616 983701888 143297573 712167832 678774011 331653362 980544782 675683066 535740464 869581691 179420739 878387719 269313248 89862956 612994387 23686651 214670670 734336863 586283692 439389755 974472001 46926920 901929129 212167425 557089100 609362043 733186787 65946506 749928531 446871903 594266846 423143297 172625711 750493628 503407182 297495126 917591166 108663049 130514513 439450837 939657472 452892789 726266521 586896137 491759370 119325315 349762279 924567938 422543910 147434220 683913098 54516848 244851681 802458227 707129325 28904480 617633788 649019747 828194225 649363372 442564708 860686045 674440440 255433012 954417730 112656439 13723510 258112883 139939553 805943778 228996180 588949320 129382385 154082176 947499979 974832811 805949049 568288690 863194576 186137021 782939009 710175135 696231727 513041141 741069300 996688146 240669633 186379407 890169129 421905176 654029960 100372425 196600574 432355994 906221585 882124382 227256279 818213719 237844987 90796791 372817494 121911787 312080173 861542864 731006278 34975849 485218015 393788958 776689385 463650816 297389905 417451445 788429732 816947523 745718088 746646260 330580587 817206705 258669400 25345566 373711292 225499261 543119210 547577691 744830605 157180511 310288154 135158193 814400415 997891138 131319799 356500674 700856310 967053272 775303950 422753800 284632006 113668137 172831566 156992877 227914701 334824894 148526121 949564907 160105322 209164970 668078654 201427783 633744928 128191717 158558104 817449230 537318779 835282982 868516666 735990149 289583203 963795808 464544657 129608450 760511325 189273776 622864910 771964151 61260033 627643347 113599745 278442837 125431603 659931761 870754397 292825817 656288464 649850463 882840538 544522859 153569458 240228721 599132694 374660735 579482400 543232754 979906393 433666496 180014446 382884783 608707932 337042075 685526384 892210625 360714065 116798217 712535251 266111384 760396888 576495210 779733603 623731312 605551112 357995393 390774993 793058628 924130 496423895 526692784 283729433 457223876 176834835 40608929 130223154 398027507 229566448 147099281 887020085 867624139 459851141 941766241 363678925 871416251 5198480 827074549 964737600 808296387 736951419 751206482 181726626 596876362 143491207 407673405 44863209 826350910 3988906 457203414 629943022 77833316 982926430 981481482 247390112 701894476 457502206 303335904 805387051 212167519 760574651 376661877 483669573 785663642 62132196 29992259 328504383 234889626 130269632 254568318 500485851 517075309 436279919 12136329 66629295 746375738 468059025 260837432 388025277 307420523 382917163 21778908 788915017 662710544 106671745 248228183 425479583 162887835 142473571 762497638 576984009 414211520 47213539 519130176 990721648 569616641 935163324 293068464 530297912 663473628 234370294 150829651 289662076 675552400 768482867 922688009 368404560 280640836 249544670 566137753 524649979 453737562 113994437 854252651 145695968 329056543 77591700 157164768 662355292 478877993 347245098 166056607 658906887 672789949 45636876 636336023 425668547 19357587 957375873 639566395 392818115 203762630 546400821 583980534 635594448 93640110 764365654 584582718 734208421 248163826 828286576 251974394 178286321 447390785 130914659 805654999 662874814 621061806 892040789 692593438 386467886 577645713 968537457 934217293 17212446 741107227 976002908 485894618 628773412 414346279 10329068 211692930 422941199 959176300 316226887 438999423 551198805 575991210 194646922 102117035 579278066 667910267 923466477 299322073 254582731 148572032 894889715 582724509 830255781 475629399 290699099 978616240 528256411 413620705 327470888 240125998 240116151 548424090 329185734 826026423 949324062 928823820 809091524 345772066 301760488 210472215 595196325 617410881 85559129 163190909 112534733 137647377 53436251 477880425 65308995 214417453 189804374 705277695 873878574 134019271 689096768 223912254 505522092 360777199 456061876 169697383 91003500 52473497 524062635 967059645 924034285 77954859 141597439 84119298 888734531 518759163 771557308 522864666 982824342 184717650 196023284 13052667 92233410 747964693 339960823 342263570 711519221 480798253 596497820 719725911 936891042 175182156 534811757 523002645 232528051 143845772 134709251 13774347 498841063 377633400 301899946 846711819 181390572 424816448 403473972 656252413 635879685 58083978 767492960 831433138 541362425 534758388 255076851 610286262 828053505 436013387 148839487 752367339 48150378 122058725 265337904 262201774 522468378 600467337 73242796 558813179 51478440 896540684 2671782 971881073 515053848 909898536 62044686 153669585 647708618 460136918 246677081 44378453 682733160 151741464 415167085 547679480 795903784 13068117 103922646 583432253 427810335 739431972 190348166 523323366 470785539 402123742 625454769 439444778 71852268 224093543 910665242 450059364 422068142 397040678 450086530 14152271 12988706 357966793 471119935 753794491 524493537 777803502 340325216 631873649 347885721 302461950 140344391 377625200 597630963 769431784 199971482 934704686 997702363 379385683 260673926 715753609 947178549 354779294 641356002 609604927 857751428 351341656 710318657 142061321 86545846 99512365 880073331 308640045 594058193 730947108 393968234 5220735 815125679 63916937 547156604 691698166 90970889 64151635 806959110 300610620 680712516 120611622 887678474 571615339 245715126 645553490 195933869 853274426 590488469 59364291 13546892 620621751 768096810 656270849 598484919 937116977 386004450 46235164 658372829 276280210 615758321 225270709 241451254 794045518 564109170 618579323 59281812 758814311 180956664 929139702 323781646 212550556 678548049 577391366 445912035 748286730 727158382 719618947 776957612 385070967 795046683 694175293 219945643 448322213 919250090 989790856 187260050 865906804 741286730 877206144 785210927 135304935 248257856 337427455 27176774 839735244 505119293 979614903 364922881 45726442 31467654 347939869 820402821 25996001 660913515 900754979 939498922 884939859 342337530 40078724 282484819 762443627 333319627 756085609 313240581 227674353 290273063 334624975 800533132 541798616 819700701 567141684 675110705 210251523 250567014 236779313 172562926 541465314 97254397 196016206 24614179 284341126 457685502 348762335 216958202 898269267 49711974 73957943 760038325 199020903 940963183 297075561 754435137 835274819 653034941 105081546 573426888 816413430 218144455 242524729 292483958 326754382 361709735 622523188 935413816 297368304 94497566 484807711 761202202 44808527 627851005 255552250 554460334 74255402 145786104 274057539 446884757 232111676 362709401 338599678 145290290 76242243 81764528 292682544 461607450 785711779 648480467 71067088 321060819 504955756 362118783 518072682 960600872 142323773 243245521 116396944 556613983 74249352 303341209 479060068 310371977 179991901 693296209 890422243 458895602 404771042 266714474 967161194 107030835 312603798 400226160 872537169 680098789 125063713 691591614 673694244 723348159 254840442 26241188 687098716 374824557 204685199 228844884 723305015 157040994 879256275 308047640 693814477 400468283 228815825 627856983 786231223 29220701 962008635 996700544 913276642 291943099 434121303 189097364 492824954 53425391 105165812 202673548 882638155 71317456 684130413 42986258 551625327 895764937 281638612 679498066 157889853 259477307 16081817 220386672 392965358 415729989 46475958 682448440 902727597 758640834 393922005 696305881 145246321 839415033 87341625 598130412 82542844 290965574 901406409 841782911 911341384 9513823 201686682 72647768 355645835 192983579 558529477 23820363 32913739 8330117 701413297 381048545 333652593 447737144 501024148 52667842 444278134 894028113 289118400 539290033 935242434 908373780 122506777 734912361 281042310 970551559 536119587 395418648 256226832 140645804 193627881 886937861 139676098 912803300 585560553 792877167 61395142 442146206 101626491 614083343 975472828 669622930 375229726 748175300 358912677 424645482 983175521 190090346 9567843 537341106 230663127 565097082 623075987 65680999 305759777 214952924 549729580 860241785 178012679 19095977 755765574 64797134 376391832 573521047 34975558 54034461 397714930 476751984 268984230 10792288 944067764 24147323 910471513 345805929 443339509 58145620 943319052 267345829 882190738 93847871 327964312 340159599 125823731 216264820 980029094 786441504 808923115 692617988 93342922 959634238 422524202 611479671 79958739 92712104 972718594 291596415 500482389 634342953 945785730 353415107 821944764 140150933 470125450 83031918 760017774 179511832 842183684 753683264 626851262 154374339 362331321 725081933 300079237 256098255 398832690 233180171 269812230 812962994 14302548 731305090 957680952 355353703 27231603 682952999 754396885 58110685 282522462 652438992 84088410 951255379 341982536 23965896 634993631 203692138 761742949 475769310 777974485 999135080 46406607 300395767 770076560 642598359 283631198 743561646 345602747 495137791 588202570 394204214 809882415 153623990 489739949 202179947 80710006 805843956 545139529 324782711 305137513 484329820 884013143 401428646 144849597 563669041 273545382 936648700 874742571 77792244 704411812 847546318 701305822 368014902 30088508 344288455 467915929 85937119 246111838 1835211 727340075 217740933 37555464 387916063 299524103 173916397 286821791 23357783 343982554 611214533 284389499 116160485 545563642 924050222 74221658 605023551 589056969 379938112 915865672 95371582 76225780 958197090 56454428 646956986 877584692 482030242 968343772 504587258 406759790 358231074 78328148 211803348 657715803 795506536 312759389 376814507 156381430 147637611 619316005 945445535 115605324 223287179 118918560 27950414 424871674 737820065 632953577 62907375 343856144 650559309 886526941 916728450 540498085 112480759 830529863 150668013 56975522 587976017 196883008 664951701 180914355 327373231 38477534 251012488 572839180 694124978 580725124 67476299 639514262 676602511 670373651 897839839 315680272 151102433 370644000 846957257 14683232 861583423 176283837 783638332 508184675 298388224 977897049 400207812 661338610 696349859 653331304 30933934 824163503 17372164 423877519 694336322 132010613 648536433 590611571 177798081 289499372 223004234 317251324 22505963 732784132 846504219 479232119 845539930 228435388 105533023 348109246 982388737 907505792 696449871 571864557 248622831 93940423 831368658 347125547 216471696 724928833 535498085 253689763 59640897 905980989 911896884 433148909 271019276 752142750 300627858 554784374 666126036 238179047 390988961 125497292 255364385 826953908 233358198 284717316 658961642 759064868 704689317 64907223 602811128 187084969 622940771 532061898 726428586 490851492 296902367 174469800 862672413 114703323 39226060 138792354 953438307 856789657 970854936 345740905 117875454 110865256 429951713 650406455 900625733 747478322 611778665 532521587 564979239 643912628 876077964 454255146 41469455 433961194 957650751 676615772 43190593 349090122 923287439 611884793 555594375 500035796 887224490 648272331 678854755 953203583 86824892 916401387 787930774 667978267 168286609 941212875 820582044 864660398 10448361 512037177 245241832 523057523 936770432 446176182 188662733 893642488 815157176 282298020 473712859 395677949 439625004 698561446 197238861 776743822 334751814 439985168 965026209 774618705 856582308 717742406 508705533 343400312 632269374 271243658 728555356 308914318 835961298 757089832 470040003 938698860 775483547 580814573 852568872 670303198 570399989 150909429 742844859 630867272 902060529 996450353 323135302 397186657 255594972 689916446 514547745 382586908 154362595 970246651 510704616 745353304 362423047 604821234 81072648 353232282 654443436 706807160 47809575 573184841 848897932 295292357 475441970 964152986 302613112 776667965 182316065 355848859 370851093 379753275 691681858 366514121 42482856 800399494 981312492 330270028 350225826 866160510 390689928 107780626 512641765 563258165 562537952 864520023 284157886 946810245 564258735 505015805 137299865 972157168 322457763 435815992 273124930 1468661 279559818 848765094 751032646 145886278 40933535 317710662 42037161 670399082 225598121 213444785 340259212 3409768 287536677 185415454 448615609 795640170 307507661 644737021 728992287 357896660 222571504 438051558 564803061 289825080 765507555 757606925 937151540 945265783 861214866 169218790 948988714 968367527 425802370 574756520 954247483 2688019 239096428 856858503 126702543 595897896 75673540 722136806 992119857 373287953 490096079 947932347 925523605 265123129 501592284 667916434 595760227 271699259 230616946 188868677 940207561 729984952 20829516 581943382 223097961 912010286 644872093 930036004 664599127 788479102 997527883 573876126 990225036 821151060 538559871 115008582 306298525 988700614 37943452 351848821 659100662 356096679 237013192 230604216 64786939 488140473 17016269 915837696 538780001 705489121 155919108 985820626 985414493 221137818 34884040 672992088 990165566 912745192 928402205 14033305 375387750 803102424 914405991 466928806 837513603 947870543 194511700 612811011 820263795 724634552 162636657 967698897 949755882 480026168 653301262 754448982 133641154 132615652 69293401 70668814 551378833 336782527 329863405 87660576 460669043 662416464 215104119 887576682 625679381 910410899 167403634 843824142 896737791 727513665 581315596 75890475 943711679 648190079 613648853 111737982 83764927 502337829 824208530 39890328 970252759 664812879 648860936 851643797 369409492 52499793 621350505 982218780 174654259 81785194 858019794 906027213 175478351 842876353 228108700 580536690 586489748 719338999 488268050 432027819 653963797 203220129 845363398 655301612 346120209 578915210 375512319 582348296 214596344 214046538 145790149 761459321 953229980 104241588 367514006 988353580 60455611 984831473 955699103 814801334 416847010 803385420 663535644 743183228 459784154 331931871 783830971 229609465 69651044 51997120 380947615 410915536 747881298 499513910 355024431 745720016 18920728 786664839 324965979 183124380 149947473 978904885 236871599 176887403 203997260 240966671 565194374 883433898 577506275 631751180 67788644 616607856 623184800 27839313 827922477 795284705 843609723 121220146 37883279 730788436 150412293 600058436 191132758 931919633 191719511 45925069 712740111 964265014 606206759 790580691 969777888 597312410 308707014 409625373 874042801 293173180 389649532 830889412 748246558 227034347 253651170 991536167 564965577 121948157 52132325 762147224 76499439 355413221 230493102 838516999 886904643 664925541 567951733 584828522 300987250 368096918 439016239 202409120 957642100 619537740 78386904 62400145 156419322 171263578 886112541 929084941 85096112 807191791 76388122 276116000 846424403 314827211 631813888 394562699 991424272 419488691 574011903 525133004 375964192 326313365 293260646 250199750 355683380 207177734 669799162 720606935 548924003 516102095 204884473 950554095 971275366 98089026 958813552 406766203 301893944 660675047 645253780 736902628 645576653 692017036 385493649 795636506 660575000 404508184 335946541 224545230 163195973 651813691 797340288 459862788 932017534 74845735 232793988 680882457 393746456 929305759 732852874 836794382 532842394 844981213 844785489 354599255 823947457 213317497 331234434 379393082 731804054 563874349 513635312 327091677 324514339 406581128 599748074 317740936 464764852 423394900 933708308 441964530 182152226 952878542 278561009 371456141 195651956 280364151 267069776 860723107 330676930 783836660 29081698 214839151 408714007 942791965 492794915 469576548 949664524 596947797 732216051 724433136 690711400 66060770 202130975 944670180 675357123 133859250 480998963 902169555 296285718 873085486 417485695 284451271 970471624 366616193 783041935 716053251 607189956 541473125 256942433 696359799 266779400 974475060 893808541 775348035 116602125 122580185 214726942 338348203 179274065 734330025 870715534 770533278 70847774 986930875 628970401 603550339 144290206 500852549 770063806 843907748 902558203 226083222 912281715 473841648 78122346 607135968 124183567 280066895 544525621 473936944 835240948 698493455 592263209 935576622 869698406 691516237 282262919 172097364 452222232 306938801 85931948 225679105 778333110 671026576 184892300 940690075 56008493 925125076 219455630 965750841 771869363 227136406 948461552 82663902 992440086 960010438 648371562 81375331 719766402 163586460 989208547 963242237 379208424 933357131 845012226 639479950 484755640 340596698 926874963 781689092 171692455 897701738 410578865 506142546 871232667 685725612 73910053 667646149 544655324 970310295 153438230 116119183 523871240 150333546 406137691 661012896 942540926 199914302 743212835 13482770 493737637 218283714 910590418 957699370 719869315 341886085 14177307 213162567 165554528 49327297 293493236 598611714 420584832 69944433 247647035 210167565 290698041 465680683 575293617 897725796 288179877 112464283 902623723 489407034 339985161 579024249 874714868 828623441 975751794 620463127 773530474 197882588 383777872 300667434 712195267 393153102 350012449 931725018 192548328 166699039 129812354 419038360 173366768 3440082 423465345 476242821 628162350 446936278 704357692 154216808 841634913 308764598 397400147 114209622 119183128 616060751 668237556 705035344 284908922 23743992 206143063 117913335 206330176 131709512 901426353 300453545 886995919 47783113 953704477 21955558 894666305 351786084 75469333 473388286 458427095 931316158 757409433 550136248 344523040 416472705 209084012 303298392 841363157 193072293 485521973 870931508 370341590 262747538 229896261 757528558 795041161 660010893 378749593 361886387 234252747 137151621 249944437 274413435 482547108 125060183 528838032 128405662 760074244 437672237 329404049 100349186 57622061 58854858 439513837 149911353 361638822 851867665 2137609 587800603 205159450 857538810 395135741 914067660 360306425 391086240 341622582 875090761 709097589 406618251 225711432 490512040 877004589 711242609 647555451 760085795 426518257 64542751 7294231 957374094 320081235 957272032 710609311 239181383 781301065 231692568 867136697 207098192 384393069 437392715 94158359 164631765 931776693 667451883 26024420 61709411 802112286 398915196 891272085 212834115 87520892 41752632 701770534 900527268 904507675 362613194 789390069 401122419 769074066 460182432 913881199 870996738 128075166 21675193 339921582 370287474 198176578 553874499 976514363 252994492 312997365 493204579 54412349 602078587 38923111 114376153 150466851 97196481 910392613 432172398 323412832 605584750 267177205 253276658 583738959 181480642 804338995 430220542 757237289 269449622 983696946 703942640 111720540 414838265 768646048 419765082 1238695 875674944 485158358 115935324 404705502 997594833 561021289 102005320 564202850 370142535 502522444 113749009 330715986 262829748 505968446 924865650 887977442 202775203 653629017 640868050 362484371 274199472 551103668 768572212 297454616 415873562 449244229 33154249 177701442 158496008 709142411 850720440 241272312 533460054 801482233 330721401 934034394 908097072 435100475 655878973 171335682 720355548 256087044 213422246 802977383 910925399 320245376 470084716 149781861 1764335 996978409 20535916 642699206 169594483 222151619 682820999 725151700 509597699 233117839 678042891 105479413 729100966 555677106 735028565 116364050 329451515 935238092 271663977 71151617 226405485 810047497 621990910 908450237 389771547 214167856 126149663 40680771 994877236 262807847 117615279 466913791 464262054 68389805 883991782 493681448 107228884 124690262 977819689 233452256 336541008 793245725 245223915 54375638 824085628 314378131 186669522 329140306 190115666 705193136 187115440 492327941 680398745 123319964 313410022 313455225 732808174 86086831 355720535 395598848 897962117 241485336 891629619 618216389 453339210 676276026 954007995 722616196 615875422 342774726 584201457 722563081 716669682 622601221 112871366 832005697 347004025 992282797 493596526 897778503 359497685 79832961 570627373 346430722 62630377 619847834 798840890 980277012 77331122 133733616 814362697 360266366 99483379 570255432 62961214 777415574 443860534 888931233 266580267 118166051 884130147 164292574 396682843 435260397 281031389 686320682 100554984 191447758 65033711 950252443 381123375 688301031 938892448 626338134 206261158 321243582 59638734 276198010 480005299 294390609 364286441 752322778 479427318 347144382 507906601 105842136 69573003 450203704 947662668 949426648 166077175 294112811 283830509 300407850 498738113 115688169 239916295 928874989 893934366 713332384 213110768 973856624 324031325 373837266 43036439 736724430 908018463 975127402 289466837 414982176 443326275 161860127 514736107 526556714 54403569 400326143 353271180 455787073 67265243 397224249 79617303 943784763 210480778 299069481 124461129 539300182 557499320 276824469 695594949 812857197 89592415 234702993 411083319 551264511 601761620 513073783 260141860 583656734 94007736 761398927 282612693 386834120 188274010 965475209 973788959 161822062 956536496 163767784 135808339 883235277 450742657 990030390 409954858 258961142 991489181 184245531 232260283 337861023 256884347 928447317 179932653 238609858 731191273 697899020 847312118 31565437 514183738 330880457 625724093 852774449 687036166 952661542 725844427 488690210 369930252 87835648 971441383 424145629 218201999 264802364 241400757 587219728 740447682 808989367 416790064 947774099 788356849 44819972 275574547 971078073 531165161 2214358 624251342 986433923 623139074 372586867 512301460 818462045 246839848 729099562 141320621 305822316 105561780 659760756 517681457 646486737 640203402 98312034 211686942 355746737 189703436 387294693 630792228 203378334 858516380 229105609 620499734 869636998 870360512 869668495 22514016 602910389 148596225 975524414 784008875 731736004 565630972 34363089 244214185 929791457 904001495 981087916 269736405 10743335 30404589 676145450 144133975 282592605 931283577 140697255 983750992 481582681 27828068 248717985 863607494 887947011 227434212 714348667 154175566 785928928 76973731 974565866 807754569 343961413 587646879 155226060 869488108 626208743 592531455 787909197 742664803 963217687 659803311 565167506 547628341 87192957 13923725 768405368 134442685 728600661 650308658 851781925 469503202 323638209 42182026 468946735 95529043 282287057 437390608 913169270 723513801 581266720 938368632 227511577 129646849 361792476 694162837 618602010 817967260 509216513 997710680 766153984 969068399 74157754 452412066 782491262 735326870 404921100 330147748 717516614 394623714 654332742 68066277 624083950 699742934 572008094 681728656 463731252 283604289 844809149 431145406 181101713 334098635 846544610 668060208 502922249 353057788 918377459 806339847 197599741 800373299 407032245 844610531 223040690 70886280 712573411 345046495 437169357 623799039 75545635 691170724 594764651 292416295 444403645 237465274 433852312 653634577 211246549 393714801 43026273 889727656 599881702 581667412 680694756 240432666 803008796 924720039 891697136 776608453 983040430 874088859 856727567 986859263 655199358 297471155 696709723 368863492 766199610 205955445 765518354 454251932 712502339 45436257 703763802 581214087 421218695 866136142 602088404 905191527 22863427 336478651 530083615 347127998 859572844 87105391 830870400 592202228 556086533 595809420 434254678 180896947 161229199 20932947 23385193 730557757 488211710 154823967 83376136 202131760 628426069 334255871 680233936 501767129 68310813 781162966 678810827 272148051 252890061 530149895 605352477 297682250 477274671 94224360 891440465 119788823 431162324 973840261 874455771 595478132 474892492 564920413 71994518 158993091 896556566 736703452 905637168 788684533 542443665 288936787 627217166 369632685 402811445 691984206 978760313 104556840 597552266 580264094 781360931 879503768 142227365 907423631 705235954 785105703 66455846 379813518 984715489 609889769 302921119 980258223 933097983 163734745 880521392 5931801 611290836 483912441 926686982 438826378 287460803 499884454 29138473 902169467 478245633 703009280 860842649 546626922 455583893 274167365 334863591 943408843 855048366 455630043 2239373 41516946 229405602 624330332 900647858 336662784 533887829 326163645 659358508 682837194 470304893 522600713 151946934 185731739 114627240 47365961 928728053 327052815 811625638 227193640 97419938 257303777 796948661 173484612 580304843 463533825 951984234 752346208 596956314 526876555 96513146 309765479 578620638 935490813 751750357 946817089 232697145 750949565 148182280 448916171 88746406 602896167 434387385 717814212 725581866 789378851 597711202 681757175 6589561 609891954 168535487 719625649 624663394 140785795 340361406 861364370 354733530 661627513 795199327 405023132 364591696 282091495 7398694 907546795 932196015 995281351 166646273 755799650 898005886 243254194 41081532 798516708 138442936 969533889 644047403 318337773 193315869 688484132 578190506 903623921 975273353 39887789 870003690 389488961 28835655 575391273 317783657 860213711 417228483 378711756 363272493 225541295 770510921 460980678 810649581 667671397 613154665 938267919 450228640 973538800 829612874 264982638 15004035 173427426 627347961 351848026 296029398 407970394 894623655 798185937 754258649 959981030 130260470 247225129 183498173 658846685 763082925 66449833 906676051 906254422 515154165 576035 883074400 808211228 416634410 545822189 763566640 267765536 482424417 743545609 330589182 226001014 27246969 516560363 428442061 69548154 88472 27306192 685849009 226440026 881283573 421822998 612125886 125091600 15979328 213859658 291974199 320064853 34996665 788812474 198857416 354549130 772917663 78501165 808902388 172017000 971929626 869606336 358541915 244384632 131316595 774078042 868702186 549558627 185752355 399622382 184793677 876840982 374077751 709618137 972760302 756253199 563847892 106053801 108835094 667521422 182576653 416136972 111634881 104461878 839662199 535032739 878835877 9622388 132236172 873422299 55868024 617110404 776689073 123981057 593236826 97007979 150857799 647909954 131844948 620139659 405625394 69684707 639640583 552771504 620775599 930373646 396554920 201220248 982000265 172398024 359205322 144755565 553232971 846932795 707932002 542946395 485645016 404632645 138719158 879831582 849871666 739204152 221963344 451217991 367337969 850085206 441474318 875132819 246908936 605928991 883215784 751857862 532863272 379899859 60905994 547289809 517497263 720639418 412057795 349232193 870136942 290953844 629907296 374231936 635666696 896692628 598105527 673111046 436124084 600667650 365077869 36287773 276530051 977220064 425608224 732300132 629711434 726308417 606967542 565021850 651771612 998193142 627908824 894260859 12377728 701802231 610245826 816925954 363674578 509589963 325639231 204954313 167141827 52509199 413133864 827046205 861207456 449914097 441050062 76427980 947450553 372198150 27904162 197114529 240782445 158752374 449240730 735030927 829724718 271496753 174962552 961246316 76514890 756915418 997207 149088378 393774159 462027293 490573514 281468970 172806368 766089215 965408284 590081895 256412298 677687381 763299439 904414284 704072756 515743873 988551924 277350673 101104281 304132237 584660037 379541148 973977078 36006060 381831895 269540355 743936431 872732535 33224262 353413370 582980494 365829118 255714936 801084177 324251460 308372214 650642682 773864762 445363849 681180447 388212255 187765994 443648108 460041472 384418604 695289833 887803100 644481127 901343727 311867448 255025765 683674743 69528511 142347362 862223474 524380333 889667101 696007576 974895651 571778845 40583839 220741078 530341734 696267990 545335611 801833801 976177607 627396113 32257665 546487241 670171958 34304073 81946562 1419757 963031282 868915339 34397396 192428169 795746395 644174738 266410181 251508426 289602553 235557352 89674745 398532541 6662710 337945167 492921313 601427145 254085974 777113536 13608050 607292714 671952305 988890740 979364233 710897217 405144824 222376 268100397 248605209 612315804 742948381 886995767 118402471 566068331 399102654 143527379 87577807 204761782 288269798 321572868 298856659 867537061 597334341 411311286 10815626 628401906 30598585 227824999 553564648 97854608 965859321 939822695 5844519 832859389 911513337 631124547 356026482 256960418 203663184 320633941 421834304 306246157 552148359 576471482 901743132 205210032 385693006 968729726 275080178 281909960 120756327 293421047 932318011 564463494 133919174 669580947 86312103 527118456 939296551 377914741 687722495 413735349 567757166 120876983 437071974 893355972 994887170 421567254 861872988 165571476 600760060 561310878 867414746 335236083 156353587 227866738 143307940 931077848 260857528 892052964 58598549 995293973 91884218 689541588 195961258 598437161 603115406 738886827 752802222 872911061 96651221 66675505 768361871 658242297 846169384 281832692 445935687 606797081 932791813 896675634 385321500 355494671 141498834 333644196 736253182 794978894 337903922 116836277 168225245 578393066 231131731 222329426 86602383 203182181 2104535 632078357 995794529 383723064 896975833 975681528 269134294 192577936 363463983 174236905 700505647 326499416 642626 198487746 964138645 523203327 624953747 864772881 548841739 759973056 611638047 42079152 492332090 648515177 590683690 550703491 54477230 217907418 294155698 85748771 4899227 951579452 279878764 96511428 543802901 210825956 304014254 309727102 417260529 676769350 47354474 584414708 3878744 123588384 304156440 505057463 255087250 143144223 860727745 687394779 812763737 407036303 202127368 151521241 284394257 213159715 22173264 956793802 296304551 217896245 900459608 647752769 539586337 431507176 413907221 199941939 173447454 205688557 111205130 618818577 94039308 658094757 571627711 980094342 245812438 659172503 814860267 836469136 216368777 285777827 614903133 466511009 159852689 650283464 566043390 533353957 964266492 128915135 678626869 620923068 386979172 868962554 164065825 59378794 928491893 974937852 28275081 731140968 146151355 95797146 559230841 995540992 694153567 682052969 825359911 860459491 324324931 169534207 150133424 109495225 953899950 290332678 66296544 144455307 904008686 566243851 44408096 605178888 43046508 781904886 190165139 723514550 411211685 240081210 184051953 311295432 317044829 695620490 174597454 108826981 816177861 348194534 696766681 18497502 129991466 71581144 173933411 617677605 520891279 781914212 357759092 108465092 699050901 386274264 250510063 86452593 51701601 408224931 166997942 469961742 299608908 160827571 257761422 451165301 251878447 344652082 29292500 846596097 444995161 964142041 517865958 667684646 870447458 727068833 725209555 201454412 93983980 546259513 193965617 642129971 775018663 587555251 887353619 33373379 298767361 6585182 632866857 351304664 616328695 365724775 986725162 843014236 324695746 787362941 911931727 320299203 186728575 612543484 460835286 22310106 697063378 504081298 936209784 299312790 354828865 391302657 567110295 452084026 932597782 339132629 231731713 697127720 486632586 635807953 485594321 627422341 915545748 711661295 487311601 79561767 927288012 782681089 675809422 348881974 258897029 186477037 442924475 176308685 445071684 774473611 392143828 873520753 454495979 422902746 862026121 277323931 109436095 776382491 801775896 136928783 314186428 570541583 819993743 222471810 162407545 118965082 494667994 172385304 668528091 296689585 756648972 161053881 331948470 636894208 581712114 823024197 239383099 573458834 18052675 202136293 221595582 47551456 407847234 605951999 847373229 565991489 372715241 160085563 915967684 951471440 38505136 25400778 857735917 583645889 291916073 977845803 237562261 742334383 189003262 220949430 89915211 506222037 57205475 406633352 786185698 397885198 195671190 214675482 543784312 851305536 894516328 626364072 700339598 105020604 287901961 7543098 235265212 783493664 448853693 202705999 521822150 434772947 29715752 590830939 553542610 481599761 94263271 469848864 895095480 967292637 204618398 467966488 389624684 823371806 90562593 865518105 84372414 999046199 671399187 78288134 572119296 73645396 856826788 459845631 336542392 800181898 808067609 535963814 91736491 447995217 152994471 568597806 468626023 568776821 572215536 210088581 609835088 980332308 566425247 207693157 388754681 495213739 540817319 206138861 986699287 340853929 960796673 564062498 579545538 142793776 500689920 703768501 3958562 969255992 771535327 615069315 199157904 208344328 952299772 879378426 41446663 730329105 997876736 746769486 58601886 80410647 185578229 909693880 730381663 736560013 290929298 196734446 7519343 441205616 666461418 989968897 901035729 158736803 138101607 533761616 73942194 915166501 682349886 182038204 77906008 499565377 310104877 95895141 731720412 265138057 26654014 232918241 84784137 790329701 523674120 35271074 629374949 520486390 644588042 564831925 535463750 604555374 548058720 181514775 92463614 782840000 394079005 843791494 755727540 725576296 147213157 700825373 889022484 324263017 98391240 560750479 164876330 307255629 718479689 72353472 905105013 702034670 90133898 247568923 104197884 996430111 557574177 173137605 286041383 80303951 395041561 245471533 452582098 420554092 877957904 163349466 144557977 116775526 589862215 682567886 926647506 223396875 942996002 30992217 743228000 562350910 169049463 435920561 396323509 994715870 233304177 827227261 28263530 91310579 543977369 64660476 66916665 320481451 200485976 975610945 192281630 165980152 971111526 577479727 425080461 90052720 413841413 474443187 459076829 257830177 529013381 208234371 924507353 831598850 500175905 966280878 424272888 450123761 760319044 135057390 734962134 942628617 917317613 357647640 705151331 795645194 962599240 701222335 12880850 650227133 32127445 247723813 552837163 661647430 778078167 539726749 636809371 291887023 854620882 302073427 229492490 250023174 750074254 780788008 553333696 470469577 961264637 823122219 531735284 860684748 756704134 424100010 130894804 646390 252018777 206843660 513685857 296884360 488746301 129013675 330257367 357027321 81302447 149363045 876388471 293816132 739376136 894977686 581058466 528830838 201848814 70549871 392795688 760507930 848428644 702830622 207236362 550412682 499044011 700024504 393503831 653803239 361315703 150388849 935154509 832915342 308181150 917464534 107311431 812997105 356213908 16972638 679726774 169940781 573157321 937418202 132689866 484988549 933843011 220069367 438409373 150454213 904702644 704314180 21985900 359461343 882631445 583632884 904964095 938435185 674157110 129383857 424115937 377831531 29471998 538564961 244449787 178901048 197970438 617725727 770731992 398814690 971785853 713406505 137351807 528097883 29334276 30563987 842522284 830787529 970143517 950110566 930494510 674962103 813145860 346512612 85009086 220704812 169876447 599176989 806906711 892153492 382408124 45284945 22108698 149274150 391280465 951202617 132889200 693074816 261498070 776544354 673133265 15497683 69305371 514961865 829285778 1897839 27407901 68324528 128452421 143666828 982079674 575938723 772100901 983593898 854341039 407979648 791876954 723587285 34423654 646763704 93007262 817856321 587191516 325200539 712509467 818846533 213735889 827192751 763246432 248164352 909281806 671163018 801609016 879026360 31783449 502880972 540545014 78215525 626566736 663878187 585353619 298084847 731159356 898089907 536030648 118800278 2542807 723262856 314459109 419534539 269899899 219313694 570824337 746333258 775057714 550139363 526663086 938712390 595045237 622075368 703202507 367906720 556486757 445177600 870549275 238504081 684052903 205880489 170007879 198046284 751016610 798958941 643408935 832895693 2713745 319982543 500710487 835269513 281919596 524168952 134552 964967907 735300453 175874330 128002723 397142979 799730439 434177892 274778659 914109806 336752045 622331694 286221395 343099653 568890615 6131845 440129519 534238017 266737741 856376371 960176969 621531976 607223284 143009362 70160934 276501404 286896294 691197507 164270783 788504176 748841409 24657924 564888633 258699851 440522954 212118151 20924820 800404155 702148350 397169932 960651963 84412438 881210348 948935991 197707571 879071724 210846591 660748201 555655128 551195666 598103423 252485662 280270129 32580125 350972007 727511625 14757388 748283380 379736315 220528416 183461008 402490363 124766884 627197328 257357637 205592362 287788086 170992999 900187373 220988110 937936134 450681797 124325288 203947556 666424305 73848458 70587818 406002403 649681752 564831398 467083898 561337747 989235703 379128683 303921086 380204960 776293586 234093102 803850131 109098350 623703304 304697295 262589258 786467919 93693167 844837964 568707430 184212194 950843820 608615816 573807132 754655324 921115333 289927069 409943719 268491130 196798775 806139778 72456046 751542700 514264867 455659228 788234650 747327385 727259359 746325451 273768142 738920159 888239947 159423026 106290207 315317703 470701484 130712990 97450149 66938136 146623987 476302925 744166505 43190203 929448035 603333689 305697050 354460883 876799872 736887762 475848241 177666451 138070900 725513357 210394369 649499712 710973952 835813551 534989321 766907559 809887881 119528748 327950024 828751544 73869650 286454967 177837965 427524382 678778388 348434451 28337350 481630676 498169611 851025203 442720346 904615035 817843070 463381425 183329225 305384675 357515694 768739803 178951650 722248506 608744862 878328828 910050423 94904000 758880574 605665258 870307032 476886838 220947140 132091604 301646054 390768093 921011541 520488257 771672450 322439583 901732990 448881690 408588457 329843587 21772406 837431913 643166220 166591671 156234879 692737401 958250342 829220459 968838722 839277450 992066925 883426231 325966186 425688593 440399728 95713161 73512408 609026061 174749183 431808433 449408934 531610080 785116479 942180189 43219579 83103606 523421730 829554338 627391845 356006880 629625830 915287432 553958451 947549473 518034675 542691580 162297139 788189934 279872603 697471667 598131428 194612948 763404226 874571858 702437277 89599074 927479634 164961751 283140952 808253302 284595851 658389932 186919714 57815170 756825568 849331283 53269854 77050348 239559703 873514639 192375611 106115546 89954880 292914877 866117470 135879632 270564137 833148119 96792625 933316391 838103027 723399225 554737370 540749947 207414979 151873796 95999853 487922602 584029087 95392341 475456681 871816833 178319613 479817702 554366320 416467103 868318018 909218778 472446155 647901289 800325565 671873943 272313096 169273420 682642596 83211928 399861454 762807918 912182778 712282498 432361156 213516681 379360375 230791102 752789566 91093766 970162490 967827750 485659910 265626156 171505542 904236224 289875551 540754248 101607467 887192837 667150017 138775114 851433314 46071946 537364587 469334530 462698489 31739769 754068330 407149256 391626349 727531570 529119670 264965325 221152581 583982945 303033303 44382019 605092677 212766784 83778110 213628619 854488782 358015568 257310733 12096776 610309397 622734970 477383166 160188430 602368304 208634848 420449956 939374487 68399889 417459816 9936009 974998036 735656860 95413022 414327921 951299954 22015380 933122651 706067734 474232524 378013196 641235765 874244761 195719055 773332751 576155431 506557116 281456210 358806135 608112828 10962959 288526713 20543078 104031895 152996617 269035294 347140038 820546602 298844199 240823004 470587974 221396863 40586549 737431415 984339037 942285624 112158566 129648526 888153727 510546301 157098231 3445746 209531561 142866077 629167195 472920030 400034851 33051143 251876178 651828239 146463544 812212910 756470796 969614217 943978025 269476923 318848755 686929524 730315556 698424632 823101467 682213784 779489881 855392176 217298431 572137231 482135630 718880441 555385763 427268030 749305678 259430260 343713085 547953608 526367482 187815741 604066044 942512784 601040878 527285999 973714607 290685273 343502104 891319749 622038462 212574273 82658146 994343050 929994537 616568706 64740275 330853509 931745387 613795637 109401338 692802834 630771982 400774561 164522178 185506909 726181066 92714343 750152058 355310634 444602714 663128593 839415727 93386245 126931780 731835709 439753358 707305482 73961514 302046789 985114571 199640933 48453967 219735189 319869798 875148855 520622249 831409978 513390767 830198249 113493300 137425809 414405171 74629145 544334986 748493907 608478638 61194484 197425724 265278358 7071736 868921852 13899920 926122391 169544466 122467017 505496310 873956013 373327146 75166572 779061410 200307252 663978762 470119062 950722055 909605541 603033393 57949835 31407487 691649629 732652237 892166191 317393091 621609304 963672997 809674607 399161297 33579359 911168617 750981425 956622515 208222625 135228119 197809358 473539700 844813832 714487124 832852477 75624885 331651879 480646755 193508787 546450949 5982183 11195956 43504440 711122914 932900856 974606797 3935090 380632135 907608041 883847958 236274818 388273925 109288170 770976387 730475770 673911088 484368322 852463585 874882241 864780112 116286432 531589921 728852715 382313946 188857840 408118015 859852037 966755245 719810826 922797489 420889881 671121930 169783311 429276296 364129094 549988757 312625846 514808248 874157150 565980802 68982913 600719303 949913326 694961739 149464963 279600947 961037343 658937978 999043413 332313567 539434558 317170345 699964226 759161848 662418988 891699115 520968956 46951867 264210655 756248802 660958985 327460695 221350880 514842113 529572860 644189271 24350051 403097784 599286529 670807896 453021114 701156278 31817870 504295394 616213933 374394598 980804241 747967899 397223553 228415451 97749727 850629342 454272917 683039572 764441556 706840814 454393333 86259677 209058601 262909878 982667355 86778536 373600924 588536907 447916391 277133940 661175928 523486925 773196590 614820782 588245724 454302385 767629038 492658560 257539656 527910246 473684808 310285290 530321823 393730916 335190635 514572782 840105837 189219955 951922158 950599306 798792839 382546761 379996535 308321451 514993702 956812896 17503261 918176529 628544104 928160814 287551330 441369522 420358374 805623483 75547788 254655345 167329756 120531171 821244930 311473590 996212742 368493643 916304849 110663809 765292009 80943640 633163222 552646575 215906521 152344767 175952790 903778905 201650655 108965237 348640839 377014264 405012709 567627310 143558803 925053325 411965569 93150542 962106799 663987477 565298453 844419873 264720200 619956864 152402803 15836024 282830594 828585195 895851776 678354241 503695802 518147056 609324948 395442361 63234875 375946422 705634395 545457542 595671964 303936335 446689771 32120484 807980775 899003572 232087156 165795811 594158397 81222603 827779101 895039439 446816621 137328711 445923076 149966360 73274831 973216339 635468853 257061767 441478435 850638730 543053273 373258 225483784 55199935 696507400 797184676 854211577 239648194 722706154 297530650 684529684 565352736 802871646 638497444 83063637 573296487 661283621 178232358 399749151 913055878 730933541 374398435 111248186 139074546 505962399 195423206 33863422 476241017 484039644 940466978 495212114 722297093 779776992 736411283 826059692 195279415 848026874 793853309 352622799 817223892 284605573 638318948 522245478 357788051 175259617 983271077 116775858 121985278 152377560 932897653 807312365 623209323 495806 813275490 534547931 906436134 399327153 662204216 151816302 210891826 546651323 970570262 87497516 504242312 278564397 735405743 182794736 162173045 78309854 182382078 830054088 556363448 84365327 387381821 842817987 45372606 97360478 883807495 110055112 702940536 419039675 869676158 244644852 663564803 522254198 37463093 3707015 780050177 467576831 833636885 781848998 465997740 987259014 752771575 596528080 807374574 24835259 244486864 151177624 677710238 606009271 61024012 648255664 63512600 89227818 845783376 134959940 116998932 143191699 134922600 833196350 331613953 647749348 910124670 816526967 933319129 271330324 292985059 759023505 972906077 58086327 163362024 962385104 418909276 688996195 363199783 263533178 619441292 144866116 268895854 517699843 225018108 578410283 946661196 321623218 812178744 864536785 8406672 385666235 720672790 507198600 52402039 513572425 340279349 78713730 398164912 405100762 95643267 214830804 949684631 677549739 726124385 829256253 804830684 224530719 699307430 143183992 312689362 588652780 868384621 152146166 705476865 205116999 813485254 74966835 979439384 237885831 974918131 503893449 764102189 668390605 779254906 936922721 418277549 736096105 607950558 170359855 226382011 588455249 279337836 826064706 835703940 656597635 999477516 86045719 709639700 341092623 491746491 561982944 809716712 831300901 57510318 319674484 116213782 955124934 205782022 590902562 307204765 138340097 760454512 865206809 852694893 293413237 601167288 207376399 120935810 425157337 684291814 739116443 938595300 164535184 495164320 231182958 554101161 443259648 149582936 638285591 141671637 814157993 351119457 617779469 434421435 205925807 805944355 179955741 736703714 347485122 806371939 199336846 131558031 933219116 517084225 362048683 796245420 167639264 641313593 978394734 215034662 922118654 651312131 117275326 247410207 213239970 787702990 946542331 37030040 57708179 301511120 457569594 814694862 642870722 563926365 907673355 350813082 883773795 231703583 164929814 123298515 57938889 439103751 356672770 221262788 428218413 960912965 201204199 376899215 174926531 632105071 339648373 77410627 239434115 792211100 257432660 23726144 661244346 327179835 766428842 947851439 910594910 196497966 954925916 401595511 979468665 340250192 999843453 812393128 76066220 693453697 120257696 78832510 371690092 975078488 808658964 502488147 27151473 135320593 517966835 205240501 3942767 563550856 723446830 423063258 984068695 744952379 696807627 773512980 973624156 805274916 353800663 404925906 804682156 353336252 951376728 598250148 729610363 351190453 28458851 396087184 660036100 246232323 125590711 657751763 516424217 150773927 850542102 543812129 344975951 807073456 133039531 11746282 418266694 553939757 76604815 254022092 949102041 834313286 590926709 900817563 360655579 986933842 30929724 584468437 969560221 236495077 74220808 811341515 779587123 386512637 126676362 789683226 433571324 117544418 324383602 636463829 7850778 664804903 754826589 813783885 154345733 59830496 758698550 107939243 954344857 638587286 611613791 57078874 417780509 912098454 650334970 93044232 181677418 913730639 992606196 125807804 962082600 999523547 709033080 351185845 191685613 188216843 248404676 95226514 164332506 974868774 83933139 526175722 356795841 388482419 820217395 203356064 161227384 444960212 964388785 783762771 84379703 826960774 555171377 269301634 12070446 641525944 778057476 40006969 269314486 316239903 14200002 437510389 725335778 599616164 186414780 159238697 788872312 934616167 164315958 110446307 588100539 201420410 917279813 266096269 899509091 74676876 792583580 52354964 432218804 117972514 253717242 249648596 807193262 400209981 919667329 277803545 426217324 316875976 115502122 98724078 803831730 882021279 220208624 111134772 399478119 524084456 238049102 828585254 239082832 973199269 55477821 343183728 809417768 670398059 758864612 83372054 62233002 497163528 844965937 280528682 393010231 841954699 438477071 878013849 744996417 134925702 45835060 48705859 18561551 349080248 293339905 575234574 90616378 258572166 658815206 116416857 478682116 639070087 810865179 408719701 315567510 700425086 25201579 127858846 34064127 214284132 416251634 237183918 651034758 852675882 527428351 316394105 40057475 66879717 196203230 150824408 341829834 421921614 219359722 421586757 271472660 4890500 970765530 62809840 531473265 841993552 44346834 432673640 224746256 372019381 142898528 879135212 520867140 761514877 639911059 462917621 161801924 861774562 219107976 684267773 393445199 930591446 765374381 10543431 427998515 394026583 352099784 344127190 545708983 79873339 127084162 911338951 30553014 301221579 773353142 523980003 763995686 54459095 46669571 184308895 973989448 857328770 838472798 71584249 498241082 925995714 72978511 536839940 835213587 908389094 653246182 318980293 481540662 23705990 72030922 110203772 236328535 16177379 941881006 269714981 919798244 781710839 164251353 660126046 98602607 769718397 342205178 571044942 907736906 236259434 128382391 480580605 617861010 995670212 586357730 628242636 74872475 403667999 769402565 478395565 168740701 635488061 778485585 745855253 120515320 312297969 748789965 51336078 568351779 976147635 986622386 145799883 575453628 264652191 639103856 817130194 573035327 446893179 152902942 537515606 176803256 127873529 228365628 147025241 419703959 907432116 641148931 84038237 776467350 137647002 996685866 619208729 373224190 244426164 8237850 895448830 466073296 277651988 121571523 765163361 67322335 195017154 861591241 527692502 783544860 345502050 148408518 240476542 997141589 199858121 282712117 292324574 476873738 183976043 908838852 983822053 238200140 363725866 307441706 245130668 776819934 258932211 209023896 883625126 451300845 357283547 385745278 405055210 581723375 138423245 277646385 908576166 754872658 189581266 5265426 482179598 453106393 15583301 705126695 144177100 214448806 776750276 945486116 37214176 760678936 215482042 974813459 630812307 802291181 673309682 253281557 290071851 603052559 969037897 396209617 32885887 991860239 495323647 149905844 17667660 798232423 66102780 760375810 567763366 816336170 245313004 73260588 363711731 38574365 810339873 982360945 21343306 822499216 473063752 246689106 306795108 513596548 165637142 22488853 802142866 983351760 983456880 370315135 680347853 48784856 492519191 540277335 43247207 50425999 43376467 728702892 906735517 638027755 727203060 535729287 41749430 231517115 603841604 613711442 584485084 406885785 506016602 850259269 604647167 780096402 638433983 634142029 290954121 267636287 84673097 997840950 686367298 631670956 788221297 298866744 316422569 687783706 649898422 308873892 295237817 72372270 714963432 104268906 399740440 863324559 285647050 915932089 256967447 213007500 525799940 427369799 825229358 202262159 25881667 26636572 759437230 596163660 272609820 372246890 522932035 779827430 23431462 919900803 210237037 865735950 313027601 102521759 484806553 156729864 614986286 728628675 97998148 658364722 428511747 95845104 590757453 282583707 717700722 935944031 296295413 310820206 71901733 809580245 225228246 282825093 184268565 224430265 855420287 632704101 683458649 370188772 839710088 637020160 859183216 924949189 271078692 60002947 135425162 749374690 419820315 229235926 839630912 374638208 30473904 174794709 537927342 796861234 462148232 214040790 542527826 892824283 41989425 219152725 444087475 167211097 319244822 648085409 998623292 86409316 72565256 153115650 318019443 918876959 896911963 321224252 643035235 270748748 628198912 695139070 236546460 860804242 243794513 880921470 125598252 252750749 714486224 23819111 918115978 865628955 155938374 419714434 136628264 186354147 756814217 84156991 629767179 163514645 198455744 96854059 421679438 901880257 487290258 935452057 286928334 309945779 209108151 211978472 504642670 131817224 405483793 970321261 649222985 650491861 654592922 413018500 326569794 193914305 716895255 630371692 43157250 136970378 76098347 96509620 813848994 171653575 789833531 387371736 359585873 174453294 69116474 778725199 628597108 874046556 772401775 356894565 617355801 189890165 833626863 855367847 320162686 695046815 804119602 62626589 745382123 579082578 106044528 656781061 936001185 618043204 839088114 335982174 4364189 788853383 930947151 876287591 158966408 211946450 696726498 46819101 907355019 171538693 872402481 377580354 171741568 610115459 509340127 758977156 44239345 522238615 591168170 117048816 858182975 461950504 220578794 843036500 188100166 454708710 367973597 908278821 396788475 664714545 237440225 338573951 190480629 488447692 962458370 851163017 335092828 685700294 247240773 877574560 181105531 851490385 716685813 764778745 924436636 548566715 609971032 942988350 829454919 33588483 202800872 380535759 314674338 491482147 738327469 825213303 881849715 1219351 671875235 885304829 784832049 416647808 557117108 106014591 888143164 762053882 534230475 699456505 375892474 770839499 855393136 482491576 191799933 135212674 143719559 62227116 207412106 560906267 21853691 461177487 209184467 587022192 955299916 65850576 369851094 140954601 904727214 445970136 831328206 255140752 637579529 845904103 320549305 310515498 101130003 453118132 583263550 607203493 589366503 376370295 648107228 572829778 161167161 224266953 165867833 149513184 889910895 238224585 590498056 882325949 260220507 934144603 18319402 765169740 659697878 109653990 605483929 803013625 12457991 590540895 635963184 433895542 749605574 136114565 690383005 592255768 861394258 693710652 812789734 504169175 659907846 237271648 5265708 924830032 267548442 765016621 83330853 286513720 229184922 494001844 709624712 823207918 81397836 296701649 623623440 2406568 717269586 16393572 494353610 555769802 305462064 852864412 134188631 931132483 335469614 566578209 636916713 928538725 128933707 821013378 901826870 58104870 12548849 913561107 251981180 950697157 782843128 381692896 705943499 120552491 54713781 284550813 310944407 374968124 961071087 946228330 59154665 545512397 896411609 212468143 736143772 212997774 270464062 66027514 21333989 501654965 516976891 904297530 244046147 35854666 632903397 355061371 376746300 710291191 891826595 250499730 400941286 489329831 563417729 132405550 855962837 241742487 93122609 103006804 60253893 847228766 167497357 802025875 117912649 781134847 82165765 723472260 487779892 24596789 568785893 766392682 268330991 759190958 804228716 132977491 441872281 651082743 79169041 160709882 759289356 178028913 897196450 591778253 142018789 620815247 78863968 536029334 506915734 459148844 988693199 571338719 499083992 62193783 474616550 560940909 576096494 407681502 552829259 587653450 233328797 714235135 408567766 240706051 420549435 93742297 273022110 169683788 582992796 309078024 715975527 103960694 355849728 78902512 75555914 431969051 659018849 95234384 462583451 494942578 195138344 847970205 987005932 481382849 244824111 148183084 890757264 286820292 779006690 38089548 280428427 652727722 792330279 413574887 647784764 718570700 187701276 404761277 895277670 593119961 895570597 149106415 635728086 671590873 328595201 418465733 52979712 61121021 975746462 62509206 100485694 818059373 769325020 6711326 537146507 865703547 753726752 463884255 504370783 797281010 292831509 778150822 12633635 596564176 896220275 890926599 482619108 71430926 294871499 756676787 821214383 367408121 445003971 948611650 864028562 214968145 108152690 299410713 29061420 151676891 64894808 679549265 817461414 860887706 982969641 880029773 386824054 589551934 324373937 179418014 166857841 573712830 285859610 925912968 131511074 407335180 455469786 917816020 538092968 486930923 817585172 55212284 326301901 470842726 768189756 823307684 101949044 481215398 145509090 321006190 877873206 157593415 585036775 963804336 708739952 146211008 330375249 649847073 684535133 614678485 23720852 855927070 214324906 96299732 835928530 35990700 182248142 65869779 533264954 130477878 898587689 241756260 49294339 768892196 860850539 235014505 713985778 28911519 17729402 626724967 166043044 226588903 173878849 412435673 481466491 212051573 12099564 271908125 73899674 996308783 256270876 761994430 533995454 922298068 188518650 417617943 956792987 106178289 550278336 164909792 239535271 766282324 186281789 816926814 365596143 750367979 817514830 765802567 729035410 915155259 677306095 206677294 27293507 597513902 897202336 864923615 15289855 655175872 913484577 241325281 960798471 51326434 780313491 230208233 809792892 66489557 917198829 863976697 384797908 670051012 162712050 98528616 508082876 193095996 581174129 285615168 726997985 682155308 78011014 448417662 799979223 88254690 715846843 550477225 497279602 56660178 262613634 69323167 149999274 922618605 719497170 273864944 248002127 278556028 614890066 239365329 217583471 36652074 192626801 39263636 950608498 936998038 274356083 737045331 344936149 688108383 774009255 830585073 690052966 894083442 238978542 374444338 874216280 107792571 573083680 50136911 929009468 67451719 705441674 449634530 464985258 310476921 59943730 527190111 734008756 982848575 829323724 379519414 630377856 481407328 194504735 572430841 74867155 30761936 706366651 890571559 675026367 363174340 588101700 797079633 759193501 674390126 568218379 943262111 823729550 484822176 178084944 632730490 626881136 165588914 78904391 706377402 380796613 95932563 68594971 765566769 899241460 685176114 224483889 39335097 266098466 924234102 668311948 720375 476189804 115192677 733945567 305864224 242313097 456809466 154541356 675488433 531448739 777459838 52219146 696253183 22519171 245661243 241087073 137217388 235696747 306820322 284159019 375207801 288366574 755677283 129656759 378381725 204368253 443149589 845540472 674877523 458949815 925571921 538336101 643167730 18930610 697969662 277539837 658427078 294298573 300536433 458690578 221545592 608849029 505809876 426383887 102870263 717001523 320276934 423270768 19225264 71966850 104480921 741885366 874462326 14945483 327250004 887410959 822805933 208459225 28895258 190321686 259699659 223679519 204004319 186868396 332103669 646139800 977854152 463736998 620386263 374328370 100744054 197845818 128964259 591910812 819077685 53788393 437586974 505714110 414353594 919304644 726310567 971940009 421977723 653382886 57896938 321673733 636289331 27525494 919764462 806549580 162888243 276723831 133056344 686728553 284782564 671262622 189860926 382291965 319771348 134601408 743243749 605113951 975360110 610951948 624399964 320134258 314272533 948884903 201188034 646092552 524623271 58905036 189722582 55777322 45742582 280196722 878982252 809919945 819460673 990000986 921555566 210676378 152917702 326817005 721026664 225296455 915159652 672369632 981615354 923966661 704549961 719601665 78598030 591031095 959596985 738921556 490362561 488129630 572318462 298698845 228696946 894049956 628841326 837705281 923185325 404707788 733815977 374507795 911360180 329611294 609685604 294338122 927653456 211197915 230373821 442589448 427482171 72937085 591963433 380394713 805860128 953513248 232415049 69657647 11059944 237062301 522796027 395721403 262089759 158757658 725734848 596430917 959379614 213755432 36126873 908031077 121919554 919686412 634266855 231479121 814266983 169871187 738583352 80651435 349011220 957738279 170232040 455326134 245623345 163458739 995883103 242255428 100010429 899906663 499356986 506279597 762562198 252418481 170914814 629835259 650466092 257207058 152775148 367757979 869917405 709316599 1693889 296045682 210415617 446561106 285043569 855776270 564263242 453941687 984512228 601394310 407608960 521743956 674754681 486326773 560488637 406358902 866546926 979304464 143938411 264650862 575904601 173569595 95659196 12515503 76248864 7581004 912027988 370237552 625179906 899576454 103075257 699981650 149904671 477217421 411794546 528470289 670093918 35357379 107131550 165363953 216159192 898317086 252482840 416390304 245512331 698905835 515996202 339897568 595358033 721161581 334452804 486116120 113616035 400915307 427156989 285223035 588878645 649944119 391651529 60287752 978406081 532513524 638297069 567726673 339248092 42972768 470683833 250707834 550695039 288553946 326455864 42529676 668263208 498741708 739338681 655609619 853322680 112991333 680972503 692639944 813716534 290117422 725973355 518309585 97586404 551735953 171023455 16753977 579164650 653486956 221307915 321630515 475075453 720626230 673755983 662889940 213697714 218725042 995194534 406869860 784215077 417309335 382117676 987675626 55639095 501648526 196587160 601224946 298573085 11509336 169884323 975954405 404918404 606609835 844650850 827336119 319059470 987998613 517600329 74332674 726540142 17542859 782361986 872190787 432553555 215385276 497658181 953477964 223622905 134339651 166745499 845682762 819412538 307403307 319184667 138806486 504449049 876121854 812761472 321739639 57522433 701450380 956781687 100822704 762714393 199817479 53269857 3156778 161828865 418917138 682151098 768053961 173996177 456873994 604176075 75822391 904431240 540377903 874425484 107310792 99834667 77007722 806141716 37476166 274466641 464224111 258714452 723837447 363127811 467733553 579759435 404886831 387666641 623980818 495366821 139098830 643819936 565286902 758563705 611534331 423927007 480107644 168583880 953127075 599222131 312749809 354812853 261370619 85366178 85941030 599803976 742232085 29733176 670167302 766948221 186020086 853364178 59648774 687597174 226084529 751898600 999178001 649008945 618522307 579333347 113527265 244483790 106708950 481238338 795335588 763765618 978028447 202517350 904159843 960541279 180184821 94381276 286066279 459262027 590857437 583412847 657738581 501837521 538053967 216611464 453981363 879887925 764716237 802937202 160078854 475575321 595453391 77964412 158020977 628985425 711850414 711003429 186330635 990751509 18512731 123561421 347659144 908419766 863261533 831623228 187961924 45594672 578224547 894874462 638826036 970197902 657946666 658696713 377172198 75548990 507047419 467324110 932514338 104835746 958490404 490799176 60756682 388089312 696241351 685322081 815229414 275591723 720312810 838242649 581997482 61420574 3075187 360433360 329140777 462951414 376929515 669614768 726587343 159712685 930307032 717968961 105613590 882645425 107729351 705123979 764065091 840257325 2283578 543916 769954973 892271761 444833141 826270161 204407461 985911550 452913894 965613257 775433057 754180258 46271409 56745618 403697345 704655522 283196217 380760797 639779725 776953621 206485340 604727002 940605978 982341026 849381207 996881273 994173069 495823539 92841646 942758682 434643815 952350489 280323767 560023785 815336134 490899083 549317982 472787375 232988436 902945058 735315209 545825779 146836826 73503370 442204735 382873868 772206946 825480547 334804367 636071852 372432742 654386851 879035993 142865372 181184759 888607558 821721667 168014608 814142959 130743099 138149945 278877366 736811935 241193148 715081578 157158604 416252295 704179477 98108793 585327193 730677843 777340056 295854128 476530289 64240934 104978846 976936093 292528097 275452650 210397870 935181859 934329994 723664930 72752150 727955726 550059327 629058241 636339186 926140699 412929287 840174148 236344017 566660248 21577078 89672179 996627252 649328005 184582993 126498642 54903242 3593103 198101269 172117893 609858249 810582936 466742237 981202579 61714719 331796463 647590865 958573840 797053001 588020073 852434916 622952321 521157706 578891989 387593942 688646637 901811195 850282022 810777958 23214042 887031058 424169621 626220454 562200363 930330794 335985007 510578728 375981891 361988718 240542175 43533410 281094728 292002848 964547753 328889630 341548338 490691814 364207654 871941884 373331630 849070681 145000930 874384364 174477126 240684534 202697116 21164958 732703893 675370146 144500705 572468087 863581568 773473170 59238693 638934321 615883047 920486985 517715966 578777580 878326044 231295367 459452916 745114084 336491824 298192793 787663824 620267918 152661115 870013794 34602892 836737343 396972239 589445752 721593242 504723505 998938095 172106969 334315103 667695513 520530305 181326998 306578721 449554654 55837640 843562348 501258611 345500944 327144888 699374809 229856768 173911997 348384418 767805055 270836751 310168982 63292500 180624953 534017439 832268156 823704991 539626319 228047350 203369846 815919896 564207814 311832059 33411461 371147353 314796731 916290437 745715045 18306827 445306412 5286614 271164621 771717699 280670249 87981191 62017648 141774720 517288547 733679839 344743609 11126162 155933050 839700507 660009225 502431695 659249573 336661380 376474749 81818303 377738357 681859832 282808073 162967020 232503569 384405584 774673687 953383245 324503295 180530834 316235478 240931741 484475576 12751099 55337871 517408239 286296316 998478358 774719227 763953177 447332481 128629579 159321018 539055551 467544023 705958516 140313826 771203078 618446025 793587475 881398934 539964976 778808163 170074476 891305749 499356975 535554873 334530319 255201817 154931611 94967564 462981307 10596103 259119728 681859086 782074622 840230556 4310978 392521693 892111072 699057647 783913499 598235443 37944847 794245211 701839764 234163543 458323670 851659432 742585247 322595129 627356065 492737590 232582866 641330390 95296908 345123717 922381151 674237023 908583752 202264034 383097160 847231917 35438608 34839005 14343523 299089120 635757480 886385560 530053574 808006091 777102882 124568220 831705110 88926024 23742544 352785940 707295340 175225309 605291020 886622449 993828573 382529741 661982998 891714096 840553981 910236798 204115010 840314391 47182933 477506958 645408168 582867803 710738268 263696109 362861749 650435096 175625073 468085996 223226001 697532213 650589472 327969235 621608729 138449413 303865011 306089622 361660654 685864254 347740937 986574843 30815006 822473440 159969582 425738061 674670974 76474119 190942316 688895606 834863280 534823025 28564806 916207042 162142458 870334780 490768125 44518112 382789789 158802419 473358514 154851107 790851626 589015838 330363650 24758099 96442285 69666010 695442672 369305320 86129839 338748669 288382851 434812558 115742761 893629753 774961832 612308764 372187907 815414289 95613927 843774494 162611298 582550320 827663466 830679176 248768757 237935340 295050101 149694865 705552239 469975283 581296074 252471406 571031449 3621203 654831431 493915768 258571102 930210860 176948 587228486 165296432 27927728 823114601 156913755 665116654 316345633 223757260 247347461 873601779 252888372 760869470 667805686 318294927 834404133 460028347 881427613 589573306 938222086 70042104 506712608 880802887 66073633 29163047 322493597 778890579 350669700 266463075 417165849 186883244 236182366 200287749 214519272 542476602 969016752 380869174 956469691 332595026 366552876 313488423 710612998 177527357 635019710 691923606 165491598 284652606 166915988 955722492 274844498 867904889 658718165 191697134 93090298 588039683 60913054 933934729 395391917 58572438 370993071 127358005 326490506 464356387 622999352 315722058 617085660 1529662 409611743 473243085 730325393 489101251 2958364 117687655 443707107 196991953 201149449 969890830 953646167 234983210 782930720 563237663 231446068 903036068 404877444 376194880 81675320 540248796 840987372 327990652 248342002 551104642 200655392 647877076 864323185 123774057 289967486 385119865 564469952 518620059 74963290 761210625 188911694 645951845 418694321 992734246 927351502 837226373 648793679 496186795 432846646 276670039 487470499 506174649 124105877 226627309 916074030 160553569 104125495 4993690 239886283 804934121 985604833 620483302 632712141 938813984 821257096 267752579 85688114 204818388 146873141 6155161 903255599 194519265 229138308 588136234 284884114 191871296 393397987 675341182 596330414 682998375 870738424 161931068 86299218 234507291 363354072 488762393 584246853 646193592 488062617 103553685 605148507 245559960 95237344 33700677 336111616 119178767 596144422 785518770 430556861 103105890 1311201 989388444 310896912 11509969 435404819 296542146 151660382 866460064 91338136 702654158 914792145 815956246 755429591 70042040 189243280 503030245 887342633 582275515 914685670 115552817 275039425 499353655 428434283 769615582 526662054 879780733 940518143 858194342 88244799 142291096 727536754 332477375 247247185 119179200 483898047 422570306 915117688 497335626 601377392 93665578 195042881 891178589 676857897 913126024 5818643 676598220 637873642 55370018 624475117 448326654 256699549 10802328 441967115 281358234 596269520 885021312 890979212 650219906 618190818 280556317 324157835 342024964 549185536 48436069 596072310 154447386 712836051 475378742 45290313 254317021 402926940 9132105 499621361 469296886 642615981 738216806 702387957 659398702 970039823 571549768 63427107 884919438 963780154 458876654 548817366 976198868 306304006 656558957 941284967 837543223 246741362 42941403 305532725 213993967 393864545 36821801 10744342 933322015 199228458 977144708 110295828 127046706 17511621 252341443 841827083 951353102 374549537 849448009 378809505 377526225 88729828 226583978 147230118 578813411 350112978 479485990 147522769 695699182 136629068 615967513 771612337 772630317 129717171 635251632 902038100 188958600 117893478 248675271 197486128 522887727 293130515 1147945 418402851 214703085 117184794 405617155 919414980 746292349 300370608 766945518 585090193 975628744 558008664 872260596 380935353 783050313 720369617 42114470 927429333 377039184 888874785 289306310 302672819 730064820 125560420 936514772 469028106 94051417 373813512 933741267 989269420 924581817 774817615 833226814 221847156 836629589 439979278 455210532 548770487 597279919 591560841 360409319 77203165 436475047 202647702 887985383 993468906 490292204 140061430 344928834 425970558 89514900 240973396 869811201 836212828 257341937 142352026 563992381 79838251 405358881 703614656 974571153 451353093 702171254 179194027 463674087 625838982 57189033 358522810 114399074 875186235 906041038 641951916 721304418 609966567 927213683 954194611 108513637 892990650 6546105 210463525 855475393 551402085 728095721 677018872 92059479 814690338 280261693 227784950 329391610 363310338 939052044 301051435 289637746 179500673 454319173 818392450 769148290 63398468 127479584 603221119 338833375 18870068 348974617 142278269 59430142 933740759 11864871 949151005 733926213 459826343 963241443 616961065 11947010 123880980 210544698 837856156 699552474 780172162 918162864 133983381 451382795 4023496 50197995 155368459 315870891 71028271 573989579 986912804 27695639 859413639 780338446 99575539 9439088 796096096 970062362 334363803 832290373 405868660 982777269 828042967 860554031 789848659 209879406 333480853 977192180 722880159 12704404 256446901 335488211 185457060 171784657 498931189 132568423 675574238 868960130 416475945 121310336 417390735 769807436 69541691 680056614 651117826 314484991 565462658 492709912 142770295 267593584 898339112 361042853 706860752 236721595 611423295 48346044 750366092 635325624 131860553 515027317 717673972 852055070 282449753 579328460 559206803 506251657 282044619 904739412 657896886 150133398 472470040 390168989 796936004 142536691 109748245 447071085 22526858 131539070 30216638 38552943 3941021 274659072 232782908 383481167 311616401 152804508 490831718 967053493 731366410 233842421 397784381 286981273 491834237 899755407 282936733 199841169 638293824 702098385 289052049 206128177 461746545 103824781 287732928 353872415 829682899 97820344 539023978 361309171 474026148 642992068 940328328 802930136 159664823 212552631 309560478 46641048 821637205 348299561 120577697 933478099 6568748 304575135 703108325 767174988 944743960 70743292 73481559 844813939 722863568 276790701 895646848 797789346 407323366 406496297 331060287 80822497 771048371 252100010 346165607 48548183 10577029 253008567 506281084 966088719 642514002 999717153 660156609 516058167 309349143 974606305 197145744 160224162 270732568 677883149 171306327 949519989 900840853 474696748 344923971 16809347 213968355 235368204 363361438 333579042 767668972 57574791 971172324 567767243 592832431 784172853 71574845 367566584 255846133 116665657 625794172 693343057 972913645 939109002 702034280 755432503 573371211 608824433 997740156 122758341 628678361 48724459 310615183 785137445 273730789 74736953 661761459 491989828 195513373 69887790 37184615 882389071 443738208 895072891 97172753 128988092 18778146 853370118 521201927 830627695 589327469 344463798 212650259 277010530 946781809 857509089 600946764 755896131 97212868 871834052 155527033 451767192 436526865 273275338 771273752 398707979 522134045 902109563 31661380 574290154 762718451 427229179 259457257 131888864 746258087 621511763 29110977 231844923 1744660 337961404 919755984 746267270 790095961 738303397 356073237 913072668 761293858 890011907 110473983 125205713 723636244 378279358 140111940 237477186 609281968 123783565 659120244 126031595 558539646 466951067 918229686 16065585 544514193 182787883 595084509 596312516 470991610 323604864 539774874 490655206 267371533 191253541 461888205 639368381 208573647 60887298 539318049 792421271 657541010 988257948 262983533 119190471 941321 668879291 434598883 312612786 223844019 97406842 67573488 6967431 11189248 611357552 108391127 600656538 755814917 569217733 124379979 187716390 650058948 99319738 39071542 122727886 121645545 89831423 447887637 214426181 946652118 603251272 784009584 260056 605244572 789143146 379341150 98403874 304545039 434151385 623318929 445103174 772423402 928901215 297444994 504659674 301467071 962072948 627918153 233342439 333272665 711803449 883201150 557572823 792954989 883025768 189006279 625064465 254997117 640201744 823597962 956643176 836082602 347796316 601533240 84431434 404383994 799453657 123763282 505627147 229837059 285500517 417209038 562024869 302646805 378939215 611200788 91234965 675926852 675296372 228457293 276341278 802877735 924988360 610802522 747965452 67000920 12338125 427696322 349222886 852563630 544502072 578955462 828314042 210737146 992230989 242163249 875296662 464471889 167149864 765290940 455695613 231299693 709573129 412857429 3502614 835143646 660050018 178904072 655589889 623536279 335951513 486127846 548969002 814801522 11555574 940839208 848097851 602830646 281363798 594513765 830685556 988017752 782468836 165630908 780498429 747859515 410695043 796096955 708580102 276198278 129119941 10039329 38369545 876242534 960532893 404963068 45264716 126230975 840191300 784636953 184696530 115597452 352755117 961531393 693168995 149777043 229305081 339910331 737411488 250409490 502553304 14935124 163216544 287186410 776422401 182137719 676348406 470864393 1574232 580427428 385613457 418807596 210339021 373776345 452444037 344703984 674664114 24053090 388673644 754219156 572721933 776122143 824693469 757945848 196111153 379822175 351619910 508047336 843465238 468731277 901288661 736151141 871723634 258339686 313695106 95397660 608651846 217993069 99446528 29547842 347060720 660067884 135975314 568960711 816563430 861392221 554029781 977447339 396451145 373432697 628776988 5215023 379893121 220112190 45063116 193560152 129509868 334460202 675208049 883903999 672513040 151960021 175936303 581841324 833908798 102126912 867469042 680341131 308729902 939064915 506028102 384862570 118490841 888088792 359942379 689747403 20890700 69566376 49586578 352973319 39676228 828432992 3983857 854214092 96416341 523081609 367350835 410105412 956398307 666894881 421454044 325299742 443076302 431372426 306915421 942048999 856569187 469074732 299404379 139304323 60884642 240479128 577677779 658685731 855934823 168026687 404702894 795082733 568992287 372420074 149573890 130246323 493571251 722807267 269960024 966010023 173796367 829708205 50415932 459335286 931520982 685848235 914335929 800583750 251717991 965257593 292800233 74203844 80049791 704932456 39123206 911402391 692147586 271362377 652656023 909722162 82330013 280095149 901852258 248649437 320555317 918113480 191329012 769527174 95126907 715289602 754430731 946724374 606463035 712342688 790498875 148015701 524450409 510612180 139393641 346678253 292090918 628060465 88114454 659561901 960188643 383004229 974369481 298181752 850446167 686008782 407882464 206254976 64487929 150490359 771457468 307242857 534485246 795720308 123632620 501493823 283802200 911099590 441662955 263683577 628071163 83253744 250786065 492652199 538385628 103532091 133503047 923927369 933632922 468747247 425154205 189889619 513768191 227584934 362644708 666829477 593649090 854379501 896242295 326147597 45264700 3748534 603138178 51931005 362139331 318405521 421866490 812773840 649936804 141427915 975331219 275176742 462627523 427003344 154316575 24913031 443412680 543829227 416544817 750482455 504392197 284081619 754285479 108503219 216525016 29238502 595253030 567906078 428739346 202402529 14111292 194254377 831379961 97205142 208477602 348678612 111674640 828210524 713792421 664991703 837532431 770519244 146655329 657252754 253691504 166762608 647352407 54918195 78890924 797860873 930258373 428663068 878548103 571296292 497242222 974639306 289020079 96546843 938014268 906191265 8923714 896043086 671305046 996280877 558097449 780587222 756761719 350372377 24622707 524211285 931283302 753058726 855467737 199253714 46073933 478840124 964983552 77321734 550856405 276151208 51355860 235634928 394023924 39090704 596829538 311047394 812742832 688219536 341321801 362185597 558456356 637163905 576292765 593430480 696918192 870077140 342056455 918182182 751931882 85332485 492632920 56332497 250350796 886796812 186315558 210023808 844109031 563560090 841332425 463398467 672032609 714290623 669928639 81601590 920473419 257881443 71704609 738497699 914636721 138158583 766677902 336001767 114859144 203570139 163116592 338240834 919663684 907606986 412078976 562143822 983289644 116455118 63305203 942402288 28292044 819982766 656223766 395853074 258357937 991460618 151785202 933231993 359583078 963836316 962383526 737850159 765261437 715362368 239260210 236290844 303612689 912565363 863005972 133121254 455419805 788159740 941942964 188416450 232416473 242590370 516669088 146188196 535095928 251401239 188688562 629062465 656438854 584393190 445636569 318991784 679298983 970742343 14764251 846509452 374717777 231944771 375234699 634827465 69322387 237437513 953881848 979928847 886286515 207967400 969776012 568801664 241177755 930782053 202918908 988620547 962667703 330728167 488549502 596383515 1073386 791570504 444884500 246978996 932037268 817009627 153343532 224571158 383157958 887794452 184142949 345436290 941809634 480698303 494131803 681154474 852226774 596449471 722885213 361482240 666832572 296603995 376952705 681524434 101188614 406198010 590821872 483702598 936285487 375103635 965386027 721774252 171463980 112191829 833897125 301807123 549279975 797795040 136190437 663996804 54047693 200934663 398244394 118019857 973755282 325078379 940734986 673382218 35771232 17145389 888240133 27904859 182880540 990662897 624781552 616597329 251353159 523096506 40827130 182806259 248646687 837966863 272674513 687420379 660609082 383388622 323090335 443243614 596477620 608120609 364616777 978613605 795961248 846617449 35424466 74743243 419446071 161385593 450163530 959422850 169384963 357478348 215481788 192045990 982253961 984521651 573302403 244138821 796032974 323000377 618209135 36158159 257130869 425686291 763052157 799178260 842768224 280450418 965288078 990495952 408398561 471059571 60400127 389315528 176851191 99239649 323478109 630723525 67956817 113681400 273890735 290677975 143753187 713149252 496543569 308812141 661586599 926733964 173750736 106149129 505077890 73910873 36547789 721297880 574090174 282697637 91211612 717342609 454164801 949663085 82633037 846641523 380079876 560960078 168255602 820561886 204576648 917398032 490725693 231498479 385137266 200035544 774730320 657128877 213664390 952716564 901411575 354677297 296381614 314863698 643194093 701473918 57915791 204610043 372889008 454370585 104606246 905143180 256476497 189755693 320027557 996629283 746716173 128736869 276032557 35971107 564209172 175971759 100484244 115523982 917569069 937312238 144558128 904859249 103058675 695095054 518726530 649740379 356256812 826765712 242323858 248691274 944929834 40274727 330461346 656139612 335924755 608492105 722240799 815950139 432962522 815545932 532807410 955984366 625711563 296034468 367559403 700224009 470996497 493078951 83645462 352663407 722221875 955438834 803284626 153476482 439205061 693824619 70667870 95861334 102164772 116687496 713701786 175113972 37352454 261897152 123282778 536261016 420023960 398818372 293612512 279147854 256125458 674593650 566132174 757557646 375524287 977473047 800015710 977912824 932794826 725541274 967302338 381981034 358072898 851842632 550466124 120689924 58778375 876054091 248040147 645287597 146128801 340980751 869924177 299657343 180428830 697441921 480014850 307189322 951293747 540314660 499064484 310621510 570328559 835112092 223288691 22713308 471901225 235992765 403518179 477661805 667495775 12603762 329504017 960978489 96324918 544421755 726214528 245237820 449728418 558970127 399302048 600364964 711287366 278049463 617510894 478619203 101502011 276991161 349463172 284184234 67477987 506523926 155093318 955051258 857302978 513808693 940902644 752764252 242820097 268472552 98239467 216152294 275344063 930163009 589049773 390585054 737724966 558543626 214889061 201624875 249075382 590448810 682390490 963506576 167341181 1500162 502610297 381605124 282399094 33914144 685336611 317961957 174920976 304566142 170187609 139021846 937585350 495882446 622479986 483432524 852936078 457896351 138534140 809644070 15994772 508883516 398198449 197913468 294711479 103624371 434530449 711900408 169053654 299007657 731696797 954346602 374884508 94906918 383242991 462788999 227047628 817381061 361398886 510700051 588939960 244616983 239656917 81245840 890086845 222900724 805972915 8234519 932914780 174145978 961483836 961138164 846481035 78008983 146257409 395043785 672668071 832805212 516200479 474329427 370214865 583645334 327655045 773576075 103115871 254847902 324128056 96171123 22999647 675965772 808878898 918815370 126185967 223208218 77060550 476772238 658959488 288839663 40089900 119294422 770853542 768365733 6045055 253717763 539070481 782081703 506685842 716220074 500578280 801322641 392884337 968968763 901974361 505029761 684252476 164930209 307596595 921188139 240680808 862656301 957185919 332572156 111229977 837505750 973971927 762234592 189646037 529682801 582047490 770381854 382675227 2158284 121042249 16527124 193120 401937465 424078168 991333505 681477822 567956644 668493922 485687674 692659835 426736927 469526792 625112268 798559231 467654055 960869693 974601110 671528337 827365068 24606336 185613068 297119593 425296600 181420838 512773646 236872139 942178824 213733791 192983996 576257952 450116336 32274412 805710212 557255717 321844074 535176723 41401600 35670998 352008356 86083705 92691728 652335643 297367470 366064771 63495397 316751217 233688475 202605968 35287094 781159926 526416715 908361357 133929049 886197036 314451997 141629491 985740619 258868676 352711544 69737466 875212860 238828709 880896965 396812605 564698343 895877044 497644783 730929422 872060454 321757213 189240187 597580210 678615695 665354817 403955748 386318185 824444001 979005394 168271347 487811457 291741083 902228440 287553965 773167787 28624029 692883236 152008496 670503331 226162273 713070310 812466513 140771936 831089440 26403500 756049181 249041758 672319645 66592437 805481975 909270484 960139520 27224251 982079628 810567577 226762977 489588178 542499492 344418496 183749154 900565475 836326877 461140746 104107022 943572324 723934283 210738281 284378810 708377185 681682385 731885812 861095719 563657894 825443416 12735710 83634551 828941254 484134490 366796923 94667241 742827401 316222568 952893210 135337251 433999712 55256396 92296154 124899761 512633108 959351105 182181838 980033424 236920890 132552625 945446147 125869541 86807467 985761831 880741575 214502359 819383546 296994158 193427025 900305131 437196070 280855057 614515271 522454104 976483220 48533382 423764592 264262892 106166821 178648732 743807047 933836000 41775312 729317129 870468756 593919642 535039055 395750798 264573273 400397183 781942249 952614650 264144156 486826647 66592008 178238393 597604312 621257107 261683363 620771062 437693916 422005234 737294459 348205610 57193335 855828634 661499741 370809772 873920098 448766538 67788769 541717686 770506151 514134774 160390587 209112142 772791296 644384466 752179811 243011192 388587158 48790385 135143434 887472874 941190572 701953298 409910419 390579467 991452455 857514237 719672038 173197240 505690928 591822154 844284123 867572780 771058949 19053888 882796486 661452875 237692377 823786100 250341697 982320714 140906047 184527228 75095679 333927638 545561640 114714146 826726147 902792227 155378092 97643354 782371074 620093662 190868835 70253162 959359879 47389880 26635000 279197396 409675229 111277881 222838353 166692648 963226866 987979863 83663294 852575445 240408232 105161112 826574553 640944601 298859100 140805156 44501166 593107049 763909231 503943919 401823682 291428352 19726195 454766870 901363443 430871946 227146474 603360302 408599117 472219081 510166713 112277070 161025052 888561385 39541524 948317097 753689496 654875943 599625116 505958133 688486241 718980552 212718930 722725382 732594811 590276346 413333685 347526817 927316180 397246461 507497137 393683262 18872264 889674798 52161245 786663890 434929383 87473997 538357640 114111010 488435606 263988995 765878275 480481891 388895372 980535449 894973379 904849757 999947788 210699591 616964512 273077371 501926936 149360615 923666591 865713146 960608170 192187481 154630680 167863768 803250646 313212781 644439598 206460877 917934443 383593325 262854221 854084556 686105089 149559551 197245910 117675734 923919917 335139494 444463611 461627020 517118284 495849666 681721823 662258826 100289222 157264458 779117427 27553278 987583932 691704660 865696168 857268473 57407923 422267046 573183641 381960004 588722078 439652895 597136501 884348796 443070414 987699528 995476237 98727719 130922439 63444706 724435710 502942714 144336741 787449407 251591151 547858223 991787059 471155438 131743667 447417594 175990130 159384633 661715848 147439887 674523136 885947114 171280674 895175604 158342782 764491038 770939965 97791929 85023630 537568230 100631328 264309361 883793529 64091594 730767648 447884757 493214401 929394760 878040406 740301832 39199223 56222003 510563767 908542218 852257590 469249219 26495924 234725566 195023311 204535583 835485391 857012783 485625196 432536202 553350647 183851437 606539227 3283060 776310778 711624141 880050506 532083629 24573075 245173759 942472745 13699836 187397981 9051619 712487760 330442538 252510100 664385178 23789157 255003101 180173160 516449836 936815099 278897085 648461988 235626045 164020848 476130152 226691578 575073454 245555487 720835159 931741427 391769247 120014892 479355217 700330162 750684547 613213532 701452276 283893357 94736640 368119236 421853117 249588013 605639956 197936486 667414371 294223919 163079709 151571110 760032609 116012630 591194286 502766376 229339539 103966528 879406440 628583219 905255559 236517773 72790716 500954013 939158388 234691202 283947631 340318542 426692082 814338431 351692504 602948466 518070112 626897117 226004769 968672985 768041508 762909005 957555592 653603647 358893234 123303398 108236696 630118641 220350813 181886988 594174236 250486798 320219055 499327479 888554318 575485068 875269557 243583316 217216876 111656366 840206032 958151081 855029214 998699382 644580823 439199196 11376388 238068680 27123106 604528385 562841632 500257617 51519206 866799428 632725335 206956673 149367340 166608592 403941430 96220570 296134935 750949338 811917788 545189862 29729371 370325760 209927433 940768820 853570242 543660160 218072427 596358500 129300962 211060086 367276461 785016730 455301666 867626864 38137127 803197630 30831291 332481835 250947366 714758796 25343614 576991642 287140322 735185035 977337383 185138309 707450217 925118570 629734200 500362128 377094483 417568314 185360909 401558507 434738663 940002333 699906842 855809950 195834629 417631535 138999761 175106131 23880071 528529939 912816840 887090063 824437975 514903730 311825800 271332728 625179672 5959399 866232718 80938264 100707109 958132071 242943114 89126862 523088367 606962759 903849233 799847255 438432308 399936749 35027835 25533741 321659202 90086508 701964698 142598773 369494914 668732708 140940356 919755082 249727843 522257043 581177057 305994848 87807043 81015132 535932810 264023403 352370015 53580961 718581498 831677355 878828205 795384014 593017903 781501808 883615083 905124536 870612470 277285861 854475365 7055129 778559271 16260691 678762923 338117674 935144739 977757205 199038625 343423477 432374006 842540678 214733824 41250430 19269124 568879243 264384254 152395132 72055874 333506799 863072831 100917617 521143284 729061197 775187823 83807855 397916224 448690609 481939797 865164680 696303908 235271817 142302391 92041378 370160234 73865982 524730642 761476251 892910034 387299854 452906123 518453940 393159053 218219084 549510777 988921164 249289161 639375015 86264830 871454799 146363756 415038287 774168025 360379544 541704570 156990599 14050513 756977667 695185047 835876797 926877624 299323523 95604575 768006123 257363512 483755456 622547811 38748327 180031164 480122256 498604771 706602534 137187428 680832104 187002219 420391160 992543503 886846304 116521062 343507063 195680235 285967377 688578999 143455080 502652053 807790589 654344358 485423152 898672575 829057223 334764683 596569444 384039518 173156802 125792009 488196002 80995649 803704412 935232963 204094753 266427544 513953286 432751364 145347216 669354695 420124283 310721066 651280094 184650056 925153017 822718192 3695936 730452557 203261800 768558395 104293659 385516493 301824375 214232593 760775941 143053766 798550175 889232291 128299356 937133830 759767152 619495094 195502881 177523735 615974076 432579524 61294213 126146753 424967635 63091637 55863222 48056770 947175190 739812542 739359774 422311686 121730462 572733723 959059713 820256659 893819364 366845109 845012567 29437897 345451554 49976080 493349608 389395959 780523050 418539790 953132610 724960280 764132468 656579493 678620679 528147255 444723510 338640898 38057195 277068953 272014905 795068236 150191798 992815226 74375452 572965428 660271334 63716440 592020765 74546793 513445740 2308674 203431229 400638965 269459521 307198393 15162319 742765267 835355954 564641840 329351063 906421387 99327682 713848644 444385464 257062391 711119814 705678474 45418323 63488584 407648302 111027035 689159817 53310757 55524852 264027165 669454549 977387515 225114497 570350377 972848686 459435401 909073025 327079407 797451543 876477292 686625379 187795807 258874440 468144320 532944165 836796839 140537630 850230799 176505336 579287688 532005291 88180851 260078934 71154583 214096440 463504060 454791711 150280081 379923691 46445409 577141913 269328797 695036691 166874876 713000726 874084743 15917609 397350616 906811900 518006386 528873648 566855912 193446001 482710310 344422505 65078549 22615400 439759690 432235249 855165390 854155825 118985751 951694153 58508225 207347720 216557088 36054867 297665437 383335840 537230614 922866553 608404821 525213912 79216935 154455518 668277820 145237803 380831408 628164956 65187278 181388409 791682490 565336373 870120549 764946664 870173686 57375039 269830256 301142129 594965816 685503649 730542308 138012763 57266468 665842132 463083116 111450250 206126195 258239293 824577045 303337140 744008146 75628990 567808785 782079771 245336865 11240449 777168177 597895483 559784200 494433179 148960812 290056857 526749499 751094114 949797325 873544535 30837422 251260653 223982552 506574412 377097846 194556387 516613755 160471839 146850606 648349150 50130415 610418293 658356641 452469236 726473583 869507228 581530266 58406164 914835472 434882864 503216622 559649798 898299634 108879778 296355911 666686900 409177097 457963468 232208662 59873916 574205140 658986208 216974097 109303261 91267531 261254531 340951509 190651961 244822023 412965603 233175095 496230951 984303496 954525919 545853732 670927069 263486362 938223080 585344569 952351264 243688595 778542632 201321812 16613302 696913452 810862948 758851852 236919266 554536477 815548850 723326886 117203506 693948944 839298486 816741629 243168903 786647830 120729301 121442724 709333954 142203663 901677622 824719405 134708731 663775860 665187430 560389008 900940614 235674472 460703570 213285280 477624426 285236786 200870097 428017398 222455508 34995273 181928190 135688789 330118715 247442041 386731104 328974308 749983209 394689429 819566540 370046349 431197472 133383981 580648844 793622972 823033383 587719668 267360652 772326121 928946778 33438117 340907860 795399596 610847693 414778212 674714074 65222425 157539798 869381770 80047788 719150557 57805024 506442104 924854157 290210288 378301029 803640538 872297190 221528965 614410729 999352096 313808995 451515082 108741019 367171988 281264157 557325120 348834110 95678303 468805963 240518321 445185221 879377151 273434692 953102790 257918484 42754916 410131686 164310331 995071378 930891695 3602893 916862582 124947361 564903660 515976906 592033967 328605286 171695569 435881526 61814635 382860661 425723354 226528278 900321802 167825264 283597228 128694633 527008036 768691032 108944974 173257955 168807011 84365042 36809895 475602440 813658500 417759131 886954313 933892865 562672686 580322426 695166912 679296297 145856771 194448392 256937289 702957697 708840091 344316465 876237740 826305737 106314608 641087529 61860433 117130703 179085091 650045191 372545563 343509643 250855653 555003556 352924247 444000239 84228938 814320808 112159809 55063113 309031269 6794554 512182041 257415982 552649082 286827639 413936128 9346114 660086220 795787547 932752201 47664431 593390323 293960040 217720724 600586458 143841889 610539209 863666838 364788441 488661975 833759578 295544513 515264414 726434217 562193708 778911492 63740543 234783076 669549520 179272227 188386754 448729150 425469578 118670595 850006959 194642550 207700194 864693612 471067983 390409807 347830456 549487594 135574079 62015838 938665875 68652225 853308584 129417341 346955656 507858972 481387656 292316119 892154979 82477407 582671893 441170816 510522674 511226827 991132701 762526667 314536861 340845445 138541243 776613539 846492821 213550749 699580660 807611659 602457501 52700511 839669769 789234146 169290188 281182662 403868267 271157425 284714851 852161201 883100299 775257606 136974386 320683591 52337106 782454525 424078286 954077186 518255488 251573296 896288563 875202022 156173412 847341817 414048856 704813059 702116304 255158100 266085299 140203074 331394504 857668525 556667959 219818904 365134047 610207279 85097443 95970433 168198000 518526323 196627964 869822600 829333743 768802455 661198336 124691255 934932177 336048889 33090916 282985223 125196147 488393602 30921965 935269283 126989790 318078018 968822587 677943025 225874371 567600357 931888600 458309068 598372653 944229924 419579732 735508629 66656975 713574447 615290584 583169316 208820093 115534947 861813931 252730135 204548421 245048072 721953503 492019373 894953300 64688100 293064930 231769884 645118240 788970117 291325832 808289141 891066772 502509845 816768942 23851283 409894864 879246163 219371975 413243049 12516836 953875741 913435273 885061505 293213350 220995413 57597436 169350885 890658013 301718476 474447386 890300960 696087906 473632032 575163346 773709166 839690289 74539725 499783181 742205793 880241673 451715556 421811180 239485792 457276613 254647425 774450297 484004251 344603121 660789086 508675638 605066122 159892110 332505539 189133628 851946982 245319600 56144017 15734352 417656564 32422884 305729271 790640510 593294965 984617459 553389672 480403120 312254598 750044792 884793360 602773770 525794 681228902 359448944 693674366 819470312 28201072 516567309 834098900 938779490 576878550 630108206 58313155 460115287 353881086 749178228 354913718 151153375 157481517 381066245 134335880 503855626 885972036 376583667 774820030 125882239 190804358 627715515 641605217 379627070 32844257 479825366 967210065 331571865 781918099 259258511 771468146 762811452 606675526 127061648 302607850 187559026 604478861 185300885 550197162 709927370 488805722 986399597 691337975 59372241 411312510 539343697 91854659 40489200 707400748 826363579 28265978 220302723 772126672 590730393 408167489 453240438 689728232 143296467 806592437 790571380 491490910 902033110 654526351 499248940 600819636 909447337 338481812 265554569 119603690 297309574 398010002 718741206 716151405 150423651 977510392 544214717 723960195 679048967 552067725 733494943 193877389 53376505 291579341 320573080 966332997 479548595 741666009 730229724 149561145 4673260 483034760 522034555 171994197 325936899 134149475 9676398 541983444 781602213 52056666 527517605 798765121 296970963 133127752 651167517 183933956 358375593 888034774 160193047 466402242 734984816 985737724 131570444 604836808 661430661 390469448 531725984 650864728 526231374 895011165 57690691 28401218 461043598 813118488 141568574 167107055 44854919 970988814 413070913 144760955 475753833 565105149 627028282 808634277 244486849 270295398 17135951 556220131 970049520 470372760 415489626 763162434 720655870 786121745 861150820 250476343 602957154 716629028 805269610 530814803 15925971 818879050 407217604 28210230 498900504 404112337 256738150 182701631 353388116 545790755 914976782 92511256 890955464 461794167 689061530 150007003 594307835 423863535 633226516 723891744 167846529 496873906 482556048 434334445 906462718 557330903 737061898 37850053 13780397 194111703 587985485 535977557 202790908 211480398 692327814 908192253 140355486 16599324 993792650 135072227 645721349 224775515 255715259 135924992 844673314 164390805 689768415 270501092 384299216 849858479 95591594 715607999 291991863 166554286 412689783 370653754 427201901 275385743 252658255 953387957 382764367 935846670 666085370 506350141 792261893 199028338 831580173 622661027 39855648 592134587 129819225 620093194 686178784 163076448 634824455 27592570 867389192 333439663 783975154 845957788 100967149 288026008 415135825 565144537 470093930 114156430 384971258 429977255 910740966 671719413 226944917 487475755 504169306 187546326 822108294 335686237 309288065 34510623 70017910 5384932 663141556 927558528 340796083 803385800 355603332 625797355 188022672 864897006 681945189 31991830 883073021 63715298 841942997 907909187 541432373 559035497 334851655 985091118 41068204 696291523 998640645 969795920 132410893 15243702 490280645 967313444 554120072 100662464 396908929 769411902 575610435 835497264 533482687 855323488 221017280 992277037 953698473 531805716 445818077 64270171 117427748 588314665 38098081 776172722 761977696 409796975 629827395 220127585 270414911 266590354 481924417 78633818 792559629 640258269 289303825 585257768 96755588 306645654 792848804 727374322 714768831 178837431 850766777 610042887 23553854 703588487 11038795 253098744 792681375 777619368 472311081 271374475 668352182 706071057 598519083 305314716 301081575 364713296 841944349 350807974 679237501 77143527 845500485 597426353 183183282 313755393 651740549 386529389 350646234 768718126 740526549 46897957 565744286 288970461 513508088 939822864 923538196 10656273 256103040 657672416 803738289 803695683 522947495 220005656 730441600 188999371 664381589 409825805 167619779 402450139 473521803 291252452 849692514 247952985 18446324 23191282 120812977 913319824 392109549 660013000 227294164 858634402 44409376 256087332 549020351 293706096 972439050 112937510 888525094 983664537 374742553 722046363 75374993 126982659 763326345 580384911 952586280 863041934 759887864 73738010 22739401 314705920 432611336 192463241 109217930 719204356 762047019 264187663 453394185 552129858 122167817 322825845 845503395 983080212 220776982 7868519 874996779 342425735 339893644 65384351 676381568 124582125 638770183 371942090 632031112 836154769 511547241 981090808 731667569 933720459 433788494 773861560 965234221 335789291 818392117 466928164 859048294 932436065 184762960 313131880 683259890 897072192 720495978 363452136 250556348 312784029 839519248 676780492 352069904 566743066 962620364 308611069 887972826 23961489 841607310 853967540 417916261 44217195 166885950 349381527 828110542 43119222 903761105 255987574 125448492 531207484 679625148 276186553 217610629 490099688 650146790 88574306 371166781 74078970 561809796 523933406 69831140 275959601 544126880 242541572 470435181 471079097 277740678 287467804 816316476 227434689 188597294 749777861 700294407 962201282 73984438 683933420 852487559 159923886 75735974 827380893 754678767 986978839 603322698 740816165 763094646 834608090 926620584 276273340 756249843 915208928 342481891 39702335 549855627 166930421 374719210 464941795 73858678 428178402 674700351 627897451 652912527 638580543 787866073 122233857 936835882 888488619 943366806 161673161 626831971 696672724 162251570 696708866 158358941 465823707 942142590 120476235 348034529 690227149 973058144 252321926 339109906 36443678 223129580 377222171 85454053 508614964 532872276 120122256 310599802 634709956 635658806 340861000 299769140 790705450 882087434 870595495 822436308 305692290 122019420 339933634 933790869 443501858 395047088 992693223 16125497 200760629 102999369 229320547 899935160 275998901 221628979 709308017 686942209 219678026 162528343 362988308 672134878 706010224 184240302 981414258 221823885 987794755 978979083 758994527 964382802 89283837 730089194 130667428 203696052 939880109 762805130 190212940 482949978 388961534 939341483 263267434 803086174 89501830 762536620 636788965 284048003 675951734 505436030 394822002 660873123 776030343 639147160 426369291 460203767 760671810 318562791 330657465 368298312 957056150 550599856 834810668 559594586 412879606 51008425 11853333 805134733 59752802 14314533 241854219 164597587 697382991 617363363 359456257 576325629 898837899 671811821 497127386 420777578 533714201 531625465 368237800 676238689 813344713 838663883 931225818 307262738 187797782 511406081 595187943 229855178 763673858 744684097 360526263 576565761 320007275 194754254 675103485 226994974 333898123 664288241 290637807 118959015 778785901 9188291 247483178 399739668 473268105 21889387 230372066 132694701 131442649 503325296 482541837 727209865 184325943 881699796 774264884 583710879 635831255 638233409 811958594 581909661 500712229 305837728 934270283 216223151 536096687 622637406 11975801 987497127 882709909 663367675 752817638 27933120 541614180 972994408 609097825 216917672 869843403 552379358 717361299 538553886 619306815 607382024 235620514 45697441 48907832 280710267 345604229 6445112 610103594 665627193 924362697 943460793 595919231 19348253 188031367 664608968 484486518 19970392 35440199 234348360 456283479 664143792 896246376 123154067 478605465 651591925 907341801 176182288 772606734 22706599 34785718 13139506 912330363 91132929 504938238 187486920 189925757 348835339 22363975 224914983 428751841 250679562 667273019 137005614 541469520 869644295 967897313 67126678 175763679 508054901 862742180 861192815 660254460 673680310 126419490 710611811 673984430 724021021 973404749 11095759 53525741 635393901 502193361 41651138 913019959 624702119 154149654 162185143 368110843 792654348 897296187 658724402 502921676 530005328 244259389 828994487 96013947 21823066 125248016 495975440 272019089 180514978 17416309 160078492 573337249 238424099 125489163 910864094 375946859 516928353 200985712 519708768 348768213 831160466 118224172 70827800 473988392 25277202 504874007 402001266 166656190 229479037 90667083 725916920 255483409 22523616 101270025 447899482 460534133 712931461 928702485 620483104 761854231 627317139 66220441 95131680 274249632 613806827 812949036 947567066 278127030 257776648 33411236 397727367 263883443 55516977 780463025 617274231 824569005 154038507 575281959 503093645 87016810 934531203 774774939 38374492 868976811 2799872 98410778 120680498 960509201 330338110 803940 646547249 505587303 146864366 507340078 599147547 823953608 252326408 137693780 998033320 223547619 922167213 784190814 133823664 201779692 827821426 517571380 559517627 526410392 287019844 210875701 721527268 123146951 520728750 887836504 151137056 664741971 892270470 873863474 145172140 286743563 480626149 218945975 959381919 630761830 369512635 312843411 785090626 986702624 923919329 973071098 808726404 29197255 387910049 116353801 875784363 328936582 393712456 414421035 851950896 721473414 157803759 963439471 137427575 721332823 174390392 61896627 243060191 34743056 552691801 724570355 151029084 797706555 187023220 212627081 24372622 655815942 176118356 312959237 925888669 138104075 507921226 556988313 969072855 339308411 648155149 683776413 743173987 873789862 432959088 90189442 637717888 102612320 959008244 543808569 50269257 952069023 483424812 538094929 108922093 50275623 502108056 475658958 593455765 107967396 727925123 804950407 853805912 211033400 271551111 601169456 836723090 47463486 451903029 503392470 264162588 369094378 787454419 810112025 138822327 500747744 107967359 676059474 553692803 275840809 179762342 196796149 676951136 225199612 493004475 458320300 476652856 324274447 720244031 393775500 902050998 97085212 231551920 151246726 464102935 620147330 103977658 54074691 104210431 144209133 630001444 950547708 247671925 536443645 140690596 389971434 286913308 230705560 674628090 490017778 683180022 270235580 53532220 810678429 297119386 2230417 206360227 451620983 704263153 911724021 357715846 541059823 226444803 342485572 118264854 900242999 256541567 389282261 855573240 228707038 319142491 275936988 698217712 725360472 975899090 838651962 240002108 831746788 116859508 710087251 576759497 333738089 892451092 623202261 166666754 899343818 365238989 4214254 36056307 709826180 131360266 323832669 259387257 885389340 16973970 506622299 573591828 551867187 70494372 367048020 873469911 827216704 437533625 234212576 250412271 105369866 410281297 547952387 268543770 786794446 90739231 390375961 129815409 366963335 122721343 78871060 323902533 273052551 737677322 20464251 912541741 669428273 382594805 875411584 813628056 683049280 866073024 162413982 271613115 368153828 314245717 69785683 921039243 476301958 49756767 574331712 648939237 260686737 413658335 117035859 850924832 820588764 43306755 94911015 832346503 101200636 176398288 864212900 317996905 483435475 889058057 866966134 165255528 3003299 92596099 515411855 458632561 279850251 349160287 103783665 358330408 514915507 439820317 647123331 532204483 31114290 286420969 470216578 773441623 10539518 24108069 6943283 783218466 647985772 607388843 779873482 613477285 336553773 4887673 705137864 496501475 553766421 843770738 705651930 696337920 829051584 919311374 280743824 492203320 170922096 119203928 367270149 697175404 265195595 588589627 151611719 497921855 43696678 778364625 596939933 521006955 426117325 683662133 225901316 20299409 22672764 450065086 910724963 581233808 953505712 624627602 618745343 387504949 769651212 125511039 349378735 391208992 491298675 126650612 839314018 843278344 278136602 482252765 923624531 177229660 92013690 958191805 543449182 332122972 817084388 176952622 152754459 769060680 98628674 508655536 126684788 52730200 669939942 149045179 543652476 547590160 886453916 780864108 629822903 833672674 568925768 742281344 595412256 663274507 503590090 938221248 787780316 695314500 843400857 319947665 325242008 107288949 187665544 235870751 203260056 190151931 333973278 787449143 640868882 701130662 622300776 689233234 948875404 436956653 273609808 967866163 99544294 459813615 341904913 142311304 264221099 531222078 734368886 547153931 112044787 147821835 250270384 600488229 180584370 425670543 754524766 799135427 287688960 756707826 129398465 823642715 843966173 431583335 89329233 40826474 673747183 351900688 10006789 55273924 90191074 395703405 419555148 547172509 141878254 583499345 395031773 468483549 617894228 581962487 34587079 92086631 669728548 379125452 166645324 811663766 651970225 825398720 356585091 203805856 229432108 155208228 816660039 606037223 388164578 211628804 761255599 682474520 316293356 309666902 785057576 462097021 498779269 749237916 645823692 300544240 308225299 781556633 773651430 66931265 497779007 158083168 243807278 702386880 145088600 470405163 555092229 925268237 695407511 553280073 239140316 161452516 964976996 742238182 71886458 404501439 117995362 188450653 479323096 723943901 917450159 146280542 681996987 652059262 663584821 374514371 729507147 137134608 432182175 386367158 638859206 486050290 346967008 457731077 706284880 191327546 136240889 539372771 620828873 446788240 631795120 59959173 230938477 594328653 887143799 35438872 511754267 349665572 691258777 429869151 474584142 951623560 456114116 940741560 307252369 289592583 426312675 74125511 253136283 422820077 693876644 228137267 576842954 587533548 722051251 131525658 173294619 479617808 382293468 538391413 598418825 723087565 80235602 23355007 401430734 905069312 383348147 196906182 482211630 352195461 844812499 25076756 681275014 353774251 5870140 792558488 365382920 772305608 531434737 348374336 376525059 800557857 958948844 901513922 885145597 36127558 281920694 52077062 601230490 483464833 882960836 773425533 489183824 971262064 666703640 51987259 102464169 797884940 184995998 403660695 313786190 206792611 757857217 935090756 679990306 724914944 396405384 654784441 183287769 287841633 109766631 51899670 929283237 239955878 265021841 188889188 831687861 148629457 541835544 544491793 486820674 71356762 26205857 540424004 112648221 7633671 289248671 104832556 642271192 716324658 845856685 610978449 107844010 137156983 980133069 967797511 816682200 424469637 445949492 153974507 334045461 60342778 326873277 583217119 214584553 506232342 393556543 802002028 96597278 809634516 924067403 77615989 184913973 639187964 669041177 451215049 482649971 507039184 256742294 85112757 807530081 852108115 749644781 122211769 787501472 667190906 45110759 87571131 872893582 773938836 594501387 625540726 912844443 248328719 602844865 254345166 429545120 248658149 422493492 663523197 878570872 114417768 774375388 495499721 505913736 536762210 211236571 736589408 652183575 223647045 358790331 700989540 857059369 721971213 733984494 612053828 595931540 901619823 244589862 1865143 637189178 698517223 492845842 153484633 252685220 554397373 119619386 442649378 299254376 315308507 416392066 820280125 657532247 818269099 332185889 412837803 690139282 471371789 954270717 884897959 240193864 89497787 856609807 903068562 855812002 383645786 97655782 532992593 973112502 365327895 275864973 632001545 409429771 964556584 648597772 725251736 699843279 846672271 864158305 63344021 57201589 528761486 631205697 659123772 153062886 415681263 688432550 143272194 308728401 815946437 706387507 15940915 294551197 641953775 610059097 166019377 723212052 906767691 536687814 15829347 783545228 404192928 943479893 234903760 616332730 755855697 81860942 516031116 657042027 127847827 965594790 729460478 645166044 545706071 246963097 144011739 106629882 504233670 513731166 204248457 731630155 710945732 784453217 769127908 757055495 3485199 68970879 160749754 848445742 666792254 614602792 712738238 290545539 161137197 998083220 536707030 438040208 72259178 629190273 300289879 949052278 918330005 949217710 97443199 77601627 801041991 495453246 955451232 551490152 424316257 225467814 667872272 115123400 657792896 484898513 864947132 180507297 638638862 201526881 998503822 201146754 298511504 743766483 250467380 253220941 638373717 182782793 976283676 765393465 566702093 755359864 762869727 495032457 595689963 696065868 432381564 26557353 297804925 258554270 82293725 256063189 370208528 240013637 88534321 569718569 25558475 218097231 154062839 604975333 327272101 180647244 796472455 985355967 69685353 684690982 735827052 164153783 306266979 813575456 31302934 612227106 493206681 339024074 673207066 845902766 293110446 564019771 931359962 337822774 532866130 292389872 288758296 803184610 473590902 684491835 959811520 146057692 160361552 856744847 95457138 461687740 503824988 433017516 322450420 864944814 748900384 179927623 629259365 423844125 614765480 496222798 745395608 282480794 519747436 470508251 687859963 481269207 109849755 305099594 415097651 360967347 433333131 282556490 60552085 646130339 198210773 408616008 765063654 779030545 997558374 348661324 98770167 599350353 654981176 880415818 414486006 312228393 221992101 256965773 984574463 613595542 2405436 281511187 248665105 526369433 378100709 598708864 522944374 216941868 837833802 809875972 93293672 792281163 708346197 70842466 945491419 779615715 279063489 73103779 863469070 118752168 296643967 78974346 944613521 211312823 552973413 168502171 723388905 739453709 122234793 59964508 611197703 55195007 505647362 918451687 91315611 145311115 928546595 97787630 135955900 162822654 218828964 967784424 636703369 15766103 780843365 296734088 213083728 881526046 272132965 958645251 98172601 720806520 159142067 699368667 56939124 341512441 631573620 848934407 80763309 955444026 299837659 888501610 838328899 262168442 53892059 165913218 28293855 1782911 387498747 130807364 215559562 189011997 472614665 873034184 615210531 979970626 384379907 383828122 296241895 723794761 444933913 27201577 991271673 524202342 678329467 548571972 449028673 79561774 433827409 761507059 974457564 274509034 277394740 833942519 874358338 68960429 803274386 741733983 635519133 904111933 334485594 394528633 982751718 448403150 62143849 236464935 61969840 984113241 969864060 130310228 304691332 196083078 727930529 349530688 268916986 125465367 937306145 428240730 219825148 189525084 570260041 956650671 440759350 994273241 74448494 319456089 126338082 331467607 59750016 437525545 247528803 677134125 763592795 834256724 469290761 511356930 84249340 198378421 43625945 58730576 820725004 23552169 697273387 341036141 511498333 658676515 299610800 999756270 384893269 244888442 875113189 160632418 575766056 264655530 258307699 852050803 222576629 174190163 850989 579495057 847049235 586791597 262288758 19760768 470969630 605808493 663075676 354641455 326513259 110074462 17961757 700356407 808239380 383853888 124323792 545261895 43517508 646604210 424974868 229251808 333246052 278569262 9975520 869034619 122259323 283853543 59415663 936632329 329906435 538604467 442640636 476700247 439597196 672944329 114221688 701511588 295029482 293633307 179256440 189255879 228198205 312267043 242003381 340728881 582591266 367672415 521098284 121297010 160175469 125290385 268542704 160151867 577114618 454472686 31946743 93027016 79542211 80513257 522037538 810421744 732553761 725709062 147830885 822630795 226603360 720225415 416383918 365504733 316268702 876611977 679126235 473983800 839765668 389736624 281997210 168196902 206951869 899493058 289234129 668240588 835925660 465429887 866675937 345050329 438055424 127260092 345379252 399919699 841796087 557050208 729781829 84715485 162248849 300785882 640860176 634210768 358551184 926711966 915081682 829641400 685824432 334195697 169228850 130966423 311615660 311113688 843321140 377431774 236233823 30275342 439150116 14176280 305918967 61053960 765985191 564168075 336984778 276490048 951073767 364956458 35236764 142179038 494350582 245007867 373643676 223567596 652472282 35310889 458261593 229089820 520595012 335195839 61032278 952166002 339249711 460409475 71473346 427754626 279244857 150838391 102769256 191911489 327032640 680961823 792832023 41514069 103153365 726458260 4600649 3249411 740143236 185416095 599851695 525128703 529717713 37505194 35445228 930820553 344670120 528696895 530716510 148451897 740605662 635170958 57722728 44945439 367383224 659293708 734068381 245410651 130295348 925270566 352022931 82517645 747655152 857069671 923202966 622332963 420754086 608084949 384903592 432504064 561176876 817907617 904179499 50827150 991744760 283162915 440011601 130412825 393941606 575348776 755208295 642581879 82928996 413972420 527788857 373227151 534401564 345043233 837108377 375500641 497737467 817845951 573208300 51712846 727111815 301380070 557020580 671535251 144198882 31549169 687375906 185339369 143807332 845486938 18995336 277404020 907038586 763269240 232918536 839708086 888266871 535264611 5084937 972459635 909207191 281708909 732284987 54898396 715042029 199645465 559192779 157672857 907384244 105407787 159816448 20611985 607224285 246713378 344091674 685410559 788355578 941464107 94847029 988237746 998346193 632946990 938654855 175687691 447915023 972002765 71855273 270930631 440455224 561929958 726343997 512298683 628327339 425652789 231092143 60583407 357076266 614316451 488091260 631923975 939747284 912273938 763187810 814129375 305322769 206219057 457048821 293036131 177924407 992123942 268183908 491967297 974107835 718653501 206274840 601216273 318189513 541865122 486646461 698628314 208747917 421301451 644752195 68161232 616614092 146897025 940208356 416050607 219636832 284895345 309398408 188172201 903901899 28063585 455689091 217697688 64245533 199147386 921834237 398845650 520808141 531419343 643059799 824238371 552678511 740449320 400019752 91277327 609142436 91651084 955891922 766786712 11395288 601549938 468432668 174794569 491729926 8660982 704547207 814207045 541410348 530468502 160718695 708652108 668531336 251199024 211041390 408771595 208360380 640109893 59761946 649072491 722304693 214375085 700003340 725555093 504563782 42441254 715687356 416548733 721116981 23451835 894016014 859783617 738169073 474023493 804310986 943672106 159061700 460705058 976099668 152304683 431487907 683839189 101703248 363029482 89735230 340627571 228025221 844585274 63026436 483028642 915052283 85607926 337190373 536131232 760701040 797848619 857743230 996766601 855023832 202146097 48667271 574725639 383356217 850029670 510134293 4801969 920134674 269832092 438620364 65269353 676807197 116666731 145634982 58889184 404539904 345072922 742214642 712496462 633573150 737374244 52477817 638620913 430615618 252569820 380702771 704386226 427082360 268272402 340450970 174927548 615349031 431601619 71490462 423617344 973651701 2522967 458443988 560450315 971158734 287526598 894651241 801214868 278198445 448818112 285870576 420017130 335624989 255535752 107713784 889287827 373989537 377896169 701239277 216796038 230290942 52175890 858134931 358705624 203711441 707878287 807130200 245834731 993572962 967606175 817617783 837679106 244290824 676006482 78836681 758354857 551065832 866410948 962561116 227741880 844259094 530763139 486982874 658565555 572420813 435268045 778865361 897748389 84562369 736416775 39655934 520806179 975604868 515080533 315423934 354743547 37810938 989305450 569048639 730925938 3325887 789467038 284229444 176314642 426597797 678301679 173553181 509219528 49744894 955994905 97962539 744436297 37887991 261778615 136092451 731058034 617616875 896073637 618885850 700831862 463661194 3484831 920731386 328247931 228516006 706235325 280420789 748711109 143125135 666498245 218587412 639543891 245711582 397317200 69195673 751385451 352237773 152891522 390655977 813594930 461680408 458976625 437558167 202304656 783039585 980009615 410893982 617102088 265607160 231059619 546693353 553305966 654754766 692215319 192897541 206567089 612831789 794183787 797533797 243889981 557885592 899257705 48799217 981789656 315178673 317930397 853663737 820214365 381217951 560311285 641889745 286084833 281858757 826213423 79685063 737279785 46314243 708125353 771170177 703280784 278100026 989565033 509070944 168991286 714642641 170426019 676200145 93584295 756476912 268146988 977413229 651562428 104275126 635206524 232738922 207627817 230572559 833375597 537680462 856702292 518726102 921656962 250607568 614568495 653141257 729172037 639444435 313634348 54025710 151237954 586085483 561485641 630155544 241101864 231278418 19975716 701609167 446123417 115913422 188120646 923347152 370914272 574211659 345551729 308320640 98778740 762749504 228959595 951271616 602575995 189710613 584355798 15075656 192295090 260241471 376518889 592849980 144029588 126363248 363284961 828811230 931859195 827420785 842515382 308915693 15139520 478527701 813938456 516791783 65384837 244589340 790500027 78123816 288371921 162200747 80530691 280277648 83892919 34705408 211197687 535778168 805871672 192957258 194619702 51832494 921965512 739224295 577627303 437322693 720275196 575221010 61746143 111616652 277303221 222631110 534313672 252700019 56314335 814957721 977588813 162298604 767532924 892041679 862237690 745057558 158317104 138732496 139932144 372055276 763911635 879828818 406578871 600049770 18780506 203385546 409655062 318853919 151873438 197376652 723989867 854974363 268344575 998330888 442329700 239806180 526623094 490022675 943660996 131398606 608900975 739272223 695257096 820914462 540549063 291925356 212724554 232973316 714623029 301630613 829261606 574159876 304818545 923104230 482236638 569990204 318160346 97069811 630136929 769182928 587122788 704547626 294212310 915443711 76230876 23334368 459448422 949432399 96913959 54038315 742744156 466642411 577871699 822544218 699950481 757676699 514125937 428799982 832714179 386132258 831437189 122173790 248253885 169180379 801066555 206426191 637686967 148982754 907678740 515458458 236652042 223445933 889856812 919177487 668134417 101744660 156102686 592353230 937227616 480274649 957133207 342853400 173535507 112935750 621609632 822964653 126016568 408385769 367537832 245154972 892497575 340343885 347832659 832095699 116254684 870539406 235114659 574619663 237031648 205012073 427131620 229801784 238737815 685488332 891019731 272529836 751172801 814339950 619237053 207904071 110323119 616951825 964776017 193572943 85106157 563789622 805690994 585825751 793531287 196124933 823497871 480662806 622237433 58914811 79158829 99977432 380673136 714653231 826230875 145906909 527005369 29501100 753493396 929212577 650481117 161049164 685475004 276182361 423944164 1930041 636862464 88623796 211693219 932511250 619238609 72968647 526783856 694190108 852623758 140070399 329341095 949150829 842887131 357394915 594460600 8053186 475231569 609308529 625753570 46916685 30040847 142902276 7493701 44523424 922617487 154458886 411462933 97825635 400832274 299579135 436783969 713286218 312608134 572587809 568716972 134967054 78360457 12229562 883676300 198904523 350399290 571980109 474417118 12136572 611170520 381737097 163115644 376002794 726881893 185283913 142088693 926817885 106781324 612468047 476510876 804893055 502760447 81807425 590817086 455470459 415883631 158269055 492966850 759529902 231684378 273623096 303898817 292708844 79466883 713166055 525306511 666179840 795455274 692716176 293733385 962777291 292788458 983362525 309633757 181084006 561042881 838753835 88021943 878726886 478160679 33310347 425823449 857173755 672032485 756026686 621231542 113367744 551826430 113224306 730895379 119783924 519358619 878172770 188635439 25156759 552472530 284172152 664338933 536069951 402149374 740144194 329619254 437589372 22528780 23467104 971402135 235889039 184432970 754299198 155812773 206631232 358856943 593309720 534745932 27910563 733472772 729153020 583443857 878794792 171830619 768767095 964729707 904470329 189792134 317217226 625070307 933903127 623507752 94774868 433736530 357154203 659745804 252470668 19631811 665792167 733577090 756414721 888875790 215882731 925244232 148980657 266041107 664813949 128773719 506948644 324855711 768330113 881780275 671631173 424689464 601614550 780398283 939578478 967111056 221427009 764526976 978539235 535945235 187304483 536171558 110451528 446569747 609556539 391591939 409684963 703918223 506967823 744482861 118653908 833536945 525132511 50757498 167622448 941666718 464278347 859380651 4465949 467429640 519695207 994336027 625489685 743106633 727697628 109071316 778310724 562418270 461562461 165447450 168349635 41086296 795667948 971404469 957283476 546187194 933263387 470947227 758127732 119986016 832291738 896983352 680613757 550884734 517549265 164796809 764245609 19370620 702401391 788841185 815122365 452586703 234315716 815196137 138737641 429422029 534678337 622378086 517402701 930213291 273156041 53158609 846995590 973527363 271417024 88146487 99768752 675443630 819634620 448645846 693207081 266874455 23139034 315840336 950959398 384008939 715437018 761536291 371692600 124605063 885411126 606958545 305593657 880280752 584310859 980444846 926455544 80446607 946677493 432923759 288487136 330144281 120222095 593429922 910878201 120857277 270049789 608346581 681793324 169657459 464182012 581395270 567415415 589781311 858063942 382568089 219009026 17759651 384715552 159563125 963270819 695821733 315546047 974168433 590036086 659476301 657355053 10484689 513755692 321835508 488798226 201093285 579474661 104538268 689044369 36224963 52774365 288738081 419261782 872293268 350087305 231082984 769611328 288838112 941678182 965735030 504598834 237514799 796202169 722288428 415224250 81326028 932471434 493968468 46614281 122708539 243490854 681064986 202011537 546506738 52219128 484931804 988670779 969892295 526089574 165432800 56353330 150563303 587042384 39937258 392729054 379069791 853285261 14499096 557236044 697390945 988135203 115773521 430709437 374238243 524436212 255542136 81532424 526408412 886096518 325733628 69278153 753777465 116422942 448998518 860370795 937100623 933791382 920298492 30084467 199247784 907786926 809393431 260114295 235259346 543782378 60475789 934423749 36269314 823530072 96086543 716239660 128921698 307760158 870571184 744022555 537770024 815913515 952394921 203519516 771302896 805939174 287394551 282414706 269855143 757825472 172946178 360404818 868146621 417196002 319452068 899205647 772725813 74413552 33562720 230331320 850413361 826555703 228749320 890609381 507527135 86514371 539135116 28319430 242741904 963541373 639649033 823269665 319914099 426678150 70498501 934044008 435908281 965187000 390086427 836056545 165202504 82781046 731611171 264318602 211078799 822427800 892811350 774664670 635619329 664331853 370309239 274533148 803751366 877692501 401225627 475660177 16553717 837643417 231154011 548619519 277902444 184626255 272377181 4348924 550342022 616960772 470226816 163169115 261033085 537242921 256454955 250982719 452231087 541307880 678857293 557388364 584980616 189766838 32381485 817060251 827085612 260789506 573556805 37638151 323443467 804505818 463755263 75212671 880582714 392204577 85799885 673602012 680397122 126392078 980049273 998218372 22867043 221613718 570804573 579874885 19869576 217827234 313617816 698446462 25383367 571207806 39471744 68980241 294864437 408635593 895689231 494856328 944419955 883053008 119046271 705615013 947445195 492886821 102098544 886859868 386621384 32674627 699866339 711998589 15989769 737606522 781123310 744075496 277576905 520986397 364299562 820554114 586269966 325120145 316108988 614355938 324119464 329637686 79450543 170773071 406303018 693360263 808289219 760405170 667606256 700152310 592498065 206299448 866016776 476463487 584310992 24245230 888044409 6612559 698097633 681986850 285461078 560961068 920977890 219556041 537585291 821438029 844234946 358144106 716158846 89390845 177309360 932835119 275358030 737611620 191355978 801324057 176899639 335106657 603283262 234686092 748096028 746331980 637384154 350575438 958801193 441565 584286607 784496260 471801393 648490624 235339776 251683041 242922949 990134557 637512670 636785809 342127659 330209418 705757859 573697697 244672594 524208965 435458439 161593232 219615039 236593665 476344044 103504733 305826723 86166715 375089432 47678504 701573231 393186395 994165486 435045493 186868141 498266462 660251333 155580980 932419252 221477579 846227488 635849243 122521018 29508626 278789055 935148368 441797886 155457434 300367474 405191521 216514627 110590409 939187647 137524489 724167428 243073898 986473972 450705098 422139764 17231125 246185108 285655462 382580665 486149179 346817260 823107681 250551503 316126815 616021320 216163707 678022389 502560331 255618735 78551840 219147433 567841142 745757592 835550996 19799322 634191164 77359043 13022456 970057650 341677368 959755857 619036807 818098485 872184101 123064631 220631473 25170858 964185122 781852947 835065048 378353164 920569085 981387975 44731150 393998074 802356778 101979096 977374190 325955146 707796022 184735271 141826336 57773280 766080413 62018540 246247078 982698702 508478615 620509163 336582452 643712401 651614164 731596351 715492564 843304979 287563037 820893009 973770191 847290009 414865152 397406086 797994687 327873144 936340456 158332324 456829327 99416675 662332595 744446138 866266817 725550203 576317358 813001666 871200503 151220047 526251079 67530583 27986462 333942250 707696159 902428354 892439279 80069989 588453810 709859141 130644126 476656075 421002723 407944229 830293207 626217886 503852377 48534540 543849689 3715815 180235973 401520963 725555126 494353709 139694883 570916185 579601420 199552158 598404063 272234680 50260716 931763560 848966954 526914153 126247312 665955724 587438872 767677636 814751277 850971276 280409009 334736709 70231590 112218607 971845754 337512374 745238578 154835758 182299367 284186890 749059858 64629586 915032533 32763089 334328124 306393184 535545828 325935481 276113818 841055182 251375164 343617551 588845168 911660498 737881130 465406448 473543036 454131913 431828430 96854122 113590351 764733760 135951270 686216065 239512591 257908176 240957389 975407240 771231392 647951983 361745149 547890051 513334064 421570078 509084638 882846693 961514649 81161508 272937833 736734320 120562369 89519783 698376069 195730058 784523751 544469488 123245371 514432328 485311547 327828244 643193469 926043917 53032251 705137446 664118098 307491041 438664892 148975489 830881419 773877745 294631533 325379100 945476707 381381808 194063462 829503426 134360548 349017599 831078659 561964785 960404356 374681579 177638226 741730620 677812318 950201711 674334525 357177373 386076141 795338100 324459747 416088626 429497381 883964459 134098957 631698751 232667988 721457001 150516688 432870068 795392344 9042757 773869738 791314775 715100448 78745510 347985697 885827286 58342769 401150694 380908747 873017682 676390362 287902232 288963422 893263680 587687479 928938746 254375162 267865922 541598938 3189337 357628238 466448808 224972436 742216857 148888693 793702569 570979793 74286058 929312621 66767536 841974355 701363686 514629896 232684168 464370609 793412611 505107409 719604543 148173377 848678136 764873694 165425093 637897248 931795239 754499913 575701311 956285133 58566087 569059337 187008508 638690095 633715050 510733809 131599894 500693020 287037978 473853586 269659492 172405522 34421723 918062169 337020991 991906758 884964698 437109433 251023356 861609312 588893594 488598962 34861378 197777116 18449040 296570278 278016632 511873065 182932625 419519995 746446089 856148704 450523938 285211701 221890909 411378786 136491916 33878739 146619203 521654198 197676037 644550166 933829833 633455474 494505413 766451189 120411339 769581592 120521728 334715960 10996399 114527989 818094704 190302236 74828600 643506624 809747404 88726376 721532560 133026285 368131894 980087832 920247007 740376656 166209129 300866586 201920954 658763731 491772052 800834508 316098184 682496969 289640144 237980326 26978316 460474314 424919499 942391019 921468397 278758282 475227659 17976156 56687017 342198193 708851820 315144829 633225524 714305401 94449471 440398391 883945220 385093894 179888413 155429795 971771969 153278037 784974180 815716473 905827283 527530225 859937348 766622319 700870042 184723422 89196080 382154805 249231004 923928266 75960493 415173963 868252774 620381825 133221977 322199756 292444131 192576233 101643206 819044284 447301885 634613644 114750096 136232412 399254220 428150959 704602800 651749259 305568874 348623875 955123507 668239817 248381434 166789486 351336030 383260597 843794965 835369204 456026089 202336943 472322264 590312541 525604833 221058969 954444439 140740975 154985468 306703827 598400484 205850005 224643023 115999724 59430486 115846078 212316541 277546090 783231907 174050602 576699074 84302437 254167458 867214252 899646340 114871595 279256286 493295798 202096832 867749775 531087480 672864677 926581541 687080245 236776974 276469506 104982324 157234924 579839781 588797490 354264395 618497667 90702050 430340711 531158654 798256633 271907713 796667852 670220651 521951982 243677542 913922397 173984548 391784208 683949015 99744179 719081925 174606528 767800269 683917492 451499210 300446280 834110493 790167556 255154597 147862456 911092092 318330629 329091514 924726571 574608105 58807982 550150572 837713265 334636540 180611735 928144208 206402102 623552397 204777486 20578325 150625953 395699179 299374005 461095611 909478158 486140512 850062226 128570470 243976744 195756836 235606014 506938334 116888711 644125212 174396932 478619114 351387638 788866217 331626019 175801585 66422305 59773047 556395907 267968624 188004734 732603297 979067049 907976529 890192028 936802354 78516315 696732171 697516885 457230845 300459637 753297109 224477728 126572938 452985038 668638083 322279679 54169108 789284101 426267356 737359557 990994021 716905473 955120484 540568889 856338108 731847487 583867005 526661229 478809248 686335542 337258601 177829027 833708360 562873333 893930869 621578978 45711899 608933048 471610662 874236042 532356576 535524905 557810036 2320863 920758707 567021043 179191762 843598108 269685393 583506948 840265400 363864469 320052832 430460857 791309241 636427733 256341184 467943373 181028099 237633709 522946432 391739945 446186182 560334350 91397631 114691478 98466049 209743743 316638685 265107739 97156591 162603822 64277349 740412374 555015528 490693759 186135972 727610401 801567091 147378121 154099910 245775676 96229559 179700641 539326445 58430894 271831437 843418176 992348238 413050106 451701088 652747893 42267519 928267764 929707409 818785271 310194446 367894209 827463508 799809569 239025198 358619685 570575777 559670424 301546466 625667448 144307794 886436877 811997821 664314353 41412844 429130694 408247364 514443995 839298473 743900240 180112185 733073807 995622772 439900458 517206599 715142353 912481227 236059047 109413854 922265667 18519479 508622515 49736629 185514776 282712161 827115150 645235864 522327382 130438558 239893389 15165588 562707442 881072148 935987057 534859719 340268171 367415421 774216059 173616949 44348069 813622383 776928759 992564215 512435042 789760406 158703900 93451587 245206919 119810253 27686141 699638901 400512391 415448241 213383774 81425730 871574330 165802925 350434299 565676333 44410346 379572783 645180605 626405550 893042552 28759077 660359868 695297324 425772993 688959806 11840760 243103030 249449839 829286767 916648203 657601252 837502783 420826181 831178538 762281564 144791962 300615108 929419244 519928082 769738119 461326835 732224700 21421900 258333660 864242998 849300337 996156326 551719998 939718931 941995628 119104072 862847656 533335144 632810027 980731636 457566836 766351532 848491641 328723342 541126835 107799380 902622165 805952386 326287295 296459282 158239787 785525981 518205259 567293049 463383414 449192880 320988378 940911686 349784917 27924477 449251699 352598810 978480623 251058648 29901902 50459683 493116453 382534927 387682743 859848305 452831607 945114080 556789750 352702816 885382683 621487625 771759181 837058503 49710507 103044034 158404476 297915618 970159864 978053346 298811597 148153902 143764936 887462233 669684123 826715659 425794079 999284595 591609833 84658705 596851404 669820041 476982043 370703709 794932448 266129199 483229252 4118054 86870166 828938220 134857839 860566515 995265006 140980092 317656742 509289359 162906245 122952362 39352861 278552815 206699414 389748371 227695550 291746701 528442473 570769923 122672135 242288804 199132086 771657688 96667188 909046056 491800513 280794707 808120555 41312171 593843068 186798479 139476183 10401713 205613765 449188801 565486072 734421343 125252881 637423367 161125223 490102564 162221982 935814200 997746501 17153056 673437323 656705180 247694761 221126750 153984831 543070124 299394241 612143214 232014411 221068262 15046454 895885762 506665873 61432166 845992145 162350552 7210793 737315931 58875285 263102246 62134220 894930347 546643754 22412824 918586764 15900797 966223460 925019833 198017937 375289198 948038901 307215333 195533199 921016053 250445469 36932995 206848509 975963891 552100694 210919903 807241128 973283214 56222738 345049896 302496050 864578157 161893684 37122056 951218963 670013753 824401441 77737617 998245249 531248523 450193442 814181082 631112858 992568333 921755237 239866937 638500976 846264188 755417029 665533921 791607782 125293525 652919265 308439265 143170958 62083390 12582085 174673525 938540904 636322767 864763934 137314537 269041687 624579243 842976995 498708464 887349596 621472445 52284581 113936593 499258003 238020565 676462764 691488862 94964205 274879669 331270274 128500770 271459398 921306397 449576031 166652073 9808313 504991881 577320135 855051958 890259204 191557292 175987643 996199822 890250200 189211228 623333379 256918433 38431272 280053479 577213809 79733613 978382458 4378713 713866016 775504768 620979398 274977365 899728965 317744970 510502610 321169358 247838707 625633499 634419783 413113 907603455 516817169 16815815 682815339 855602716 656728364 241971880 366170757 244313227 64829567 12722892 528213951 121062573 225900510 376404724 835448462 755120430 270305705 719723580 235558993 651973448 577321138 823889728 244464440 946142976 3320076 526706311 707780003 508086111 708046066 415934240 452390236 938256115 462252175 14210325 283184448 348898861 573432672 689020179 950393944 345094465 690084459 196394019 322687567 233007813 684101232 251479798 951558614 128385639 256108861 293756247 28032129 655214316 755142800 927520411 888043385 907833379 686764201 669128709 560917023 485942979 171473085 338187886 164382219 29408239 490828826 417304907 56420648 725262814 186793629 846123706 378561571 875738614 249626680 892528434 768983520 660504571 504512184 293971520 824809129 43280281 737357214 854313649 452511189 930360031 852026276 172572887 209796026 223133628 438532264 707709628 648479358 117555976 714829242 362885036 606233768 898826156 564257022 74966859 222621557 826827812 524389999 773561378 352721113 124297856 100280896 2181573 284353893 237773979 302306856 47889386 468862150 119703963 135115593 667995791 806074477 390668281 420782150 465942474 16456648 563008513 310869442 491033386 893085000 881369416 206517237 388439639 6967519 995175104 192896870 145102432 384188777 207263925 875575578 994879452 415081885 216951095 47420093 878907402 425099316 848386320 601283092 404577667 450157644 195043798 281226738 90288748 520605126 432533597 587208770 955546781 853335703 524258711 55122708 95837850 325797541 32323413 516794593 43881154 951252904 204712784 347141097 793651991 554605064 424734849 624208761 756098426 81749274 184213700 473908394 52575878 403837045 865727858 694588203 751043492 351989150 150512076 179418140 377667283 888336543 865846028 810504227 964243293 601126147 573419284 946938331 411476857 644660744 789347693 279671792 664722469 824696996 252802283 975974605 684852360 38454888 443676708 967622893 59769573 862617714 986279328 926567396 271505860 395128573 666595405 938760919 149887009 230346931 828087291 73435466 826907094 434463495 876506076 711785462 104450302 469124848 430603800 152199227 64717300 496807137 303678254 263059250 641434880 940959009 436634229 700743593 898046231 45243311 653061869 52023970 171212278 257984878 901369419 729409918 812430737 901918817 310937419 812331023 179026155 682139233 723728594 50330727 365994447 821184329 637053444 71336816 588367968 863933973 896022842 428921089 814690697 538576692 402101117 623826141 95601490 492920753 200534163 616068251 141592055 387196714 228882722 41458848 292334418 794739103 859440371 367393110 48593043 53084248 57941452 657471699 323392186 183527383 977792848 138527563 673741164 870634873 195687079 184572682 864303761 423551054 371594818 212115876 213315485 321437073 558104002 269120596 58596627 144651752 457956684 825659646 946815200 460724211 285161256 679952797 337963175 374765161 115788910 716321898 732745676 833155309 196500852 788199002 149043410 192985049 807141090 289911583 50198019 49574961 873525899 475375281 685291948 190424085 471821897 579367185 874199050 291576301 93379008 618467324 854029594 245701971 558732874 388990081 5248076 615727583 682936248 14954187 892677291 175088911 287398491 381380897 548414279 826810351 875148784 612262315 110145247 856293727 866529291 508516452 930552913 580108696 997557699 839607924 909028794 944286792 426842466 257272951 533470114 539058976 149996783 275918916 507579855 971115332 979781659 277866128 269102003 780076815 242049167 21461469 372421086 472367229 755415351 514706829 174195403 163206726 704908694 223911589 9624541 777849104 185325020 490950701 696026578 970447841 558073274 587208530 399069767 914402562 695551167 141810153 837050612 385641625 779755144 918264887 965441064 195516208 707311467 389917469 984676923 59938138 910877029 230837502 865032250 929631160 411068861 546233599 914815024 410104841 251051262 827551233 312436568 935621506 826946700 305941341 814092782 42931920 593992579 62445504 269984177 898576684 783781311 596370212 607432147 469865559 434350301 82197823 543300911 882976151 630383500 598139137 158342077 819367526 564294371 761773732 208821787 292918487 402356276 35641668 658962985 135439493 772929019 912875119 950415522 150490585 933057895 233921563 725628130 679419296 872525307 52050868 886003442 418386344 16616226 111801115 465485503 569200541 780985715 288240015 913481973 234841982 177405928 311333566 697433369 995675893 56035601 119691131 59836770 580738766 94598646 50772142 371486249 612319032 116399516 695337405 794640845 396054770 19920185 915286942 454124826 352557741 936050804 412268911 28619218 34725171 385479838 947876885 376319841 899104494 900218934 60763625 353963826 350087803 968110656 566686114 423343338 54177929 213441526 736418865 481373719 508288753 109882553 896287665 270952520 946175480 484612487 797001464 82384015 932129426 343808174 887418663 76356694 119720307 43323075 315783007 538875932 112054993 980380835 562805015 560022642 748538573 246684323 953438512 406258023 148278081 533458230 106008029 945408268 675965546 195028682 43223558 553847187 558208519 493488883 527147882 910492482 931585351 542970037 257572087 247011355 349656940 827681399 123034580 814875554 158734719 588960032 927828874 367014454 860256581 668982306 773869036 588498731 618869500 562340201 126549520 581976549 218907062 81189845 973453757 77584592 735038614 610604007 645823130 473170960 123467295 410179548 973468299 391974788 340777602 713889555 697917413 534418400 442630963 75717889 327872808 671127320 921977139 802410649 201019881 179663336 303837462 134900803 391852306 238131396 250887819 976599645 290447334 503934037 686539825 436808560 25790312 219640111 377346965 901147603 403680406 273940766 611193370 106291683 794490846 976548509 59501201 59052226 269525986 760231333 902012107 501556195 749958730 282149099 301608596 258106875 564198648 66774986 23971941 552070244 332611108 274618763 463696933 625994914 247374553 337003866 867795023 824078092 284916522 174709378 269718704 278598155 489181018 554280749 260198969 960779458 268819308 144741372 467718570 468130396 843145756 941552318 139254435 712724599 669524073 966804003 155627323 785628640 310445864 73912721 213360751 613614202 369769198 64346722 465064431 630325492 65823605 487697628 977014077 796453005 140297010 285727811 693805190 672524963 390433811 755728070 275547159 118871974 60521759 622713779 630424307 313659607 490290670 221116602 183831131 125355709 257296518 498035306 320134858 386298608 856493506 788620874 829708117 688665530 493093794 5892335 350050557 859589527 121718981 294229326 609395797 279765582 437046627 977925155 529464068 879050091 440265968 954842906 43101795 931224441 920218077 138290568 65364774 973041865 955875480 956876374 887673459 939663855 688554413 126870870 410961414 571028911 751668034 926743973 941735312 284404717 423560146 674576902 19440880 39753411 869636129 6132941 492285460 580906744 427071824 666003721 84716942 842866861 435657588 253722976 191981514 831845081 740400555 321576539 587163075 247670939 184284524 172192326 141976159 649390103 881895783 537919299 751020558 287656899 347243125 32524354 180093065 986883600 47636614 845680328 200274605 419380551 703629494 51035028 540638635 669561593 145019062 879276753 100247134 830694238 858401950 517280513 198087316 135054613 26142642 243167808 160180931 922940615 399957396 448749739 319031829 763879442 158896673 777684478 452050900 249005595 574324655 934545773 288412888 862155343 115494594 40720246 784706048 845328418 706462336 774219726 429268252 318066435 107438568 43105325 372014139 354888556 977054204 346441227 837648204 179868647 501677614 941414780 228498787 746272234 598127734 597543604 87204642 451890528 528481069 85195557 916169057 648878562 354115034 126257370 98280511 993638155 955356929 763644360 570955561 733557417 361189087 622282464 164647560 451987423 1191515 850287052 959303252 889746803 411947090 312485714 143421137 779761836 635054609 199775228 681581244 259305422 624811294 833680636 937719154 37306371 778786817 814529945 108239006 247533155 14152720 252987442 382567248 276166129 762190685 641619492 671269615 269615867 42075567 594383628 553433617 349382574 856472503 626671960 353023346 531766696 69130834 294843750 243567465 45990361 507536131 549611130 625592075 271679663 557478592 344094298 985204461 180220552 78401350 955179698 713751090 713550510 431171543 858947749 905755696 686671767 165460316 481442655 198613334 471253523 138659385 976635016 209052671 693113037 558762644 531429495 580215646 915327408 849497340 676917842 440283472 166600728 283289174 403691850 55596284 49105815 929886236 724613401 294507357 471939319 626743599 753805393 458102076 888914142 665762590 574777700 383569516 266918382 798709768 721363873 336177002 348331954 110987366 917345796 153233615 990022071 558636905 69018982 683287686 210837005 380153524 56490341 282269369 758734834 218741235 702770803 664367443 33978560 675423021 683381443 881074722 938562367 893927707 579614994 560443470 195289534 463241047 919166873 860741058 132606284 754388535 626816767 446372726 449563635 499968829 511382909 349344510 335965531 313844715 262197917 258317119 475030538 478829194 131162148 775529745 154152584 910108933 442062320 466000450 251007459 518477767 411778494 74200162 171909487 364427217 446399203 399339583 927615335 289154726 919662603 472984239 210506227 674907300 118854002 136133080 388670683 285450129 548144551 488494332 533673678 957529173 62733476 608342151 366266990 325074282 873451338 662079998 626564570 614471012 772013166 655635673 435421558 386516254 535596524 451129245 404282358 873716402 285819767 370246675 371150027 130097324 746385416 471564670 444768502 749465725 690973550 323702659 268441343 159383567 327714684 514767110 332381946 517648805 968565903 642015553 873939897 919413437 606742096 28363562 100089261 367877503 286873635 539938365 825719190 943168085 715459646 696733466 69474183 848278349 983693585 898944567 726642694 604285143 308323452 650104884 749469023 43502835 681843326 540628172 643068823 993510786 340846667 375298009 614522943 32162755 523892766 666330892 713254151 67413624 979083583 948038613 633869001 893068864 924970353 641235298 684419922 775532060 268982336 446947105 563854663 662016933 923205125 487923499 547840606 798745928 344577030 963635316 462006316 806784462 240774570 36228528 967339723 528808678 513469853 670683747 937951464 71603646 498819987 62310410 989837936 63551053 771667860 371003723 477515829 599900185 440589951 990517778 862635523 330237186 364032493 122391024 88622359 379383322 323909838 368956740 926849833 222887542 754828310 475594512 515178557 324868030 644565675 227656209 426170476 44228206 591233690 731093291 619222136 237037472 8780837 869726301 918627933 878857310 641039109 716221072 37987863 842366065 196257885 95999911 269841336 532038967 284086378 799436211 265899190 989810212 271906753 93559321 480012981 905391388 334016076 212371998 889641413 899901965 168577906 279174564 938641329 310846310 486438848 230540489 976083971 722720461 890373525 57769634 537788515 342228832 525013022 693095440 41132166 681533876 9211939 324549600 775900890 147840087 308731248 308459719 54036268 902181177 410263152 268132877 895142104 705230580 57374660 484100269 736973383 952835688 13555627 554650084 710388998 898901129 684482784 57218930 68259178 905504189 477339572 688074432 323152995 33085496 242858175 789321605 597940347 242827772 14736324 277312920 547173886 97915456 200605291 700486056 760807780 107457878 105021816 748668719 580503031 850723219 782758636 454812378 183280813 532127474 155518219 284047876 208755207 770860117 624148152 654507387 987718594 780336846 711283539 697908291 969357357 196422712 548374453 73283830 477926863 314494851 173674882 857154397 341717899 402946629 888356776 96030065 115041650 520527053 871814374 10066517 226887273 389004574 753171793 584939368 205078730 225095542 540647924 434345297 830951183 197172496 242505787 762776193 158686132 51691607 767927254 956000402 193339647 648458484 588603948 626138787 599983916 450592656 419427220 587773623 39957866 95674065 629832436 414865227 437277107 413176612 234061067 269933053 774225704 393150034 333882884 971137826 95917065 336542827 418076543 519518745 252957980 626373935 378227293 582965951 120042060 152543687 487648957 542890373 936868988 560567469 407132918 927574140 629041219 40816573 556683372 226608734 891839644 905340541 439586194 503153274 101377762 423065957 836716497 28110504 660892766 168027802 83484740 985126214 845846578 523775713 734595026 131449758 210447165 295414649 365060325 376733261 61643158 717698634 708290015 20784986 997395509 276377424 699897256 921156424 305495412 624844739 643556227 839009230 19051125 812901384 347677261 480244599 72878640 87403451 372909288 921971736 445030532 212215536 318244113 321360123 12223397 867724951 114422001 289603669 704814280 293267618 31806606 715369423 296470172 155973315 279166831 246126658 897393457 565541080 736432904 504475400 326509336 486805429 242451283 945419355 837132697 463886833 666404617 938130387 409094653 708436992 64706593 708680771 301902521 119699476 736579923 346441513 751003834 88999001 289072542 553332242 40054903 671907418 48492736 977982132 333882293 692170603 352155073 308430663 3471329 236197229 164517904 50187814 491251352 683559940 959174798 180149307 570947734 190397827 960769785 674728849 591693672 372213709 970842147 394278591 476278400 485361215 828810940 134507447 361586269 294884179 597947359 725126508 416961158 176269429 907186515 75113569 896413702 24981303 154303509 925744219 943738848 659997085 326275727 904338400 209025825 969469691 57093530 378519339 847062316 646194516 692418227 116705753 155294284 43003800 720483137 309906593 184382043 40261480 55210973 891845929 962686355 595356895 937072047 157195359 14925319 313836326 678846138 143403109 919891655 340965435 25322509 377900304 85036657 167692932 277308083 855612691 396334747 280849053 908947302 872902505 270369849 983379420 859828685 680261436 275779869 834996880 250098284 713744490 968467713 690108286 424105613 96828646 965264354 155389666 840535765 757923337 145417116 411283524 50737939 971609139 516593084 804158160 679624040 635488670 717972593 481072275 230815823 141005818 951701167 19186707 421658332 518966277 174268554 885414404 938374473 479089622 293207107 447140429 404765348 36136877 407223305 885482227 914817776 628052328 711051874 559113597 124423682 581011542 158228802 401827485 158054936 447157955 484647539 932511343 959860713 259665421 818011999 746902740 34102081 967499035 285006550 501077574 666573931 558550071 463012670 717161753 966670364 270830947 939260901 752667809 800732682 561482189 225837629 498012507 118543227 980831011 10033701 442158763 878221341 811488766 893322736 456616149 584786863 161463416 911690092 225812883 503611503 112395455 981627439 968480042 177913593 808443202 247268800 231857035 695554657 557386047 253328724 169355830 312847361 596299928 859176838 368867581 827046558 12285073 564325012 442226464 47771445 705019668 815859395 338448849 222801569 749465376 881047331 157207017 11404565 696061771 67356110 911841036 50350916 722859208 633804899 730298033 137234986 570495937 313267615 773449440 967644134 291988533 418820215 834294365 434161488 281116333 437089285 20542735 515606580 851737216 121892589 486298427 495560438 874737442 639054433 225317283 167385217 963553308 363848801 119224952 894927090 337358670 246254244 199761843 456788897 138192456 247893475 54262929 322366414 212772420 894068794 88001970 237748287 351022579 491703432 291747217 543585168 939506836 970031319 493628408 900902241 445741738 228320201 249572763 288134023 464946988 854030817 744513943 994539636 918005263 113593203 371631243 275638934 699667187 145512433 53759173 42253656 662620842 509116573 691485196 482857274 545729287 115622298 505864157 463223055 680891084 490698873 654831585 117235247 371994348 648027073 145822025 22055520 920927771 540414865 298584067 256395014 718029605 59647932 87994977 316849661 158585509 729665515 680871339 194310113 994516020 100001788 381339831 354757936 588009944 338519273 232591124 946916170 947865528 674332441 246497255 891894172 279168380 493402251 877161716 415100369 414925596 583389575 412985634 982063326 351939662 948080246 302554731 383729861 138107324 24336379 558380258 949958003 2434516 34566258 334661837 946391279 533896711 182210126 221284117 690340198 507387234 16146879 732433067 45761886 831117210 808589471 279996794 59550931 285403526 228885030 159697769 996288241 938305837 526632341 742102317 763305033 29993623 67753106 377254036 892885815 554694054 221104697 157467917 172966313 631774437 448648913 718817522 876832303 200627113 268771323 42295702 909340075 390423208 504087450 602360343 774354204 181270719 906009956 948398682 606223782 283195306 464834561 959846657 921041040 1257525 272517969 210273390 201117295 691784125 1082054 446889064 89905480 698122009 140669199 136477316 249780847 375611190 108566612 730418155 359330527 200393237 643677719 954483550 424065691 308778320 290315705 678324535 737076359 238511086 793773090 24898972 593133874 156686490 649709224 553617525 138383368 798519737 643555009 195929669 575270015 100436253 786356008 248211199 656010147 207312668 577010288 883401745 700276587 762219873 373700143 876205682 933012217 200604002 766972863 796800455 506539555 570556127 472776261 539240932 129010238 360915880 235208547 783207259 59270924 232164803 761090009 672812945 678785661 135109635 188904799 144757723 968785679 796274267 48777677 901980309 676351680 997921627 525191746 138353069 883558075 610401570 179950755 204770516 638873930 580468271 598999442 399402659 351645550 489576731 117408154 274438240 246334109 756618516 535354711 849859217 492160285 785708873 515830453 785381672 462808845 546173731 743961168 151154528 318212767 239397445 185372412 364934763 135016700 219596267 197221563 206060900 819495493 126330864 664534872 770262671 455788105 967665077 447954243 492915581 264530928 429408739 349761464 680531462 415509170 347766942 664836472 49243863 720712065 692531455 242707044 832051737 547085603 844212399 829049098 221087388 125154121 244757260 387786587 900645560 957464797 470724540 714076605 139070118 317300343 390749973 135226071 209805286 437128738 856458127 65815795 153388494 308600107 269530986 288178013 476820568 377113358 77375458 672365360 654350956 744427813 8670227 75978283 728326816 344575558 588712257 281909976 725371179 460067790 829992734 459288295 171439993 463435942 164886174 140450854 38484354 74678752 225461979 799378226 216225908 544864728 286675866 50335891 159070960 625842650 788144986 546292517 519386230 555818351 290791701 228927016 317420891 933324519 255780191 691119828 700792018 209871943 112491542 550098037 404067666 95347599 126136523 585546429 970373521 455558268 865645899 23914448 716257322 145606171 824737771 138922495 316556664 733081262 496822910 130562686 930925249 190806902 119034339 335572846 893217128 68204235 919511418 948616243 241641251 532670707 236206834 277852998 308414736 53149866 818204611 493721244 391587013 79867527 108707027 426708936 546980274 150308075 969381444 606830015 577732583 259110034 992123244 665223080 61749397 138067746 794951188 34495737 980720265 110975277 351452249 889637754 257400356 647059745 505585689 54662336 393406716 28923497 933278203 647174542 926907951 901395135 233323601 368413021 543873950 838750536 61398495 52398040 492243338 411288961 231179458 164577068 66783693 107577472 931754148 891336377 992848421 119211897 456022408 364799045 602421834 138910926 414762534 472254183 732573562 215672686 597514320 523022022 879779350 688948827 107897220 354499030 151611898 817352184 179480150 59435460 279822064 431823111 651783078 707964793 176924896 116793961 533585393 369124480 940860540 382688695 567520143 420370827 883403454 276105040 935849021 13122572 855635243 301386470 190277745 474221142 752632364 942672945 641050913 961431316 361374946 780372223 73725127 201896442 821277171 733996677 118447131 753604467 737570329 323037142 491968848 883081538 341276372 773818899 589526682 675787540 168420768 727144572 536456278 225460724 341911454 933568957 433510445 132144307 155114845 810895904 502258282 438944861 704098249 2956621 432132330 273988051 944295202 546110061 673792831 554058174 997333656 575952561 45902759 809595480 804778103 352960872 941037340 620145743 212072149 500557543 254172102 485048600 211851400 695250542 204640466 149306116 535839073 501849041 404253755 162451203 773184763 763167304 512213976 965989859 944746166 526908611 825494415 781360829 121275454 203683718 72614205 70162440 871161514 92078786 939158494 843949163 605952983 253088091 23579119 832219700 402257802 312358859 428860046 462767697 540497041 487791416 533020616 201177273 239059582 883232343 149689337 131097775 415002438 95199586 33600129 866299627 629862002 160440893 154043199 745916378 87687194 723511620 807948481 406964949 337981520 291128882 432800993 743326605 522815791 474699879 215465079 72207588 62419604 620709102 658931734 992244654 291660265 578685951 955277798 400737553 939046970 405055631 417840023 398201539 500678056 846708186 959658939 284958268 515320354 510079154 981318329 533121909 593741553 610735813 646533676 407141600 953434442 819198443 894698968 706763148 669880896 503940016 424629274 348363902 389075237 560785515 748148431 326706579 433662915 770108667 267928981 461274746 730548250 125989557 579053212 227132911 64615034 893011497 153248630 152976523 53549075 118547771 745827597 444444957 963232533 859383404 59771100 480569059 596541290 110243534 185901762 604120765 885787470 396744529 243757631 198291257 43505538 217305985 819326470 663005618 238421795 276586924 836945060 747926772 591783398 282441090 110204741 261500388 377217985 65279968 588236055 746334829 31774060 687811049 374389726 910135407 624196706 272193018 947761070 249776043 851205299 209100322 72825920 234027218 766575929 200022954 752765425 281608277 521974264 231919331 632795558 247817292 221380478 70037363 942368899 9571660 716537037 287013544 395768998 146333709 196111528 524128604 740750328 285202158 312508898 209093643 665485241 966904281 901093256 167147975 238324416 113645039 732064751 757953010 81297672 662595356 127480733 691323622 244782641 264827841 587700654 905667954 164813602 174140822 688554055 1328722 170777403 322221381 363086031 964398575 154366084 173142408 423026358 656617804 767144371 105438344 178150875 350942800 260339301 280255807 340212606 660816331 363821520 740205520 443512732 680016665 499163206 144474483 751586617 984691316 203277659 458975951 286009784 5967996 380720590 309375697 175445909 677639374 147624777 924843140 562174492 623557922 125231565 140578652 120102191 14473761 624984746 224628323 296611824 783645874 291681476 667160340 395490683 490090154 131662922 384986478 813792568 499739309 247053480 272930485 978361993 846211803 859502793 349422687 500377221 828337406 123995808 966699066 28202504 145124030 938942216 696449969 353292883 170534172 225478562 967105409 257944470 142615380 416063914 328897557 33442297 503996314 809807688 820426447 48649911 988912369 72523831 830537345 485365572 337736867 772142160 11682777 43714843 117441952 530810158 899180205 179593600 286163804 40632941 621910608 626920043 858560588 962939163 412613637 675875886 944000352 49537071 359013730 720093016 437286418 107864475 916029582 410139055 639149367 195970575 406680694 124983042 685893031 300273191 397404203 255795036 769539080 195705799 311198351 173208747 140089516 675260769 108678249 108281081 161496246 768990733 203309130 136891609 277378316 961793867 766591385 660202055 687277080 162876700 384955663 407394225 333800698 319832036 404030304 74898223 848475189 705878096 169718492 639071272 876124597 934798793 435110627 285213254 705376853 168456876 243649970 673659592 400624388 767137364 366270768 552455981 155979145 335803363 57823934 238037870 756756114 882844927 355753847 89741930 78043612 605219817 469237342 472172688 902679280 635150880 214620375 849803666 280741150 416202402 793699956 857164913 856734708 161011164 249214539 674709713 627544894 543394563 365622924 994440933 461577842 659190770 595860579 120184873 275203071 22641347 616344176 655381474 169661870 129239102 305912070 502616152 680528644 304134989 791199504 164858846 656022149 523223684 10500664 737143049 279504633 88926369 287856023 493005747 501315731 222720926 786303521 455128705 658815985 89452796 778468616 935413931 841667356 99509850 172614674 806794635 823645504 788157320 441927068 515174298 602249552 547165083 659090925 910654163 859034578 350093444 183597310 383826575 463341802 767532581 534123993 479512054 422690773 404302236 920581793 748590561 343504698 249842935 24135904 340169397 936830154 140735262 347748453 598229937 403658174 451989672 986785697 641640214 372388034 33970993 116895767 308056250 657311726 337662053 885098254 874648810 967244642 394049863 171076621 150791629 56870664 936473775 9107329 651379723 539269892 852731916 35667479 185030770 932842592 629537324 514623510 138076455 686648899 210062771 898709654 418674044 134274221 924193663 407057790 905312231 237791985 524851906 449783721 434355921 680574862 104728281 327329255 95678923 227266788 673882770 469140165 54027192 39113205 78890357 771996517 308366737 205512288 278701328 903707050 741160592 323784867 275159088 197886165 734313749 76874810 458522697 267420664 1426281 703642044 309035659 130024398 131720812 602327235 912611525 796646928 916705321 198716742 787872252 506702458 432462339 821551930 110037150 197463491 253374265 27539403 219003338 52446732 334830978 705066481 535608553 539734248 643450211 291086697 3594176 407184847 433015669 85486611 948896445 606905718 761032670 314727803 959890343 956520364 548566259 774434807 786364183 796943972 142004643 678627569 630441192 283578280 247682232 118581250 245719799 557236583 111099573 352311501 223224269 857774935 203162383 104743554 960931934 559279829 996940874 705546698 108447086 888924699 799316042 839229229 17248772 319568235 55247889 663837524 865254993 347870526 289713462 653787822 13291287 646859920 678516029 300500096 51712621 827857961 97496188 451967129 20932166 195253390 996837 535272109 246900061 562959288 671424794 102697378 556915183 15861138 77768610 216710027 296795604 323161637 223616000 507766279 965469027 208975912 439163756 527779623 454462806 290455002 923739919 793288710 649220251 66340631 135316565 477511164 125659234 884663479 206385295 826675139 256678684 403231743 29123692 466237186 79829861 503598441 257184137 104693589 98826019 186738971 362635690 413393124 503978160 4190037 192027588 635346093 643609120 150712291 468345898 839184533 294049624 96991804 84398007 526501551 698810777 496238055 806032007 518405253 49753967 44829533 397044905 801802803 160284416 35132010 193447887 547701869 305135591 398810790 186680170 145844484 202974151 837658199 564620988 156935412 213443685 341477519 543047219 600761072 544131494 125453590 316088155 180422582 591408980 466930684 430486978 568779529 18621787 862981884 751490134 736175158 507147610 567117627 698021181 109998792 466429602 754281396 269989163 279166920 116528933 793592656 918416639 439295574 402801182 185072136 165137783 782355333 20318772 234681792 129398193 838972566 116594760 814920623 861508706 746526687 316293810 528336396 152741122 339952023 451321067 814187548 145769977 357401090 505980870 960656849 477577142 465428884 996312157 397918109 2104799 158441727 592857289 21678638 633112291 993156320 985332523 201302110 613679776 596607364 275282846 795093499 528209836 379838881 374851303 812304214 421581980 992264778 469670775 78131796 292573723 700430116 240748720 81523536 92488104 355903591 689930153 778182825 238108950 438083590 25266875 889406312 384808126 514349137 639601306 811368603 866228544 201193342 278047270 316441319 100964267 127488333 786098254 631883980 237261147 763533973 446492913 688224209 985525462 110425019 149761535 873431324 144849778 318195227 233664309 454137677 649533121 600448102 10854083 904720558 180611496 38403370 425450141 245880423 866220554 625959383 438592446 193472915 353007255 372965285 699950034 79916757 358401477 325753220 148904255 51558636 94595937 279037852 522231103 357393283 5204653 445361907 814991711 756614837 230890188 504427282 778597191 89012378 387740830 407557227 799869981 802579865 967341208 659442268 30572346 538399168 83673389 285100501 440846928 113569286 26976335 789845352 764067553 981037982 263903052 392963255 73963239 229309486 427069879 310674264 267326075 922514553 192690032 323997845 216115914 960844206 693090458 353798642 23960301 375413994 221951804 177364939 558115112 64550124 475759650 63940404 822633109 856920900 272145630 693545660 102700567 998825916 981762720 935651179 877284548 101451998 745776598 588477711 959945464 82160585 875723980 421206683 165128545 51145112 112789811 862785548 856969409 187928500 8707059 17776417 663961042 562135238 295830436 695372894 281220039 257842780 140456604 350635783 790890942 262096866 804518282 202594160 359121023 929960945 506275474 279719735 791601841 312830520 270489032 103096959 261202204 809684397 339679618 770007207 294105792 538937464 578555632 196026363 947619311 220520305 856504012 885311039 582993735 893987395 862335624 357385079 281179039 403503114 490299977 595411068 545005496 535976876 49642727 291517444 303297143 76040816 991081077 78703694 593715698 236164022 709764064 177591268 687354077 446566909 522236872 958223598 304918339 611401468 595995368 145855655 681391297 321801102 92456678 127062864 366575077 734054438 868078234 938417014 448246805 55817988 393524294 824137183 819747607 372657889 142304961 221286053 178507156 521453530 60556914 48405890 210302981 465441403 600334450 286294236 790084723 224205229 202341497 690335552 961638090 785743047 458127182 939140252 826168657 231425590 917608448 95909776 164700994 811723430 243562981 471980292 535768295 987354258 607533888 278949977 773377451 530535431 171192437 235537894 67910542 858202484 755218197 453543327 624501916 82466374 113870816 681197852 760615723 719323670 365139820 469429472 970889936 962505957 959100055 928218339 942242213 123853041 481589635 36471367 786216156 18058254 47228589 391635174 296078562 226532334 534740203 676352383 872819964 298538839 7989688 417171074 886201123 498581387 951392677 399807570 41375128 914250332 583638150 772919111 607011902 523233284 276668613 670077961 44646042 487003220 976917411 140248636 621859622 357266266 117666525 841876375 359009606 363499877 715390291 162785809 491731518 87272974 229589886 294526481 430387417 885506780 820343700 674019286 850260923 484939422 771340518 491525358 519163825 1933222 232864389 100225821 399491069 238825151 44520152 158487130 413068549 530034179 483532438 687321877 30275058 862947311 250364728 670973680 147529014 32286198 739743023 145915736 646440670 661377289 303999481 517931307 919273203 523590450 849826565 534171682 344140542 526074897 109846959 543103014 790263676 471457132 887691925 87884130 464768396 206539734 822057187 372795762 429710347 641658237 981537067 642358446 746164268 23702747 452048287 167125495 255876131 862151768 570661602 238984457 33505669 995190495 189294781 257872857 500486861 718359999 915883771 770088062 18382913 324751491 625012324 770557141 158110072 876869344 716369059 949384998 510694561 96140763 18316934 270109531 327310856 972805738 83578859 486417983 722880999 150662822 804579816 423923012 56104961 56766835 527318798 533285994 505876992 516296260 564521433 36812012 805194541 886048384 126295957 238202471 263153843 719894319 210079540 230956028 298147214 948561707 709788523 989917495 219966334 600723166 211620719 990928693 298047389 112755974 42871099 74395722 146324870 299429999 415578284 330449225 634315957 108728362 575656677 155521251 873308288 661809987 709644127 540985268 120882371 813213309 190148590 871479137 574909086 2680365 293087420 157102939 249599429 821662140 682222247 883262996 972316589 397997095 56710549 652651865 132007277 696494359 398131244 929595025 333252095 224697780 946600830 771176314 468460343 448514370 529573169 774985569 576266017 848741527 907748004 291022205 159743723 915755017 864503321 592995487 220541858 92279388 541339601 507927022 443114910 722201957 316551814 525288514 313251527 412594820 207280954 584404563 224875690 465307837 451746676 679127549 957726249 227824467 975959631 616229127 212819017 855084874 238338544 80466050 27059934 197233924 757636529 338967084 970257792 203396704 448573369 136554497 841906334 286251985 982492666 694277619 692025706 73912208 650171588 511189429 938907159 33078037 835274544 451002057 327947294 858476265 59346879 468456219 393149648 714476051 65492941 561310836 852049136 72397259 129796923 55005478 311071571 712215493 370681205 25336063 572314962 705553728 151633088 173844727 937109894 844521214 498071844 663391576 687470627 326038971 647356856 47648390 298437124 463780742 129358561 304214274 945256314 294251670 91253636 562087137 191885421 22903678 509210197 690953689 7636364 383398603 209395399 189817588 163466120 572026835 724061242 728967911 504753288 171157263 922988738 929016647 378691370 930239345 953577776 263424973 990438341 561974616 387630303 479914388 44939908 88464377 625369274 127662909 783146001 250406483 19376686 737520468 480773515 376095972 681641547 220215767 285522110 874379544 212969438 127536054 252287361 417379067 611311826 232709083 999537326 493569676 433826292 891481070 722040258 860583993 357675541 117474436 386590114 159871712 31634643 20532819 502852054 373572584 116043609 834071620 326373440 735163840 216952173 229765163 166405198 499323745 493047593 517111572 13807378 850388347 567343836 497261174 504127215 684377178 808951084 779928569 91865944 455018939 667129587 97595164 614686585 903463942 991366475 291161417 290763587 399596388 454509403 306397305 362770321 751311447 696937350 537130396 553352922 920024812 845892377 935024692 87269459 162101852 112590041 161831043 211951803 192930116 664973808 712021441 316576816 177107695 690735178 398227060 116386834 496797969 701336073 670081481 874407846 274010253 472925240 638315344 689701437 248555577 404032967 497552151 7695150 637871118 615841920 983951486 973638675 716647559 558480628 905769288 790697888 798187144 290435601 86540445 35188939 84870238 808692692 639756864 950644072 171653347 429429859 492098250 682163616 829953484 609998621 602842131 568875686 647267029 228592298 397884875 647645838 901919532 358786027 701628208 775364463 22293724 387041457 64584167 784483882 584271283 581587885 662230692 899377513 942515365 271531903 862975921 589767410 27881271 306905685 313309936 6132998 558556802 699946982 43387610 176376676 20085439 677579299 90183682 143242410 202867196 462076903 873066070 740505329 115089687 387843621 48950791 749882019 55435401 492236960 262097654 469780051 745666171 818066322 747517982 613145756 903386673 259550639 116886247 78030201 112322864 338326538 936284649 96653985 797087522 626854055 213075528 779712413 153353289 112910439 320480088 862248117 74617756 523348890 61412700 456652320 374365300 278515034 501744736 668845607 568804477 641425711 280446343 250713626 578589943 327666719 525914426 257236185 412484198 646284370 422509089 172161859 839380143 296221286 396439473 321495252 166944840 434712082 849165419 548591799 48357662 861734318 898151160 795018134 13868983 380492422 421958916 171380759 412080420 419117885 107050072 270449796 572214599 380990266 955668396 200617034 659490714 572061074 982869860 954704138 365942174 505391047 600045124 419396915 508045961 676673859 624151648 11778088 715167520 793194403 963831014 660744973 168651048 376555416 167804091 78054698 922817940 10221830 513373832 424776408 654222974 302489070 200267491 5322246 637349637 894763158 106980397 475785360 399272302 58790952 63060496 868060736 941214296 749678855 15909229 887868571 334719317 94770102 104568909 259401746 137688658 578286397 319887827 938841606 813423999 753332580 531046948 257027091 422477265 998735200 643843188 214627467 870369274 586036388 666027190 172643042 918744180 400672736 638168641 321498737 704873088 726853527 126970112 681555508 247837374 790820532 119745956 825056519 632053084 705030612 203840502 806536637 736273847 791192516 532988205 8639552 141667979 73485942 775912439 168074777 299508628 381723922 329993007 728476636 840401102 632316568 911749493 553073955 33096738 600154967 101419198 140635973 691171168 982451523 951448318 4756964 163159364 341737677 66544078 231615962 475817232 655290600 800073015 649556843 588911145 697097389 248420129 351916034 88525803 46940880 351260524 921226674 756690711 87092958 943018797 221868768 839758691 766674564 478798728 51105004 953803057 784871694 958923411 173003542 622662258 86021304 940086164 608063259 298468450 343832477 864415771 218032005 441294836 786662767 278229129 310190708 352694332 675925885 754436371 622645431 58599103 624199647 903333702 681430056 4276812 925304552 461458515 948335928 762712974 103552519 608346123 895075599 377536633 509051098 400331442 960465123 100475337 850001052 793799179 239931416 465726140 376116323 279200921 232083205 420754202 272224065 502307515 662824529 73320329 199707353 984360670 8852154 561479713 751497154 204647412 289683023 217114998 138484255 215513763 299653517 250297204 535649728 652363541 441675812 91726872 219098102 574627008 839382832 205931467 300716737 192230024 185484615 321188044 63968131 183975824 930020227 773263313 148320450 345617791 574456457 913924277 656624028 157640440 32965014 404623050 861697937 983741232 502275460 277285331 418214507 795454372 642768573 83052008 250110276 648309594 354901353 65959739 812453533 284055589 255087450 524197114 217840131 379652433 789127115 132322016 25759266 458147564 823382927 684612062 147617212 764651347 332647067 425397284 733504055 661222480 466633435 250033879 354682465 349533571 378503830 463880389 318850302 552016377 434466478 263176402 975367811 171378726 337988366 611863450 157953120 423093501 660775265 237869106 368503006 11168881 614286565 183772194 454220419 469776236 734241611 70962269 882007265 629521864 4250871 994796179 599067202 478338007 111599666 197213484 143348756 472581438 94467767 754451355 764633857 310500067 495560472 21563625 298382087 957853228 239756480 472175410 215080770 924176383 359493946 664933765 476047650 391929857 293782125 498768024 721549445 75026480 683872362 954981783 275884356 635253609 590152758 196917943 74301189 435971034 846169513 498669293 789472152 369633910 804861526 428851867 496827058 820898595 400945061 252078736 562483549 979589036 271397554 928888019 437314548 60210980 301420292 621942025 767747723 42783342 594037614 511264915 43069072 1614037 526766685 817643136 856678024 203970763 305732527 23125530 260137010 743118494 76777402 221899069 558234251 936607607 185802388 613916400 387728540 812232828 284718481 453172806 821435532 758463393 270938521 107975783 363495419 958214508 701136986 506425905 632382759 330272463 412954643 750213520 85665270 561512442 52375130 90159529 67821121 337547338 142695339 246464603 527020726 304822679 316718742 326425197 64961161 69411115 551189102 571242723 895027257 955643155 562275340 224633083 723452827 956794092 893033840 275088202 45090456 725310529 391875253 349235061 481568766 684046989 783924626 808796515 139017364 607482080 366320369 219568587 653006994 723577772 725672008 431932993 4436095 463425574 867643315 630220809 726747420 519773237 129162176 452474701 128266799 28537071 913711659 475313545 482425677 432914505 749821360 130060566 630147489 301059485 316360677 507073430 217366505 721516649 88511493 106327581 374468288 338897592 244751376 17226678 244027672 906927842 758714470 933088247 79737435 6378131 528884356 776845215 200785530 210084674 714667365 226876147 495758652 374566628 32527906 34987848 74423242 121429345 479290347 494186550 325145912 941967861 372616588 993923187 991659642 875972164 273305653 967947508 39955439 797168100 161098586 423273562 295409290 764518270 958969587 257351099 925346464 306389852 331826394 406133588 500137437 500715391 314488201 333876927 267495013 690104014 568650876 107374846 290930618 167949762 533129002 899001409 540412636 433137484 534326370 790757659 767152632 696599031 226336889 580864388 130577511 783485017 637821054 411936334 138741613 142555361 864785708 527301558 38915042 823735053 834742372 45918279 68941894 319866800 295935989 238598914 29297120 11577398 807397695 902996450 379578991 934496182 430339405 131299478 875403634 237957420 444388186 526809711 575500311 58342050 832348013 173680217 780651077 800973390 153114635 441595018 19598320 430599913 985960586 215522581 822797559 768695960 192866188 672515662 941849623 316724296 871031502 716316198 933677861 40614307 767119939 537904825 845192260 768203179 965033822 937417221 955217555 370989426 853281192 587892491 769851808 13695391 979588508 223918420 93831816 79032081 521539200 680892308 875531246 710982066 267452599 977633306 129671355 163272021 519551735 159215329 526312728 419982348 271648597 708526189 613751925 391003498 710973716 794044970 241147609 39038597 541668513 209272896 427003515 161795836 906861448 716806464 985482449 872083450 255658323 146931314 492070826 57186423 535072782 974855328 614156232 137574793 251777776 154915215 389879494 32234289 498271925 675700894 356649799 346034612 93865222 527917421 393528233 449340611 854249431 76079922 973464076 94692632 625591875 232548240 315968766 119436722 155135508 598575757 123475242 141185974 568884271 479882984 653551670 801052354 432116233 227876728 839900271 778621616 815587379 669330173 759484966 545301539 489612224 492591446 48409370 109266688 74402997 732564234 993118488 654739261 287706354 783630769 269391515 847632622 39147423 76084582 595389342 71366266 764604914 800745820 64685664 43268448 595753571 125230290 796802627 853895093 161084352 823911170 746440226 316295687 836245488 91950217 653680254 642273712 455693077 323259757 150900840 393178802 584638861 750968240 470264812 385186523 152702419 298645910 636943360 452853395 292569938 346383556 315816477 178200040 892738808 448089218 860704234 151933598 570581095 679576766 17433184 648791696 819247412 992007524 363787195 888493519 140144192 524537754 167236108 924691761 553096389 898337222 228824854 39572366 947801206 916925342 875166578 585860749 592617635 255212367 77947739 831183082 777280894 759469073 405469127 259086147 779747022 706266620 43215034 717853136 380738415 324905205 255373123 55573012 898528698 915788501 439074192 153996149 779583496 264500542 593036931 127791017 615960966 912879590 902546214 261464929 115912208 60545117 440886565 791933655 500096221 695652526 495657424 779201714 871101957 439544148 2159272 289574893 735140785 821157947 776859382 412587104 987398404 139411634 166429936 985651041 108500151 114218659 926345558 226102346 18085803 944866749 596616965 225452745 938267916 495106896 109739781 428405323 120189062 893016843 484400148 803634396 809159020 794698776 82784976 381917808 482752146 111458238 40952479 76634007 622906616 796624491 474208744 256419399 329195315 548936795 953305510 927271833 195414517 224665108 318574471 285047843 606319823 545137021 111715639 29714700 754364978 987094991 556365219 899329680 458099819 39452407 380309117 66211139 509677342 745854524 693022344 245008597 912609642 872363835 558865790 136540421 703466352 404763538 193087254 551714514 777067984 709492545 153482319 69373088 215889988 286121382 131201214 70935111 95210684 746900636 160087046 543072683 808666243 732251699 701520020 164962832 541365766 509087572 373574089 883278287 60074598 274050136 443770234 457314029 116648790 17456487 3062613 696558808 204188759 376502975 171361918 112954807 237317884 322244485 280237220 511220591 236530613 826212610 588748249 893332087 785775369 317524854 779481301 705152003 442032148 938934070 476319806 783768388 684951916 256466983 68240911 603537471 219885029 461811177 715365318 681286524 199005561 138273825 79680249 46562784 287853206 587876240 511113440 970241231 194666455 858630554 716288889 24612788 4454609 490380886 165389938 600470423 816413765 243426756 49082779 746460249 150677154 687549187 635659216 898131474 650920905 908007585 390008340 678752090 938906015 929236160 642500502 860594311 98582657 235404266 981094843 298250943 122130146 253027744 558968911 311687998 250853240 131776541 239082070 900895260 725351569 846592114 411915387 49922319 568821064 880488134 59104590 996855276 297653361 645089449 901077808 175255636 263792765 703906005 780292369 299312966 748611357 188373639 129982138 209654734 974744586 167877701 270465146 648020888 699466028 425139005 945106693 879550543 540874748 106903791 159767687 307920754 214831966 534957806 210147111 20368554 797887905 687519335 700537824 951618699 451645788 998748519 864872664 309589211 637710798 241397032 472475705 982767933 242701639 821310092 943018320 238780993 571661360 97796979 155941274 597692070 566495187 634573140 18270131 458278215 583875077 166562655 137490191 10026249 376627425 102924247 476719513 463963473 232806141 74168717 198666707 732911609 132300786 402927138 285391722 964598447 280331867 136437226 249739244 456638087 363310532 98403212 942979961 250772018 497872752 959067482 582835823 165504835 448027216 560063784 649895110 212559300 922692513 618711245 192471056 273758064 571707616 20094337 268554659 310642802 143248812 543853770 986002653 759759815 188930444 762754001 710884681 914203223 21200326 779617711 849701665 192168912 90128488 584343491 97716084 410188751 529359212 812632891 380826600 393847933 474523764 772618009 814167015 926724749 102163238 725858296 396719213 503865425 611725431 494621376 100889752 621609412 636441252 177632667 563554785 207029062 895185596 629307652 814651039 300505603 696008221 45457125 849633313 502458650 466321430 191226206 80663269 308282427 560647022 85230640 635197045 581530988 788744215 636032479 304616579 794510068 922900437 173142141 739829886 543207476 507418539 844871993 337774447 738037196 537465336 609740460 590189415 351737995 994420682 250957689 588247853 131084716 939760035 497492410 606931638 593608500 473070426 456755776 908052592 31858995 162913384 202385153 368171556 55430450 253484970 155802470 725611984 154750831 287821470 661098430 531412405 586565032 503255038 942354107 578842052 929571723 190508219 219799270 136269410 285390448 635550779 83499254 737113515 238772904 55420764 684189376 3269472 570960637 764815957 676630035 693829179 908069844 205656014 114847418 95517447 95659742 433524109 882815296 589919465 523289313 384021873 470062081 184393156 816792906 685520501 851920308 45323730 328510291 744056760 890256481 710181634 830864464 612067110 450069596 795301022 123381878 875388818 796616862 35242545 419508073 19546058 785062959 172956896 242148185 453888431 464458120 508789962 643826067 571040693 857300905 688733093 70898598 684131772 951867596 644092867 108364896 446759618 721710787 116419278 759687280 620679069 423361389 99277240 477223997 163374139 153504182 498070813 325279686 10774462 493128592 615925232 697674201 341713832 179542761 306744027 131502730 969063907 941351760 327688118 733155121 760286646 495894414 205921368 97501970 858293677 658209688 224521855 573016644 892569647 413360405 426981360 596425345 834247124 793562228 418191177 559526411 945991319 152830722 690789813 699317782 506524843 182184381 782588821 264057694 624336008 496866480 161201113 962709555 908881234 638772257 772417007 963240579 859568489 163702293 117862312 919216103 322614040 778484401 157128803 484301203 102200471 247524110 673622354 282931787 467998730 476734515 436111682 252985589 401238614 78680816 753142827 795149329 625909889 32692439 259943657 220417700 185096965 760254275 215989921 277262415 241554195 926244915 726184299 701297589 472994620 900566724 922370060 620963312 925830492 415670342 613882226 99123833 677890313 926670697 155528863 731028042 628316327 484362205 26561737 149610615 905642210 25983574 561514027 569064619 182785979 6693284 986319002 566194193 942120883 510680484 350444347 889657717 177686091 383937544 501455287 525034104 926104623 949983318 196301708 463436645 141039112 719183163 772420708 643456472 199216940 807566302 234185078 248684557 263093752 392588551 991656588 226752559 960508690 21029075 455928619 262379561 634518633 327090617 558468917 105815564 55137993 272682687 79185205 529771062 509910067 546265226 995013365 749499529 3419946 756623266 171757137 397627871 335608050 831746981 302066527 136944030 902654270 927532192 522702212 989143600 182513211 779648660 187518299 884999861 575869318 974708701 929053656 283898557 58926507 237023724 386535685 147971493 75719113 573744742 785393982 568675591 849886628 389994643 841707651 941948923 408616032 21672441 488984260 61544470 340811637 786037010 163131048 276933155 298341997 895863039 972371904 791578242 400574777 676455996 270889744 50867762 213005045 548103795 185808938 326681962 33850149 776598416 157475124 881091999 588606658 984246667 772254357 765609899 692038266 691760854 49521294 967412973 960226523 661611418 98610128 345775852 446504610 193101680 362881768 626200705 681180368 348211005 171686280 254762975 775661764 814796127 186324563 747786510 755856891 949838083 257696691 95861796 534411871 549351495 998623462 594110088 65783524 663817968 541635111 421717779 139377550 609319400 884686669 939852584 492306280 176277614 208791456 883461169 988619879 113165096 750601134 770637644 619824288 827366235 372898164 193103592 366487624 144531105 330929151 407217946 253391868 126944407 911493486 559401747 644375065 648766789 563545058 169837884 349953988 414015042 513181445 50317986 989079700 923947624 219011979 214853788 592669868 142410784 864731058 416208731 66749711 440685939 652371986 700638229 529608179 505903308 517327672 901521966 923817277 701890758 541359704 753085009 938055472 509700040 253036468 540812449 451457293 649235093 671231002 906393481 837701301 879375652 59708406 408871814 446079437 452448852 483632202 857721668 167433976 958439901 357394263 729587160 743071734 277673861 535017519 966074387 899261158 830059804 239499301 49048097 524790714 70210470 837726911 707104997 946190371 1374072 585284777 494664232 278148216 149429880 40802358 286752847 161329587 437847781 598483208 778324630 198384096 152370134 985631290 738965902 40381742 755371344 101346260 918426782 72438902 536142871 171659651 339585431 65673210 40560678 295071245 113862399 491776645 319960039 293671746 28334655 301598496 165595374 516802819 821241066 770735799 597621680 478127076 413276687 981328056 29416972 863773880 243890601 561867564 99686724 933785420 589611768 330304913 265372352 657300557 237673735 495342308 966474984 530596206 183641462 840095115 828546437 274242100 328910066 115840034 677998102 605987446 338182700 245944000 540609782 88097474 480204879 918052781 870903305 318541381 536547783 760762084 141563116 530719165 351524709 852067158 505459592 959848163 396959038 835257364 573284696 119909388 923127521 344455914 963800802 514365247 25699190 170047391 592777612 858971044 174642744 138122916 648832626 103955715 33356306 163814913 241004417 71046539 240757309 415105971 200303238 393966173 393781963 128499580 741967211 745119998 773058943 372571363 552733898 865759437 799452581 67217003 48849297 314452376 58866022 156840496 745437113 922887804 115494323 928531939 786050124 550939413 11437930 316647069 609392409 655211863 723947917 719106950 646003354 960875653 930639395 213704910 36874021 50899056 548049149 614523017 148695404 787667156 427892514 150194823 630204172 629591595 841848582 106930114 123854292 598018934 822335525 889131245 102011473 86619659 186701913 124056173 827465934 504934710 181084277 695008041 855543153 443943658 667069722 60277495 148267802 235979048 37320626 362458131 328358683 19715302 542243192 458688931 847157855 140437864 248563940 960952250 42702416 741337908 820939292 385308564 728302648 744824541 640120107 269453940 129492968 446105512 83082981 56315360 202306097 385414717 593725191 630515080 134045026 810046825 346177865 890011297 81814958 26721160 294388135 532964957 74394761 138311958 587167026 279722084 653480894 31304984 886682591 766464614 880513298 270286488 783534364 212092877 658000896 380869949 844742337 525541500 366516406 755278852 112512832 117332638 724640032 139848150 667266842 259937322 142980054 841824529 758631638 650026399 835155713 417617153 118625100 56990105 331798888 239977075 917170797 524745035 398780644 419604102 639235032 696825794 894469527 949804037 964998602 201931209 43309386 798011483 380999127 89731149 112777128 734899737 205899839 216577997 600795948 317780556 907092940 598295459 601540947 264110311 505109354 738180106 595875911 941595806 867800718 962981926 796700151 58543020 553794847 164264530 990652276 55358769 684565196 597534289 495750488 751557078 38014232 833045191 718062460 384417097 772253718 794463122 735295744 127177055 678142573 778200066 805846816 343743591 434088435 879056795 678232207 129004168 953031845 741160450 31704596 596416715 220219956 73271993 609228897 983843800 226245132 431170965 672949239 213206229 709935931 420543161 40883839 918556668 960822788 264798211 873184402 663023464 234413384 243027821 464885685 146957795 725011555 69454386 882721915 820926517 63696241 574732231 428210747 750499683 464804810 483217820 647484463 629202099 761352384 401100666 889733698 895790036 922559971 945855340 840357323 909111876 809563482 281632113 305120630 565368923 418285041 969700806 191716991 223671504 951816994 8875849 318395476 675880955 429451220 961308515 80675678 852458416 95406842 856253987 391951361 554515883 162061043 31731879 246391073 230878605 711047044 349331447 629976832 148611899 33540210 478861274 879417037 654031984 759169936 747454293 798125108 472853490 973090213 819792973 618725744 619374510 857595635 32534322 236363586 492558438 869215775 46789805 568065960 825127366 950724342 376590348 392387237 135891211 3786800 71068112 206486907 288320932 82117600 793775779 790929745 241979554 643871311 463252514 219722907 28633746 210054435 208216386 475962107 868604963 736577631 817972519 708090698 345303047 695041355 681870849 981422110 650793784 498260703 837283594 21654073 207167766 125570577 536487490 462714262 892290771 326224538 422139016 920328286 725915288 542130303 850884913 432474564 275119806 450583120 40533299 49014655 699178652 920868847 996658151 371408243 177981323 857501229 239204258 510588552 708839041 195486681 888483370 873625827 76121362 502502153 483615935 409117070 457129979 448031158 400667400 26843028 395951469 470194706 754181066 269038056 727532145 489179063 327388084 422294172 658393498 670033604 6015851 805321076 714504258 556226678 844713099 622024497 852944358 599939307 153816687 175913314 831067763 43916818 719226431 440588932 20227151 769123157 139788698 533855189 866436026 648928072 633472937 216453574 109541169 627816250 93621090 497798438 366927218 586802526 480684620 567713031 682552025 671389443 100580023 380405005 361895545 546613696 923817387 2167429 48022042 833846278 982495797 76745193 620100322 38664920 297918797 250344581 127378300 996361635 66288224 808700310 159720331 902598811 572625834 627179788 18462652 616744255 222045603 633922558 573423781 46267113 575247045 13087536 297616991 805535973 705947902 476875624 791059114 452558273 551964791 892373271 448881380 837202064 983168715 331833366 434512056 152456345 450763707 350374016 804251446 996783601 607663329 39252408 189602659 594379026 443682051 315911435 66573802 692731164 243610012 979037729 324419233 273882894 256211877 962267691 482780984 445722090 495252062 118024191 614086059 445746002 230752748 767995063 598741077 318092410 703668740 629600221 518778771 504685537 974319352 333947058 691755606 436371775 657752580 648663482 803332416 42701805 801384306 709611831 494114701 677634551 369974860 115794110 828468508 749829078 987541827 325792014 277759690 156060222 105674749 213717534 107684771 517329853 945742719 492059490 173463068 993958492 462465982 459268811 747334358 25859017 616875054 755597770 573088186 67534672 202420067 136379761 440810834 838156769 245879562 767524111 955306873 479716665 535862859 806493595 841383232 675005565 581900791 603967617 875637318 134144532 226099952 137325404 234650611 901822375 345366766 591878405 993310834 38367679 736715569 409942592 905265076 448417227 400349057 927900119 135519966 230837748 599551830 707701145 849946044 246463897 452089015 881521949 992953361 462123229 687757021 567271200 267147253 232881611 475319920 437327289 149774321 932506624 104854017 401021630 996125844 598285649 737482911 7305414 106473629 106778986 147064438 195100903 293557552 756932484 680464271 714276105 163769315 636016669 859615728 374968903 86436761 159954232 530684716 500123982 137121463 521558438 54940080 182712404 222190340 634714166 142932595 251425533 223873526 834952648 179859819 506616424 244856497 274535727 222455292 531622038 653032948 222017792 74298394 439715740 642655659 34292907 566928442 765281915 862790612 114589014 681315711 68623512 73181493 799877776 109036818 589239464 10100595 832392305 655119014 957476949 768560421 14471899 545243566 68986127 571306266 137895662 940230715 683506098 771757983 105059957 569800490 180642695 58954802 996487836 965523920 88533248 61061253 937958957 156130423 717611297 43467760 149877305 362895166 863329705 133459366 212350499 675050180 895267487 536642724 110192239 594257751 935161282 966313239 104244940 341380881 836364512 311322113 364199041 356410065 747083991 631123365 614243101 613534140 429490067 336853834 913886462 979689504 769512612 849969888 275534508 333158291 197782229 122785336 207373581 750595867 654030814 994112220 72402319 654709085 635660490 823116790 799882372 143407725 678385625 89124186 188977721 977783968 191186436 53893661 63512207 347546128 638173827 865460806 409521840 448792691 957960903 110764247 424188989 788240673 715056365 63527142 667182471 131785954 576639113 214306087 149864600 689634236 945541360 480194559 916407095 198699646 285418769 720253192 961768225 409320284 89054856 258477731 334300769 38398568 267854297 798691867 995680587 43188459 100677102 174801430 192488075 996892829 498861328 696466104 154315627 157240236 527612280 495528831 101303980 43264921 796832854 981950759 90373790 286881182 268079146 783826047 637103984 921072231 318962623 76632157 354986586 374227675 793919758 668982115 141938972 123600744 312997157 990521015 116605364 912218032 512839944 324416515 113242601 879378951 704111754 711107501 295521608 11382906 795720091 620852249 718055486 943657427 43431824 898858891 51521997 746169986 161140369 297814690 28833649 62703721 172764691 818718309 738793312 785292736 141959562 366865756 528313193 401389496 638177284 871648299 710434367 35338359 747453941 115750202 432102849 448209764 148986029 749197646 654864956 282681423 295547443 627822345 198758265 271944698 116455962 595263826 500614169 831248378 182294737 997509992 983585605 270504165 795574661 331528288 121397592 265555785 894770247 291019510 20450966 147219228 971082561 751303972 497620898 194460527 970160185 123634856 925462610 424086087 502515855 636023817 261908364 257072078 43045913 96373219 636524374 146004138 578891911 153083789 487489041 528321035 171221587 564615581 249858255 710395818 265546853 695627947 855268156 125461687 116867893 886465150 238245605 830379797 985055799 520582452 348662500 884671720 967279607 7803449 482013597 839742425 842968642 678026333 418469204 303259362 332915644 938015561 42025898 425325097 606438081 564607392 234478932 114048342 369159288 939074546 383968504 291688826 167487845 434081007 246271349 446049287 118210174 591645199 997611759 162379666 578902928 386780205 181116711 266981417 741595629 813430349 995988256 983231895 186704953 347426818 161018517 501894334 962399664 539563695 489067003 5323350 875430788 980081105 945943144 618139255 198864116 803213710 192994709 56491571 789374951 936545010 444659919 82764025 506215854 283672220 896206724 48154184 158963604 47340029 65131247 964531105 263127868 42276940 8398399 442761230 243913028 815069273 360053430 849453526 513331029 491321 29970702 226536487 811688329 860877718 311723002 828881557 223298581 105374581 7768207 523683376 667495615 125303681 225035358 911404452 315005840 916468710 973790693 967086057 65702505 433867291 220936278 803811143 217498805 489097184 272231151 903995973 42094100 57005159 793817198 147398507 192501971 399337962 726116213 916969481 313222902 328931665 252797678 511053568 366926443 692303924 144555580 783262337 113909860 842257109 406541279 701679808 949014042 595676494 40085721 172690664 590744675 62080177 548716832 98620117 279138168 621903352 35022313 168131350 761467167 893300997 436750515 678431357 594638561 867590047 366862284 982833373 807303707 766671243 856679364 535302784 37730480 412836906 809362374 473317573 524906115 762825141 173466589 856763901 863719131 509538569 481839150 466512567 699558051 337190253 270905417 700944138 312497071 374286078 508832840 182898917 72044813 43644215 522626806 934935169 993842643 288427152 164005104 414672930 121288952 561945168 73945952 407226157 230822284 140183816 305130078 32176709 999388729 614077001 300790231 884682690 746074254 316420937 309437670 760890691 89457746 476554171 480019646 884650517 508082354 668791237 35570316 372740925 924166884 273954499 11632756 222939588 669339243 198983254 280341754 481227551 916428999 699088498 188635935 249716797 4337290 393001932 656220871 93432897 77998804 155845230 510765631 873355964 266931438 159499833 478168471 833297728 71492689 603389530 19598033 903358061 329473126 866175725 674748946 252884736 640026271 266955332 919793301 155270199 1445036 599355857 859800747 651958873 254557711 472119411 88677549 47983321 382278938 66771431 613447677 934627197 82665452 262422750 786519581 921925450 877933525 350681201 289360131 862128670 875014974 615807193 712687811 601571663 864863794 143082167 761309654 12011810 451302911 11787750 750290224 392919516 48378497 22792269 751389853 396863827 883928746 640965551 68614224 608882623 753633166 492390612 337153892 375455650 283058532 8320847 281196361 82753046 557407721 280672992 333298201 82665685 390517909 630165478 973450780 333395483 310085161 221849477 932736400 210582109 94566049 53574549 961138744 300305905 105036178 444485371 202990359 613332395 362127818 32631836 576851355 241883920 744954231 632024072 559848443 680144636 593404206 759818258 172815350 214324469 772078463 215382616 864203588 264923603 672998374 96539241 899265001 577319899 533318873 773454397 375694605 173839552 473508968 881110988 884726734 332155965 980995582 389155955 364527670 304937316 441472994 447810262 983660354 180164657 649029295 767768626 748341105 700134448 713710026 232225058 232496651 162153069 414339133 129346469 285101511 477850808 222716993 333438776 37518221 4153495 346854163 554838702 170086632 794052039 713399402 2472552 874735858 253155766 328055544 492295406 822478901 256263077 141883286 241753609 56088807 158015146 859874607 225554828 256728470 248486638 358071731 602129131 811624388 316526429 359490123 848091379 686596168 633651041 160624676 237342809 124542580 577845967 559799722 427692472 149306449 743678669 268781573 969209476 308235182 147560207 180558654 470028170 457397232 119960796 167704833 462474561 61130618 923243269 447111361 316404548 245052069 995320455 712837117 478811359 945498629 181733399 776129498 678068375 108739583 758801795 237497598 138336942 990670923 873816493 871434530 966945262 942532993 191885703 681090378 664697706 329040643 313418851 745162689 99483481 452244183 450190241 148683586 946852342 954935407 699545647 394497944 746393211 311861966 411614341 973016761 565731700 158732884 148395731 772988136 783312231 203240345 882991090 794318842 547382458 321379067 526711171 484248159 102763650 202116400 999512680 253671453 909095311 928277846 330981604 781374974 488894533 209835896 621701005 622922832 401341847 916167408 500772555 17349354 594115721 529790943 860566411 770371461 549432835 501495856 86729619 137590283 677126011 738139384 838127086 18649332 914652480 696794589 699255167 571336332 755043504 772348307 282647094 469626701 914550386 502352839 442958885 617895037 782517663 538044889 637055140 90983184 379685247 995935333 114284797 334844748 719013997 708676984 125480974 762367709 285965075 863172553 64839248 127192757 810129012 415752356 874187306 716017609 163644362 149869818 406415088 189418770 234986813 784569636 757758730 774260005 480120223 498772408 381120451 651485970 919885616 86782329 527767630 91620224 963741882 580477102 724239621 705170501 187169532 115530561 659220008 104702597 628560589 725462101 152795694 317717110 903740309 507218772 82682141 262218246 76895058 301009314 86583692 749160079 415365397 912558925 42424293 786105492 39768605 545013988 401874473 207549076 206296290 434959485 884525666 247282417 484689060 88615064 315086942 213212575 127920846 444425923 194841719 333318298 182169390 76665990 861575969 722481034 997862627 926435879 446301569 930749774 564440971 273064861 910629821 100644570 379775520 622957941 78877191 903128085 539591191 263766897 82719348 55203986 159150345 943523546 190210746 647006061 921325101 836263426 397368945 662172680 295795015 972401474 78495370 370292733 15296152 437571504 174231767 548882183 853146458 184507512 451852187 470000963 780616603 196410858 192851952 91882642 564425517 781396867 834067517 814581050 910407162 126852992 270645452 839982311 31264905 912854911 545450593 450185528 956061411 469427414 756230122 65089864 306839162 109384370 503475968 342894655 986324902 448389680 403117641 292448679 128500393 131396409 294823641 316394669 739932989 665903051 796153659 613110906 83924558 734095501 650493 201601296 136307993 6185327 397000579 549820616 788514928 618656837 404502924 233384076 197706838 109741492 153304807 262560720 385492516 665951988 266146154 387056171 409868455 103765565 274670919 39139170 572031637 905564074 180360451 429790261 549013600 705476621 743013249 607475502 22358712 275933168 314804701 831827631 532192145 52964521 192806111 992909160 120690238 948923700 686249955 607641366 619335850 220266402 893540317 602774620 339247492 780102987 807800891 430629160 837423890 54720664 201169173 913936258 716868041 486023198 146712397 191874612 463041387 883453186 125513119 17156145 491891777 399732226 127708702 943552285 336379933 511652016 307729839 43317997 451022241 583526777 553591425 761043412 39503468 138047074 871631464 277399902 305865210 789790506 393483650 425830562 693397942 105231029 299529399 374936457 282937512 401418039 317120816 659706972 34725032 660323306 988793776 979479572 106612947 276046678 482851495 90575164 722341137 256604956 667623220 239694147 203354056 36916700 913621402 318130119 424542799 633979326 207309805 661886049 499009301 329342614 647646933 516840121 759573537 916540433 261791353 319880724 816548872 664510357 250503909 398399349 275958737 39622237 726606483 400865441 209573419 733536554 782160643 63207277 114174113 622137506 2184394 15531281 433918518 34594611 271786161 283078146 436934922 910306108 436119835 806143421 484981047 347499810 194304040 875704196 369171502 412697570 65393603 899819057 208084324 737308343 329809759 991718092 267859372 215064746 43213157 212294374 666627019 603457418 420180968 959870743 954579441 249592910 788323187 504863740 631985717 738087353 183055016 550267263 885135375 912579610 453231358 330393935 447629373 999925203 885480080 268098283 685310442 379542615 807818988 681110223 109507194 617198350 661170828 88676477 903352158 831076465 129808659 296713847 174249703 88134005 966440696 350088215 14780153 585279644 985281253 758158572 649300494 571121125 261104551 345292028 225756890 902067535 243769226 158777694 950390353 530955443 195150333 72789714 96512357 882662473 712402479 244854350 240232644 857986425 205081006 562072586 440843956 820318233 546220172 711270279 110024191 881162317 779687447 563200452 239574669 698609615 92317663 379342287 120949100 271070920 826218331 622811707 18456700 770114365 108602570 252609198 263633600 942367455 88001718 946451429 32485542 163295088 704019352 180310399 114760339 255453706 510728158 466018068 387815809 101038612 978189307 150409516 148253847 408729117 668596044 879797463 351487051 775363668 43337046 633046924 214365350 111409965 340721089 238469688 998815995 246625767 725198237 665415276 182163568 126405735 419284961 770165481 929288779 301315508 351115929 969320616 224188501 286477967 894217266 432927320 834993957 12857028 575775782 333069194 491815584 94318066 247566085 368956090 176948312 198873996 303598755 398078555 971508854 863674424 724373449 439471618 955680666 788728597 794362908 87686885 411871890 913948437 947556275 402729222 769200564 536893337 282692541 677488207 896143305 430430717 420392640 162872474 803768611 427026506 655968362 195429009 83492597 382714999 421657623 135355487 138943099 355075904 436459762 82525556 54508626 430706665 374922314 17713563 718164838 832177423 86600910 969237729 406907572 962270915 352586894 850536678 454081224 410815256 475377377 784928182 26949226 194410689 457680483 434894874 519781215 655999215 106340259 41565652 635516329 182280946 802033698 835207563 733796778 119051248 659702284 819267917 796060727 25748630 218017437 699336982 774160266 175202049 596179282 835533032 75564349 506571455 164720760 76535383 666425613 270721664 484261075 217041603 185463850 29975417 480454696 372387215 624836834 187694721 698020618 274445874 45240787 591633145 870776441 17906871 291178808 371038426 138955240 170911834 349815143 830489837 736484216 890147052 499802636 681126836 713828019 115976929 57668902 131438136 825858592 239259757 828529918 919443626 135432453 405994909 667873890 626883962 627963025 519819047 894486622 896336858 963588258 91751885 650776708 889483560 337623441 834619754 323570001 906979550 853416652 275538747 54519160 684325419 658115427 950912935 78195622 169118629 499516611 668486218 732071207 94193263 322402443 106765648 73840668 212408091 124517095 956573009 198130678 139060883 515593655 556934514 521542968 164282366 943238283 465906882 451820750 337829698 766030191 216001162 195973667 217861287 905150954 320130235 346269054 559040465 361807157 759217346 159477729 442634155 306003717 754748357 494508351 874499743 257277750 100580900 849260335 738845570 165433119 195761153 198560025 526397452 813492924 663907422 576458708 399250981 143962428 702955748 311274681 765930020 641092851 894501764 239285822 366454917 694841809 478959147 336524621 495958036 499514288 664783006 924453559 705031948 959709986 310737345 36287733 425157605 205012229 468517714 846392104 988714650 300991967 44053023 563888478 913141464 438237805 462373916 112275888 475805443 904249605 934966706 477488983 445178790 522368035 984294848 477053157 428973953 73679820 256321094 874832567 83908232 798844538 105009184 29921701 536845711 745790014 470409242 179756393 223722149 119959462 67083270 692519636 128761685 67987670 571880707 757778336 798436930 700273491 496617923 650048806 660994883 625115468 365038088 275697971 853667420 157591998 810663221 743184133 644985393 237032520 165516538 849908840 224765736 508509308 512199213 399875840 940104787 940651903 955268387 161326359 937857477 710564464 704444619 295689438 918527788 818909527 276201154 990186742 889919720 601820844 243433612 67778527 931030048 305911444 936470501 945095545 57399059 391831588 443293712 50162322 36778103 237872037 944347219 85403977 10980805 945437002 142967523 867349855 98517557 917378918 977694070 719378797 340408813 723311224 256033656 473418755 382120708 519436716 35440424 642458296 527792697 191394131 884175954 324802192 33897461 187685540 129682068 397328801 542110680 142770003 18140249 542144988 172565275 389633068 192260205 344952665 487329959 509705314 630380959 145677628 804584328 874312344 840587790 860075553 874131021 824438356 502308000 144124311 24486008 477011757 289101916 79781175 104571212 457283285 357477460 670941721 281221928 291099041 393393841 644879172 184398642 220923104 688042481 166124651 774622970 963135944 129116391 211518948 336992662 76971896 833042767 967308240 247904764 94179901 807911161 299863622 982387082 524088946 160589087 183774438 815094915 512938513 953252602 539050972 691958531 715088277 188795687 529349497 101227243 677257189 19585088 734855077 637322988 67722431 198685232 320336800 31408991 889227502 245528279 899515849 665800090 908127419 154693602 660787643 108613859 487494170 183390112 615088152 21541980 234080920 294164374 732550071 633874815 411947010 66325503 382154290 776978997 900033936 682394716 183281252 338964717 390140786 109022592 725131101 890407703 221702055 344629906 692658906 445526808 911227991 228192586 953505655 544591299 449997388 248474791 700544870 808389394 472144592 160300184 513717595 259469303 591551867 241301085 572117464 77332068 12549950 190655482 944757580 682617875 408340884 926922025 394830715 643969361 722895525 171108542 715264177 148382706 512180615 292052944 43928064 962993046 844818764 145522384 412545900 407622787 503713327 246843415 764961504 183584708 131304249 771537616 783590874 781229532 931300773 819211554 238367883 275281210 965767521 277548386 315939034 93040784 809656203 534640702 59547184 718332851 350690164 928222942 176180296 554049937 228983251 12710262 853949129 816331375 21613865 658790450 409236670 286203033 733732157 968754788 828739626 902526622 708864249 873301528 675133928 359332038 789634937 554890208 350927435 875829118 204330321 347397216 282681412 280638423 786706214 355689569 206183453 682624892 518701787 135635333 863218629 279934492 636969864 335817124 526829843 694391745 144988688 292519153 152891641 461063467 77900795 616270315 806758466 141367441 134945206 438328 404533087 299114295 596329196 98613733 261865907 184131755 393944265 341387484 266076227 239943831 259626830 989572963 610722427 673984030 749508880 113453590 189976028 47234108 65842887 171129692 64329003 349866771 523148725 422133879 662984638 125176873 95295221 886993329 455993428 941376593 220758662 263518028 373543594 675441151 854816943 278931463 943816925 785222550 118846701 383166748 756240492 179923878 518791524 469428068 41510967 29603929 895584084 26537860 625841153 498606718 141078416 834297354 567129823 100608136 139654780 517685737 44836779 279076059 321231594 262425426 401092794 240049127 779185467 820128288 618228339 87884004 582507903 494376559 517582539 125575492 339210358 549635670 742956425 156482348 261464297 134460354 387973672 265363781 157660972 755577179 250970346 835571351 786137784 242084663 215832831 475601846 91427104 914770203 615984625 930899998 116784912 879119864 461545930 645146458 336506787 594447420 491895455 946754391 591331833 815636168 700513754 4755319 70159642 86520385 511557011 552127123 36205711 791929462 45555167 584108999 126211152 60194271 920329596 379675969 900587469 850210405 523519872 597840226 165725391 117318608 67777735 320975531 713423280 380036020 354964533 538437341 238702729 389467850 94784459 426309334 556263819 910853429 17936220 988432785 678563157 42647484 307819293 250884631 510246237 93001405 136981329 100567535 978954969 264971767 522255501 400223624 640086591 540554868 968487281 930003418 928950117 55469572 456409662 991376008 423639728 850169912 992066783 398029859 553093195 560599471 152290877 472188508 390695445 62402853 25411162 833982694 808757716 791224392 889793564 191803249 613688631 20521405 209695628 612909373 691289014 161391047 808407931 178942050 911259455 771644758 276191949 389178191 773711056 494653061 919549935 845866673 83856758 444001603 515380937 223103226 242305716 755558942 645718202 933328064 681344526 692534366 237907451 721487226 270262580 285300131 302469034 228415608 619259360 125231065 288195710 30289298 517587497 973874142 205699750 993531748 26974968 135020769 921685382 804254076 338853515 653591090 398413197 602143881 317309191 883273193 593587379 572683393 191050295 292178552 543419805 224514042 73173667 975776123 740552444 795338621 875581648 64638829 828249205 294029701 87988685 648249633 610523356 411490105 154482818 722892337 774525615 155832297 46740838 321018199 979935371 189273136 795560220 502887057 68828539 381452472 520656286 35589479 368126238 81270191 223630291 934370488 73609123 2143092 425941243 706071394 478421849 217240980 92483891 23972994 639854431 55270266 571605005 431893374 491432481 198073106 158628140 872729791 21644251 23984671 389662023 13905091 235903092 940436714 76558130 749396094 476483400 7420762 190330979 469563735 176062570 395228176 637391954 27549139 872291354 418313944 199413441 95726741 446809711 196634892 354985005 82791891 58687714 443203308 408667237 52541398 128761120 452549996 43421411 946309672 701370505 323124600 816211947 317733632 575383331 864972762 955038687 998702759 41902285 60650340 110430737 263165248 161709813 479455282 597315357 8849435 418099072 920672632 777907461 844477910 765105529 771272301 551183135 85898965 578653621 143420102 48531818 107076117 407969542 507007605 615963579 593409028 442436423 787182259 549820183 805473364 960232099 688122885 709341617 333125273 68492164 618034594 146481526 512989351 309470617 274850262 639288184 113403780 576981619 509365252 532173179 85987160 947355020 82109379 408935398 129920257 710024387 501843509 455781702 972952821 157757399 540496823 732235038 995016250 597657585 120742107 468137241 670057426 875993525 501999211 325865896 978346083 352524265 413093139 328316624 809116139 27771559 311960967 897621403 362103203 655098936 159477848 680723308 144047577 695955981 83640568 674016570 578484023 381072682 762128789 460162571 169779003 173493130 548560704 810879126 48460427 974638438 326387248 432008603 669390442 36574899 511161855 816738604 823043107 399191733 873678508 199325533 601160602 624493317 153518630 32924984 78066471 507700386 407975303 203716092 199349918 590509097 363778848 759988715 855565762 921365769 640905951 899586682 279910223 369938564 182803090 181276825 858485661 595847576 163560353 201517540 548724427 290424605 865164254 90476994 408902451 300261378 899897179 963015304 97201646 751354172 301247990 405046370 939936378 419803661 169854210 307969719 753247322 612489265 722730643 589836286 254022092 627474268 892450637 824040403 587733945 107957434 612703016 441874955 744371591 11076489 544225633 94767682 776619297 162891550 489485758 395539428 996931983 640201529 102643534 498792597 655487260 6442744 315122039 760456164 435540093 352352268 472774445 530860782 208007592 854159355 870975526 465353475 95767034 74925891 463248630 889004148 966022100 625901675 44077704 451558162 465463192 293636803 297275220 679367924 326613540 581184963 884840736 308689439 684507659 950872603 352624592 137820594 132228972 103404174 868676308 150499526 614984196 163831005 38960678 395682020 690058693 629666221 174878233 554952700 386935249 463958108 762065358 824638418 464165412 590578789 704312175 914237832 116828635 949355115 986265516 708871348 629538295 214399576 478247059 98701470 780653927 827822462 738766532 467921173 282978326 497338300 881271138 977605683 251290544 538293038 735539205 439016862 237785656 384034400 4443109 918537937 605429195 508764373 693228406 333720812 96460986 4694924 791924719 170884984 423865415 179915090 364846909 109887799 567898462 132495684 586104878 755130449 734039778 631324137 849401381 6335657 980862820 242633376 79208337 159679198 182389960 631913905 196495432 802625270 709356995 675112618 175266136 30704336 228692385 613821907 268323826 757892869 409717154 730823129 621491578 116646244 71078971 267170498 468426276 241334070 57986894 535416384 346923948 606723944 543947884 818318209 353649787 125056799 800021870 237313645 473720194 783461739 530298783 120066387 14579796 213420117 81418976 467211676 536249462 633658423 440489736 225143662 15418576 712387287 764620059 503175012 32546535 872529088 521166978 480925794 651054906 631486045 374261048 767285558 402341602 933821983 937535341 567856307 210488789 819402116 804220399 278522979 732395227 337309360 595957436 307417913 131605851 29941503 122826023 414504603 256043827 484589479 93855146 208610738 690249160 182788430 850639955 581243471 160027011 13572645 832274522 935236781 820623679 66434019 394037588 124429156 260860797 179018418 639901090 369893800 824071776 109957761 248858877 275339047 660213443 765387268 391987864 713206728 998820164 747543210 847060257 458313542 79315762 375774834 84396121 915836332 586569648 407883127 295482150 767280274 445909393 110343518 60262723 840357760 366513174 23563491 81156347 331778354 221768547 622209243 337460117 358417968 811352694 927338628 836872783 480295652 565909977 171658356 784994607 148667774 820226263 286465559 309871978 670836381 524433416 955265696 997460211 65259260 350542223 592428885 417687846 610940306 124938625 749569684 376344692 110588486 340930522 275084893 590660791 457846765 431140604 561371075 210789440 829851288 941238005 373937150 26770974 332064745 751391887 197495320 30173575 936417497 703620254 295565361 581426730 96761678 144013173 129965017 901972749 237067993 211843901 720266508 677245753 342309874 328337840 863122906 509646965 450098697 830115084 713199401 514633402 492892187 211030706 570615757 410896873 206637458 191531168 252452183 712066698 967384451 585489255 353113609 647859775 47177513 983080650 260049182 52459471 119665295 416241393 224562548 131457367 453563074 8938293 743030997 873084253 4282275 194140965 241513255 817884716 649004187 368418146 736401273 683146326 139085146 135530689 783908169 413256625 341594466 748019943 416894565 345238849 31168616 519501865 934767117 687881303 15307427 282637268 101062733 402777199 206093900 160897445 541828982 765999548 794121233 728561961 216307613 294606121 895412478 911057318 278857698 286704849 324604402 133312548 953496672 780623189 366690198 60515510 916655042 771384937 631140540 238980102 527723052 499291869 820664538 856470493 547972276 318220209 675198141 86134562 704850651 83924226 422205470 675840746 919741025 64495106 695151936 307158816 165297075 794177881 817149262 676739524 196913948 982393667 433107068 162305016 188828283 578697350 895722997 980214588 747328510 224768269 469224321 514269620 448809587 298157183 857129066 892270554 455970613 970096020 990326991 639482482 369204486 143205791 315000736 612583454 234422357 653344833 568808468 474702755 558671312 646261613 884854559 267226720 474884292 129906685 135876526 697273316 952101666 321260496 265752303 118622819 644455167 857533039 173921609 142049659 145472690 60819342 466680837 702728504 847481381 459195284 128874246 37389519 18609393 227720394 11257367 106300261 489334174 297148904 79413709 329916867 379566703 710508798 752203636 371638919 178852458 933209246 851072210 21651429 96904782 826555456 773163592 46518594 586526971 879585444 483078124 848470043 730997804 642420719 360144985 565268899 761479028 658273498 433419351 362630696 230943948 992480815 280006848 171354501 777527842 642112486 568615981 996303190 786665763 463923249 295879061 383975766 149797393 195150162 600400813 168705464 156962008 454342572 695010355 171765598 512312398 366208067 841073614 129594151 23451020 202916298 585072464 333190078 465796207 325932226 580305240 963059193 814373261 236278005 799505432 652232491 363716434 849886006 539408128 89105176 590384215 46682022 840483339 433761772 794134322 140973638 101807213 916561061 633767924 552358299 575141606 24068618 25587590 351045582 323957686 696729911 894525057 908456553 305418496 111810431 209660057 797356969 704275683 5058348 277956087 620610098 588585541 987801542 41564259 708877395 6555688 39029776 415132262 548622287 251653772 612932391 369674682 842064458 95127979 821836858 475507457 421491133 302044140 674807943 121221295 704629759 705380117 411944218 984228269 717589274 785892862 808539141 749241379 880594166 309266696 229230433 539289712 447981438 955360461 424832297 926395843 250187726 304737472 700728576 929119414 916710343 471340045 559956257 102611594 895851004 143815008 621677626 39044355 540769572 548864928 482676414 858114035 925685134 617802749 946149374 371159140 687743922 694537246 991612345 201817255 352658043 119760656 237199284 122036328 403338471 429935285 22761621 374198408 670752261 848220790 457548207 728648445 101109024 58662019 514990083 747156986 268556391 823694337 416467018 269317517 167132099 132975268 802849998 437053359 924173744 856076099 689977563 167374420 320192080 736009556 154698337 616774678 697543468 784105256 83507047 157925690 659752056 712388127 211662658 84635315 107033923 379170216 725726560 544490667 14845548 760135959 954941126 332404849 704117105 332540328 587584000 497337152 68046940 217512399 350538671 923281551 503668887 86366204 686751362 930569380 767302551 721939877 457307312 2465437 389698440 773912233 802373916 609277495 277079881 121434546 7347301 90177199 917295622 20221865 962369205 962416178 704367129 883517145 285794159 231854328 134726826 30243994 378388464 77282654 171706854 70779654 367587910 602441540 512113488 869824245 254635052 590859735 985426130 886007017 408484384 101321016 893647759 183957598 384202920 43119093 486267555 177809552 589062309 736809134 899834024 893901827 655662412 124273097 731853079 906811915 232286776 603006023 282656747 872146451 421120992 45422470 522141363 8586863 325347105 827808409 961908965 527708182 531026947 719205935 892369671 801973568 671221636 73187093 467552911 133295766 283971366 441939172 196890709 97992323 24874790 50721885 89923535 13196049 982510894 745050255 316029363 464840679 839659899 21822588 826393832 318633348 537200597 985499732 382127768 203506514 941004556 457045134 764153884 667250464 806647728 500879696 784002155 163593326 201124655 21727981 53785390 401200845 652960908 226912955 792485692 275804213 345449042 734982252 837018184 581889460 961519654 163018667 215652626 977080119 973026364 424383022 747837457 884245393 488420767 105619485 957566427 809913819 838314928 689468275 522348990 525138880 982857693 874443409 52050669 2407559 489786112 270720962 70384552 543461509 445679010 293615475 759403177 880401275 458527583 749905418 531143100 794773631 331281858 168175445 374531817 466837235 380316831 880699678 216505882 54166241 691898238 5395668 900577170 348254066 735689006 351108346 416755414 615918548 97879585 61021044 287345015 42213113 257631171 436339138 792973401 152215827 97091048 172189566 225887488 801872162 749120721 14423292 17540201 231041126 782517787 362493138 820306503 955894948 778024912 566353567 302175351 459480543 478736743 172284953 287158452 354312334 6161427 538693228 732808688 746563674 921512609 979492858 625927890 619418265 582948163 961641391 23893221 770353825 611742590 258782823 456078571 523806123 165752622 81898443 716786067 981493930 810020424 17753172 949680341 471847857 710615473 843176658 52036122 807251986 752003078 699053921 897358571 383697459 858608332 933798500 482403873 58070933 520975571 551948294 327167221 177852396 30508852 124491396 270381630 639709000 490331103 772553954 17173281 99495288 351717252 548365109 386179486 678556106 353266306 402813154 670171139 150496497 545896953 638220989 547329982 824143344 139226040 146990694 642272679 939577103 453177605 293467115 228928445 547003992 377939314 328567151 459069511 138994753 49485952 179825066 969324073 636223797 421613966 27044364 817246952 41659789 602659705 87126775 901792418 271846821 889960961 13903211 931492105 197445603 408130911 176071302 86553259 278490740 77203287 366728473 858555309 167617632 11872431 504009288 447824898 196003696 866937414 969030718 701846804 435129032 455579631 233529031 136479863 302779683 745830020 742755183 926720817 362711114 605676019 9626278 414397705 259782599 686586259 628844743 700551479 253040499 794709575 911606953 822367514 207441799 625684919 413338009 582939323 680995072 833764144 685059070 415219004 941328046 799158101 400406334 428794588 979712682 368443330 432648486 923926356 20569589 308898678 417439875 347113534 915706791 594679133 804468381 467229594 819572151 104766634 240969662 685843569 529074093 573633859 93675276 484766701 695582426 513599874 955040282 256304824 162517633 506133950 772836045 217467379 208915159 259995147 949191305 723644561 909388734 674374982 225651274 390940831 563364010 195908723 87962347 531338439 883305181 427781640 16877425 811615675 496131881 290874039 797872637 954391167 870556241 657501835 467909548 212130038 547121900 930070594 109961276 372562474 688332293 156812138 795589628 223947681 500923643 114645001 917048704 314062949 872555115 355993765 223429916 366461220 878556041 7231911 104899283 256755837 334959375 719961272 725208283 746248053 742519069 164926459 696964601 906717804 45324727 382089513 771458786 723344556 840861696 366465068 819673252 827915300 130532240 405769501 26112104 107034339 115167093 771477947 803579781 314770441 345438763 454138002 145439288 805349240 401098903 398766453 652502490 966534575 384831240 531443531 78169701 631218545 425548299 662947019 838408253 449813987 252138490 423416927 583582026 199406527 38497947 216879648 756157644 927085640 726095336 750909716 514972556 489846251 190756604 326507537 571490522 66942447 603669766 613702717 93460185 372827307 477674591 113609786 675946205 508597548 49700447 756310387 587898617 221992462 256190959 530694361 690204255 390837044 609738185 922532336 643813964 247171478 710527081 374812405 349801948 127386164 880445855 627444615 246448927 61472289 970767828 170101177 242957553 229345464 189430392 38698626 249699219 146584512 903543912 924394804 394401969 527555525 713286507 969936991 934585201 939449560 14429656 856455351 194098227 231076030 57759608 218391874 721824729 273761021 645924656 204075824 180679995 460621585 831064365 179188742 867471092 803616221 944254587 872355350 605597849 988896595 558453307 353014880 719890379 911026362 677138398 221816452 52371991 181369755 110165569 443614980 168765076 178168722 129345834 15413473 146631624 944773742 310630706 501206808 642838728 493363385 804185792 89082720 586537703 457011176 980957724 397622845 202682519 170262672 27089797 20019099 452030965 50313424 616060520 188861457 904415692 463527822 174942588 738186763 240441266 278963049 600746093 15851272 241718832 490335633 682300531 224486520 604832233 41548365 6679642 276678014 703024975 209798455 314016137 209580183 189019810 730842048 148152514 83967752 758476673 226707504 841288974 150136550 244401195 170049181 967957050 585882043 934177845 821232928 169319051 80008728 262665846 379168830 664914623 72097975 241082567 860787300 692677794 381087173 924413718 362015223 130882589 28923006 553774528 949161051 507213928 352342665 882182536 391930011 431133315 264326424 618621399 675375399 11473395 804319068 896380485 448378876 155018242 162565426 398323869 645875996 161721651 554242 543081877 609276136 668675981 408369630 111389315 244677950 820179973 545802858 62563650 646470610 987204419 323282709 188506652 670826862 986562668 910546573 295106295 231050108 235140129 536054100 976172026 158730192 233031958 894497649 906502677 263661499 946488831 983997678 791169970 819024291 539513234 590182596 724413405 343870940 492471828 770890862 731524260 684821758 47649647 460206857 98062001 146296211 623822778 66988427 138347401 973257763 203400095 249720363 196192372 99938924 201443966 881396001 188422457 723674616 813632973 226847834 930977895 873135510 953633819 667392947 213833181 317748626 598473871 707373437 41866519 370270890 294849697 324166042 895978674 579536864 124360269 37756391 416502336 96979652 542275767 405166619 770889781 454656319 929219720 973886602 207443451 347285616 951939128 880358836 976015469 933741397 723319019 954279908 171568209 158268529 436675707 280386105 39680397 453535073 169269781 964150543 768863434 845317401 783181306 888716282 942997273 879325956 241669475 504745606 667077129 844497895 79513970 607268994 832497247 345354181 973846129 587620250 725096549 373558123 234487402 264426042 312516442 121489120 382603540 699687664 617973760 982947826 81166573 154797538 447807131 272919954 291173908 30167426 423469969 588359881 265679312 519692428 491654749 41497509 605695664 346217770 465610421 415949805 428713795 247305127 990611166 240202320 246221618 226298952 506439397 242835912 526013042 309415183 965686657 624858716 946181783 851746620 14795981 285030019 422070897 618461351 50306052 946557296 859829802 594645089 61033384 92245785 686381020 489155358 841504061 551590441 216398293 438933216 81226213 912084741 100060763 375362682 282207447 671801737 29995753 191183422 855247196 48729578 807837289 672109588 296501906 702039116 176248717 753485353 302132531 502432754 326279124 957133006 381769427 880139318 249813932 162258364 249550802 720907983 199620347 170141193 666510286 769710473 581661080 145459016 234941858 554579493 565250 685250212 959474903 114884421 202744010 942955235 836199603 696307415 776850547 537214752 382013503 92540442 883267821 270990337 592829137 992698927 107232988 561321948 821786992 311111980 901896294 193388462 786587950 448960907 57324726 990737075 325427325 52139747 404103661 701621552 276654017 807948002 785396371 515227456 41570694 767549228 888358269 836429778 394950066 972567171 312721191 263293300 86829056 79664148 598967816 586064351 229427709 699845276 23073081 492615490 712106401 570646477 66776748 4121356 165873694 231917155 873514962 769285763 414253731 153138806 233399126 572351298 621473037 190963862 215543628 160470684 247436012 945863449 64511976 459803557 885551382 242451722 273848158 506325357 519795338 216083903 281197950 775326095 720857908 953843599 277773001 922211068 878999703 277359898 30851845 480691577 544139193 761158513 397545541 106549278 768423967 830980769 753375122 634311227 135258315 223895128 201529809 929302604 582051163 846585242 651305289 566418935 10034490 704048214 770886982 389808719 457871998 714100133 161940804 110804173 133699684 911137771 371053742 883464110 844623091 485064236 856826226 204293252 780125567 889234039 356593917 340366931 187874570 882339344 488801820 960277821 314547144 410954020 573547957 514205181 892247471 150935333 828779936 726135865 128033647 46420127 728600083 13082411 55090464 815157407 940265894 194027402 876595682 6197304 756578413 717539810 317320415 33139899 473748406 642073231 233616938 129393954 427770201 504128535 248586857 222132528 74571438 942578189 849985012 976444694 651047522 120146987 785881572 535936965 387899754 184819791 547702899 354642970 443108754 477493500 131467379 798576666 295143214 574011197 65862936 879563122 516275245 818950499 80770117 212495880 595557622 177646950 634977373 47300302 470893144 128660691 780227191 561107898 153177529 156710674 942916892 605438225 487565195 423601652 669458238 926972964 25475149 128276043 62535478 925621972 504746399 834461847 594074421 928657510 966532418 529759628 772737371 945791501 974509207 407628365 899588632 735043756 947368164 909367533 71740890 45291032 310771815 227938804 842921461 175318234 756027610 480215877 397492042 808137434 446582836 804934653 119325691 947576807 174591438 33799454 23307759 196500681 949694282 220975591 376411194 455614224 233899069 301473368 552149561 633873704 789810516 111213466 177775758 183414710 976961312 90142193 352256691 220234719 644074692 953349190 784997855 228072511 40158718 589325183 672450521 836954953 879743347 853446660 396421958 613842526 803923781 622958270 926572702 92775686 148761288 763291293 486660282 543457027 139449279 916672968 669711522 903841272 215480191 977985015 602256146 356807156 241267463 661661751 51988391 781892719 737985776 685252237 69162825 546361171 618928298 151309635 763793928 939747701 351610824 883085092 44070688 223442334 371889803 672111507 948413219 514649949 850926901 879311958 678661671 348412030 543044696 438724442 369277018 22156341 291595600 65189456 412997086 111747932 103615981 183323722 770639254 272535611 915912188 687433254 511963768 512637566 17598141 158526702 583669755 604777708 794411592 715571277 852750913 364984817 787618486 517195560 373872536 170985091 380079006 73997099 68807913 507837315 14947735 907426629 608047149 109616950 467179628 279431477 176444545 351813657 72764929 617845331 322185237 205585352 143898263 57202378 155967377 872525093 673412007 402858963 188704749 974375305 39113521 245093429 290945712 821249493 628620278 680909085 181225910 29850915 183292272 929051181 221616262 992371690 98440489 274485768 332274425 187274173 781061693 75897957 985890731 291840628 400092591 327421185 413891747 778051411 32005070 442938129 815092425 44310007 115492627 214109217 148599121 78063315 234037178 900363195 437456387 438730372 692350317 511593621 748880349 291780226 381889880 596896185 725280908 460558696 200342582 38706209 63422843 667936465 756573224 107012116 607174406 551804901 904846219 208530763 121937584 77742162 929688926 793700316 473485193 550679010 78867965 260540704 779884552 334616214 147359636 694591049 284107860 555828305 323773658 549306567 164605247 833006261 384704631 772899081 593418237 695583978 121996363 424684830 181706378 133493825 341943459 657404716 156834231 752873526 903871845 612123262 47751449 682229536 734850061 354121159 290567324 363898882 891051531 92851213 571573400 567358856 880091362 622825827 143014276 380361589 248512804 722812615 7524181 85463056 147889189 387897350 370556664 259442498 603219417 963315326 212267770 933581510 153615445 741602151 487307852 580129630 197430960 400625694 914366654 278134875 735522105 140578221 982515114 617055642 595328888 22807169 101524284 564471658 189524664 783030826 463852725 691190065 356909900 205240078 866816677 612574436 16099177 527276606 950872682 770680657 44676528 15265235 766102480 691136227 606690225 735896397 918188547 348863799 286133642 970846870 626671446 952328229 813495837 233557294 295646923 740355083 297290335 808382590 289801054 928679180 996239664 568130259 723962649 880333159 358745445 513040822 413062314 935419992 664408795 861810717 944010189 819258545 543317036 907209918 652147260 72462184 366405218 752899702 420151123 567485933 717180194 382254283 165649114 241380963 174532903 369486544 98805949 708524935 407960456 903123455 607974113 126394478 966124711 418943149 984910377 691739914 65072496 285105615 783780471 10388310 161355421 21086916 275349210 665537662 447958572 54919704 593325100 628083580 849505692 791583230 346032089 624036570 213689504 850126802 377648763 138995251 702885835 613080972 122204146 525431215 882129274 645166086 277845628 115130617 240785924 433596181 72000250 575956268 432004224 713466642 954297955 110405038 658592182 217299802 999083460 501318710 743547534 589447219 851170687 487824186 791010107 592805697 669088226 252728194 134520923 478010041 866021721 190124968 764773697 315745594 481828419 529235866 585691819 83620845 18573869 113492049 933321105 486630310 670944097 687651350 512781037 549853002 25989941 373232969 871289240 127496981 693352322 81152538 391902975 915402541 914002109 319963700 812537148 715731981 905282022 772842911 11280145 777942283 813085787 425249155 267044657 87209249 795238287 971331330 523056408 578268655 488817738 862891394 249421241 757452202 632428731 176148921 325283983 884742043 122660095 557781886 141192055 644798776 504499910 558220094 65452764 163744631 968051388 758980413 915168423 563765824 232651200 78202922 643803477 228203950 879368766 328340279 761357099 310888196 846616881 791177351 24308585 81753859 24580796 31324013 213922438 555837200 357127184 953623883 834970290 304399875 492596124 936011103 755126553 274251089 694518246 979421330 669387909 650537969 858380500 610263138 876345374 634201323 578269572 251558764 568558001 612463343 290650038 132930498 78155576 327870157 127571230 713030447 806451877 93803487 197853673 720398191 217518587 570207853 565019864 186733504 288787579 61081466 516970929 980427076 405522208 112252797 731526294 759837202 767290038 896732648 326043113 611443079 832520271 101068227 561621573 286194101 241310322 1957363 839123497 18970213 826621068 612134246 185451009 277350542 696898527 862896060 458517054 256341550 756449894 826341930 910308994 464714356 469271175 973394280 82187459 106709499 582239647 122614205 487429297 723434792 428194834 343552354 315803973 230006358 637267363 803006056 898160941 700853872 885840503 313961324 591555546 126465965 222033536 247445256 372470101 43485726 657935201 812395815 587986814 477292608 386927125 781208399 90007784 985742393 197794911 540171348 238836643 887933254 802146020 729348119 584235958 392532309 702827578 723786716 552599264 827939060 219075456 891772692 314634685 831029837 903443490 928910198 686775372 40473070 735190606 673487544 963379514 517720680 20671159 306159402 844963454 824285152 62041671 526395719 733418003 356743258 448082704 244792524 324642386 541543529 576856569 881944009 5089310 266337574 837466601 44880338 324775588 322880769 960992963 436967990 564076358 555998786 574755503 864356216 842244460 345581289 513993604 101709684 539019042 386024609 940598176 657400879 171440592 58273648 990654428 566782667 70687568 583508389 435491427 962542613 155785051 20876238 13688987 989060721 710909869 939884218 790883909 919301804 7005080 907332663 699298384 763708701 272310421 354915482 816288815 656330510 540190976 512564427 721590307 983435265 735137302 576062570 323355134 737230378 170111781 917725691 19486867 260410662 955569394 8562577 107112691 306134348 451894176 272569995 710374133 918474175 409385351 80975039 264860637 903685174 144271894 74660179 566135940 827715936 358987397 154599319 139844168 48982244 288731649 813908591 327895493 428197503 525014374 4668596 202239288 950050913 792134066 119438835 2353170 552046828 173563582 819396211 455918044 34701250 950156099 317579017 713916210 757149038 989799822 307430713 288162968 765839781 206687141 872213164 347663188 916457980 553114599 983287001 573314881 601596995 34456019 299678740 974871402 231265168 308959662 66263372 707269725 505136528 49175633 415765570 184533735 354865570 198246252 708908473 767328938 279641340 273270966 62501538 881063788 250039552 27584316 732959226 97838275 69975587 665162951 96076652 6980716 366768252 387614910 20054190 13004879 349738999 155905775 557003723 491464529 958298609 136167879 430669019 225014079 555555778 715681746 956033858 67033802 588274069 761555653 69015489 847383220 156469573 46034557 455411214 320965630 318310589 14920942 125831916 523865269 768337493 962154794 545192757 378631430 172188663 940005803 359304768 161375595 112258650 88703775 855688037 854340595 302888169 423678893 444334158 429034127 975621168 695397764 193950252 323783002 8462872 316388675 184360898 581158493 317082670 351478375 458531068 207338104 922595983 694621989 435057599 646833784 786263420 649738502 584479093 578954535 802853756 265736593 275980692 375581049 214938518 3851742 507731404 992687341 950828265 251426730 29843494 778353907 855988722 790556604 560872880 150811418 783314670 102200283 400613804 592517760 153935506 804378878 475488829 354501137 992236352 712473365 667532866 194020338 72159570 103963743 309101781 177691763 782605183 360107754 430998109 515294485 88078432 653405846 587452839 525232720 464748769 282987081 80180260 673744187 839129331 872468964 160376365 866826090 158816031 989633517 416242555 882348248 153956385 18396649 369639741 560811357 17262422 543913821 940405595 549235170 519621705 152038941 428247698 759981328 940972410 361448227 333455400 937591340 212874425 103069523 143065740 949499687 12838428 746057791 21791952 924739237 98762663 5539828 291020222 113454381 793512836 182348230 300072182 147223642 224612496 512277503 101557310 740312651 942890990 252250478 639653538 417681319 228904816 156519646 712834878 139273750 870514176 269437787 924268533 939270520 595260226 738427785 225036543 336492859 658776414 622843693 567190045 364888827 98111025 686140029 914445951 755281786 419273198 710023901 647524758 891658726 41516249 396389420 257997134 541240 6360897 578920762 968811691 497545217 711792080 149368036 918909479 798049294 156406283 252724109 119885986 918171906 174051149 693753438 139551091 717594231 223248236 628773240 706260619 105213733 391502094 309135881 934844761 937882633 298532945 707597149 234162051 465813347 109089953 248420723 69656797 526702511 821777608 882642347 444141826 835539394 698292197 842514917 965611409 779995586 341109926 758877744 6042124 485494264 519746142 587106924 865750096 947896825 259985697 731899238 778714676 410136443 45139788 968590258 984202278 946836734 400800252 482924637 110750069 287135340 398020935 83078034 542933134 228567346 34054600 331595075 507673124 760377622 153476161 150488496 224086052 242028204 65422616 644683079 243372913 646003811 238434293 243525340 118677044 558613340 438249880 318140067 757450831 769036514 770857254 68990366 3442446 681825490 168624974 525875449 910346416 102623668 586410518 408441857 804953233 50712929 494341187 636602271 413426147 287294688 106455235 902194091 662855645 205513180 761764662 364125705 909541961 864576256 874148911 680107012 608529953 508910794 51924219 516245422 465274829 295007905 852523155 303535860 710878961 36471077 144847964 43763216 370190523 756026796 126511054 817985735 119042867 766128318 406301986 658048418 766111763 414141692 407047439 177565355 497550194 787444371 544120827 264924305 399198359 170331628 289463428 964880236 263097376 56023147 365656866 44870002 476105177 344644082 158073936 392021114 469769391 391488457 969666400 283319057 368823593 217837253 576999147 772911641 431291871 853529863 287913817 132618535 740383061 6225461 608486700 349240602 359949244 392618922 974623869 768728639 392562443 845710163 744627883 542731022 492006336 716772149 157670193 122511448 955913975 518851600 62908263 275019007 251140939 48265274 319848071 952471249 886138108 239757587 204764052 44510712 109016930 44408252 947925443 218437025 145711764 42664404 559311992 766418729 756085294 77616241 691369668 16446069 910941910 317477428 961991407 17911819 265510055 685033403 229623373 281784496 573403375 101016018 547091629 739175272 832541524 76978886 279853702 58044479 116624913 758380432 912800981 352174108 383265287 190695983 196520848 319742712 841165678 654854817 651989412 301281287 155567403 754152339 592120659 407083751 825591300 657270522 700701115 713928436 978410164 807979626 847011647 422476083 138194715 875089977 265401512 798669228 247634496 19936520 471857331 161673055 599096111 320369259 862084388 655146316 156246845 430104347 444956009 282256427 472184379 247048033 641196012 567244429 133163263 575172614 137905579 576509419 758894341 433181163 313638295 851251145 315563238 690898623 712489098 875469182 980723318 285828390 623044582 642163035 841762698 245292617 176714364 221301774 964849957 128991260 598739301 520831037 910075426 639210941 915743141 58410606 469969339 556829434 569245995 46106715 29564794 754445993 467040897 766875199 375222608 646738778 77634159 664233100 536738134 214324816 45856245 422692919 783574118 471219268 422721928 330683742 626127102 898255059 3525853 277915462 797114140 65447723 34430635 704232224 305845958 865186482 252997869 682532559 160156025 234874943 727546328 808761216 469160907 479796297 738531118 243562031 656538029 590800550 758148000 847166536 586698486 231551929 248858976 53902315 236466864 914133697 175476427 532304920 54948213 209310900 89924272 163477812 718151140 772938047 361319672 54170528 822868420 26937891 478449898 873234266 362749727 15622527 662376978 664539370 841463189 130947996 863129066 159806625 301338498 204849748 853936798 866635481 684840272 846644013 297905151 210197108 380900976 913353728 954355138 863148598 103898391 614316396 209722106 216368738 623699978 453241122 675131541 584169974 477441543 252500597 784664453 476194287 286564617 443746599 45008028 376505191 546243565 825187760 86478807 439961168 354807603 857952973 827827506 206770131 60402799 160812875 291325191 157962778 61389026 449023712 529826498 835640818 759606404 471619336 697536743 326521166 712913817 3747505 340386514 715655649 367870930 527137612 722310216 176307644 681769784 279589421 135602816 140220554 430038126 664395613 708267561 286576170 951265484 952448541 387095282 819297329 611869581 345877805 565449401 279909848 169033683 680276609 514474274 551285310 630059849 258816065 564277269 224096467 212880442 754338002 733262042 181701702 409732521 892713041 207246640 466286418 108294797 557159815 885442774 129649051 719425345 101015863 212166155 177661348 838901392 968027141 667442733 9505689 892317369 594062000 214913518 361169873 959346072 225712255 999670542 72839860 278425249 625140259 94732367 141917657 542175146 568888137 271363739 598835445 939716939 17476413 667120115 254857664 121682665 300598075 306759532 700637649 60184606 323162128 924674211 24937717 175364145 802843020 542795757 57413047 594416222 213056467 114187192 746047412 112138481 638214427 598571477 454419716 734079969 230449067 311073587 263916146 499410259 886214616 451142297 124554212 795555361 669038496 419824565 143484363 521136775 699866147 794186795 102441717 934731253 37131603 691719431 278596354 320333316 1015610 885440946 239140070 402628178 931732268 381639464 284248136 868778418 267011142 79466827 344575943 578475206 289180649 777945618 443232716 790380984 655843409 281313301 49391243 524486880 709893324 332356983 434566110 232998818 264662240 250264016 341300831 934670483 353815054 145892035 13200274 776677983 877944723 719592501 488227606 698101647 483316607 332995011 318786211 13479304 347982034 402471879 976152652 989641775 387593709 837538455 804937763 270335401 476044568 757964006 401182703 754048237 186738164 220770563 373068112 920210926 96970501 10004686 774699009 267119646 694509486 676700313 215663625 497123285 309169424 184486095 969788766 75417568 766323519 78153520 970128761 626591882 934075311 102480438 125086721 759370131 956805142 44286322 758393736 895920309 499072020 527321488 93038238 692043828 408919102 519820327 633634570 8473170 578260511 207360392 956176713 857622807 49949717 998537461 744817805 691284440 9352897 441520451 8927407 470331282 413643444 805865808 535890135 62937701 616675684 16298728 813825914 734430461 108209786 945095170 161625763 399310373 645166480 957431891 332705331 716345820 854734668 234618983 627558889 930679541 587061733 642725826 242908719 685092452 848029453 420245819 432126680 258007333 662911996 611184910 839302444 331697019 111302526 703702 449928905 561212478 743407601 835986672 185271948 932700457 674836388 75973273 185153359 600277563 40498078 738281539 640709094 928989637 318831776 566244861 981891386 769705012 666573237 859767980 624179151 993673727 81424593 643456769 828624613 404845692 754823366 553069931 60437285 581695268 304906730 477551069 498910904 911418646 471600319 855962705 59636394 606351704 477717663 709322131 195273146 852319073 525526590 765068196 471111247 122071132 338968201 937381030 115854941 639382463 172365348 928198039 653308995 138717462 256604326 950741833 9479942 813214485 81024218 753705372 335213372 724400574 640447226 384678446 122721396 257875980 190451929 234348563 714970124 280877236 499986265 56320748 635525444 223101683 708492228 501108840 410479242 820711874 367432055 574456892 18095246 93198579 184329869 154129392 524076457 725380809 124394200 504427320 194173982 856812021 279044813 234277126 279888592 704299971 102002927 712884326 937492089 736666050 240378422 64637902 23344901 368299698 453347061 555551912 448452305 624855006 384361469 716782820 771475574 645093749 505704291 211983069 984353522 323459297 742091980 559278538 541671729 502528353 90725169 168374870 466875472 634618253 949456176 550491642 39359166 621948708 32204066 676282617 924216266 998561074 544966175 981109055 364835243 928909913 377072156 991271624 51953365 135019140 660854359 822388237 354070809 532988725 515418356 617831256 424288223 334308710 678335168 3652237 439963492 975939486 839414429 886846067 220763331 764806162 931845193 947898811 672611809 868084260 873626611 558753838 352966094 200634086 841840693 797420 110478468 431394261 391340913 130496647 938380774 614711819 351169432 139668912 274210859 636235034 750657547 803673233 645336584 776847860 237728875 834286250 880791086 42775419 974659082 105324394 847726581 462871435 400906680 113505268 291217744 461592953 907636800 628388547 463826802 967681783 864650016 133471437 544349294 440428115 515794003 616474426 874460090 6359232 539034839 860249770 189307348 799480446 186746967 371298593 140630192 396562334 512266001 981374740 60850886 97636579 301940664 655160589 541945669 847256213 845051970 596991150 407346870 218372630 807290870 568827 411454652 95788246 873154373 63683738 865388928 43733842 319153212 802003874 155203453 11549994 375279111 122261384 509263162 989858059 359842256 140030911 304155133 596828709 693370208 662666125 188374321 8900642 170710102 764938445 497539021 648831816 590502954 679393641 567466282 290656010 335952560 399633220 725838533 455942020 26765931 328715058 204170137 762526079 205801747 512531537 151793387 7689388 828579756 809634140 492638503 957801526 15420372 448072608 422103839 809901067 476540037 294521974 227666364 17828207 181348261 856760127 890721615 41638797 514206493 398693 621003137 513750196 105972790 153604945 742287355 261722187 377662389 920650159 879179191 328787784 465579342 267832168 616436835 905799254 855392464 943167127 271492629 373182804 314930199 858059216 705971680 770958193 383616049 198562678 778564806 7289720 113818376 589964249 828798397 114106238 981907697 422786910 863380191 573483778 9811590 222723029 245304890 829110360 589831879 101441288 839211917 537289027 915217838 796839177 116125454 740896242 222936078 577368530 908495417 738548106 564432403 324687151 639364759 169734083 203190071 548550474 296733787 386545612 44544824 763798136 324228919 490668339 594883134 637869624 279403741 212350884 386170503 452293726 236875176 985099202 390145034 567582785 141093533 22784963 911843177 512618906 678181806 283461080 606138936 625588338 579596726 223545198 242417798 953008403 27061693 267146351 760028953 626645909 240976321 140515257 611227170 319599506 878516889 921428013 427946650 204975049 116938168 83594360 879649478 126878982 153185889 57964970 177569892 948190731 39423155 672216483 35175038 152256922 845064179 199836479 102154172 3664203 497565799 659390002 847538928 516725989 261360198 989279575 918949723 207280953 46116223 41835443 392220320 178557084 689882398 799137503 556496359 222741908 28605501 191184607 536262500 599374012 904867563 888468925 304416735 317088542 170659963 582260878 15064541 936583294 109919308 872239584 566292880 323159725 571449365 502074866 793787659 384939079 800517411 838799717 477587553 680586980 429659131 631148117 142072378 215656477 666993166 266091858 990708037 6670064 686084958 695297968 349055982 448468663 906888285 380666499 387293213 522638483 76160264 831129315 91877135 10626412 486770248 6160849 304102699 364346235 699933226 354059438 186134536 509209884 77642734 614480396 634604994 777583481 347312729 482464257 339978962 968103139 440168499 915874396 384866212 261213195 194338166 63258138 719237888 752371499 254322059 465279080 883802469 180870180 427244202 784428818 734534133 580263436 830315353 975878831 414397540 979630597 394713827 864518497 675417076 473606724 98878453 957894172 857100523 273917146 678455990 617547749 348673750 365408052 213796258 20411999 335497747 407356657 162689124 901607124 786427032 474946612 858692351 512037408 669875071 655814431 610345856 5237449 886208821 749295457 176000123 367142601 967279707 497153783 797692410 321345679 842415775 892790229 466992416 304431127 123315147 287081712 219973537 131365850 595274124 98465127 303191099 53600585 49930856 897037888 714450083 246531303 207824514 541929593 862967327 835403257 234744817 67444375 684916441 624381232 878162950 443921225 474540527 119653428 167665771 91482859 830804123 245023671 514319249 42553389 940824274 305171895 215097934 15956924 746573045 415220427 215649589 476624296 912115250 437658503 327959793 773321799 892384127 148668515 773223327 19254167 438591259 490146430 86044772 347476620 738575820 678720760 842748284 697622793 174514361 39908624 323927566 131309613 145000145 150167154 506782371 713643879 965589861 943728537 168578726 297187103 351622481 245889562 953704560 622748495 30081995 118470323 609431365 263150084 193479153 450897096 244889383 119095188 682722345 501002966 14101486 536961484 937461982 849908164 548261026 852916787 482414554 581765043 301074845 232295042 979491669 362764118 35075692 282240879 457555701 636488665 876682212 882563799 86256547 187706041 978073008 155058130 474339252 40881056 891461217 782916925 521711325 259162121 33197547 355706105 603049299 28584609 57191001 200839309 232661731 283371559 370531298 681405116 152395061 61536858 944049341 223660582 626094907 212392839 394223682 750917965 274881715 846567760 596360668 181953123 141044622 799225329 365702191 788090183 677719553 87952983 661725630 612066605 691138396 465557669 185923619 534475 457573781 139583931 643718645 213773842 54021567 828223888 27610024 929863827 274777975 659808847 886868429 826970286 919553505 4212247 5175944 897821892 655221054 379522770 438123517 7012209 130118443 846714046 372528020 124330752 696690349 282030835 210656297 239963238 160092713 473769436 227858305 210830265 776814692 959095793 913613854 147565133 644075352 4100869 392959405 978442393 901174370 503398485 351644053 922402116 403495593 172468600 656184243 538009671 315908406 671012909 764146343 534796371 744394848 135099236 59303764 53297680 451448812 407566751 797724269 152842726 68787493 917917358 541624110 995463229 919648901 735211048 353658730 175409435 409726798 169079367 637704164 538374298 652902766 7801444 157612269 763134563 629016313 864675393 663666820 519810502 244233263 276549330 73211507 804418937 980376239 606685232 117369471 80621320 990931205 175559889 397161851 766872975 693979760 664858538 650758815 560302642 499852787 623387091 568343319 899221636 436509694 414758614 284952446 763216424 148519396 382516443 394923841 371857652 907443359 607305455 914845211 403561424 189700409 894151676 247175601 936528953 157382143 56412579 219117640 607966082 842772269 199921050 433533482 234530166 302816533 353487815 279690118 727029717 453164975 293267730 21964132 835134310 284881320 34684639 389049828 731203838 300089903 122380145 12108682 960706880 960349439 893966836 304346214 268886980 952914699 120487783 422924682 524680820 864668652 570673543 439400324 772574283 705109447 352483246 120163959 133766546 464089399 184510 117183025 5274769 691772531 98591132 45334702 845550354 286535709 363426306 667475266 653082006 544715365 963961538 634678772 346115185 714871165 507637095 886895865 157407560 372804524 725720610 388948953 529692499 785425291 979326397 999537155 441602705 200310150 935192871 520954511 792129318 863555224 486469899 891719822 951375060 713066449 35162392 293337024 778389755 93138115 8434983 676647283 145650994 926897841 7000272 143488031 130103473 216002798 697107936 78843323 779417960 30931138 918869182 598160079 968935197 430660168 559145155 778299022 80833564 851922203 522295040 156586919 254797373 800354453 775578624 215349444 824093275 849514499 75456777 419154320 573735000 426071313 56561468 382468759 962289536 76394202 448703692 325385233 365275947 796441060 464812973 746467425 662124337 424408757 840744312 213102885 26302890 734957935 670470971 407401335 980516201 133461176 895226242 876614040 204144240 118602203 651773352 12402973 775043402 428430111 5750404 585036101 284383887 901101527 827179965 516285503 198299023 999393041 675440154 348702799 412585848 651598879 252990237 212840936 265830074 590017601 145316127 754241965 482368020 918883240 649496657 857554027 886414601 92942743 108431467 159554904 476791132 761729270 976612866 275062706 354933739 129616356 52535004 620947456 860344319 551769017 312309404 677256685 858026852 918338216 583947847 233464424 705443499 645234308 393444817 851744788 814319581 291284246 743742540 595767277 513636213 962155536 669442265 292786328 904649631 814139837 504469056 656594943 870467293 62092416 651195506 511720965 267797070 76171621 647252612 768409795 593597001 142037051 505141090 28163886 609623653 911430007 762959307 275628340 831387026 311899624 420599560 484110165 10560621 795783960 372372470 528825277 92004890 302979433 350972043 445708982 574672235 863445534 818400264 45299564 906912061 881400267 641849893 742995222 193005181 31160660 47178987 253491017 33269737 865853999 158447608 139793625 726959660 646339591 543707334 886666152 386022692 87642569 183323831 785452624 944902912 109003116 670746758 979439702 680371402 42246595 763158731 397809564 850015207 310272872 169589986 254322488 447228531 320093917 952407074 380169403 209056055 812761896 972768723 171102715 992089151 548884296 404906184 91238857 474196173 841148630 928392236 111302598 78423379 950973054 335954221 130797050 193930156 454586731 621885084 721626173 894437878 546531227 808053691 705288812 960990385 199372410 719097886 565318046 926496447 890736832 833600688 375911766 777487774 221368328 73059796 221797589 588952009 839573488 336553097 213044240 578644584 981254409 217876230 753421965 965862201 82004551 427483525 239407999 133724169 393265879 137455289 472798954 137642276 63196463 457405704 826908633 543004271 245575855 555932939 116278808 269506523 205255532 122303217 627884747 467231519 225698349 195497899 548567027 212152757 465275560 898179187 622766438 549220614 688301056 505666167 947608515 659607633 283285478 117066296 549366066 858379248 69054263 14121865 458659850 16443327 426418945 1413380 946975207 205894704 544265533 551964518 629229128 447034900 961802120 931330803 797655931 398182045 322509398 321642729 301445107 450491666 260325514 315043550 12992238 188281268 836432908 184566412 671937646 394928199 713092706 361681498 393318280 923179301 977723427 730183852 116456092 548574183 331145482 280422333 306337196 797318961 307176678 894041625 337670601 776923669 95264517 664598975 549727958 985403244 350012133 7055003 742337862 809751105 804728771 16470000 250957755 37489704 507506770 500708506 68198370 104300067 323371521 800065669 207957232 163801347 766467355 121363772 391381653 789019974 266260218 557053610 416764140 733134415 82554642 142238529 305017791 827498787 436447390 834724504 300184768 68015059 308901622 12122132 280178397 171755466 277055081 995583663 762749158 437163417 953137651 929974402 223075509 640433871 343690050 500143650 804610508 635362802 661280680 570783456 514436815 113681025 458805855 657986155 350162210 44140413 726920957 903203280 965831171 317423340 99167055 964366128 812811684 527870078 74013677 459611289 55058608 215687887 322345046 440557849 967822699 828527825 718671397 172225952 784793678 59029171 262721487 484798505 76956736 820650456 855066520 644959352 923752603 765831792 34973027 581176478 110235170 681963297 335093966 167120965 420810139 5631451 320358564 339355514 44104825 680189817 893438508 493543855 791022969 640536167 828065651 794675528 791216508 207099513 23648625 163902331 543797115 173526007 400624340 66876741 835136524 115231955 710606187 302212711 305186769 152007479 645568063 951498593 828539110 697747054 596907515 222665119 50661352 268337726 36333626 725538758 623015751 456976151 48624698 972551923 842254185 381020455 368116383 215409383 61269079 703639746 818231473 956185020 359066941 140215929 135874562 402466581 955277475 672787754 141860064 856549258 1548580 611291438 277332376 280956906 556902319 19746143 541247554 114469212 327992645 474478355 115248661 815486756 874839860 527668714 701364955 365450064 113279210 158610107 575813966 707134701 141645091 15934022 256925297 197676949 895103615 782378124 34559773 688854077 368850149 121859010 80806599 697867006 276973079 607065087 872977893 890008520 249435964 171001542 925233044 122857231 534923255 517138572 256665150 427594192 908829995 12593616 41051092 715543461 313369927 266272229 17510423 38252928 514460516 842280006 161484089 204782285 893142062 998560681 278491916 908441508 296026368 94854244 872771241 468010994 909335098 402296369 292798278 988007287 436404294 381699689 947307039 517623886 733282081 223374857 446363804 107109035 258275398 747997800 292994743 385000004 489408275 451675946 545374692 746246667 858073625 629473820 389109333 35747582 858150295 986436221 748484099 670150745 887486053 457889136 550558260 420089532 918804435 381815294 561443952 186677959 703997574 650430616 641190928 395881159 944930336 158188413 526079219 301496031 85605605 424369501 39988673 833298980 907537823 175228508 466070209 68291248 575229239 701078751 768875062 337103144 877293439 176406682 561104343 18325475 213524745 606001618 873611004 976871207 393517700 25248677 763252263 995419703 682603495 470782415 694747607 109112634 85590533 154375395 659888836 70978566 978534632 315196591 56767512 194377466 886759823 714546102 322231592 203426192 997222922 478413325 81816841 448356241 963715779 274132121 22380454 63079888 446079239 679542118 26499246 373994532 312948400 801417150 993881376 398824892 198918274 258193646 210867719 993134634 781367571 137785323 401945297 596591001 556324482 408080666 967165257 245063339 991250021 504777360 284669712 570110531 811822461 560637426 89451232 357000011 619568315 643307175 816685161 891003102 947755572 626178763 479372611 796994970 837636611 240269926 269851595 383907391 180892402 533023293 823384313 978236636 366214759 120552591 356418795 203124611 239859573 563097869 41277611 534250464 190719078 768619182 872251505 651397628 21003999 335700080 56959807 354273595 129703039 685543445 96959999 463001034 80307511 274397443 228962693 401600208 311791952 550389275 769273706 932799403 800830603 755530966 512529144 783016183 658446924 651701278 126877770 498784769 729311979 432836655 327814411 558394017 117565350 73238467 853455765 317902907 135177048 343029996 14234149 640454858 122865202 167687799 957016898 699409677 945351115 310114929 246844243 367371852 137285590 803025847 924365896 451451158 61179957 308481257 176578958 970222774 55878036 889454148 77083804 507384244 466340319 769572648 150433211 1428694 83689719 475031306 904730628 364617461 377345373 885445532 163058603 164475388 83388984 675220806 75085208 393028896 884184081 897357374 966701531 312440578 938746807 504169644 819215629 845155032 569323334 988743470 535352342 921539849 833422230 29818238 841887750 549745629 375273370 632815879 4076293 23958096 807759198 443172661 658934702 357873191 80369124 323754513 233102271 543394398 166722566 591876570 332662155 11773460 283909007 958415016 709922797 46471503 274211180 529133566 31019648 592404054 618948856 477296231 846156122 575861925 31240848 535703082 15004560 231609990 480318933 305792633 207612260 195125019 654151636 614548090 956548883 559206259 774020194 5048681 230686661 915988678 146905980 678774834 969854216 639918876 367396130 163296258 611551078 209853007 219999227 261595158 563904042 696879456 798872641 508347930 784175277 765724590 547525103 254296898 60971210 219689044 390113927 445682708 519767423 247393291 475183437 14334550 252573949 645510666 913708001 638408711 292909986 861269787 543877072 444742528 696215994 160296613 150626052 835686638 927242526 490874128 559521258 291336554 96257585 238650241 608207481 778059739 817474529 406487956 889133481 391271446 605155046 622565397 348922879 142314893 799210888 72440024 873784886 576404831 636198164 966716917 403969926 742653571 11826190 18777377 967544194 780487844 504711052 98688032 180031087 476999488 17047677 651309146 623760830 760659585 856211622 773856439 234336207 230887821 880582102 340618727 280466505 354235135 115597835 305931028 659369220 432072670 378029355 790430102 303111183 60958612 157739528 49266400 775203483 395205515 336610707 527075475 412626822 31171878 814209328 534735683 877727133 593472859 886568616 655995305 35959560 247672190 28159840 100359709 536263638 976886737 439809750 398879758 851263679 965158145 925466207 984835907 623186694 115208644 23151735 195611236 324198331 684933183 169385562 918838395 327015642 254961242 249623959 478104586 605094545 408718099 649208509 641035197 460776200 74859065 252604333 113619783 941930278 293931757 456047098 487062963 365069207 328104203 567776581 204695328 210599993 740609412 9260702 945234068 652460739 768457101 599446747 185514299 966833714 840865666 666159473 161316695 479282976 238151291 685078226 616650854 514467081 291583497 427618524 897672740 680681344 66603979 820331867 458057830 141272268 466853935 879763342 296855159 199768209 86281633 447145208 683638826 101411104 196662902 12862044 875225136 936403522 996537895 28264134 1688406 27120577 822194017 268058272 568054845 986993482 161907643 9965095 747395531 225710354 215790770 565637918 751071803 829713346 30850511 885601496 455042981 803538314 731584332 214154243 73899811 910944539 949772671 99743095 600195174 60417182 103089079 884141107 942467457 485346545 855736146 375490381 834878653 852855687 337341807 964539439 450660054 56068263 317816246 515749080 648129776 816637686 136485111 40248538 833245337 245117787 504861349 360250519 558097556 997040848 94759983 822692690 214351269 788480765 167815103 427326948 604017723 133440733 478027591 656269205 88682601 530497807 277337693 218281863 25171494 385486659 140773962 345735615 93394082 639981218 100471107 156516597 17298237 148740694 119062865 109093072 60976538 338899758 245761838 219010231 342497377 932032777 892808152 405420357 721852318 671755983 862572577 138880909 643979388 17533785 71871568 161654346 990119591 983665540 418848279 353766143 602442287 618261520 626346529 727097615 72044336 597345563 678569703 478922882 5710473 7571234 138264585 651366704 761622712 420383869 678088144 844379304 230038608 492719448 440532064 193738865 338717377 484291261 717088563 226995406 46334303 248205510 50606989 142484174 52011502 485747135 530612575 624852165 806709895 642680469 675563371 773233880 5768140 139119737 198942695 342546106 818524880 521220023 880833759 372253765 841997896 281928914 30665296 477295513 677314004 189568561 858362139 602622278 658875179 267530373 608421241 567618606 47564086 610207287 988799760 323263973 193937488 901168252 338714273 101943099 796251084 173772906 54045805 541485445 231889866 28561372 716629481 530436151 890299963 784967420 723329342 75458194 988747235 598732768 239936025 86771247 276008205 191769976 837659219 69618439 283137291 722209910 978119389 477443696 477516228 726235146 148856278 545596262 866669185 321297726 85940489 703663349 699444936 751542840 458984771 496138145 190563756 922430554 269786667 206564631 5392249 664667672 566539698 310465251 713701549 510654137 116956161 352456170 406910831 905844415 258132240 827872083 210690857 915325033 505270659 627132542 738732955 727997604 192155077 821671050 439213137 378455803 432936166 384883239 655901411 956728590 907096957 977386146 286968777 522956454 672783336 477591322 615362002 328268033 199163205 36638596 994009900 957236132 653036277 354774508 823980512 32475178 893736164 779921424 657991715 953310234 99933032 113259371 26712462 316208938 933346378 535786696 187798407 313279537 469136693 887723835 713751973 519838461 672988958 232527891 319100533 856670051 388251817 630312390 9217515 784771906 639469974 297176997 806441344 881293802 933709086 445743215 260609138 495446769 424787075 311603649 37565529 39197013 914370623 506892092 612714093 996120601 918756739 990545558 124145660 444676553 980761758 6645855 200589131 480641132 846290526 42202875 256952111 137539859 422771558 815188353 945322692 66599690 425509326 215643223 261947820 291157743 96715162 858885308 393061587 165217411 589411280 689721985 834391864 233036906 378071117 724040610 842018656 245181324 234751762 888617815 293476667 783901485 527732997 773998936 631674440 526146259 513706451 388901674 711420667 504566319 835295051 363468066 230187328 83172175 99475508 989984046 188957936 469389433 741651773 458475792 251937337 274302622 957105929 444946389 136164964 275179155 775357105 990684129 777632577 213673768 161072966 400561634 123201415 284337338 477989207 186669580 123434032 410839871 125020535 44435556 412512025 958714125 914869667 636564090 610367555 669228049 9751470 494277145 245475161 38325393 532227402 939457109 807435700 808737965 917711436 792717105 692767932 953460459 136064980 199526184 945174731 900020824 465745490 630472694 208217846 363489852 35335270 788616533 823460285 207110982 277107557 827088995 341646333 277799578 488843641 649224501 998521421 357052032 380501513 737395235 812743615 204104260 383831716 194983773 889164597 357579984 93052165 32803753 438565043 134748537 12358144 608307415 78101465 964445678 470813130 201302994 62533779 877200592 130204926 150515605 507577432 959664693 658603951 404554659 471278268 213930057 377429645 726418105 533383148 968626622 589338675 79145676 761377259 118284724 282196851 754494098 440538438 630251174 460837158 771912252 631305364 728565074 962907815 706462952 587741843 820742203 473228417 663984677 472003241 845410643 378730293 153137538 71639493 19056050 484164544 53156305 919077693 846889819 862940554 94861891 217483094 902114815 851253689 98707170 613686100 986998255 116720362 487467275 18242352 558003293 130252434 867784396 163103035 251228961 952980152 649734329 465794457 834637792 278942910 436848807 208890653 844132443 78721212 663329217 574854062 827835585 86939998 564279447 514108230 198041760 212693310 430954370 717197709 997312426 479145019 654184168 215659830 978008299 386037327 375893553 740423661 297447068 689080945 673434933 24379432 991967203 788317473 699524379 293302251 718207873 699469207 599424671 320477288 121319294 368404661 446794308 8064944 106522308 6666499 157100521 144099794 420016933 980541850 238135230 37730909 199558696 909343901 35754346 942583213 881746035 937349198 557656096 995345341 161927753 659934655 231226044 524429898 141068831 381612502 461386276 155865890 400275150 223204104 6199249 220410053 277296411 69057806 484905651 426828162 30788880 499301594 893405645 202387872 757152013 386308801 953093286 653901556 317170656 712927117 313912098 856624858 999915849 531944650 989606815 365203122 33615420 480016219 432315618 913146682 721263931 992448969 17912812 848412604 769051385 985924941 757174490 898419496 427640442 783108315 136370601 34315703 852918090 661976220 874225799 674870674 17395923 853889080 692054331 305142402 679945765 798463483 645247147 779768578 2694655 64049070 213476615 832113405 873527299 92795776 280512765 504690010 973634544 858279300 45410598 888068247 535319504 850623448 985236191 785680732 349552344 654975136 822427658 141388209 804603129 395629084 524519287 864459190 174447457 223253080 723147619 425191147 585507423 735649014 825379972 24128049 704974946 767316614 881684436 39568651 489644572 408926780 951294312 706676400 352532180 241434587 782728143 465336142 285796965 444646082 153826105 19151139 792417085 529043204 413530574 238858798 427251812 93046343 215685499 987168898 653496390 377636548 116320622 894462015 728454754 981904223 253857531 625906453 155037389 904348369 837209121 493778754 109246131 559476836 804382258 810373830 742960228 465452841 744870190 286842818 503056200 254949338 367823246 641131639 918138254 563797544 41369199 82005550 115109750 890004526 494444270 945201941 177501038 220873945 260568739 831243007 273671114 124034713 190499524 239127995 298416660 517601875 814111989 449001857 159854693 800509632 112816958 400489789 724697822 542848420 403019683 195865508 37352213 721376842 271656795 788302063 875614714 544629440 173491603 702878859 259507774 801737660 440379102 797876494 451887476 26291935 137278801 113086728 990540878 984081355 940880798 231919522 449915945 813363361 97802955 697420179 643926265 661513479 63401268 49664902 280267264 976205347 6950349 996553839 861649802 447593657 224296456 262779347 190458680 847929573 60889259 171915951 986419880 712174982 926235039 225621353 432148376 321366352 61668093 883236312 195672006 799438671 352963580 346993174 896125094 488118677 78678712 685470900 561984632 171682566 160372564 294337889 23029617 699305562 665813372 98217814 855925645 887096143 784447147 875342415 791965808 500230463 547051383 450462805 860395756 550311466 785439632 237625214 224985214 962640518 645418351 170229884 836281853 854280655 751589190 193075424 515855699 330415083 511860855 449286883 885546387 561895606 410000891 228550041 435548905 93407190 59669514 488752479 474118627 233422224 484503719 865759779 620383576 39363615 144564279 287105673 815710835 692358303 924088322 749157626 13316959 516769531 857890801 263806751 449280191 617505141 279110437 968389534 377252839 29556872 629647625 175714779 957475764 69473593 779009347 602139775 434356818 595230285 567958164 159936940 653249817 17026315 487350044 178108956 371967839 963476248 296507632 413948231 717222430 231929495 848460464 490250890 613058163 419800242 776403289 405777640 715582353 105077637 686589027 493438356 35167731 205341167 178946968 930444303 657775389 498224725 536175540 607489908 110154773 34831573 488292762 207233439 273404032 672050334 195738789 932767365 345369843 96029618 939795800 226047659 892910777 543859320 734797066 559751376 558809031 412271682 808708784 466740704 313560399 627447628 169195238 845734927 330425453 333115021 151289701 807832254 690826002 259678750 896688613 651501576 299009782 641812096 413630214 22967197 752849264 402351857 938844104 573844949 443067941 636211755 753758554 615509935 465880430 288479029 746548915 18651735 356876692 173837017 58002852 638599379 901018263 846804502 525075180 555321706 86040768 91053374 974464250 402380877 424898741 175664349 491235278 658597898 331851512 506815826 711560260 290023263 994063408 124086017 440818888 917401269 601049255 277000392 347613445 64512671 242090948 263006550 298509051 876818909 745582400 665510888 147817628 852637866 560589048 246094478 265027440 773882965 834732017 305475189 76606184 638902086 369686693 195489221 266563097 594997588 106534120 181153938 294027538 144397368 160935009 192064621 526065167 583180585 887298114 829740812 324412587 46568361 729938733 142689668 296377654 774615319 437432403 554771737 800927860 4835568 495434876 65392208 507658122 941792470 206531884 110125949 86280736 542156928 840948265 452166821 356881073 459635427 660373931 441567547 680671817 751578479 384245377 759028155 562503143 486895921 23580936 396664185 718482610 646686545 319663982 265440477 612477110 692478001 237459998 82106028 523811549 892154974 976751129 639747069 83939168 686737912 301895841 725031308 831389078 992702582 983820959 584593244 719907824 850413627 936384698 520498636 425925739 684187007 790691429 860266385 241698249 226781468 434522701 216450996 414449942 141349966 27257458 680126233 604685993 387264483 762752303 69769597 873763522 377533799 688811375 111458081 167596262 180620133 563593711 702907705 397319564 779969633 616799052 154716744 884226542 261101806 238828757 905067350 55380577 775217216 663265273 544818940 923528097 858819052 919912518 864692755 73809772 362320479 105251112 128944599 148589196 478699325 543183236 369348502 171345384 850701442 760004461 285707177 455692115 376737102 914338146 302257565 551945913 170091810 227105068 663088389 576675099 757405127 304258780 510870415 400781898 182019172 68418695 834201236 829211996 532930298 885645046 226954028 135314266 922543909 443534709 836169735 147394854 374196601 10924219 718519631 834888302 674689724 626296314 626973081 738568614 199565318 682204436 229849880 173068515 592840377 257278415 892576754 154851041 71656155 565173309 497568385 211505340 555561982 291006994 856693294 225645048 485166219 492500400 391860741 83712081 249106021 981260690 692823605 954190124 810420428 138339503 210053031 236305935 471051591 204848266 112042943 330050772 883383495 654965591 282215496 342453882 786498521 486198952 801133503 881805220 134266955 384721203 963051136 890621457 108845091 830919353 551219242 478192308 695605871 842765569 928851752 257992198 139261421 728869592 895949837 198137747 502117516 759591797 738937483 92354983 488019096 977535250 38589256 203990759 357095107 873891278 669333525 306685800 423264738 359337536 281475874 395538701 792069986 211051626 250959860 788934193 825508066 254181223 173546993 72175322 270047715 273753212 46906239 999363484 259606621 163744353 70600672 919588724 541442038 852104833 83373267 586031975 184194476 883299868 564493217 773931146 711700354 472125944 937005134 963011861 752060269 308414229 129246679 86856281 131491761 154782344 523407315 277294202 386855283 170736122 353586160 379562375 322384711 124668795 192956917 178568957 541074556 233248671 433065661 836129835 454845 705403262 318604637 260073333 139044473 170592220 53510386 443171425 574955794 869026443 394121463 938494998 860286425 348314488 47145671 42715140 801856269 22054310 402202143 158449156 559530292 833417051 225104498 275735518 478179218 30009008 323328953 998682869 141950361 232106725 25057544 605524486 249014947 226106103 710849464 716889858 213370044 781382912 89265812 834924280 617029751 23378825 399484882 662095145 596538109 940755913 433186284 449562169 818301622 101728396 813961020 448314555 908927854 501428152 431896451 774724491 460993216 100071293 94787017 246753097 902264330 996391164 103898888 557698577 829914436 194880509 580470958 856618600 151178532 874011757 977330345 708939726 124249248 257894129 356851889 413247491 885761763 378960143 220613223 618262146 4710855 45192942 766473780 88696472 805180057 378444172 421669733 188117773 874078937 65794140 513608451 951765722 905988390 456482376 80370592 202080257 207569285 572148146 95818310 246908995 998041547 729305861 601000985 713497041 513553051 752007252 726841112 302458656 925728786 186141337 93613903 356425178 145904392 318751658 177285662 482443048 503729154 866018011 179334603 576087241 250742664 369320752 921614759 832974999 781403811 791706004 833467047 422495292 379013902 901814066 715275092 67394287 922231100 648305127 411932274 946917414 164805839 542339154 286976212 272394199 51346483 379646878 523954269 873249098 307623978 445778365 481082420 366148509 215486835 775539101 863146350 656709530 217399339 446567192 760030226 364648904 340066510 456173368 585182896 726024666 887967610 404977050 815902937 600911707 987423259 140083352 629699003 618597290 156815226 158130657 676371711 87099550 872431325 577736299 919090947 535551262 424218771 839091793 139426606 924966237 629401622 400830117 559606674 907283644 363287184 669706480 675003548 55946124 368208589 442912719 737288443 605806435 704350139 465755260 464653105 325248591 550184027 417268703 507102636 409304666 46105317 676081374 787952088 990533637 606674371 642972882 41841492 209799595 307620195 206914497 239776141 507290025 14244104 696713597 131166300 15249141 175257550 786919438 338425771 65495251 422430563 955598762 135281510 173716928 669176883 84234449 545288312 751891246 781820783 228366808 228801753 183931859 416207503 816793353 737557469 676089270 493138447 503602259 773114030 914268732 806604396 83696135 203133214 21222549 892518542 345798176 694606299 258164313 346872571 241203747 274406227 547630845 778961137 85265394 617675392 970531594 578283621 121892986 214760310 713915122 27071606 437427094 98592432 9598951 130359703 342626630 765225891 925469314 726272003 323022351 502397707 160550065 759744798 258054387 963477740 526343462 239335411 682752275 348979894 658351309 991818569 90664782 931129827 101279653 281507938 181055064 279838932 752687380 200766259 253055597 964892023 872289349 494586461 827674598 926609352 941685054 99064843 286779518 320610466 277195815 897572197 148068630 422167798 215068232 877850153 399523411 959027505 746667774 159679284 177945311 314400187 94601645 521811713 339249769 790878183 674367712 620360415 621042726 857165958 459541930 903394062 989691478 812128595 771977363 282528776 914056590 736813033 187746119 943103525 648608092 894136965 188550178 539596104 482843898 104186661 938529087 228488719 326695392 173394607 180228854 46145923 804457047 289768628 257478261 135879209 111991503 471718742 576877631 632522646 54386672 242842115 74734767 285551823 631121773 715602638 86374354 61636292 567770902 862835112 843963551 179707483 103680849 847496075 272193499 656569236 420349554 649484902 229066679 407176053 761209876 714135431 599117728 488051580 850425959 228924654 648790106 757343101 641137247 516430870 801203983 455603659 5456879 756865246 247752936 20355127 599426313 192627328 177628041 625205305 58350150 54948666 110498029 934697271 295416145 220124437 862377019 121944861 439639272 650625945 721134177 438485880 627849738 824196958 501822188 311154082 39298265 403467471 448343602 579619010 853216473 807821679 645712000 670571997 250803463 132489668 329373327 343398188 490709307 32219791 704148692 829395919 242447613 175189742 5628957 148944129 105023228 266598165 870488982 840613096 898377523 39470875 686855179 389495599 925695102 60686249 351923330 862715513 405754339 988308755 329780427 712635139 373286189 853850445 128477795 390732205 944728895 64988222 793183672 290911146 953299993 371896518 17823270 286118937 407984048 502719976 271303998 13525569 906101891 421878153 635928682 679987741 696770772 852744520 460962358 150080630 283319286 312470402 244876960 288914886 970699734 740015822 999209227 685882711 449629798 557206298 820525994 562970319 822368278 303764589 214855017 114316057 920618955 860758543 578530270 580029369 711780397 443081227 270825783 263095244 984777472 584053311 962849835 980014479 149112772 374649260 573963022 839709991 371781747 990441556 977667812 395490723 511631153 353801103 114845893 940423234 723159549 752753127 162217205 975589466 408338351 551476122 774061246 141467502 423608977 148487365 844502827 553067015 395410585 839218325 39538609 832458254 713627227 660633922 21158689 659047496 761147921 489579295 654344286 155578720 441274294 125891324 136268331 6960733 197616875 647700865 242487297 552438821 445745207 761531129 935669390 213396691 841425694 474570894 975427569 467542840 486544554 931881839 328349750 228707659 185711595 772874144 332565920 49155465 697248922 26502791 67805289 680231843 657650741 675603244 779311540 585985665 18167500 254091032 690661467 817629025 925928013 893766535 161797577 828026149 59304370 654507155 111798610 242482526 666314180 308692638 611590641 559682081 411552760 56253228 380123566 613635747 44009897 656461716 730374633 370873153 150098582 749491260 774996209 671644192 965609151 594768322 569721189 322161927 81692620 252494516 556710797 97577452 951135994 838483792 547033179 742383791 224073383 103448517 125600563 985966738 657332332 503547510 893735261 166459899 765602890 174882784 332106017 79899827 913375684 994785678 588587673 533686589 34053054 291394144 652766498 517513355 224454913 691798523 681824224 98805079 207777479 808020246 742416081 403133170 317835576 176897234 81737201 407225335 917900345 272170690 992958473 146757945 156717180 578080325 327118858 260237678 267025541 157776730 994461032 512874814 443634100 263436238 512180312 896826222 218422673 465531113 31818226 989346185 978738285 928187565 590457629 519374622 377580542 696110212 995474134 436212235 797740877 442665118 873473348 893957637 902393903 209115591 246594963 891073725 496175738 994661275 506891892 44837884 170053376 53766745 123659364 129410426 110702322 769838503 445332526 739736021 669632967 458573097 876151422 519055599 159322122 399821503 929769750 14565786 34551064 440000976 529210644 127448831 785560177 643449173 156482796 895020105 205995423 125833870 607233287 31566192 941188019 643611721 356698740 354391409 144227908 152230399 16005991 62782363 403049238 37002874 737207524 982944563 239410566 684922681 139420294 780571157 312457622 462189966 740735678 141276665 530263716 662688857 111245319 209640089 882929666 149881583 164217898 927973786 926371411 251819640 917626521 689301562 772098291 411158508 323729977 376956420 36016355 737203501 208465404 887605751 163363890 457604161 2074664 9121990 310291459 962391502 878937297 921110261 471747669 509329898 612373034 68304236 717954077 340568333 966725700 216592977 675059415 776092711 670642234 19340266 415092394 276920924 566549183 902333542 275183848 392468875 91047095 256788261 304176510 957061613 729920330 619645521 606578345 571601923 579151368 619242678 949973379 960146637 479462012 577208871 898971354 327749610 46625438 961608621 99561382 785546733 238898623 457588524 872276454 246375689 79990623 490676499 81019444 487640794 185498690 107494407 142204139 216166056 267650737 660715681 116102639 150391322 553010627 554793431 435572825 415998610 229358693 88517796 897931855 409880805 653441800 527006805 581653087 539396932 355230854 906418476 272814418 649921157 805385376 903111256 657948575 534942755 5125798 125740723 216696372 252362631 188525621 10880586 51889499 402320436 269246012 575335077 365857436 887526233 524218921 231415056 639018900 901582879 877052 995271831 733470706 557425899 123546387 511646006 469440237 365790730 351603185 115652302 410334062 345445680 149504257 124964201 190120195 327960388 826851733 322786175 12260603 467363952 286739774 520228489 412305697 349753936 655500863 545847983 484766427 938479668 491442233 999345302 382428114 219516870 268935233 906457062 94672100 749293061 216198947 149498446 665727525 941014867 510611075 264423154 810254105 533975693 202724018 593326458 139750363 273282649 651079317 663941716 765415284 455506383 17061025 992872287 212764087 746593840 495558749 355180339 894539454 486535690 263533821 144729361 642756710 187608566 170881599 187013322 262861335 924626793 734167888 688018865 11123583 925016802 942548136 407399909 346063834 995223828 253184317 590565786 366992125 306754666 509225199 106670069 334331635 547719249 610485713 147850679 404803800 442011803 278084687 140745714 256421839 166308113 31107978 43976664 213923173 105276011 487203323 802742641 350016826 822611890 29174908 184057329 877920522 917972891 870026651 747613784 941331334 911465711 499353790 883961134 49381549 653556016 575763619 672855010 615351497 322546485 996566577 614682142 715889806 165586162 439059390 734036013 273201252 499305484 737654958 477020747 307232273 452139858 304067934 266135607 113390625 150813296 182764001 165430621 40790905 877275076 307030620 948125428 428542204 293305108 778029084 439773487 45865987 704341192 738838857 535172261 320238746 953125378 590566121 521169001 343373587 878977201 591193344 209018755 898938406 293334913 889467024 35594965 443131454 867772804 592192656 474810265 537337030 716184912 874390808 501048764 627287909 607278005 26811373 614407639 470616292 589706462 947447013 905424307 829428920 350101922 738249725 825744991 343902341 476583591 874979255 803554050 213490831 950154198 929906916 149288666 752865299 687385137 836787989 658815478 258907829 740357629 445838299 420422602 914373714 417228240 256905502 533737184 570656419 648820920 134888305 936677452 733686030 787879213 911048320 617188942 573085252 356278602 695182535 208122560 389653275 399408750 923379872 183335717 533785458 282904515 812695139 785818448 303617234 376449042 48814294 858404260 874321661 593426039 560784809 650358558 62828384 686132110 137730786 320111122 232139433 951502983 221451646 423944270 107686448 546340109 104136058 235849314 336718146 817886378 364609490 578675581 761742119 521940438 566365674 273143522 890877239 319360564 882097493 520379632 763144825 20247671 331488329 180504376 613574 638746175 304754081 263472295 781291414 200801488 424528728 892300192 57407497 100346603 30123512 483917264 293015882 929283891 12052089 544629251 958114083 251095440 147274267 990988202 539458660 917868116 736688884 505318143 173328870 228467762 137043532 962603486 829869131 648168100 594135410 260249689 140926942 721877566 227935963 973207283 185388354 66772377 610237940 503453636 943712428 184128355 587412130 201572615 982484111 825081674 185771797 109759858 794555111 155587105 68467997 664721721 856425823 45780215 252397182 765369296 221659833 554261829 593402508 477172908 615359400 224362185 45924182 68518753 284851196 350339576 214169986 285634841 359076313 930628457 778825535 580726151 229977932 180411172 368849 709085295 540846652 959101641 5491679 499189092 733052223 451757100 271711451 891255798 597519030 856079665 283814015 632779736 512408088 34114403 851902375 64050720 970409296 857195538 335999239 618709250 414863518 918522281 605897987 704824863 519554298 66669651 720815056 717374384 889312910 909832426 1599394 805908119 550383621 176069006 576430360 28860094 945686332 891518054 890009773 972240560 121875762 919567793 373432995 736850201 654976519 144449757 490812425 215544077 544359523 162052853 110853181 490276738 369622711 664033356 105254447 849336828 228841056 826836237 516461262 397438073 428698674 980319346 922194769 114459669 166531386 338684110 693605418 579974543 94822932 688454127 412511728 458001275 94041984 643358503 447781946 869432271 689675464 350988981 19772877 73380422 864592133 230311852 287035038 756514142 298042177 269338560 411858013 493931944 161842915 242828838 810837398 139591343 318176454 496214104 571486693 159270142 990266505 784514676 139118605 178324350 788501106 762461403 102469154 510958991 30681875 897272232 565956186 673687237 705454360 499431151 805635422 806676116 773946409 83325586 719823558 259414542 438437714 50854941 928421375 60345031 220574091 59507202 55643029 763576450 462886383 224855831 662076138 408009397 971935294 387772480 115566215 205018925 31362551 603930071 546951695 794826091 2408230 546811407 330926965 984293253 39241559 930686916 416407941 144313699 997506849 107713944 719610840 452305316 806914531 73529543 560523040 690952875 315396845 793389146 771363625 166005225 5210170 278244734 706373097 869976521 971790936 700615054 548987195 651571894 673595372 255123426 195841281 406786256 112381712 185788539 8586013 825737585 120756325 714945459 584777665 820250686 867582741 401607337 825183306 612025267 597276281 888307217 145655250 245974371 77238877 920010940 970094654 637327502 650919311 945826714 297704509 407278349 116443633 544580513 546371675 782208298 750059895 586723065 182667990 358897775 76984266 97046558 812274842 387406079 59843057 530093049 464108240 65310937 898610099 289491679 822645375 404670606 294903368 425037985 684649294 395701645 245325446 304352379 608358280 680451763 549929781 18715217 46260111 552001434 382591458 400657417 47249177 528777419 336180784 143090349 287049464 123415126 445677042 617193758 533304318 993807110 617106004 976354040 452362855 394228940 673958658 948902719 989026567 466492331 401954055 928294613 719030509 123057899 594007255 975163554 501891430 437542312 47968565 92811168 288901307 917211457 935714342 449488329 754565795 463016097 593460660 801779759 35374150 485319951 620285742 906849678 44138889 652352243 817699146 179001388 382200305 155693926 748197584 575045911 910937495 426926681 158539010 855524224 568207348 164793280 51350962 626026335 274498155 419438352 861879553 872147602 30964475 937899980 386007601 471251606 469570799 562103035 598628753 212786466 909592492 665529850 669330523 260815433 182878792 806185603 22494718 76089567 508979207 388269399 3027916 376363187 154541613 154362482 253743972 752709186 768391545 420299874 229530981 781872499 864818691 805078723 157261651 643057653 779906519 745554556 127335368 784101363 692080752 222879661 901927756 157882848 204431211 758188978 246149108 715530509 703727682 198773066 293852178 817864575 194918126 292895667 126918761 514488858 453457829 257058971 263923750 996016792 175175879 108271769 156457657 69785252 524378951 845183804 75204343 829188682 718542639 993646795 669895483 875668027 125284172 394122604 162490559 148723894 961258006 807411714 596257305 94119895 781262972 986761117 45651517 476101808 829830767 623168193 516025701 899808285 391328951 427021844 372665250 701029798 857727932 765808923 832485335 621246136 867207748 729880545 150227993 918321383 83392114 376340352 23901993 183356773 47693833 283742596 642206251 903641943 791986202 280618553 701186259 881095889 150203666 405499657 169888705 441479012 212361420 793958338 865226639 455311646 8346131 951515919 689991697 137513446 369425865 829293998 894812892 877663275 139481588 919131031 245284210 66972099 479616048 258696410 682937409 779241669 947545444 410623343 168858236 354603005 997442390 833148056 849691447 33542103 256237755 954293700 167153128 993704864 389317182 710146610 871856071 340089457 261504857 709394063 685264714 606261549 754815188 158929722 384541197 383814520 495706518 9009405 842529139 638306767 454262343 835745007 81457766 107328752 547641859 501371170 365708415 339193577 959627242 255065678 14878380 310820107 706536248 315658198 251598149 111825728 526446091 999336653 254325833 270515050 616676318 101875198 273147572 765648124 140438907 847576020 148578913 425848430 95326230 512477950 180591990 331820630 317972192 438861961 370387483 106045745 878845990 61551855 201455475 321883305 395897641 253075312 460600742 984579178 151058713 938110308 862803480 460882130 124240107 81627917 718417245 981373149 660883814 551307587 952788331 931507610 474854727 422324705 993775613 721529660 641015180 791872567 474342063 669266245 326990367 632744998 111011460 181684357 909027264 936524688 286463672 699353693 694726302 129845171 355705189 301551265 795436336 554207042 605335835 149420691 777000189 358125162 992248647 386042373 967884206 436494614 419852803 197613592 34350147 417378818 299112667 517592049 173708744 626519924 792284605 259041340 999439456 151976164 282792522 19644642 184422612 978480897 130687162 159491156 109482461 460758570 128082032 711242736 935587228 340257968 174202961 595454974 176779097 820605783 400936583 851481059 903661123 946166394 982946840 630409209 248548725 79924659 736863189 773102444 140868136 512267135 15934068 671622271 170447455 714228801 884455632 45419476 107888933 710225066 170853457 729452737 532078740 119100315 829544671 322145340 392983086 785633996 177241363 47766371 932790851 668909927 934877266 990357010 238844073 359392467 76001285 622118926 432102262 99657713 736605771 919630212 500809579 251064129 203426598 28725631 386004252 104435571 408384947 394548790 548189449 200907637 790631067 710218583 934612699 140875326 619802825 14853570 592105441 528779686 725685335 226109333 245304933 506363743 47350571 29684082 171551476 809501120 464639592 637341191 175375835 684092297 877336231 910145565 364839478 392732896 836684918 905004340 952221324 383840214 897353770 508597465 141691740 770295243 87535758 537354834 711302395 267637570 30105289 863640952 431023908 506534604 900260507 723975564 822437900 106856281 66366675 412951146 852587686 490244682 52778592 84266919 325556885 12408501 892487146 746786024 638514295 933864035 766373174 248413189 312963130 171172831 765141305 642785884 776022671 286905265 594228411 255799303 426988491 137314712 871675532 805713187 770742046 569528043 467870841 883830781 302742994 230452700 341735981 181371082 48892191 27648651 292685895 655860615 658463490 673631137 493131716 469682609 706894427 227558173 580705553 743261574 3999670 135510616 968626830 341934215 608607935 769208272 945953632 362708039 787536276 24390195 179177616 392608891 988586043 562040632 75007797 469140083 557655259 454537718 522288404 803564968 436640025 486241092 86608259 143525003 217110813 205689705 84254837 105695802 988200848 963195650 754687035 579891766 859696935 320969153 386328602 252009674 814658426 173706943 833798339 946331847 210458612 80650336 201168657 467857467 145537650 69922722 161737629 965660178 618373486 584786090 857475327 580618136 366869136 98563747 694848674 999454819 181561018 504133015 205429652 565698304 486229089 319119272 633473608 658088369 423402201 568635197 486854035 846571424 871327993 819332601 94083668 263295926 340217172 303952178 97746325 121808453 370540223 660048392 445997020 828022602 904922720 661811567 727215158 412097743 750815676 804053360 432073115 17679916 414761310 470488755 43869704 136113287 399907976 575498430 620316888 282924506 329495542 237541514 837432575 101546969 882460668 306173176 954153227 225036615 212081172 154205206 25282366 225135434 694088757 572919543 550067816 198713890 831373207 935321057 2498584 852050526 649549842 503853140 723954061 352567001 105974259 628568124 366301122 652169056 698145146 216913587 750131851 278218893 121815607 762617509 196429691 613917116 967394172 88804270 313900707 786871365 388870673 892429603 915472254 840712684 881568870 416942453 999147415 429872028 725822878 985675437 969931080 911419613 672427696 476772264 248798025 282970466 979548139 257233221 393567616 162629786 323218929 961470965 161199917 889798932 794614143 354394242 21905539 173127305 405821963 564547677 685396252 900408540 277474403 904371084 292106204 402098625 327635862 4226423 757187336 762464303 480246505 336598751 209847470 185146298 784701923 144535867 976221332 501971657 959197668 719070356 606199475 559819218 166601730 114148120 345710853 859494049 582041583 494972533 504886448 810377426 203775820 404593419 84039132 390804903 114811277 898718095 768397081 51877273 709581759 147578615 811301823 69132194 652453892 957738369 21642733 774392970 872514344 306297059 203636330 99897387 295805702 7646335 507149629 434153006 611759387 136798930 953081804 486269680 298390495 163577379 227194161 815263837 511289579 971239944 192140472 421636983 17548446 895319209 318164310 61150949 991602826 735444277 935090920 607819023 591831874 165430258 233870706 782677821 311491803 311311125 878441926 82500326 763959214 569968892 955792289 959738028 368984533 243276788 425137447 52460248 600363241 182514188 120654293 262620688 544548752 665376475 970741443 72930925 832699852 164192243 369316281 600391398 193510152 552763773 11731370 468180965 217033315 311083970 77009159 625557624 767645323 866356334 315109005 109228145 162544302 102720025 972526388 269733356 492977279 902984854 985073045 760932944 228897525 844779967 958100634 997287500 369711332 935791450 412922864 575747358 2182898 317599935 273208449 222977116 98491882 205477135 915186659 786862641 824424210 935075307 98319885 100202565 64539231 30842423 528059881 854085823 88271449 981552779 29802447 927475007 50322704 161424903 770397951 847294980 196496546 55600610 641590924 314172959 411103944 739948501 445367568 177238330 334314797 614098787 80353066 800002469 159153080 964827031 741137764 286500076 756152361 506115227 253584780 587269944 552147603 550269120 972450869 968906213 488168828 977349840 194398086 583792220 346455508 662839709 394419227 280277808 244839704 987440925 852183217 908538945 49299811 546429014 685247195 380942596 696810421 762361293 424316499 206616725 28238124 291283235 770608132 141571408 38104698 827855333 612777037 261671974 644915944 732383517 83751935 435626722 958976511 94903445 999630740 452950865 875515894 14667415 45439219 901332565 228095198 896799590 206194281 2791694 167695805 297350478 471250120 760352920 427556183 720183218 347525371 383842176 43057787 386127141 955110775 246216730 841559052 350866583 247604216 40020844 17047330 615613242 540710721 35074280 998209383 148753626 699359801 746728739 899054815 463198051 517300530 693680521 583390880 36074568 795258306 533684764 18149564 606822792 554368932 616132554 957962508 2456398 528079432 907517985 685144451 465378013 882403693 344190876 704248816 947309963 136444058 50345688 635500320 172476068 249693700 722086627 517576255 950232557 742865828 474316713 177286570 4862402 811099581 119239692 566552720 155418921 253331895 211398083 442263733 820914369 871669759 71993322 135495212 900708327 465570647 96369800 45801403 386831048 529371061 417821176 459259001 407290744 701146811 944019611 712077939 926770733 68604996 833070615 631670453 845363083 703907724 712211888 978445376 648725973 639422794 294428771 298180752 525944952 161804216 38214484 466323363 245513108 452837587 905035128 537072048 214610235 369529412 305801207 759041485 881734993 977221404 692144752 961377116 234614472 13807112 995815881 985579433 30434868 575499725 294629030 729076950 692300535 348880334 351539389 450838663 556986190 73764428 380333459 200916938 862936866 430935494 864412895 111842204 910615983 245431230 968539147 463091020 139404191 919090290 487963619 558978533 207933515 492972837 294364825 204846880 591975813 61642710 792707147 251451243 223229655 838312236 944958194 340212265 222652415 711598551 785123485 269568918 947163134 347958746 928038038 283092612 832015267 402826661 358211595 934252003 816688086 618271564 187334281 302347066 553716584 297639326 402576575 271291979 9314242 179482566 730441793 797266390 112314364 835552327 908191396 16939268 151365790 15556564 565139903 101815976 140968955 689951430 127266210 933017498 250177698 485718261 864409598 114139009 967937758 584562410 402383579 809095128 188153223 724371600 199157716 376597497 215454987 411324146 674058863 930354109 703668079 119051461 817203086 303107085 30932330 226975134 505477167 363032050 374338059 272526055 675772444 374432495 224407450 516644183 76443048 777589292 570816340 23022270 342206048 127109120 632383760 105695444 356183681 135398622 93092190 347327968 685176363 118493963 269407446 331052094 800131370 807649008 399353786 282170382 555275107 379569149 83050006 326108188 302749159 789838406 287394399 909145505 520678143 600294245 995491028 789557682 400685997 930298434 62222638 869781865 866366592 270943811 887169276 879900638 547873283 288142323 10316079 716946611 313974230 332951049 306844534 846270114 656053909 529627047 588113218 538862216 703330751 908648348 490814098 660529768 26561480 152172118 142619523 267393828 333426701 842006866 767034264 192903268 455475836 51251361 778442355 96282908 927430141 308639613 880358979 233689997 770503231 579020413 300218692 417721658 893259760 148090800 715142980 663324758 559875247 547861682 420947387 281882746 25445314 426114546 567307345 287675595 977468063 365079596 167359366 209054499 253155125 887259514 805145849 917527593 526847835 96376711 974186445 125533113 347704373 256401687 124657667 396046434 401566216 585836246 118443043 392650358 909507148 339147821 799102987 470146386 71380759 18893544 603362765 721561918 216813775 435301525 218370220 943281676 576522488 549198613 928237739 484105506 214582310 599605928 127009629 18256665 926068944 683934720 86904865 290975649 71703538 542919405 845001088 563380059 914463678 517622352 501865901 398855492 711492350 135683953 808301857 30331911 481661673 34006277 474387629 655228653 132246036 755353359 155325999 657913098 228664778 852387178 685390278 720472421 153589053 141599198 262657857 579332473 997441968 383962917 901923566 385837996 225002252 670935987 227369605 883719558 227082112 777549617 31750587 223756496 47260029 799091390 871188835 678574355 480703878 836421612 543634983 510972430 388660342 713441526 195458909 12849928 886589633 724764538 110226494 345395381 953540285 246777088 116882031 146665782 459385821 899946573 166050736 531338443 632727591 986510103 921564455 883266409 562190005 92991174 324074907 82500837 968340085 44676085 140485073 109436539 730886872 857570992 382342493 939328572 864556148 529847910 486372664 706049654 672840138 677286219 466993248 478842785 785401333 513947472 467331064 738223644 351132642 954359033 246706366 488885572 387444113 588892730 892818808 524982900 630440434 179906329 482146851 28547683 317876328 661077024 888533268 773859464 84265595 836966299 440292801 180369527 566251410 873569869 39844472 698343029 848188316 539435773 630694267 873603052 7890993 17812021 521866053 40010738 985668383 636246026 890540918 915161137 848119830 54351162 233711963 115894878 266646706 550780013 667726016 837138448 265129002 81518172 748224188 610175940 887976340 248059169 515598855 132164430 983502182 399955037 112508580 470858202 431842819 142109430 921523021 937069834 382482780 294403001 663927045 648148497 869143196 795213981 442300131 270608353 379654651 521654921 106781287 196129588 793652683 505990388 321097614 177042204 37122960 826820095 966796807 334392493 165550384 243647982 586617172 957474816 58487381 546102634 467710860 481336769 606477624 864795538 707695906 278818987 75954638 588692624 174116834 561419062 752617087 266751639 753958508 772686734 706190870 818028869 164824220 170543277 177374984 266367351 822980001 744941974 243166076 909989530 44190766 149370699 87819851 55016324 6137338 72627412 957368843 360593735 121208196 281932886 314298311 90129305 54719321 920224915 249800165 923851861 410996895 392758447 845135912 743091151 431085258 531536291 16088085 209789424 188626139 1221217 57417154 910528575 85259716 884803803 270546014 770179374 553987217 612978700 827622929 621023218 834366057 394462712 178561139 875480990 744874898 680934239 439584342 250086939 158380163 6003071 767905507 88307740 265704972 292009776 776880186 677363745 984579055 268367625 139592166 256997640 522341374 539272188 672834925 172569742 877765798 883993006 123857994 438215307 288718286 522817385 74451114 682566065 969982801 579755733 124353318 881216850 737213429 476718974 484529938 790538695 474351758 143356623 106272599 946856752 745113557 142974995 680589092 64522701 400930497 140033194 549717564 242025408 897106346 900604465 464467394 497758479 185011714 511840173 675053298 601559664 981247648 162575573 273517242 392139066 13304877 610827709 544680904 802617646 957697949 674669416 302822882 442418869 646691411 989727130 324348697 227529906 131002070 862110118 168253772 11929558 14894092 568785472 996952469 913794596 367025626 190487840 430603685 314647028 436440186 643543985 990296552 639978309 690481396 710523035 704611547 320341850 573863856 915651890 12229895 387641935 509163076 888095493 969598849 668414759 689652984 654082457 888339992 651910638 698752589 161697953 129823959 639988710 931967308 41532808 685021738 238182178 89173959 8055887 683868828 48507540 89696530 719026917 14989895 859604739 815455872 19513854 245243444 613048946 58971273 29279272 511134702 730107200 846502815 282149633 68196378 211373271 42514035 4833753 432115905 421889261 56986625 946264774 50059018 710123125 183250605 495668865 833203535 290993099 332879015 127346129 176287629 863317402 117049771 763886002 50571100 789794153 405792315 954576191 336845751 629599772 225643875 48184077 138102215 461752893 178563528 737039438 567840004 901145444 51394986 282087997 213255588 382472075 283056434 951838540 110950383 194038668 574220759 84774658 332909010 759515225 451929731 668312467 72829233 435785880 740797496 877662214 67380710 260781930 340661246 81837035 572926474 580068956 222313336 512789107 852035389 822059963 873276003 227591941 761223675 781813579 306034852 234023236 506382046 308115757 294478050 493672762 135775817 905694429 468541411 678884568 892871799 588033514 344791043 690001851 323829859 546061929 50729656 10202906 175574468 164697246 187888871 91202611 198578670 41085713 389471971 72008311 739526796 525382585 606666223 800479350 32476419 224472074 949886993 955225597 213241028 204266538 177019575 937149745 457990404 247887343 86453682 899281731 217876275 164983657 311677207 277275785 685930159 894442211 10129864 395911739 373133101 454478169 691578027 79106167 189675173 752358571 444151476 287861532 673410389 317386339 236502193 799934475 771383097 134130244 702377041 146257165 363561864 456973184 851437032 367297496 84967747 712603905 46708386 20193821 888947385 859347373 992833431 92119759 451616829 816341580 911992995 352816940 34105692 535450239 192451274 854223394 680010854 638457897 376792302 165560420 518319021 619628060 780593973 387586434 777654279 118485026 605649545 736591134 602123500 213191068 56401618 183324859 333935845 188045151 915972444 279345506 953383846 263478546 936880225 37946882 623355421 774195395 866424657 95310868 196215882 554158313 650715733 109652666 16474063 461130316 948197715 567824921 44619947 954570170 169903245 68445204 178671468 262118045 257841347 538643763 639655126 21660797 306234179 843881930 159899425 745295043 618015450 243480405 101429218 141684048 297394263 66196063 439721295 510987754 548292485 172309192 842476278 915275224 704989948 239596883 410554720 209127480 487520874 349942020 283689770 622796896 386470920 749445783 276402270 297355044 971602820 98194353 527445546 247132328 242027691 559618331 273962492 372185625 866068685 255169574 986874994 603030819 306263004 98858774 954770896 729141977 291831727 580559447 181820767 722394811 216543728 155755031 67087122 731858457 829599010 489710802 475329127 422638608 351332789 656640449 2092352 945192650 836374661 358881331 112331128 481603115 103527538 895653880 896934761 870561217 925179951 397957984 889263412 573300643 876976978 407814306 292955073 162819080 682287948 249564287 407085687 963520239 652072693 197986925 285822017 696129469 398909986 912090357 277546663 640515239 393995132 951587759 791430010 859131543 157516064 838521232 45988962 279557235 201859795 606727076 791228967 30193643 501026675 777433006 188897239 12317229 853824700 209258492 659963345 745340358 166006886 759389484 97807960 21071066 93649499 737012751 361357221 650003135 459825494 966622336 627917811 813846879 292461506 579846106 104435896 51439764 512350577 929433516 496723338 100047973 176545297 892887008 214198287 787331747 597561461 641646346 583267051 99292308 631923147 918702489 85368303 277768012 680031379 712232035 720784658 152777638 478808842 46917498 168288708 2257754 979446215 275738929 818354087 449501929 25605353 813133773 352820906 355065386 300498111 629641612 348385050 92434062 221016550 289530017 605388572 432610287 251313280 445769096 384731461 57519074 429870964 477399748 294903 365964989 322310770 21307571 896091260 279687895 495030374 559967660 533111624 746223847 867822942 108314429 569958406 146797610 657327118 869012136 387210293 570211441 983009965 103610360 125024422 587207559 997168824 478419000 270547852 314651513 478127315 700182868 859655027 441667200 147962483 222307890 81638097 9135281 502055115 498597680 512034649 666348238 258127157 271138101 917651522 306380480 895850654 785566636 573420196 246018294 601293772 964839478 559803110 63543271 604950341 88637481 711716256 144685685 982133663 972963019 546624797 589028154 133893972 576676490 67990052 236670953 232958200 144613564 334875312 304110474 332085797 900355570 583467824 332936902 882088440 673563401 125691910 932012972 259398603 430379226 491237267 223436232 299365600 682087741 100647880 513293024 917878595 375971667 845341354 556743313 428658571 451300125 177395020 873707764 228381164 221369412 26736701 718909155 547751840 722939874 376149213 571611874 142524918 627543104 496806582 239628861 749916152 269804233 501868235 551228421 631359127 270231023 47106099 791918664 266798859 568078890 270916917 765690720 189750962 857147788 633881563 605830736 845586638 508523398 747254601 172963802 47864206 782009396 582252574 944625520 890372757 193161604 155161866 346918993 407314717 722205141 937799798 121065031 850926023 527680619 209928640 310402406 4799740 470702351 131324285 133562949 148637583 964204597 479094246 465517294 547995906 376655371 642412720 508313719 373023064 270125334 587852237 66198557 456145940 126161285 318738657 233882727 366866214 855651864 412394790 302567271 14544780 854144300 289663463 578641415 543181856 134965547 744789260 612484761 239857114 535015745 184453768 227355726 341917376 253464677 63252359 642271856 167308606 395422986 990731562 734305744 132042176 110976112 56200051 960671127 203521317 318565806 909458804 41718000 941815287 258245242 622380191 958211093 550718957 263140196 652824905 760833136 738641344 880760029 512370878 680744530 943148630 320026435 868292262 607075358 438583554 425456128 369158653 623660121 800967642 970380791 520340801 535799549 420770253 485427032 270443900 853844927 249313390 115072881 806981673 339555007 848567164 299220910 105816074 523476515 66315905 636238796 8440129 569409887 258830581 516045054 392125620 765119749 722227119 266111805 394417679 60713765 54135140 586157500 791952675 933903129 270085106 452054607 82973349 804635888 902161000 101915640 263641630 282332998 905860783 161620040 916772510 131467434 8808660 601068437 944485 295301717 548773395 692943044 523731302 990346720 416530949 762422013 105619613 807883489 485294107 330081200 783754640 385151958 930605515 804375914 597665080 546278504 135506860 229030130 32977007 724768044 220707237 399425941 897682314 28209760 335856417 77957837 676801525 497772924 422731714 842670765 62212406 807599905 656870623 455760160 256418162 594762705 293362756 681955994 282273615 976283382 631535331 106838521 411694714 555392057 867706904 121469238 45010279 163958732 432131712 61078410 981097685 483540421 958258462 221221636 269697447 532781877 11269257 627223668 383481910 757811692 937998787 827445736 933297630 585572334 295274546 690435572 964831271 823205641 794892539 173022652 747145782 52118831 158305676 768653623 108968059 106736351 450602959 910784518 82967493 649204729 952137683 696607749 302803492 897438067 650961233 597134355 793556412 75446870 214660309 841701699 128497583 316620477 886863760 165462307 377333030 396981096 956800555 518060544 899458120 793868296 684132880 412764765 150485998 433343109 519649600 338609215 265398237 603993655 878368261 330503831 111728259 127511241 260099588 49816397 900543747 49352504 477482692 302359543 847739883 778348222 399756436 837491738 782297934 20238191 733986245 592974718 639095668 128528308 940386451 306996687 859665666 544745728 925649726 831682678 220378718 10975176 440440021 689837960 205008082 740771337 876678753 569357861 262849362 47825272 106457044 925473345 812007631 162469612 376296565 67457591 960834207 52012814 790635985 217186090 695824494 853416880 926155353 581698014 195978732 367770413 401437934 506840621 481784822 635225078 34244478 722683378 519376507 261228971 138750839 40711380 522413599 885333840 325331786 576375418 934625764 211989101 83589722 884224656 444173367 84174264 432271639 149959305 349792435 528804905 114406302 112854519 922500823 603147288 993081701 929150844 366946696 171346471 856188041 398520756 782085558 1709211 233829206 75475089 661211238 574534054 448447800 99135986 987553504 40586979 760401132 850472377 897087828 129369436 198562842 308892995 392403007 199650572 955205451 266791709 782720366 926141552 163511861 567177832 991935618 259371282 722830459 402657869 632965024 364445645 666756973 540469330 834041275 278118671 220288148 262187207 272502739 84863441 872096820 20567799 85169528 252011689 68741786 734177024 130293385 708528165 927591317 794544935 52952035 390270238 964933605 824930191 934369143 427602036 588680702 218878218 875436944 156163082 786607718 774395951 783205533 96711868 446155878 784758629 193801280 162523102 656174336 249415456 267571085 376665677 415862962 482426227 837303686 23222588 694272972 589064874 168185087 914874679 343667091 57032090 240298271 783113828 821746378 356733138 66002210 544848433 179338159 163881994 246999019 121944197 931514792 3453213 143594915 838712276 381222057 448136152 298263235 869159529 241776922 714043003 52132775 775644988 246952852 54619744 477285423 287129188 326841012 239629115 33123176 437946497 200313423 81196403 122610228 497174340 732404060 502297010 942142646 264638207 385143241 143215278 711087752 426589847 75237033 646585481 836076269 515438403 960264599 760514933 409166452 471826556 258720989 650942874 949236796 543926419 310982906 497526640 310167158 523109252 620695292 422102238 763774470 174697793 98229632 437406505 788003396 269161412 849505011 202115901 130627360 128248370 430988727 666499945 199610095 704519382 203608192 347331219 376233241 432932949 269594527 147092477 92440981 150522269 450994191 388206192 398857175 902881913 458549118 135715175 945106008 922899358 483348813 275172302 151539231 985035237 441465122 122465607 812570418 556567295 448682140 202233857 32282484 19023290 429933148 730707216 685107167 8458191 708487767 568566844 696492259 895435538 353488145 82056836 794941380 922871584 313881318 618279936 851371561 229603242 142582994 871400266 927703564 707673790 930877581 287215905 947170037 144813294 706684046 767592437 43629018 345359281 486516481 672348718 226868919 293543137 131642891 455965695 862752157 851003210 63934459 796333795 95520753 426970124 253151861 192441002 868073796 662628234 629726453 931012726 32897931 893251396 92754416 137930275 35648416 214087559 778015325 567944880 143670118 927814853 252171784 976400162 824645072 647299674 824599574 267379133 700690863 573327793 970353886 361601216 229809648 126496243 243684952 508398015 983558492 340627974 45972155 41710847 189199915 164661131 221979545 467116042 687124284 310881462 977304179 997081830 227467759 811544223 662529496 209423089 304645020 641934021 202181210 872672045 822838821 426223396 180094635 377504431 581760467 120217592 702151119 961463641 256966426 436271679 182617718 7250473 725252119 399309642 264231092 745245502 803928019 449193301 708246784 654800057 556962717 215026656 160909260 310691042 665296449 306389424 603870905 70353603 848158440 444401577 322802188 957879599 69808955 716047762 83199156 755937806 560090519 224356256 904564639 374045418 758677135 538919221 369044836 543093297 348766100 569987562 144081086 753408008 963783306 825750381 318075890 317519315 80423872 201461550 719863696 355497303 359355171 616441381 691605993 279018190 855577387 502901550 317308961 962226222 414901515 411056475 260433798 962503074 169738307 173318054 854409055 21676582 840299742 569614546 685079540 143699942 5494581 554397212 200221213 204869173 46017177 400516672 120994851 919192908 176655950 626480141 802924994 624921784 113448083 779992351 921458467 232351167 754001955 94003317 576469050 863601598 600774664 971527111 208280328 81395156 805267274 443321436 406797278 253655371 523706823 20925328 314903253 524977058 54265776 417171941 468448404 257194719 247732804 270071342 546785550 810273210 260974664 58790887 32703451 397533306 20697991 43509643 743842851 263125979 103281256 362896786 167340782 324188665 231164201 494508137 13061025 770427510 972631698 150340685 445921432 261633425 601869072 111227924 371068719 874831369 176979185 29060772 304287628 119223713 522267039 877777031 84501615 177200978 142607881 404358714 158618313 529263935 652429708 849528245 722014533 832890083 268308643 235439517 213468163 449410129 619561045 57505712 490901219 163531825 767216168 237108871 114998648 433150915 846922234 712272146 474230363 141893257 304934091 712195496 804311749 519312690 517556126 964982044 338883879 631712315 102370387 162448299 724662129 173236852 315278307 915746058 583046702 680538272 933971028 588993638 727110229 287742169 571867764 437368715 125108197 910066053 339802417 502394253 719740148 49347677 867421595 147650846 129151472 846927508 373225045 121642699 416221929 186790790 585724170 725063443 178134565 527646827 141419411 513747711 297439540 799037493 450621845 10778838 70878317 320990495 135395448 630958438 543473009 45295215 706982114 346227486 402050480 253719655 816587720 437406203 109861172 586191673 93437533 293959804 40740984 158349291 789614515 869064705 549301759 510108616 50110975 140202850 600132104 963663130 779624747 287973075 514701059 41447073 936336460 938465448 13785203 824435468 16590962 142339266 28475564 810424704 956255204 268919562 288898719 582948333 997062824 739490588 420067326 502341620 627453778 543382964 643406851 996340741 522029990 100503643 192995830 477404588 354575318 257734489 934895576 526529486 146459953 963468228 584378089 786518300 158828411 11327393 143238902 682119536 459700969 460760577 648406291 722381952 577914498 452779012 857611540 543859655 801137658 487184208 151847472 190946554 353616075 424007978 145470244 528581088 257893634 518905912 375250851 599305912 537587113 11148484 62825081 126343258 681641711 816865550 885444386 872461727 633741515 504000636 222710723 2630666 672638243 376898263 695088779 439396135 103712074 542782777 580365095 265899604 185395955 268033443 744845947 662933316 292943600 158235698 510289896 212944394 74808591 710281240 167268493 244091548 253355781 517612006 695974698 676139070 552065055 827532740 468160741 148414823 230156067 215643544 218462574 57343352 687069422 195059695 520646139 294813912 403599490 107480130 596865883 288515890 516220701 586892364 905165838 409506154 397708595 843832564 186632806 828863777 561280915 681008055 959622602 496998427 209876994 75748236 621162796 617011863 693751501 497818624 909212725 736658807 455441665 376177955 791993971 43328277 508797611 993991651 204064732 9745349 378065019 320041406 955835651 290307539 21439209 168458537 352450127 896047487 75330647 87510997 114511774 119213761 983155900 390774729 431155270 571105066 624437879 56639097 413784222 519963799 14617466 702025374 652729191 999545373 377750928 338223666 455191672 343469055 613357488 653272327 714651095 861345545 180961810 809493112 869683768 695754359 329770233 822977698 115559692 314770264 85092372 972000338 241567142 981400835 565015988 442755342 29960968 214032059 477161316 912673776 226148911 293793074 287263984 620600531 70128042 574608212 559770026 406714454 454426375 658788449 715493945 472404880 703233054 978854630 931687909 190276693 19161787 405567889 97349704 748513814 206420384 71194250 172268634 553639736 8040390 962729534 314992741 151199292 610689193 230976906 680198171 607423641 9309101 244044064 106496006 445543375 139432647 232759717 8272557 703821314 553620101 690835884 584838624 89983199 464128658 481093362 85442695 528785041 340169362 567163389 140959938 21917862 156096233 292622026 699330374 477569620 80829623 903022527 808311758 558126188 673618 294686349 689765212 856777808 600941965 99976 73031327 940760069 592505429 353983624 954774211 37712807 60929073 389127816 757986619 43218531 111130780 443471611 220272119 19161798 300162852 99564613 40851270 48310545 392705186 856193168 30092613 703477146 21620352 160486533 621479378 411487494 418183777 465281988 324189693 104021969 567978979 864292557 273595267 274377503 648209412 886417808 493110522 133849373 427422495 194757564 832110329 177162179 212887368 221074126 592124457 798850926 59880765 595910766 183512709 811955109 495570700 16415406 706089136 927099846 107772804 337782284 202477901 824837474 483394800 959821026 690393614 312640808 580326925 438268392 93410115 53227243 741877785 101750926 352724600 919719408 964168350 438305626 186845115 234280405 762669927 908135945 390645582 170534030 592414036 180577829 414342844 401893615 193876165 508930587 66815394 766115727 839391258 326606652 982613650 458806237 53410306 82743803 333188335 493936245 852937583 518952062 193004304 123072883 253340276 639351310 4334694 287809139 276591754 884801641 739172338 672840576 715138705 673852996 866881604 297009643 724522634 290959593 424667154 470190344 220569634 373625117 225138990 459020528 254486263 63672413 454762312 673579283 30035721 494174617 913329919 745634624 94964098 813096998 664863592 845349143 379133860 193429497 371053759 159525905 489665520 508273660 413353249 87039649 699078161 45724842 425335107 608811416 980621918 172166122 923304910 739870680 63295856 825486342 564032054 389724539 17221025 376055463 500665128 227632372 614702930 990320002 640688967 144141044 80239250 633768191 432829937 713586583 906123481 172191222 154465244 764444225 163507097 326859773 637617285 419692289 731284499 377009686 47646269 340541956 748795240 530210606 91907612 228356050 893118861 576840879 293671964 678761245 127412660 40723880 396917006 195013952 508253359 172580605 935019204 479861680 67784253 670198513 449773307 920547419 834721390 719852685 124458364 952224217 869165694 228086959 813284713 57420576 158659248 936211352 690299394 828748699 817380234 338852057 57020925 106876214 37561205 699489287 922394477 567936348 122970834 914078570 118815809 82234057 793595359 545005533 958126069 594935026 186875792 904176404 71071891 533052500 189849569 957255449 10712446 666643382 252354293 223074591 893394635 914992924 133921556 301547474 788360890 88169284 278732787 515883908 618238778 380747703 659257336 768242416 781289960 24724713 68702053 245915394 393711915 89259519 225902413 494506843 42781420 225222617 624074624 868347883 339063922 280365011 832956569 735606399 320748452 463149108 592521193 417184392 40641939 880921612 957485046 242433585 148431704 139546129 976820677 979924985 672469081 543941650 817866872 568497971 487683812 746042632 139938664 643646380 891571972 900486920 217557382 238461113 928381475 70588210 397166305 429895206 882614323 719559864 10999062 706842068 572525650 234060728 181923113 890984575 627822070 790049142 571690570 784905184 860244440 378985634 39061152 113105223 430229213 719644879 551506688 185977383 209914720 384066379 780302274 274615217 845016918 994982697 458922395 665524043 171634994 260482491 109592074 927502483 184852828 436657848 37055477 937495863 726749594 110222768 807719919 607546259 59131112 375456996 698890148 986439634 501410437 494520891 656511645 235033613 343949233 980478081 308235516 80822019 369652108 484400444 571344332 971112606 470631172 270201136 464462885 959744365 586584742 3702039 44503208 926618064 769027358 139746168 74190514 479145099 196330241 658419951 60603556 893350485 764154961 616975357 163297090 545737067 473209526 939814068 114269555 327819095 221585535 426948880 303385605 601762432 639884248 2086807 595512725 352656619 871483500 900691142 140914608 957827494 238942063 466600492 255940893 463419617 568013927 149597692 784573031 338190055 934222011 968622581 747735011 574139772 584067402 414024935 427266391 63399804 93048476 152622756 608545454 673356382 396752213 194038481 905325033 910729181 780720075 65638697 924471279 266598102 880994234 381450355 675540677 576802170 375331168 15891742 794331654 361277512 142884523 978196345 415213908 28921896 675074644 36886385 969984301 111546168 558542288 704607084 142642188 517763104 508642265 881381745 685346542 410706982 486968996 419361057 286985817 910017441 517393101 910135155 951485460 998181416 708205135 623988449 513121674 327984865 879228877 881762644 977855810 509680710 285300592 175299624 315959292 627444291 135191370 165487305 243818859 504270087 202111094 904020608 236418076 692966650 955770949 207394792 961484967 366903908 771398813 75747142 54373335 185929989 74830903 980032500 632441350 861145132 715139137 393441283 113373232 152589807 202349057 607127302 406276244 173787580 329350201 970278445 722808502 120020143 519629067 462757922 630075656 618245567 582201955 886879659 425656458 370588307 150869874 326585411 88395326 787018346 651008773 941563512 39920000 99818132 690376413 903249776 595820314 610963331 466525785 981903178 726514707 349454780 858149241 65356298 646092728 866345134 514764593 186734480 461732024 98867235 809715131 973876408 239328640 434789247 199727912 373701127 198776513 764332037 786742236 853622987 383729219 814836645 208617472 78994647 354673157 643537662 613368603 438592123 792433652 411603466 308258065 884755444 957135284 819949410 441738142 569353257 156536050 303015832 618972748 999956235 203761882 433581080 932398102 110527962 797261373 115615858 52120413 561680248 664371354 259465937 745202097 724023567 477973762 112510101 459246259 213125858 769888036 824041696 238933895 644931466 895456854 142265493 751145795 572919506 868218926 501180690 150022258 221100350 588211964 673275316 660627482 810379788 610514067 178168070 507503155 540561310 913068429 860689782 72821736 383239604 8341567 593491634 717292521 711134830 976713922 592243443 497998325 829270738 427574896 991818362 485309169 365424084 254186471 381903995 223069064 484144964 643283024 890819897 96795607 855977004 218733540 308146508 965240921 555964439 155693748 318831755 360312327 13409202 324248000 117831002 136739998 188925631 921491178 183925346 190124292 319727408 22352439 237760701 33931938 398936366 42612352 787235698 629302277 698969840 584262267 695709736 474049503 504437278 292451914 509969307 661861496 228022351 199987554 39955850 144268128 383784479 540745 829210651 136503644 584051463 51982892 540453383 203792008 392517191 313676791 386696110 241829093 967773040 151407533 897391190 110448704 284727397 898780223 662873385 815771934 112677022 33657687 106860201 232406619 398499757 191218953 232639000 48383282 206654886 68808013 315168050 145872806 430847130 130983521 620302855 728183602 273996402 495497318 733208438 692745815 126906686 517363565 245577112 736912862 472975683 501494649 79260783 149369304 25800338 618873246 520874030 366882109 902407188 101787638 125263956 180542917 924372339 237258300 873032613 241477606 833452776 621716220 791567130 47444326 465073889 601695446 513126511 485718633 420942376 427127889 428217941 52228597 583797185 135810141 721665799 963698427 999878670 508900962 759129993 368432053 646457035 833409606 276884075 636715615 485277273 965133793 69522691 986217404 333470743 89289034 409967695 971530895 106151759 407168867 99895841 957409442 196912254 63251036 733644734 123241730 326094323 777780965 346912090 690160907 673678265 268333386 252864028 644863095 288861198 693315828 886090276 978503583 716419247 614885112 899145650 135038714 974351209 111734747 892112836 706355328 730846412 665852491 398656764 184721462 388579314 350024851 928066454 337485109 94312736 278896792 441676470 834084258 280420995 577759467 814317716 3690722 298598680 269295180 306571598 702306305 485200923 562472177 519605651 271527365 409655715 555527450 139119192 624957550 809810190 324209307 735431365 569542562 836028525 958564669 385956953 60136512 492369638 589142959 142156457 240867830 898327729 641744157 922384480 167217152 201148352 474315203 82488759 375954602 561140219 555540148 70134300 69890300 838505541 344592841 765116303 736713063 225364188 374582445 612153520 715199193 31038189 148730498 90914192 825553739 826723106 36935930 992118925 843892372 381499422 473546669 180879436 478845049 627595998 12781393 639937547 173494685 161155221 223304443 148845307 171561971 159749590 50549399 792485702 454896345 712819435 505036661 114154712 276593053 711292441 461317633 466874707 43855454 151153747 380797929 554696987 680827845 445311781 205460004 755565058 811870421 302350398 929867896 887351287 619771203 433172449 33510612 638349020 644102850 711456593 805238929 267192155 436664248 737226560 705521952 575303910 275609799 183476804 776644160 709722088 659123865 984373923 868464597 441787620 833983744 645034848 667152965 132197522 425423444 802957309 913194052 307807685 97743509 277232476 800043957 129097976 853404929 918120830 369814396 789029567 841522335 143805562 74365230 811272301 376981015 556251748 187623277 783896464 682299459 427695506 504095642 50636253 928005979 466101778 150021995 329877312 519614850 49446021 335741404 875604259 587047379 375936967 292575738 374264555 789698883 578336857 92618438 619270033 842857380 542766029 898621140 9221485 296386461 383739767 400518217 680676264 775157146 182717513 532172131 321157594 895440550 56173350 619817084 780549638 764865787 860065218 663706533 73751660 209407101 141020249 234429427 557175209 278280589 361167023 128780202 944362366 444777454 294290222 259314293 523457792 931488256 102785282 840027368 641854046 829580487 50230955 341479588 514559999 604912109 139437349 951481126 219362144 453010417 96425533 572802428 476024360 599240678 460783781 939954826 274884292 519647195 987118274 636832108 488848509 12792513 509656720 760304497 954127355 974504523 445511738 423411602 311346992 656147331 473430376 117444579 836097325 378292177 186066005 348960269 648885013 88008919 234798491 374065913 132189049 731151893 559110837 186320561 70397994 97673599 739415281 291566530 933517435 711289478 993654002 801093230 886010388 99903858 286828044 308947762 351187178 654632258 37222231 738185236 121014762 997723274 43091441 467237655 760182423 814284659 537034276 394924643 59725931 194177251 132620596 79734173 807841707 65910489 493851419 338071838 436451143 620891279 307926889 233843806 613483092 814923124 119003056 259346217 817910742 376918057 170993989 701938601 845858790 419029603 696328136 318016949 655733194 764701275 745374326 328789875 386577445 694444597 569947254 706104078 996362028 864735686 546832170 747500724 688558085 503858435 925115041 943351607 206783315 23066916 882410189 866163031 849065746 255022768 616779849 321920116 330346207 618109495 723160911 468800226 40146980 41046764 969050701 603466383 82413761 737772136 72861477 531935365 254648007 176454533 789892803 203001960 827041128 551766618 526432779 220075393 867007305 595468896 249167529 669593485 974594874 929843095 498066078 534917921 365562158 726676245 203149952 714253005 460754292 165907356 324540880 890061245 767499872 196459851 774005933 124119000 324703818 354608736 796784986 379533067 329773323 181985900 292360109 352536342 56996397 979341063 813326311 247257486 72018781 867720385 491928950 141073226 60702635 822717725 738794713 472087575 507409738 58007922 766914173 848191854 562298978 190673555 444667497 508302205 622593587 97646303 723152666 125045938 126477818 890479855 708937554 256221330 426725135 616924226 983325964 704181152 401378697 237726567 895434043 764976719 315905984 784871770 425263688 782583454 105353944 676478496 274154838 104765390 618911272 287973908 711328352 89571390 69088602 227023846 753502401 82198618 921176340 156467888 788855989 547231145 918524360 281821718 922230491 941811784 949968318 895334575 224051944 859555682 441973135 105015652 568985131 790775034 143412475 602595643 322234302 926523549 206699179 32922607 60454326 283256741 759735103 493663578 636058732 184531804 229354338 609075627 887178006 323312625 515440526 128190234 618646919 514687702 307792919 114571903 787814987 761378773 486169289 205979750 251846639 104349202 314056932 271292820 849658870 321588179 240479856 811203925 480699845 267758214 236118797 632952026 178111269 87658261 514424281 282834792 383408096 664683267 996523889 896642199 409717549 601129118 281626821 317747109 680614685 402160536 208775488 90774399 752804128 482936552 195241482 401152493 271484626 485098882 987078208 930910982 57911939 152556443 23366026 322521483 424940958 602852670 850880176 912437313 60615609 250250763 200855836 824624440 688760804 664435302 849232567 100130312 32360144 165737121 867268591 183270 245857848 451393332 448738887 784839453 183950023 600901657 509596667 603822282 306993055 26513261 799008272 879676929 815276058 986897214 606864607 53767587 175628106 650891074 293924206 198884722 931285494 867515642 49694656 32334404 836316264 807239606 521639245 129647044 927171800 731987053 503125110 17833973 815568752 508774405 928423363 228332970 955749510 216692836 755897635 744109401 148945500 257401472 413530637 725835900 194612713 60378982 230458227 121164257 674863906 200522345 862137180 123214904 712851762 341859390 148368196 999272448 717496700 350825701 584909360 393234143 14640 410234623 999633883 65995917 843233084 121427167 195005612 316425842 327538886 89138111 546205855 662830956 863744761 945622923 351724431 993453209 840447402 762919073 809008128 192027650 380772366 876940154 872531766 428683848 711323275 111168241 20347977 263082062 713862724 370118261 541301862 6701958 926466387 404647017 252824595 464206992 355394987 700151019 981119047 134160132 312332262 338839188 713271598 885015610 944051232 653625396 973177459 229479762 467177314 717560109 145866847 640175994 131679772 997626231 183162948 327086724 698603181 419722457 170528844 692878541 915918778 538029013 318897987 811438564 214812812 69184904 280041607 736206624 759346047 636215038 198702643 890095284 475091180 533063413 209814903 57919101 620712477 417044989 378032114 830513085 964701823 504615041 690694890 786749531 669251203 817205371 788609622 444552359 414180213 73463995 907166585 612670148 459211213 753764612 969289549 15812366 968742654 473370768 280944256 644578288 619204911 689502705 690596810 922306165 818428060 423348288 480133636 485535209 6007068 600667802 560561971 211188260 622874561 650075938 771759257 295951495 694707230 140935179 795247393 776951968 118123722 9220635 237696604 251762178 439187259 271076770 421687529 123523354 336758520 205832109 878809748 2007946 65281651 667013469 473622047 517662069 111180525 675652272 260624871 122343715 213941690 994072435 893709780 674387997 954010429 312923501 822005705 644550567 312857051 681045243 182969768 807993837 328488967 298036981 314212597 275237848 92396947 399757653 754065252 497941388 331432431 890794207 117883111 552033969 992526211 580193461 126449718 507641068 646903116 263802674 598918132 259675887 383349702 465823819 232940712 652741327 488820115 120613161 17706697 891269136 885952930 820583874 805687573 807575519 550874872 94034908 219884695 68644770 668800512 64217795 194359862 649341157 970968245 749402364 832748374 942462600 260292157 518229354 147417609 276183801 925730531 102886146 795118949 944383807 661997201 61544134 145664506 114388519 907814084 720089467 836358171 526691870 294689912 172434121 671138439 259690445 168740020 476524555 72242642 873564493 309989775 700013177 10021443 32241566 958827892 769234557 606222797 60089808 955233828 489128935 109561389 845998800 947449851 234817649 281320208 196018739 969547022 617205464 707568191 256124380 268093086 709948238 381545184 660647151 320659865 459709181 991059488 721840933 37050403 95005435 31111305 410973982 807263907 137054402 327503343 809446211 297684123 791905351 1332979 311973432 674776521 118140116 512510067 353244894 706049136 880823226 617177734 345671090 291026354 351744522 870997356 436687584 52179905 850103330 889914692 133791634 779459907 247966451 484243300 761382336 278710381 713898380 447651643 588496637 48980415 139551513 942238019 544108861 662715252 103072818 107890900 751597147 859503709 889124958 824161839 150891592 449776429 747849505 298929609 899313012 106871859 202804154 886822386 4235157 369848993 320619210 361006374 652675328 719219755 513004643 489980915 76115693 448598506 394323518 293763019 694266986 302414560 964852421 20362943 656359899 878164790 913937408 721833965 631439863 428871659 867356873 536446197 452397766 680914481 506147919 578738514 152300884 83626801 358038233 774446243 104819890 691989088 434744436 652499891 310332585 41073953 928984160 84209176 552208482 492708692 534250563 938503075 791157330 65835554 505266606 689435619 645620611 149166913 374739029 522140729 215414491 618303046 47881021 331994488 576827618 564686581 267376238 977541019 78673860 18040325 268022802 123092553 85650246 89033785 376536436 399879523 884797900 855527374 622867513 287931560 907059197 71323786 956722406 849024059 852550732 563411097 137360727 877068881 712978414 421556834 258234899 832655841 852269366 494649951 738324248 131773789 985434812 875175211 470277282 760991589 783202466 440746426 624044586 330819627 516480684 272668110 694025796 596903934 29481572 308201996 671156466 120463349 714171299 85007512 597530399 147110712 299414326 359203936 405740205 24592452 864937075 865808974 326549872 764066382 346602329 886685316 371972137 174320733 237747450 350399509 978101551 250512432 653559307 444177162 537084777 431654364 971007789 273176150 715766386 268786331 69138343 764387802 799916217 467054220 79489703 339582486 127511270 195769557 854346927 411272723 513840397 607322617 132200542 972530368 7965459 610361683 545892717 434393554 809228904 9416053 607803959 84053579 175303766 995527253 397060831 696233750 253163602 678168750 537982872 28890029 764256676 24436514 383057685 876286432 145508722 185552761 421065619 265239287 569128657 383229020 287140134 250691434 577404081 66557106 488691514 118647252 801301121 364005131 965748138 770586593 720678586 290239964 607351733 615591235 514595916 754280831 214019524 42198762 193602212 25531398 380779564 377333783 612812388 85889526 489997012 955767009 887704708 759083688 571767867 57835038 539595409 319450438 170746083 808284684 800742644 831182117 646854592 607228226 753362739 834038075 64158559 906696893 334454 130909787 534172027 466401830 742643965 397568593 67336263 332811690 589555106 841259587 726496955 296310294 175205149 236923968 310015440 150646426 407574287 660939796 328478124 282625987 820567450 506472160 965317483 769238981 271568802 428938711 685617456 15195991 560025109 492147358 577259750 568404788 284404796 571631263 76741655 76341560 899719262 524817020 455118326 755051192 597982013 589134996 623340489 220098402 130827590 230237197 176704122 224235101 137105104 485339504 586986088 720144649 926200594 776574489 485334898 727673966 208910541 781583619 550059842 791156977 123076995 850250474 345211541 816561257 192863268 370682972 835629706 916895186 574198779 602334865 252715438 310288709 597131198 447455954 704749335 1474219 563512050 745244937 67630558 836110041 588003479 242619002 93080391 452410213 189049936 504842656 604110834 159950599 77989708 54894902 153827915 945380387 27497509 265714920 927822139 424869944 546970465 74524888 347230054 113506770 46186238 548991729 533418262 617518350 117726553 241413380 503006218 295891388 464383099 632443810 231776808 96713476 34744431 404192892 358813272 375248162 215813956 374096594 890255670 980655305 754899494 649985346 493284380 727158307 967137601 827308511 558282700 720285584 947524728 249200802 345733299 182981907 577639731 930449267 136260263 787183931 323352896 4316507 965536008 461049474 527674317 338139589 287199114 102964423 621277791 377555316 55034882 56535542 164466433 352194114 575367204 366523447 80178321 561572623 685247904 117880420 947643065 997299881 256286446 109541552 87833848 715645967 842270926 843096164 289558139 441355523 148257050 836362806 1143084 717419163 245876728 400963598 769625425 169499705 425169916 25949994 425345965 486520820 426439853 66975622 327711702 661444751 174825295 517759303 871395342 223777605 831902638 446656501 217769772 867204920 246351480 839609539 291421777 459066928 863638155 256422821 248938035 353066949 551895032 999864564 449423372 799643591 345800445 49173538 968864690 232010060 439624556 386283799 422068850 276369841 596608241 437742964 517699383 345675854 515541558 413163001 805569812 107873043 620929069 991099208 684767874 359734818 27685570 332813259 116958667 124209630 807419707 499636110 663099388 373659266 385242467 132329637 141086160 551313347 738539869 29147269 34769516 912334512 852977677 819038811 228712928 671053237 162589040 181473943 152919054 67601286 3186922 447372297 889945314 408442820 19078124 797098433 996627363 691407684 45386856 996138252 335244965 24911417 139992565 784108468 450655203 838313303 442101722 870756137 987251898 578750819 242761617 648481618 804276301 233279124 189219393 65340032 221462500 20721847 891432961 765477774 172172745 537337010 571215684 595527482 233277298 231219633 260251086 165021243 459044147 396761062 373625748 223620397 264039283 191432255 192747195 685372363 36773710 453380811 683133196 969873336 414740215 405843188 322033647 911082534 186658407 847088154 425467287 76093397 829169532 479893964 897231495 442676007 720320975 873460560 753548649 232681681 101297367 974414663 397938786 401174146 33262768 324908611 646499576 387855143 893909756 858935094 1676590 16330122 474074353 765771757 49500061 123726464 51330522 241465551 803526386 574135637 664659983 174655244 815473592 171151415 771453410 564750253 852609866 666920048 357552212 137113472 303516050 978429559 737627927 929929628 692471620 69927622 810605255 101044223 742005616 222782460 407908040 225639672 47816058 621418921 277837455 182906940 662174060 985938919 798242688 263135107 756777181 178650043 213281768 405858901 397240214 422798090 255339994 172324797 414303157 214986164 570612224 911329931 951384703 92123417 350026798 204946842 195594235 103955850 789356811 369901132 352556150 606024178 132545607 689917235 722428763 233032324 428054839 587480482 848874253 879326668 583665731 99901493 769776243 319790847 332656510 325211150 78585484 346901204 908242775 89235169 972559610 310941296 829745501 376417111 473125779 184730723 658768378 593324066 696765710 538076804 236754637 18465808 465739979 631303019 321111736 231902743 948499041 373160435 198294067 689031842 830766577 735976255 781076527 283263902 921339601 582929172 171307669 838638506 635908800 279129385 626896427 237553264 79456913 877291327 980824510 967981512 371216143 298067935 426058454 298352375 514673930 256581619 562055489 638295075 98762318 285831885 38434983 733790069 74456818 151816991 664322774 898075660 180741921 331970703 360017266 211898322 558721494 37724019 768893474 679455104 405485557 843429308 473333452 940594114 688775307 604418151 444543779 467491241 541901556 181845311 620203307 321682653 34497607 742380950 883417484 379616948 561690245 355061521 599611909 470495252 836189310 238001202 625034472 67552062 34070423 404193337 327485253 622369303 192487886 261471519 39925987 375936321 468994498 142313420 262186039 454025582 969975964 155469261 932998405 501957657 319230707 527516552 757061655 453291203 79602947 527977289 60352603 61833564 568366143 289515209 19132675 37833175 206069597 712643633 934711530 703272291 736493892 705507622 265308019 694555763 388420834 589203527 192790669 231734767 685953779 503391646 204816883 293621103 304866018 864830663 520363187 701312761 961908655 99160711 792798565 359087857 273224454 449607228 84259539 113740479 204308325 71092386 839739833 882623384 117501089 121615786 304119739 893280101 713247513 153009684 447425394 628611399 315090470 182243699 897980155 952058362 853658689 993353187 114086096 658405870 742964972 483850389 503409993 395648904 171250711 807257826 601751986 989796508 654810604 570517627 78400506 307674400 840300042 443938890 140591297 957181092 526443328 996034832 879625615 566774827 189917189 446751964 704247539 275579949 185877766 818043655 832317419 738572209 905816538 316863802 508446597 732284634 857784344 364914585 107325200 300199501 960255085 873470761 194181880 811994460 717913400 796684891 152186984 22689110 284710324 886256593 295318918 262892239 913634701 281032368 265031032 196505331 236542032 828085494 946358249 222523291 252015769 713504917 535512338 893205409 905795295 866078158 273582595 850297998 664391871 970743011 95673671 331488243 245381754 683856573 632587390 661105219 614360188 862966190 582253907 961392929 752650051 269072877 344927360 178629164 434640548 639727682 764795110 296617368 883365633 40426974 772890130 880709969 586012846 865637925 416089030 252079754 88053282 745336321 375626363 935597126 808449025 646780276 530683899 325336212 924416491 726031438 418489038 869996374 104989098 201713942 556703491 615358915 571376035 538105761 274823072 291028408 230936606 161992785 897095911 71197242 898132011 100406257 950331569 342084619 469108364 594586884 20844590 69767624 247246508 139699971 692751233 281586107 124458602 198600116 447395369 160023553 186696312 936071610 758528350 917880236 877604754 616471245 814221523 835856684 249547514 640477188 218697752 642708991 21234547 57983142 25934118 102767126 88055386 432281967 890079579 399682708 961404456 852002735 146113710 647995838 169395032 232734559 280089939 11738665 118190561 730200441 865293999 695227506 243999196 1226450 523728654 907488832 304941209 831624233 146549365 605313760 198764834 628815805 319809286 804277873 685449905 630432139 808221505 603030741 389386657 955525447 566033903 256590331 523480005 536416792 64523883 927148673 29416856 122064577 736703022 412967549 34184268 847257621 135072426 480711069 542868353 807026386 328342105 70633940 411373982 965096375 699980018 313852033 243627315 628750005 84971994 658704829 198675573 545474995 809334484 796043405 922618202 44492727 676674984 99417591 52320175 762138727 364452276 894838891 190098248 674284208 485778592 212904865 429779834 791434724 293944484 16516921 202186223 972403271 695321809 730457717 468639815 19509126 388226193 473718678 890095234 261802332 635942659 18957722 996629764 771736975 96694563 425661917 10695074 159044569 219970086 759284247 315649405 227794637 800347995 274466507 462991855 436521436 844491135 253991001 139208677 302587722 588709738 71016955 273981553 306670573 788820745 308975034 570106842 879016830 892925990 553435396 248370285 658233123 114940794 900092059 934616623 562925215 174994710 385635761 73882924 167440201 113335431 33761448 756634718 790593981 524110431 320590208 58301704 911819838 194702899 276150187 950152644 867489756 588056726 230589109 107088809 150664574 170476214 739525202 146811725 877963787 392263093 488715987 69499952 32852832 388517858 749494936 17337506 802191252 86954232 401155007 704778315 806114854 553864608 673576345 948650606 956919201 475559868 922046524 707224899 960862206 341588358 447424 466363863 9554553 300613015 356815712 430026476 743220065 770263393 625625165 319168569 24635435 72788565 361091908 300557741 298071553 99313898 846661191 460538278 497349975 351682522 29610516 890783398 802201195 144857235 360762000 303194806 154511613 690037001 519302320 951151204 273451478 24563042 139723468 988172723 799521656 52097730 503095390 10390073 299924074 675431252 130422713 669699473 238334171 756457872 387314442 631200770 146377104 639988804 697457185 192851530 137948789 39167795 390243563 407968368 476955194 380470829 429745604 346476622 407038515 451628658 617293220 147570236 446863070 134220817 651174661 998689061 64539551 233559031 235184694 736898175 567246926 281651614 825223655 421023595 722321012 370723966 910132474 262656001 56341541 400185259 895672827 115162915 626130115 319694929 320335625 230005315 398168459 439035192 584135058 103788931 960869624 153953720 73565113 832824292 574781296 616666664 954276008 756114069 833782021 625644590 319462872 280249052 729062364 868241833 495522597 847876734 709822603 965320440 934267963 944114683 713823375 756717543 118295971 367772561 679303353 376191379 507722918 223724188 25126052 282777427 309486485 95534354 288283350 815959463 399145205 553188700 248664066 451713175 309711195 889635348 824142726 901479434 100082992 951987122 482036628 12239102 741518108 281801149 916930119 649693610 581960098 742655263 428702350 716679368 272492642 582623647 421025897 505194811 773309534 47052730 67746854 112004542 95467430 15741603 170399496 169578112 523510493 877364558 401010516 480459026 528566341 965665670 6361056 3176379 886207672 45839358 82635929 83980148 24825602 537408625 467229597 397849796 603206488 351643446 433756786 184400515 342803838 149498716 854780603 61915325 306087515 722222987 539008948 683537718 170228472 53540588 708003337 3103982 543029296 549068540 318887867 893246164 225934615 588535364 148714145 806191279 528303004 544686973 286788540 862254779 821867810 254863404 138663194 556578701 842700169 343732333 271340884 237477736 842204855 455685985 933698652 545070491 859689889 101368312 22658349 200247080 392623335 47903019 112999788 644653464 363382075 505373009 339037224 528518663 693904268 393225956 502293831 432614054 107287885 211371084 454130709 33951433 54230050 964316862 148546473 917577001 86817445 455005298 898733867 882598293 457645863 190809489 635092318 452022594 559191982 723223815 721230652 270865465 291730441 831773342 658740961 237105222 883857438 236799576 982247176 951588411 464404962 595563107 841375678 883765364 664865767 757353672 424466262 147016678 921650012 812455050 994521641 240286782 270032179 308240965 500433692 9493345 273402450 717079491 430018802 128291030 906267692 877714158 680099364 79649782 706138782 942379030 33874396 306953815 781991042 667521754 940637625 900778066 907802602 583997047 142348122 220309839 131359620 168580066 36333923 892655046 405839285 238744677 563671669 435250164 965885059 265328915 363734769 320289163 372649888 800577864 545579423 445002768 65496580 363864022 623842225 863834932 190234703 155361127 883907511 440713342 903271804 753591562 106865673 306845936 158013026 638583432 5805100 63615772 916645655 806648391 573354001 994841201 555005123 889386220 887045921 733951920 578093248 246058836 380542752 13744525 250783643 249814720 618200205 567974491 805212906 127259847 91125493 532544317 791544973 82178727 187081366 611190990 763759678 455744071 173685635 959535794 78328224 35972141 930720728 1425849 756984328 764277852 370943969 692156088 388512380 547174842 631626015 6383575 655962229 984593708 367798581 148933838 992818442 60221238 459565124 934109537 776982371 261105825 837146969 813210585 492533854 626414412 243704164 273267885 802979723 538481574 699583358 360307960 511560226 499899585 778706906 542394585 268424529 238155116 833671718 88480232 732093984 62908407 243156301 368542457 918115938 937440401 153708608 666755273 779000753 575922863 549613452 375979691 830443091 476239405 238423736 243878235 346455873 706668611 329430104 148345912 427488610 858330897 862237601 868460211 507215537 397796414 215071989 261400899 709998437 896642810 982484610 280859468 533826010 48454632 526858724 201986357 891248496 784863538 885673493 939045318 273633071 96599658 754064651 959525868 791804445 324012016 79260681 561333500 607658615 872736465 639024090 291803635 392160837 227938618 477191538 706011946 259921577 97639985 161579536 337185550 76039716 212434227 253358375 841918354 187561232 246425247 640798734 228332617 290824160 286720648 72280695 529973026 834772236 725270526 5986482 330107839 680947647 230397917 385884665 64643750 25185513 451578471 176099688 353714458 123434767 36004604 158097229 328732125 435747640 657741899 96949468 677950471 771494841 874065661 595040946 675917839 495892038 266536171 675331648 753886201 64286122 926137383 836485896 96669765 483741429 380435811 196861475 399844568 532452786 399331101 489087702 976102177 709907594 689482856 726223255 732349059 291332792 77680020 250083153 89383596 472362536 408191773 420612555 77040165 938873494 69085118 58857916 926916855 629951500 622158762 700007726 91118550 192838655 368520492 981089206 238953707 123038117 606288550 728908667 3324752 661995203 577981532 315085116 555803310 416732057 49893501 219933788 661732918 493363615 963792794 206128963 85723934 209167460 606663034 189923474 422773147 722333387 558473784 656411281 566908776 303078583 7331094 881565125 409156779 985695993 208787902 87743775 820341172 456706256 883383179 15613077 250895515 10164972 779700484 670118029 941889649 172626856 68254504 651112913 373822185 195043749 665276510 759679004 404316933 145556849 122543781 748161725 98049326 7664564 11931469 986460712 781884951 773594888 480368765 205105265 140057090 858159641 578935973 791419419 754313211 749544009 262990352 543682789 304832334 55802126 156237772 390112935 471436262 948482624 530573339 343918412 209565483 30757833 346219099 270400557 638764404 33403571 163587584 694234203 213871675 937882802 850109983 336511842 18264469 834720257 382791354 105910827 215347229 456930220 223348939 523193331 955630497 148041265 31565398 234573501 327212188 896273112 446337676 668212727 578845000 143958514 581704084 597418559 571142917 81144407 655030903 169578952 345051892 447137166 650837391 826408332 270603692 132695249 712845884 940144795 915878764 384387065 665389971 43852238 902869422 417033630 556285309 471881860 231327842 719068496 696625719 781324439 883956492 236830852 89057038 379529506 957635912 673946711 183391846 80107244 366240661 695967516 149969638 250513587 782958571 98014616 680394373 43024440 190326325 414478411 120821848 722446291 975716553 23171904 996742640 288431596 707304403 561230395 401252993 256323588 811215545 471009078 406308755 110811448 546828803 2643898 273644914 349253378 113881687 14908968 684632952 422463225 153718498 219504641 211469945 508029294 829656758 33810560 383067452 148079445 113974492 377030448 118914414 825623757 88325854 975173521 320859084 746956744 71925792 169641785 488452970 669629251 156672540 760647971 780147249 21882172 374299852 204874896 676894206 702299043 510088563 550863148 859975262 160585190 323410956 839178409 211535323 812733482 939639714 697427451 96401531 358146964 831241994 558117627 858107660 920950311 658461715 794206009 472233050 524447894 623313761 675320054 382836516 677563479 43156482 529835086 398972123 861057715 521816990 216093204 483656053 922332921 109373414 34515769 497191368 916766724 502498167 997397794 839159582 897932770 815357865 62470640 115396735 740408308 815592073 365535979 539448319 395197441 988121414 100020872 174167060 160867620 194538501 189420442 938056488 515809420 478301883 493085141 152393854 671197557 29907448 181395140 82659751 951518090 828075584 283307179 564541295 997951579 724018041 610328742 119079467 304103649 38866429 736822304 118835641 608215730 940618995 482348386 45908044 33669530 952521378 7933062 215768925 577977698 521469175 198647557 945992954 55797202 523004815 67728637 162597146 635964138 787119738 72500616 935029028 322380863 665744873 748327471 139600013 936814772 881275555 193202255 248742410 658471135 476819779 25768308 467297647 588867709 128930798 704939286 300996695 766551093 78074103 797892831 173260004 568873242 850715738 604131301 191992829 194811273 150761201 293110548 690638601 875186179 322996906 32904265 10795921 835129811 924424888 206812981 790373188 628444713 315726070 325543336 821553631 441862430 834670273 270359331 60064353 829725454 442037016 53013287 808337510 152211057 573399776 961770247 222554588 339220602 921010176 889365858 890686307 928519732 498173820 74962629 655052565 926260966 46011416 996700229 132764373 445836103 265742649 532393600 875699913 1418308 941053815 695527160 459209485 447331650 24992937 764943013 960067486 118322739 905902791 384093152 118290308 439044500 592066768 727618068 285255364 171428623 939939383 391644437 585806704 92651303 645259393 268424495 930274192 694254684 363771895 554404110 283538568 845888724 485789289 758341472 92669015 78525927 152489140 251883059 584246203 752120170 698104482 397447745 167432817 216705168 400629398 963437657 473399410 508850659 653778694 908653213 877259366 39226283 340479120 257413727 950808910 846017002 875320958 806581927 684716973 578309862 290262068 705915204 916441956 323636694 897594764 206583538 363467654 805417372 119964374 797263178 780143169 600983738 831892195 9473839 440130635 778044196 989545613 442382713 684776497 158148974 945453010 53792136 494374996 570392928 388695764 900780210 600637980 317381490 877182056 173346846 632213157 688802256 958717967 845761900 24833937 961348486 442530750 229294502 543542057 790145878 928252979 110842432 790217164 525298491 783501057 113504946 808975439 681140780 216926265 223539750 95943685 906930813 476975035 277019030 246275985 129374913 631277881 867743235 506686331 897260331 171572579 618320495 927573332 512177867 986218656 659301305 413225622 33665574 648822744 684680484 196594169 66816600 425813650 556697450 261439364 85603585 299676323 84347208 8948158 804167240 747753037 568777540 897641304 748620874 295764943 769680163 935330970 783740762 692798571 511628785 626191260 452043946 413525787 62229746 687823259 288886584 661709844 252926378 90077022 206703435 537277304 249658037 253841542 997590450 218696241 105676148 855941970 16798944 130565030 274556332 591286319 211439568 183342551 742621778 403093993 814933084 775470249 844078570 859988128 239024999 162447987 718499199 880813910 508870236 418247530 375399869 254850762 371195674 267619007 753496488 858276436 981104718 607414164 5707213 172238873 779698855 417910957 501449661 954326610 986206203 655379749 224398838 331557592 289452442 407569193 141434887 792444297 154745686 152276721 440575075 803905111 430226896 537967319 672951038 383671672 977295514 182680211 191202369 55204312 979154524 192500143 491612341 928624522 65565558 589574188 250496111 92648834 62211770 822260265 827695763 501599471 556590538 46438730 645906809 570841051 155784449 281408226 831453127 584544303 152147468 600995634 736242433 334992252 755223116 709353927 30141096 654040965 642315026 159799791 535904794 384288475 990193742 664680764 312465518 894027163 896738796 378777513 121310660 26365547 260268460 746029682 760461495 337531739 660095373 369815927 600896864 466470635 850438864 364675686 643928311 342565918 935592016 966287606 720865872 38590655 188231146 284748148 475453459 16876107 654549803 321253095 29242455 368583423 908543775 328839237 738279211 796376612 779849720 894075363 74115627 107334349 30094550 307344784 97622375 241989477 800252334 937417267 27671571 367752711 231097485 876352999 784756335 1327926 742228755 386037399 121553268 164734390 365015299 843809826 639055569 289900179 391984154 272187964 101056572 131259226 128907257 277119607 326850226 436271631 155714929 717469234 496985718 253802365 729346843 862992687 503382365 795107569 422169522 195558961 982656025 53351431 555404621 353634265 397487337 939402766 273710068 194878818 8626494 843347619 634188876 204998675 986792414 112287618 440313138 785746379 87775119 231515586 253477536 672123439 527027478 703394684 826981926 129290815 858206551 880180678 549087538 316441024 97972552 805895211 151806930 798805940 335210736 342522032 468527085 30315474 836977338 99253855 180302093 252197727 282544674 250923362 265771799 99138192 426932166 964223678 448186937 583616224 851816155 855102479 875920735 239939181 344419957 360080014 899848934 482489604 934710331 727725045 921258500 907674617 840402890 509634901 946185437 558313850 801949336 219134878 822937631 565652496 564517313 454025328 173271918 189703480 554433000 601674668 19542697 860129771 647304614 711577987 34093189 579578941 223234553 605289367 734039224 520546555 598840263 274362501 224418507 797025453 773746685 412944075 552259358 674686937 292060849 721863498 282757285 168054030 146650436 256673301 925150691 661243596 659671238 227121039 417344044 120144930 851728926 853147404 555705565 989928229 876192933 18665416 759015041 946141189 795884864 587144902 787472616 898133782 311103807 95378599 569992474 366005348 504659924 943679230 649530306 347704586 947388879 464329206 465896896 724217617 318487982 716331938 632560746 58313204 236302718 154464534 703263202 183306273 722623769 940208010 934323141 121359019 259809846 86025228 580713028 710171644 456385017 902410605 379181949 46957775 23932180 135385967 864937438 943416191 345140544 1130109 56770354 51632073 304014875 214459792 472956238 116476135 604139615 686624902 676612016 140669080 156377647 46083322 923920727 839367431 609174758 888789562 523001862 58276331 98271208 826907653 56739390 438505236 13733389 678955121 948172340 491538381 613633506 241583751 9708251 887633124 813085769 910634707 128233773 962681694 639894587 800120264 7406684 508456007 228162934 635945399 553964731 903108680 118000610 365198328 332762345 641753819 868633951 728058471 405396121 705928282 561998459 607333477 71778747 201868944 596355182 531414455 944306143 627639767 852668287 272548554 242709257 843805712 187618475 266243432 465747111 378290126 215483165 745242749 224324357 713744082 213398139 174191560 649321043 177243993 159009492 51210051 841656510 94260392 946141982 232488490 46884389 856983877 536187748 736342451 633687468 494059282 860307446 475844369 370467418 843380939 77369311 602853878 204669804 671310511 534164088 928972812 435332137 144138342 402814364 704091708 719592202 797925593 29864990 188065074 549338728 120797491 907999754 354150803 586912461 23337043 342794382 257833168 104641489 211224880 912017917 444832713 245124585 556069215 671981347 285582369 831906438 100546555 637410993 325141342 383973261 128790512 504011055 901895540 58387973 554371614 67182232 426113285 760105420 496593537 143733623 747744858 864559794 754250960 10237999 91115681 400501515 231589006 69527550 570980202 514546776 935231796 668788755 379088427 703604853 475469950 299046789 576004232 748620086 876028817 179354065 804017436 634297807 351514168 677405363 772722430 17211523 753183171 750921088 697108601 62945754 972426449 176731613 748168238 736912060 955680287 666348048 124324498 322466912 98966505 492834391 795469681 829566730 618060842 895643452 895888917 827226359 684285096 256884119 824563990 615258935 969893488 800637156 535510178 272420571 11289149 127976981 585503314 360578248 53089483 230914848 314102428 350311719 849784331 131450045 688118319 22555098 663212285 188773395 78166379 985268540 47295986 794657154 498007503 954627763 197089069 85216624 769483939 835827816 415536560 566636542 147896645 168476775 406512599 273871807 705844060 618826330 232674714 759728894 889674614 221971615 840648359 928447895 795161670 810084468 297543659 276978813 913540891 578240495 727836401 582448101 194835688 474895764 447504421 59079375 137097682 800492526 579889410 471383342 535872584 946460743 732308833 595018158 968794289 904257457 986234061 559060941 441963675 694072272 68697187 840461197 225887199 739344201 397812908 246513442 638281499 5394472 223669990 134953588 495792801 389965612 487067000 225971993 32134214 100752349 104245188 954354344 162116831 549041839 706816323 617652963 303782282 136143723 470883314 118367810 408704553 892605855 635578526 122142796 846777367 170961912 871721140 588952071 587486576 495529683 959404442 228870461 523946500 413744303 403615865 196954458 976513285 8281241 238892646 305036815 161252205 911955778 874977857 761220876 302687630 30444277 766306628 510593467 381672209 932070064 12947270 523137261 856431237 488120221 307827615 711369089 196969141 847928111 526288455 153059041 702961599 280400494 30966679 561035812 727683568 963064701 506842629 594741982 138019035 283080978 242302108 652967732 409140964 193464092 445190083 640765503 818234781 646049105 561268939 412965866 506526127 698734051 104068887 569557474 193094774 215820873 350030822 115638286 942224348 930604664 525801117 216159547 856174447 51106888 257236726 814941046 466214704 711377311 665490030 703724998 135193911 22099735 214208089 559021624 257783105 671273308 13551936 595824977 883822665 190174323 721509583 799639843 4086156 969013948 136232325 80921821 675061666 877707382 432221390 56075389 281513720 813955882 885831389 713650218 477359189 233740284 549733051 645034701 547734543 61087559 116017464 79750534 213741326 274615057 503115671 588169097 285003267 88761514 218575097 852734040 244875986 856645120 615572870 710483590 795598032 787646502 209563683 127470912 36766676 624299645 173188989 385939842 863613159 185063064 975375525 503849267 805387476 569125405 422469839 470398114 515221655 755806383 156845518 282273528 38810674 700156771 645918802 196935157 902236139 311341418 906334103 11479949 946236143 411006302 294541931 474616091 964547371 126486275 965221821 864663398 520722587 867544540 600974588 738090864 812698187 611986905 541565274 478071312 505458029 631579520 993358184 648313035 45533073 56055988 992202282 868600376 156615413 589137142 890470958 685579080 959523708 207269642 151565620 858553125 939694888 978321507 653639832 958180531 73195543 516190926 973756770 585842147 136206690 588678930 102540003 867616110 722070428 476743363 653923423 190227165 890421379 215715778 888854299 581277798 201000731 82538934 475772009 966759814 883647439 224796895 551011666 596273963 424506655 831951912 686750285 276315548 743721761 766814443 882583809 28272556 769830996 585560812 601923832 433461421 959449521 278260368 106180105 261373571 74087047 792061167 372565322 620633102 220184231 53918980 931707351 832796462 750087790 490275986 662640768 310514227 936681000 694571234 753755667 918122129 313927143 323895470 847262284 877623471 431224308 870145283 980555982 372856680 467496051 984188579 72988050 748305429 563013763 571410885 792106802 739405960 41884110 225776439 734393766 291963269 736647594 818531285 500348417 828973403 83595075 972621068 886130382 119101551 270578565 412662417 147464250 524885514 595253029 869225438 403039800 468392464 929243902 948942351 436120612 194241858 506608394 8188096 33069475 723087117 360241432 578400451 790026354 227194500 908657294 796124718 657532459 165309958 448831811 926064076 417236821 488677454 81086415 990160318 599742506 745764723 373317412 379481954 939859285 756220897 498376333 453850020 139181910 728432957 629842366 146819458 175471541 517391114 925424646 819196939 427085599 648672756 435254041 939523506 781039065 836374486 514738095 592729839 803400191 107438277 46607110 191491933 662381990 619536112 134924344 471062648 383887542 839672588 264776335 175686943 212542797 952532738 210660146 553686718 869639398 52519950 58780840 216597081 669065882 897381978 571378963 375606217 44429156 197607832 143926578 475638802 880682210 135550272 306672659 1022210 420564562 953860791 191030522 70319859 620629862 506583394 864899138 793975528 509631154 659537540 436112204 514531507 820275295 952961193 388258175 356781748 47282898 645099419 346028450 124985026 333384626 150016516 924335774 40461960 67799071 369267182 563482893 289487559 856744142 611691511 145163976 680440751 291882983 383530894 782826957 545508981 818263396 503389205 159957094 221407994 724781506 617028956 535530783 107680308 2694556 877570100 710838178 891968704 678999451 855459072 695469320 965058469 492659437 907952966 249599483 643289543 890640545 929745689 763272400 370738092 90857959 220678373 64910797 867925295 811725822 106675545 974099945 619898887 12577984 959439973 197354295 755876776 198153003 614575769 523136267 919306371 485548540 214730387 875197308 86668439 302022425 858791973 164575236 318056931 234004050 151530436 82252427 981573307 879873182 969216655 908755449 215337483 782595278 591423523 628153391 325314406 487796670 460447998 642148810 446396286 213888247 705434159 210261786 943143997 331180661 841238295 872820052 637012981 968096213 580954701 734297034 638967623 517572671 225256643 16741581 196787254 104223819 842110267 620051899 945977852 669895439 753987207 707005269 933533665 89560041 265980891 803804227 860921950 185112216 471790296 800331232 738797348 547972201 22552989 733199700 214920750 98663070 221630119 845177749 251150787 190456290 322468183 471501395 34445973 346146575 939501126 102752849 73456459 272147795 132690769 69438788 819565223 866053238 484686195 137369890 978950294 252853862 903150289 763763527 200633268 504604971 110254816 89867405 245313064 473899495 328826732 613758459 952930618 334760146 840565374 577311140 252514958 58599748 822450601 942873692 794780316 680263169 924375919 438145032 533074806 901626686 329825498 369140929 819165249 476869044 577980741 4115873 655220918 666702526 789355444 41502782 298378232 240969660 526334184 582465058 995563669 370961873 778898354 277987301 265173275 323902129 547266622 892970751 303670093 229229744 363429989 975277891 483794355 16149819 266145495 917743768 911523156 409777440 600485250 279847593 772240604 80402933 179095306 54861256 276524858 515483125 373653369 998776458 420861617 472185647 156663146 223761778 335208036 939723427 882370525 496511956 156251903 535611729 269984938 124641891 766582659 352184916 390196170 639756457 986578435 618227284 297445548 546336401 940261708 22627327 925000562 574643491 499020465 38890839 190754862 163010152 71995861 129520478 384862269 3599448 637703449 791848712 357114714 408902834 826857948 813682668 568263088 50430500 575724301 489479578 756374234 370959383 314992563 583344726 477325136 844735865 419905515 960544879 874851094 649411753 213714734 855348207 770336244 97889939 264097217 808308170 114991200 556507040 100575999 597607347 411303491 732339722 7380462 851691664 645565922 328175659 303189085 200310785 949646180 244546767 224924277 86936782 106463930 522184495 204399277 319199410 277667360 96849800 11723843 779500383 476811780 310651506 380315006 993580813 995971385 633996730 690445854 68547319 358025143 914775226 251327800 528378950 222407110 157772401 384395049 841287651 378393543 363852007 449139278 157702379 602770246 232966578 250180767 171368449 519342269 556140826 25688966 593831270 864727906 940378671 264725550 8918467 293225353 288183107 80119791 757046482 654333352 193623474 517186145 959173892 313026150 853020840 542377676 458970650 145033132 668836920 965986905 971725416 220971588 619547928 936707884 600432654 613576856 601943992 284353715 184638139 450695450 247792457 322115496 477411306 11614409 483334142 268210484 478696776 672555005 209009374 745883474 43972201 171199396 409913142 775054084 146556712 933505218 121681753 986852750 844040975 425204930 521638938 546882675 422352022 480030828 328437747 710185086 440657327 810202615 273147931 334518045 109780031 842345352 124002061 976335929 843610387 930985603 442275601 759708996 994261051 734197729 658190237 361192800 895183020 753660626 169560290 893580691 117464010 811320255 375112807 486397012 524632552 481898951 224955211 855291882 403025612 632929165 879332959 266449948 587550107 718483128 552920123 149899546 595396077 891489637 172408051 555711974 77981815 966981174 944930613 954109124 690233590 332632729 534832261 235657161 984429412 235040085 8182521 537737376 561123636 512737561 332714446 611837998 172896926 560078426 494373160 921545869 97765272 400501620 744249724 170715306 902865375 103549994 88634286 630148985 120152608 589066375 461473084 945356163 176565961 596583538 190659885 540065798 855901258 476269413 170990825 274418589 499545988 551819378 619040171 682400398 932936900 366207795 720755711 348096317 8656649 837546258 136082708 809492016 688022128 516711011 939656043 807725223 800957104 787915184 520749722 302913969 870493543 631127754 218911080 454154708 503972638 286304994 216970974 354139670 79154032 631012209 736130699 148326894 2818073 743030116 627573831 108905244 24981782 926738134 422941010 260045638 663877591 51795376 846337412 29240329 194373949 402728317 308456868 672143906 549048462 597118836 529299650 655302789 86600882 4727810 321398652 367388403 160004694 281434307 656053109 28520020 259204952 813894101 782802689 583160242 427546926 105306757 897522603 848825885 197387198 790745457 405340203 475990502 490146607 629042111 241330040 22884093 892799774 69200539 985714869 824387557 447192579 697439772 6936977 313783231 219315426 211424855 421117527 623931567 915561282 738935153 108847735 164171909 288260879 84210721 132017819 158359421 491889318 555974992 319683601 84290539 55755533 415379207 209967326 566696733 376952837 630721000 156398815 313052931 234748810 375871931 119438147 67474335 151810298 47355702 754179006 537216654 759079313 319120316 22069365 126187031 294463606 637418616 479657354 396551846 374911908 302332080 253508952 378421816 106008202 611767059 230553368 301262506 58913232 614904253 548396193 709053965 568068720 107993692 818973411 957142858 863001114 913814688 101276518 684268736 419144165 99323413 611113173 455305854 43595036 459481465 568078756 25506868 483867516 802109310 135800978 910678082 196594219 804215740 983892356 832521732 17161229 25652689 762015820 276384865 3712636 755000194 377179988 811046239 229196582 254651804 890717126 475907546 171302443 565137315 815974374 668414644 361388962 82980628 236505379 543704463 363738128 417742641 201655778 876516567 589815533 739038271 97567100 455122246 742343494 672498772 662648929 470991810 904168888 479159131 712544903 41975692 743208709 562484669 2489437 462726440 260665789 722287867 513846405 930685777 144356075 53751791 695387209 786024695 487960362 587573071 380812525 618769575 610977643 283582424 520880205 152694500 189397534 369607002 297522352 513215240 894527576 22459862 756444485 776325294 282273834 16999851 178263603 415212657 684185865 550416753 746801881 949512855 394236953 331698008 614893952 528501667 241050921 545650703 286006804 282946045 845859805 450722897 152867723 571810403 44218198 297780588 932473300 124874941 557424732 110501129 260637160 764092091 823793261 426152008 2470761 705614050 323934362 955105089 746097425 986600240 606264288 707680604 445023027 259718391 885992332 220502522 344385542 246383114 279321403 959586591 674433717 76424102 755084601 400794396 11027190 277100453 841785422 169085228 171940154 443455689 272456301 688147753 128979110 896659006 940690456 251556353 764608250 443369301 48445933 506069593 789601860 540253025 306993258 59232461 806141359 234400318 593043914 461116132 459876008 122301726 574680052 767402669 323122958 280589698 673097220 728547446 930708535 532725951 54580021 763547811 121966610 45851626 268778714 232488366 255472793 715630409 514565064 766826421 120769607 834893374 175354408 524678761 944615168 95013685 630689562 735780434 912480262 810399418 678402225 3705847 101201624 861416083 684321153 645213705 374161246 277090207 953443906 602046193 821645660 146709433 367191300 136685725 896488220 597493684 6389013 878600111 180475833 206524530 973170385 439031980 797565410 278878093 878844016 18647236 692484654 264303076 503335016 112007049 84131614 340092534 950330640 106165297 973683791 958421085 646667467 498730419 605981070 676655466 960888868 200896349 335234314 941422354 968368953 313934459 982359687 232729493 177294769 132748079 172105325 351222044 794134962 173750193 289341103 587394842 98870065 944156977 430545908 310104620 390443510 569125630 900380217 779494991 941964458 598695974 608064386 927953882 810583770 984336514 403963913 193215161 337013284 148530322 327202422 888102102 541189542 618921307 964428908 126396776 268346925 851166748 154010838 503452788 952382908 181114194 455080736 416770975 355154034 795497150 380507309 103527903 34424553 992555756 761756751 325393375 804845132 223757398 991218209 655986623 715667790 558901322 568186276 946921898 975343908 660286291 766496564 813011017 418602627 216187264 272092022 238940682 653899075 535420152 739818043 174781041 812175515 274526650 814831588 120578247 455120510 309367319 636917437 724462998 526549555 55855223 751176848 173989253 602483018 384187702 527203636 166139571 768709316 74248587 73360095 664510233 492906136 394377643 249851630 650832850 121722610 172161643 102352729 92661138 160227892 699029196 56108889 342190413 55691814 599177323 451797292 617672976 210239875 59683065 973605999 722442360 339592725 733997639 66452090 506297143 559137971 377358118 129564344 886749186 397754159 23899881 758981071 55615752 127496974 861648770 797680150 414421908 121011086 597765180 919814392 140208848 522430284 887393675 122863792 600620162 634476050 818807059 787459873 38597171 822615923 798604998 213110272 581118947 803655063 609955016 47255276 20943765 940708071 454767318 108021416 951092308 123836210 928720031 172881978 720421562 748429309 463550974 239931029 852338030 59048944 732575045 521196509 322608938 931335744 377387159 58407340 788789723 518560936 24661158 14510779 251525993 604949996 204264366 61102812 269243399 70544495 494819699 437115427 196144945 37834189 242497368 147928045 852741043 90693515 679307279 731852611 535395751 75704911 809787303 603156869 48439623 81221706 508811414 985049050 263884668 473417545 623299767 58903208 801631835 467852994 864607066 946614214 905957668 813499518 269182439 872208143 135311613 687139390 601773422 683540881 734641679 316575476 204263652 49600688 69439886 769224275 248444934 198924710 117835658 41734723 587789706 213081834 611321791 741745676 247037449 210612668 751872272 768278221 952935928 819729921 138150305 436704184 180826425 925261765 190345610 279687677 588779458 314474462 834126676 417813658 456179181 501871812 239730072 388376772 152694546 383994768 354709607 325109274 549054483 655252447 424815451 267551132 960757474 214970893 434740309 335689715 253564244 69145751 288571682 740262439 480417477 353340563 299103671 681109604 768399 547190307 900120862 255831360 877981708 978782034 831699193 279291322 167605946 953253049 435305838 696106185 817649289 93507305 524751942 231200048 498716457 700179063 162459970 785776889 459477099 310836702 493883386 417739682 928884908 144417359 697825355 761550399 535301525 315656372 565107320 951226152 47364893 517988529 775034575 978490541 22875207 177872464 995233708 992618754 371045872 14233213 53861415 497388737 623824398 6387298 570217474 825167437 534078630 928296818 503214486 255382219 610224672 339985166 151590542 35118423 833244638 42500733 131107452 334663644 823117006 820226572 923943847 603564972 959693640 435681465 962821272 656262319 913973395 80354019 712533503 11742285 486330926 95497239 117436752 130403646 847135280 596006976 7678363 716713698 450161365 616191664 254417774 402446578 792528722 842115485 251555030 235339866 329578056 420743124 301266284 786902489 293182325 834969849 488898474 286484365 967835805 713334161 491463968 76321468 850487430 241746217 201757851 6392247 18509069 331206646 90207702 339732544 252891095 450425956 408561008 470253897 947805605 616201911 34527160 753471141 707679838 385222151 267251203 221202498 492908588 496848681 917015586 631116191 670904643 594640519 63106016 657832601 718059128 4918052 183425008 225289063 794897584 185565615 155342618 181582958 156910165 97964119 14061276 339149339 365647141 293222739 368205189 825644891 137214633 355595618 408303494 75357902 853794799 938866692 888894312 76847654 328395991 840330713 472436092 878411872 329055273 820854457 876556653 841889909 172648171 780615713 814467675 88240777 487266309 284474348 191958746 510928234 512545091 401791091 56036299 387036323 36124942 555016378 278958325 742275548 677815488 579990532 133405391 26194059 340278265 34206778 634079958 409480911 42123520 988334924 694830486 836622711 334391586 976672226 782298786 659611882 431978137 434921088 2158886 477346115 823641858 953595644 914061052 617770122 466376458 368740089 66008699 50304559 258308615 618484333 94230226 296970277 502823510 304942475 452393687 154491971 848594383 995829183 774674925 358210784 135192148 405356350 49218546 122744438 324048496 764796162 617783901 826203254 156651570 420712569 142750963 84024012 506510350 475833261 65681158 488432506 855383565 597386541 689650337 860470189 92452815 102247777 511526186 204350850 576725269 506009310 934967225 998723691 461673 180605958 333675911 550648839 730606790 176295813 612227060 117015955 618382111 916176137 751044881 891107375 831768050 78094849 542681213 763389216 38737390 819546693 74436774 666358270 619088967 778914289 74496785 966407934 791138744 277939227 744792289 665228666 515031845 968921011 522080942 923105222 433773333 491517311 646197323 259995838 142899526 568433910 357818545 980256996 719662535 353184919 667520237 278671500 560052336 249518655 319422672 39912311 459427592 179499359 703447731 858036055 767180064 51785721 144075984 979237065 437690469 228492705 975479573 446507578 9611428 104016360 304368211 13524320 959907034 438058773 878557804 946446805 11872458 413750316 185657405 173500062 374053625 798332230 123096480 520820325 734144092 148326215 773125521 409855454 856670356 41905106 649660250 473927498 209637868 392072644 884746439 621191921 563420382 973635320 355888174 5940010 758780341 438232680 514755792 574151018 375422673 513557088 828771289 173376109 620866796 863775860 178646342 132728711 415621763 552595180 758517284 673497106 347457862 417631583 718655538 559805337 519053297 534119600 186524270 780304215 620052262 607726120 28786999 112972330 929883163 607217561 367165659 520282772 704975809 333489123 885573457 311899184 733106573 476657300 603136171 279154111 619297858 69073781 776712416 836056831 53235593 956289885 538368873 254104569 809919320 699134423 72658752 505482376 461899467 704407627 877848935 398763398 541614942 538898040 817503303 95879128 351833203 699710267 830502645 342594868 105686635 811736057 126002730 740272507 200240881 60743039 812722827 848003982 555344609 728390697 454393812 32367786 446627952 48761898 103223472 179427225 459243224 677929221 474100729 121119181 170861851 401947139 445451645 142249889 661187956 4926457 87454312 263109737 432264302 716034994 879720275 255934881 320003415 106777435 473744160 836908449 52287479 664507320 900818577 187215487 65184333 118199632 241876699 565239486 452926394 836803647 609558930 468809281 37653678 55393255 605773108 363472978 568631557 208802675 839026426 766286682 82655886 902529112 59805628 118222688 591775098 754506370 385529919 828456616 59542926 932491233 486615243 456584018 354095185 535808161 539075471 450346040 364085513 358773456 783097151 428171393 542160156 338291417 666010064 449902889 708858720 309609296 385853571 609997784 255350848 4086409 110259313 89918353 825949808 289257779 243672208 2497879 511343250 84935263 583366958 245945398 973632462 160584723 354830740 700816374 636840761 607761489 135061222 993108876 444881498 576215384 857735284 165889420 108810832 237143235 815756203 975174530 502850725 801048812 926331261 542793849 77973371 981949507 615277018 258604789 6387577 795734715 596668003 347778317 39025571 335164776 450313933 983904200 104391091 532958447 549649807 131995554 322506939 468946283 926029140 611257114 612845796 974768361 647892480 867325226 419938879 985481358 931114246 65537109 398307683 841550739 9740037 229692886 651264473 512043356 579490791 195994900 194781785 597439701 634698626 621909703 708639559 290953957 253282033 967337919 948235964 663289449 69301070 295547688 683784398 315399508 813286507 808220617 187463302 11688459 266445774 229526941 541285606 284046797 293864430 420683964 701730988 652199294 61704129 342262113 7183750 242473188 625077596 5031057 247955686 727410477 87664415 158170331 68831813 691171908 810632735 858096183 329053358 211389328 522842222 479237317 297054586 330244562 116332436 676475718 105982568 865043003 709226747 742570599 998407707 576706868 95946336 474712756 839449783 883633785 516166771 371691456 129552260 870448689 847834765 848945010 898838245 955536224 600468305 295519943 956717982 936232945 171671703 953158153 57208900 718398849 126748077 806479498 891417777 334916469 241803398 76379818 716690948 411412487 493374422 811422188 371778048 494910602 892378266 408454142 658954710 815479985 933267887 12520559 610372950 501212325 831830539 47935130 688295621 837427263 863434585 637747047 953616966 492317408 867803342 782683778 199534200 23918913 25328430 283774325 561812786 767976559 911352687 966313110 293934240 315550867 224485593 603784025 959960563 623148160 31967361 774359034 85323142 192880386 139853904 404463458 304556017 679482724 119528061 783741040 299311138 304227499 410583448 513660602 584900673 464425372 708116674 984376969 259866924 30317886 801247325 635944610 403928961 272986905 631396321 91281359 19698331 742853709 577132467 219827885 60291007 6567552 190532020 511425469 834879160 602438402 533975305 646664492 696656298 91522176 784421675 223907517 148682218 573341691 93343284 756853370 496517109 14171855 204000643 283315254 852285278 522174084 419492585 247061780 467930889 888168246 826541673 39350137 629901219 637576758 49075619 700765332 164517748 241596497 121639680 298932245 794633102 817695906 861658626 115919066 306603602 224052372 817704953 211913961 361052013 302280929 296582487 81635635 66319465 212913189 419914209 929347581 148121774 524722085 404920400 979190487 447153351 39590296 382510970 534013806 258807283 805609679 690923347 543530724 631007809 810582926 723395263 676863155 53917409 117157754 259321396 249923492 706922682 872461371 162632393 5728764 681121026 977203434 795664952 900898432 10735810 61984490 708413831 298547197 83739615 842831115 965796064 526914349 348080862 21069299 941339368 257136027 173257499 908332932 272492712 966493072 718875993 107149605 784281440 64504530 616480655 760117027 664504981 284843789 523010064 636044930 879366920 992451549 882824164 459348892 124437671 405555989 555114441 490454293 316630320 278585961 339047208 410411012 542696651 108475308 930674697 435118193 145869177 800998077 163986422 40107284 933349052 987934139 242350936 332389783 202568981 381915830 252351598 872489463 282865344 388130614 875742254 753993208 686641439 185339360 535747974 199022517 897115381 239630962 936526468 492823879 66112377 812402999 219818585 11515473 2019174 146786325 719408194 61628895 586658322 249581900 338777457 959747640 700844917 361469963 978325546 382281740 573746028 225100062 54094948 692392192 106535347 721985611 618076369 679586853 545088528 51242463 63962817 511202373 655050847 963671529 346004628 859274285 877539273 266113228 952877896 612507506 677747510 32799709 471248432 378115318 230114675 896883270 681614400 418235079 163048417 38387712 647669842 300914434 602203756 565775472 927669351 175590872 375270499 642774234 535240967 855124395 854567524 678085202 967258941 620216893 98929144 736032617 977493229 47574763 399207245 661197594 302783812 237614524 384932510 348147631 535184102 304408901 680857941 821815610 31954547 231143905 204574473 528233620 628012333 470138211 710195602 113478175 28593828 75632836 948411919 673145605 44088640 53398713 737584022 960198133 611479683 667533724 231913728 146875260 983265646 78426598 283162297 220443927 840833919 337507754 521071680 326276154 54306851 192464708 446769017 980395940 111338684 81110485 548443684 324228114 925043869 57132300 821994040 825968566 284257032 818249618 16202677 634130661 499466575 888669383 961521038 578406917 776097829 92763947 48737638 225851903 451687701 287014692 978464347 734862802 979662736 117211411 606160656 572638810 70549745 101391890 546796857 406513082 192512030 208750396 133865672 951699575 82813024 492843447 541193604 456728296 50982791 999266656 419385256 446974469 81016041 970632188 232330285 567102023 24083981 992335603 543075609 366346798 989790359 221984313 212881649 864503648 157931658 584428909 504950759 251046620 356416007 228681757 4834529 969643767 452166195 446646695 965230462 849742116 289306875 17748 699535979 882130228 403706708 983681389 72574894 372706691 464034545 308658648 505491589 404145051 174793162 454802339 709628320 145135463 66789093 789567149 199841278 611872209 600663720 860614802 822412822 793945791 497075725 796270171 75796922 114594856 65303809 743170469 948232948 249068539 561450825 851172020 737005031 394957226 528283518 961864556 613261162 493954768 397681916 135189545 937604559 208197147 555171630 550828208 630351215 921248902 444940788 203435384 759857969 373366922 986860832 310417032 936415825 598923950 635421220 228863224 675141170 79051481 430830921 190620843 234995927 202750903 500563087 528787475 126886199 1887398 882765969 363881791 912532131 882593237 420390421 362667016 596982007 49783229 179083328 618157919 538901177 347651212 338928466 101038857 496826938 215137475 757532427 675639556 7152743 417677228 584974479 5202294 534299061 550329917 761515660 194733018 399405051 517097366 984715969 156822551 739687988 394278237 688284057 761564874 60777264 113131586 42082733 235651886 587724626 130042633 374354143 274928116 538996336 187795062 676414324 235575166 602273032 72998158 548068240 704757637 205093188 524894695 453896587 26412033 247081654 123195035 44893989 87888098 815429917 650249238 422016447 578199795 373442982 676151750 191525721 64787596 428445676 726631805 864495424 442791135 786442542 678702750 966002934 207603019 513726746 565665827 694186137 808982899 976368978 472939061 325277124 311182813 230816579 732201907 879512289 253309967 684047809 203468846 575432664 999612494 675364884 163340785 832288583 633898473 598652235 7677702 113135020 757117476 246465579 646259743 545450337 912350443 8671716 147652002 759279793 920708315 673276920 473168627 291134775 932381986 728155424 643404434 267512682 365146147 632586066 336753180 520022195 302305680 832591188 917925784 807783675 224524555 253772378 852033650 346533206 768964026 962315705 212968884 458184370 321849506 614196682 783487307 311268437 596735281 242594236 532370574 924754060 634911346 865863074 999012327 586616872 648138387 654229614 426490862 227167518 126081542 480965109 880474391 855187408 66715425 809885238 711930143 261715778 228829767 837298961 717523457 752695168 838782956 945954728 304613512 898519905 622414221 765237731 69645290 792551065 373753108 332452297 83392632 965225261 274141631 144733613 527127668 905622904 191810475 7642263 544988724 672240019 854241563 661117866 175290258 436696115 533968556 548650304 679794995 85826755 486542224 453133642 798937149 405073974 881994560 146447023 169046053 251382089 10609832 929412225 56066951 471237902 265859939 551126656 146529828 315833163 866151374 111970516 5924016 660644386 287154080 478956067 972168077 624702139 787520757 983306729 768458610 560076081 364106910 597901919 769830698 888284592 417771949 282926753 830156117 588845620 92241030 156453134 330645255 982738825 307902579 268073337 310401981 293245915 387413662 321670891 866648672 134873185 548668535 316551640 472342468 121870481 770135045 780723328 22507013 692488412 647344544 694015470 760407393 575295318 953585613 429070497 594200965 824341733 494371974 195861276 252304003 373721384 678579903 157870565 338784488 612671145 174804446 443675460 305204034 200306665 212568795 187180824 172618725 378482914 332265211 641553055 103062500 180215258 758702650 659624192 53403135 129802458 515304897 419966190 481329045 197995012 563085731 173451943 530230461 632923593 801032147 345660930 248167726 657821529 147957521 588549559 262634913 503572366 469882172 284404011 364590600 574106355 148602478 971015547 167972053 817551516 877792361 498743716 207645186 490600261 71052360 228805299 331685520 401688605 273899012 110244065 317608529 226989592 344699237 195394936 717268353 558746685 280241161 566957471 456739308 952024868 728970362 707628984 79828682 76641563 699174563 99564952 331271157 798965242 9934185 305996270 280053763 496016771 644378124 383982599 136186498 17920888 189801517 651841346 737411915 631907220 865828195 95949242 381594547 738764549 637783980 248577148 615837548 913231004 506317689 512200362 222297140 28259841 470039529 575606359 642854190 39614043 154148879 154268097 278851341 142309519 623176741 671187281 680345558 991163117 481897856 965662888 718579718 108393836 366497338 830191152 456227484 741281823 361946283 754293633 261055415 723647576 36180351 828785356 567890902 905491913 69533522 726375685 847379946 632884382 638169929 699549552 641729456 367018659 925310110 294825371 333673818 638309950 625373861 78321757 782980909 538930373 200520376 390628694 815136934 567020003 437082058 57042156 295946566 419678354 6278956 857035830 318554429 598626163 707663834 390607577 459770037 515522890 565494338 112963202 10562911 282685941 543428628 137412692 268248056 119481162 992018265 280229421 617992225 799897110 738124483 255216503 395023974 784889250 952586237 411323257 983034544 681434091 281039935 439430235 201513965 682619330 186694737 31018519 926453824 456228323 116514465 917149528 766739495 67626839 619347937 906817027 724107365 805379380 462044794 481816895 690146417 216758685 335891692 585264270 623432790 599277163 206073788 892525365 949933987 146320645 317467755 516113857 108724487 364172821 606329101 517979535 81641683 550512295 322882484 132125375 958805100 824885632 722771360 869503552 839661632 870045745 456763772 508313252 371011450 35168055 21737694 944615994 546204956 860261585 605694170 505122115 279179772 694464077 760549517 389755528 720097640 368610250 721335969 68850991 165682204 110382388 702576915 867813357 131889613 920431187 906968538 885463422 986595785 109821258 723047031 20175421 250680724 184759467 426829291 872976011 239715690 731879651 798643772 134526481 70392237 81354913 776236505 224813807 463343342 692982060 606896958 564893616 514607994 892276376 420655793 178283766 901448372 661957062 54193611 136678491 234607415 137733568 12085849 32285762 751797942 812483892 982510360 438297463 414812201 166730364 461290272 821357642 417830420 606474764 60645610 808740234 320395279 979688011 93899843 602840563 994333528 221944769 370721126 476381356 994682602 723490463 919346832 356090942 47345692 218367861 662941190 517302447 958753598 571182544 813638743 171681713 720443788 892910472 931622034 597895008 496585880 881000517 809112554 197980992 466794871 499345606 816220926 743948202 961471331 971386519 193674421 563723765 739136186 749815277 852161485 844300427 711885360 584060096 435335170 514389721 863297350 582674578 77098199 684492217 717245555 583404139 11308666 423965355 987487496 661043329 303590482 541324272 835213502 130975498 822397442 951992105 99345139 495401047 586178509 759629666 637013478 37608715 879102193 570397883 293472164 255476402 207679369 512189010 359805865 281029013 663569420 867438701 244767160 295448630 745861045 804619021 943692858 80964328 593870163 640743184 274829153 52566320 404972212 959120556 952833467 348263003 874927693 380582210 823661069 331557222 952792138 656651963 263673355 651566139 28544469 661079655 13332773 7483369 572575490 497730536 171863768 215846361 185333868 637034582 366874361 924048923 293569224 480401138 221123021 175152974 591139408 376019571 876007560 855635199 988964691 296667783 336317169 317789357 748575758 213057573 352807641 147012174 430284035 25355001 21886608 467413146 290596132 472570508 500915706 294808550 155431960 420888521 489374531 82947333 849580941 788642368 851797325 124057450 231002407 177864746 188278441 444157800 200538715 699172658 338453077 980478233 261061624 304022444 736769127 629941710 49294756 641528368 531710102 144002801 20049330 943509362 755403453 268397351 89484128 894623669 660132295 762669783 869038818 772662387 349813026 210052178 598772932 953111783 807169733 637653185 558683692 477926901 553570157 399197813 498226878 68779830 217095906 119287502 845372668 689847286 967990521 669593577 219731875 940045135 118665416 378858884 43407345 292262545 577127135 289449937 710602138 272738326 556269588 268827483 662453581 706873080 105076173 824147245 758852080 349889606 780188883 198434162 104657447 408637255 632643133 749981547 672864670 900301459 915012571 166024350 536079262 979124524 989888665 328769695 841990496 73140468 87773863 860034065 673848502 414634055 771991928 544173337 617641598 643887351 263817785 950771751 87478188 835462423 165380926 69064163 50934192 484633277 47192748 848919004 848083015 90911206 112984572 631479118 876947313 350266576 399412485 333915408 372902150 540524858 96933348 148346361 658512614 748293850 289428948 817643386 662481061 277086408 183737968 736929154 202260521 420139578 180309497 958664036 98566003 582626722 523690632 367647704 695213114 386489725 546709268 75191751 769655626 565950664 13371990 876389947 859662965 629851687 167910198 530765635 185647184 416907289 981237707 345550523 800035982 54261340 224398881 160001250 596979466 637343222 359642977 411090104 403069517 387359313 94230622 942022170 22282748 762769881 778009512 646809855 667144890 943019005 76582197 418140091 614330445 398729888 924907991 34638159 269861206 312511399 528348508 840452395 19596943 276304384 395262402 957085645 419062044 375797312 254225285 581380937 713115518 894456307 505847917 925825315 708981604 418473947 221166456 968111197 850021030 271653470 749196078 590862362 146656100 145702289 769319798 455253836 703565638 505591657 950052608 857216602 574531355 158690800 519314380 438869719 492343834 292091050 974215788 784860427 242956577 364886541 50418170 38515335 602460166 808232198 669485120 919914211 335436807 773832678 17701779 659969056 21218094 425832828 132369233 223960306 923598851 949891997 283703357 705533824 676173567 571082673 455867341 670139194 723943481 833062624 57604862 25001931 540069308 892841856 51451197 13978547 122449574 600047753 391575282 273736064 252411330 260296052 962076785 91056534 594769162 822120108 648156200 570065624 205518403 280294886 38061205 680536076 567196864 571828675 112577490 618823823 97449162 303158429 434418698 48995282 827305768 48168017 610946172 850192917 865399075 654321585 828860762 861019082 507542663 349512948 618700434 462589609 850704458 116371998 314492017 477464110 232536095 21967017 721880164 705333048 612285510 258932930 72537645 16247107 951990936 468329448 997860639 431911836 324030851 293589145 739017815 810090204 34685301 51573925 256303657 855949555 249571764 563755283 619072144 154350847 89131353 45086135 758586432 736614927 967214889 614147720 813269843 455429976 63920264 584469923 399671701 3041162 664807091 581674231 397325909 453840284 30422536 275498563 768126927 728784992 36395245 99215046 731847038 46319953 57749031 145727582 89291591 41153636 885814601 143112643 306731562 663570765 187878085 436065163 128584633 765011043 621361295 998738848 770028354 65291748 71614627 905285889 766581347 161443696 173996226 149116252 269795562 12891976 398126313 315387961 261635332 642447450 697454090 522491457 775431265 628201252 130840141 238184009 408433228 238690870 236933071 710572214 41600791 11261610 717594206 373664995 285159407 435575426 927456601 265202527 272350795 902389903 744664222 537448509 107303776 715889050 219876483 190188467 360694830 722762244 323826914 20039619 494229034 495353376 563932582 694296807 224845897 322094471 110414012 894690034 99832624 257358824 92095655 1517997 216616563 967772252 521316661 871815302 751655897 846072990 931776625 781621055 181977347 843187282 829311293 921425594 637199758 162132486 61493738 683140988 693391368 794453771 643824226 229228010 420590446 130685202 814919115 106145381 847582218 299388766 20983965 231694410 357437785 29408323 883529941 172836583 20223908 595257271 684203720 898132768 53933546 174912731 779694002 935106646 163123887 229567712 675146191 45168718 892775540 265219597 228309888 724797137 905843868 510647267 28628341 8143977 65135298 797215034 55392220 97481710 5271392 262120745 951834943 852409397 438088296 481862424 137866200 338542562 498135221 151345671 651151279 85896717 113182 216875243 462704979 289760955 232155815 314632191 192245843 657861485 39877263 102585201 15486234 336850413 225948057 358302251 424594034 34610760 683687165 468381821 19044711 116126077 80638330 10753107 284880359 248774576 271178640 22817688 253679869 282479540 54224442 314587773 788820707 321281147 932831887 191741986 628167284 257297520 793093114 784638083 255883438 168109671 59022738 109567443 567900471 646024496 352325308 540329851 781806785 654190756 743744485 688748125 108303976 810141156 395370498 388351453 39890696 238277897 139822261 30334851 75630715 871404868 690837147 406478278 266745815 330507537 36412529 916816393 579498946 109566373 74673153 25609817 990706514 678073780 81550690 831309573 235545303 595056090 923364614 516807239 389935249 800309915 295439466 719164826 315791087 156088601 563738566 280875166 643183673 262474299 609879331 236688306 511873994 984695619 72784180 42144063 628555153 846887003 19141183 546006041 158526723 491221349 321179705 480601177 699032363 780965203 394689754 628180940 137755088 581864404 119930082 839922223 725425851 1116648 950201448 590959067 823382970 431040598 900780923 914382471 318650727 355306373 344606610 7039754 348893876 744492880 891999970 330651908 745939130 219746378 790915867 407628911 742339598 171350811 307605256 465303428 457146323 324647080 823064540 497214826 922664829 497373066 192245935 503320714 54232924 917674281 968556304 53517886 846556755 15268907 865350936 727420394 246430060 200272905 508834455 834615175 844395215 903941980 327178005 40528205 569580257 375301746 543685392 916698456 179251582 118137019 549326668 324895891 677961528 214644715 92149185 784252635 110162806 166631299 54659866 378718139 470788194 18619764 257211604 221149963 441286262 505165905 845428587 265965637 423626295 99710351 632017858 799157553 203264018 511665608 474579217 587365614 257182673 751668149 52573564 426661092 962243560 263197901 113025938 503404571 717287079 289241892 478456602 969276233 550002311 245963177 905112381 359911831 557536185 772941295 473388521 816865480 218876031 873090843 146249351 625883898 922989631 233364998 575674187 148563652 208205027 551612312 836598861 151406805 93468338 686103207 242912800 450871254 469808672 711890213 692405075 616652884 947607464 921701689 65938280 162164962 248580763 707291404 993054808 572098941 23455260 234030751 796677472 645478056 770102485 696824520 44308394 217585831 166409034 295501849 555038683 262146361 692136507 340674545 93337224 896676508 589367241 306624534 214571911 539627496 170243045 167034037 536443396 991301136 338693279 137182473 809372687 437033739 627794177 539594082 324566642 182014395 903950174 314718278 451104378 129454199 886601176 614580812 269746624 40697288 725938197 61836711 463380037 657999099 880478529 288139898 801796780 279897529 280602440 965397567 22137470 962187848 496067503 249705871 365925632 75898565 164824834 359472194 900841845 829746024 542355772 631604657 572208146 160084092 970338621 124786351 839295687 957574597 189152002 10530888 455815363 280822803 352062266 82143729 535215425 174904394 220515483 149477638 526918990 228361004 32043449 300073924 304476575 150986338 579279502 779917759 916466716 532370623 705058273 863576069 659195000 153853574 549052616 610631769 561638983 46687371 557243030 60946985 23000971 425545503 404203522 862728225 169842909 951583243 499348257 406985203 705623409 863707917 792811336 929537672 825826803 726857244 23811534 291180048 855275215 653237135 78551076 302790522 148068356 205287041 326514569 412240609 309963042 519569016 119598875 957137281 906606666 572374806 5536651 562039172 361339321 310731952 942416471 631232596 763335745 165981338 279024775 247846392 169774216 188648342 951756369 261947611 669842394 793272720 298480493 69762716 280610848 23980267 161474490 813591630 970321406 209920002 399884910 80345426 405668369 359716745 292870658 126678627 944288116 212025281 445971844 825743230 915040181 193442958 952963352 599761478 367627854 401329382 988435345 1530292 82415176 717355933 409546911 93542151 704877223 879994415 573371448 41180769 254979473 260373492 441232893 255926145 50444928 891865637 692980048 937129 17163883 258628141 298652889 827252044 95154492 185424057 197338853 383710927 222194607 965922111 123751650 953456780 223873892 164959275 85189653 812961767 129793224 826318274 709823829 734766884 435787240 936754238 902523620 453228704 790761855 461963386 150975251 446734793 550504360 43234827 223340312 602081692 633747788 575631458 165813563 567563810 832571035 642203551 472928676 214721975 337628318 854306677 319554386 454455070 922325926 348474976 681243037 525470473 30246824 163918091 582441741 361437608 7998833 193303049 183797497 990672615 329934153 385574292 622208987 339896580 908519482 217753990 501430976 208699249 163188493 51418601 556877953 224911421 213731658 810557451 440352228 151792476 515134172 579507845 241684140 173733871 762826822 644307623 409285304 428301577 846528904 618596278 87070330 168374297 163779300 400200973 71210790 65111920 639337201 895118874 450143910 628182648 249003579 550678019 843172805 609569961 251120434 480844067 24605265 820727659 460444310 603962889 507700604 340853796 45232541 25509553 870929544 8233808 374901855 138978640 510488204 858612560 929391296 711877060 658192818 137145087 778428870 624732399 789018995 441102681 516013499 243074328 10261029 890307701 961814331 433813156 534829325 305915188 373521544 711168313 235501489 451983276 940303028 431434996 936079670 426931507 130536997 878564841 167713857 681194336 761219375 119769289 360309227 234569162 23466405 538407530 998901752 295786394 292274240 388005287 454598082 223011511 552086524 471393030 104835230 32066094 541992583 41600780 914029756 286659038 758497619 94921471 835240053 332498464 937848897 175670878 349837093 671017231 454143984 273745660 192607953 190041881 391319279 183518097 912345203 275309885 893588086 991681504 101000964 265524089 384756490 990953051 947912278 232152636 741849182 697625206 169728931 423580822 223951838 312363368 93548255 178800193 416250047 664860419 5421160 738048763 826193520 31932310 290945629 545140500 769418306 927254080 647083909 76648081 515781609 794873240 63593876 262845017 410283915 937097001 344916551 196768817 648456062 9465378 707330112 215915939 68861449 184801150 670442248 537411438 553563889 405716532 217553976 786851654 325527874 728084411 156890204 294152919 29652423 622295250 432740153 249454369 133002814 545291744 937900063 166602160 284181013 957364459 836428115 260390092 45599076 878972662 496139212 725562661 48902412 87964169 73966763 107445233 195088258 405724590 49804015 84042383 465639515 480779724 646191181 642834769 591282770 683085648 520620904 965241547 404711316 798897403 337251576 209779298 252680733 558379475 41410556 578944663 260150796 709211936 64337577 26501216 670899955 375672253 600114546 397384015 211922887 678177112 279456094 495902449 998176579 123928613 247527089 783848188 665160195 828203151 129437998 262221462 454473326 272953172 883625903 524383708 155964538 237561392 648070422 55546518 986953846 960981421 296064997 68118930 368524675 982357915 700116115 426419480 989520585 922959155 74083671 787645970 687999058 260898167 147315297 873422457 740747440 212909249 100612123 141239833 885662161 768856671 958865900 920315099 665217845 509391923 968786419 67817872 596986659 292155252 77824780 75290867 962819657 422916282 227844374 577660508 966245901 138467176 701731851 916315744 260787774 777470702 525529444 601080221 118216403 484086066 996182017 195761329 591211855 102333 539552043 827679360 121534867 93585590 371969672 658442188 173981686 240956805 557947935 987908417 486827553 647525885 93689922 722943399 273022706 449602569 384572461 302967515 337809294 314159407 336105704 93114394 546976743 165246660 781116871 454925942 604040099 570337959 579457042 734393759 361037619 561236221 860094782 16235498 478983943 759781176 523125948 755963843 184356671 842779092 369643110 49671559 278684426 421374694 128691985 160769218 942754060 682583582 810530567 780181272 23706093 91214701 833029149 812180751 248151124 902887633 734653859 723146368 361226969 328898443 535747647 828835158 655334936 163086098 502215298 409275981 382714168 569084780 822390956 48431776 129904687 684931345 439789589 212881223 72935111 56039546 602837287 598882336 169445856 718421317 422660253 312419965 305850110 769526621 374710294 293417443 453334011 763840563 467106347 389902308 22559878 490788270 152717100 263651168 82683301 83266468 410347032 699848742 868138468 178596830 525403764 422638407 153291069 97132083 353119559 763548077 497715189 979495323 805894576 56597295 813964355 517704794 346253510 939277697 4894533 297674596 323743816 549240304 91307560 167193294 997979445 68351198 478668420 37214243 662401598 108504350 439933450 998952299 909284600 703498133 715868729 318946798 861429901 804581193 184150405 24451794 74861726 725717809 935053715 67623518 603913450 615884299 669728367 695976606 991679914 338638378 621718430 686066165 376263133 465364562 827032223 183873026 970432637 164984931 76357533 694879111 521408350 721991287 287826977 943073040 7979107 681777729 811659695 21268000 308343153 687118760 551981139 158277226 290683383 949445541 862959439 912286852 153924680 490412537 352850114 363713279 432938095 52537884 571730481 736793629 716938870 404735461 799839522 468910406 82169743 512166044 419749377 111100554 389913710 381372399 790186302 591960745 138631783 695544611 234827311 194164200 564309247 448300762 436718946 453000365 964706393 745786052 601890929 50059888 917914257 951697315 435793809 663910816 621089618 709262073 810053026 892023656 901260124 642978488 93460935 661566236 730610026 511283799 482211302 173950975 243181187 220847144 382258009 455191256 437902135 175201779 552857684 769587872 51088618 69547243 688906322 276788646 763897328 569469841 90324931 232186049 96152839 514754659 405550754 547135224 924301961 487647914 992330272 965073952 454734363 89851580 789420096 192930595 809367669 621678382 575700221 347020170 83424432 99754148 121695059 566183604 141504443 891930079 965757912 499649207 406775848 344050839 602717456 827252565 598446603 542399735 539171211 721892161 448149138 80216805 411618391 72082229 717649920 687909977 970300749 587022340 910400474 250408644 103694491 226211964 715318226 744752898 397449140 173820258 11533523 535428390 614633155 42527707 503267456 688176502 845455506 335999918 951526189 809334284 768062516 835642674 397893919 446383163 648452660 606642745 973885585 564371413 718211235 289144806 32064617 854116357 270265586 234847508 13027092 441242045 990614349 113543759 506983887 749056893 462420514 660978271 617055789 546959131 753416455 81904780 583746811 443153232 400000184 255437194 575905867 148090568 657481012 151736566 644931477 48358628 688317405 622450062 504885428 390226890 887327585 917448253 333995400 597447145 505837434 109277954 27214074 116271007 266754967 189497288 205862649 175663634 178835058 521000186 101596494 868661626 582043768 116264492 288829655 896339497 392795066 886372165 410178298 949020137 458093370 343692867 169846638 174149594 336390707 739900602 817637781 961679406 60775982 797619637 466341516 715867281 282619232 94795699 822474922 986976433 226666415 794957401 443576711 248050826 104617549 437155761 541785260 766697507 656608153 411633613 521575847 902489775 122131125 554763037 896950439 448158277 90913820 298413315 490239481 926630215 10601855 345087218 631735949 307239458 958260696 262252901 486077711 64675464 397882467 401543555 767732763 101793874 313758250 457794324 399773654 416234044 721248179 709103961 38300541 48979824 298245441 563785924 196359430 842609845 97529057 187517305 530641210 803373753 173683053 291775048 749391260 726705491 675879467 591987229 185476928 613952826 851236272 421525939 960774089 868421230 706514592 392716510 737717959 329219512 28906276 844258378 842456110 583819311 251025765 515046060 577396531 120272781 455258796 103369143 184201408 535511863 955931557 810473164 723219383 927689119 756120677 757137726 349028172 69573685 226321117 89140291 53962689 351625870 488870485 191822384 211367358 799128889 796660723 170594046 344431892 193839952 360557304 326299388 701524748 106060743 127537561 154998810 921999446 903433152 194168431 576481404 695709750 525797550 742775643 717125893 849699157 371175831 417570209 133898817 312599472 864768857 449612175 971594858 839108630 396851315 91303777 113239933 78863060 833970999 640402967 328702096 538427458 831243152 324581382 665970130 415870102 770508695 963672799 288411630 611222004 964849016 185138164 136844081 922950063 285985127 105718580 337678047 394132500 283781931 635220592 917983971 529026016 867049206 194552159 738590195 521962636 181627716 463057151 148812535 154298293 334540374 187419869 546862628 886287529 686109099 271492919 738878268 417366486 203167649 659672858 326488135 380970327 17247067 736594366 321304800 137961454 816813063 946142548 289829859 723401663 310348845 51398184 75570799 435983563 955367529 740665678 814463233 451458735 267957179 370568880 821213732 275836929 847878237 702238816 130867425 648225249 285208512 888786776 238019781 875588540 574612561 653329211 738917345 671375024 583590015 936542717 313838527 203834748 712344618 910239439 507307470 621396618 75822113 161351543 181357172 897030849 765395456 754279708 968520580 834579154 397822841 177497157 549636922 914759011 762331483 991045020 957567291 994873930 56875636 695836270 319001910 268787751 40316936 976604338 114713073 302470745 474076126 106896887 797879636 219793934 406033738 428639544 887465930 132069899 207370874 689845378 97746493 554001971 115087557 831715934 920014715 135340947 363351145 856418873 182197694 601283602 54698451 771262453 659231193 834785139 432579057 744676596 366374282 169774588 790754814 333334203 155634306 839820699 407351477 488523895 867034008 524667929 999164356 342398682 984028362 285050638 371596433 201804553 669270146 650741052 316832193 80773333 86744938 254201328 63074499 868545424 605668693 62549218 412328316 991432199 465945851 905232033 409075543 809022422 638103101 514858016 510640851 186267304 431671353 37378132 292116967 370978049 925408644 385730209 15376398 935863130 234119480 104957522 50903579 850969861 549535279 239934407 647099332 408569746 978568318 32413053 133774468 188045868 657529095 264026648 836971236 476772648 601769110 654506307 703981601 918546960 698287838 604311713 183356168 336558201 117779965 864557170 963603039 200104472 572866939 962343851 864822975 259708454 894384299 765924190 96511538 264326820 708244208 204553973 904342977 517967910 481051598 570427755 117885997 690660962 280730930 71125560 434174282 421788809 445010018 673583829 457813590 211626372 273816328 420838326 583909453 305885642 371092531 272639472 496684862 261780544 349912196 516041844 240346885 683146610 767980794 442895443 607572020 950274564 820330509 510291938 784537528 618415222 859283206 125372866 913955352 811361153 278829301 233766525 246837545 600037843 923928012 765501610 552214590 813905860 787557223 637854257 32527803 382656484 49547729 921189876 768513834 749719468 339350971 982912667 234596794 397559575 885620280 454050160 522910638 566916024 279293118 333178861 838327353 135373767 870617747 26073935 192976112 531295788 38476825 134590633 951163250 637743102 536795475 833306841 429951752 87895187 378652671 73476152 163938123 167230842 684392319 64666618 722315706 746259084 263462287 224502122 930475138 866438228 3514446 824561350 939731419 593308536 205017075 156593234 450653332 733903543 336208959 254091259 919065035 922513418 442209854 498823831 138460172 254097190 35665318 482532652 964111491 883773614 46311016 608254399 100730142 385788715 399422692 302423100 482132034 347478663 438585497 349733825 603562927 218900862 624059042 181678127 656907831 817987764 559323885 725555609 800702015 271870752 668192428 745950240 581730596 210719720 47463682 933911505 128560842 794762860 911134881 864358548 786580661 705298534 437130374 278562395 62054183 538519723 127268554 756850729 569915936 317619965 564022903 202155178 993405296 915188909 507676045 684870881 132463951 938531012 147527183 177433482 63400350 375292806 746047383 723997920 162273105 869098339 570896367 191846918 400884216 979461229 764957578 169036110 577900844 872489039 108849201 228421344 33087851 18385969 997378215 179823539 572931014 261815173 660894994 37736065 930226001 427816501 365753570 840651678 545556721 39174864 139023043 883146482 174329623 894134097 373413110 204136181 423682868 372144883 190545070 70803410 4858888 55909860 568574325 906923570 540216672 867274222 842890459 19534081 172391531 309080366 861576466 872546201 899061925 611474606 541214810 558619558 804440852 827457112 763366931 13371537 636780700 689129397 910858058 384428046 940791737 139623902 206515500 971380320 256733457 519497700 327379791 693753472 144409946 174133583 465763959 877275623 279691860 188925390 863161111 49296234 230252704 404171490 980750665 4353603 866863068 982065552 437267714 63146305 984958791 519611753 508010309 706546216 533512364 334822955 604965896 43290934 696652691 69662935 834292096 36178128 698469198 974810996 680913182 842794673 510233815 277999559 857283437 199975285 133205409 324767317 980852302 792464424 722936766 723988446 18558860 5325727 612447281 877373452 856127885 661971054 249440713 268455550 63095571 713119229 733140245 908998120 72964885 995818248 503493587 16798865 923546546 62333837 859269945 226349473 741218049 999404252 682133028 126059858 554405408 652042231 163201756 129638335 337729911 403326422 270626324 704479315 250849823 442840738 322574061 542771805 99628086 169316405 491744808 876978246 678462299 341368748 391127705 765812537 369246103 149309597 374371978 159661325 802834142 206695511 23598190 103621774 496691924 286473497 246430570 124629108 464592623 366264711 600242375 155130769 640265764 942031464 811935472 869715010 990861220 237124521 684698088 218017310 323778866 57971676 678753110 317909150 891096894 488030406 954619453 784911230 588436110 449045383 32441381 723678137 117146351 692665535 383407142 322399915 205654889 778167976 328244068 198190162 976412914 791213221 61166322 811849873 369306691 576862231 314906095 937005326 245900667 464586668 275109333 60776621 201434544 673756157 465610950 385162012 418278863 680484301 416300545 287630828 820603342 5874538 392934770 176238789 264070423 189195621 146870162 473995673 121095993 962643039 64044494 36748912 910978440 817560368 267852005 432080902 935508057 615417072 969046244 401932562 629684276 580385586 291735286 325501956 240799140 293884716 905997238 218335037 850309569 477401665 993755828 387719228 448491645 319192474 80405445 400770917 239890813 809514942 530300356 605906866 8213122 53764927 73273150 319328 233409188 572235857 860508396 23973808 97612057 172761874 801795060 340889165 23121957 785626395 751583272 352625502 320791916 134534260 585799585 841862256 475484861 391968032 629441011 687702358 420668937 858002174 782838506 101960696 712372734 521909674 41623976 834272739 171274843 885162637 688117945 111766215 837540222 179907314 328641447 798626548 797902328 657133560 756693534 982865043 687002551 593666041 603347742 182452702 919245386 351623492 375480310 364262096 289916686 957645410 34637668 578760031 612287998 252720245 646309137 413939084 584721633 787576680 268326315 771805595 889718704 973592200 568862383 312580765 215029350 803079177 686160413 321998206 957248816 843083644 404826598 778018281 838831720 28507828 660843226 329481397 250642620 842367597 974569909 433487985 635155829 986212547 490956996 940930827 316375626 357389012 293000331 138955621 153946595 910945420 541958016 985810132 13042040 597767743 878412764 913833783 927330014 424088947 307744546 840827067 831075733 732219878 83144687 79308227 833497511 993039697 137705592 221800746 119119356 211029806 194462438 30310203 710713130 793688508 219348318 442920582 477336357 92298711 941178141 119044206 274633292 892435269 514847074 671348854 443049333 853520254 140657220 193143198 689410843 338993190 479418581 829588658 875874529 990621738 70241832 643038869 93731515 835447998 260879284 257272215 696813714 591541925 760939294 17068796 321151299 375147628 901857754 766073880 933673627 849351585 746375514 409626153 786388309 17441435 54623791 180679348 50595167 296456861 273577524 9224181 594478384 397304430 380230025 99765467 378897818 135424432 855589041 194565163 821241208 532638279 141677400 837406431 51423019 673606749 496848287 276939257 664816045 92698719 32489875 722273122 705281997 21660880 777213424 618342045 730590967 534615216 768224856 949762352 96634762 13441797 877211672 318952391 767725445 924390561 852168710 756744180 491164296 472312853 263542618 276335155 43273779 756773352 56375246 813850486 469551964 696679663 143950525 437315755 939199886 892778113 167246478 282111499 717987820 111216014 91363581 86900173 956193516 533954490 487628691 626037292 678086916 60036251 44134428 337841049 317978133 477538838 246202696 355012696 888061330 10718354 54994234 515492840 983469238 986315541 774011325 711648616 337878508 88785539 922990436 374801637 819902896 976015141 35766148 795997014 393658386 574156677 68919114 733790599 218516029 840399061 823969539 830701067 272410964 565639425 6241749 281415295 743785426 104339820 716945361 33355899 710766781 179507414 197703999 872339305 533544063 476268304 24874231 557066742 594933919 896589046 127324409 917681295 789322932 431860566 927019753 176705594 664281401 588818143 986260251 444419947 57225378 307109733 37273612 674187111 401205418 292143963 432208366 786164163 915999037 255573347 488830238 135189692 567948675 825573737 350201728 678742280 372942974 925705316 152774416 684774981 382132248 529961267 33927858 171346580 882771926 968586422 778599145 365718413 279951344 922196360 8863234 992631087 821792903 389267897 684845820 950151484 634224897 96275124 217294572 672326929 975219813 884635166 441671136 15431951 408014345 622498838 295723348 473978629 786767127 691875969 40190921 708097796 235005355 206373330 377772043 732316220 682752929 896635955 649191078 470692648 14541766 563502677 471220699 688565852 514262718 776002709 294951633 15369117 784052769 398557399 957536189 172208772 439977741 871959931 827816042 764114368 181154617 76123590 990527211 656955639 65499002 538264150 932626214 740769248 478193108 136033500 189967644 757462480 271875272 63638088 566168447 214430674 892070833 71872806 441068282 269988910 625412419 349276170 868459016 49440051 192397761 232189447 908226158 125576263 822986219 710043495 289136870 213794928 124122177 505243169 413583700 200036272 304574727 373849809 268464345 188322945 82027976 773425155 367973240 109648812 265734396 866597581 905697940 246872314 753763463 617254961 322643001 255250392 462986627 736181504 990294044 724880558 140019899 405536615 629288710 29437370 184253366 415634896 435957157 38441586 39489161 706719961 688174932 151940805 328577949 715361290 746715906 232324195 271170872 297537597 461044719 977934518 839002331 573041559 462157512 952801683 372906667 272349320 815840236 596334324 745151334 493349611 679065690 621316468 642652780 929428586 991077530 558452907 281801008 619909980 173375726 938653805 893580828 761530300 76822213 360455716 152769422 206447852 409676665 660950286 665058467 713336820 249344586 105354258 822050492 864904250 342902525 231504364 389276310 678063814 747027977 49388801 283293158 889545393 289527958 658970841 29585190 780097174 399170639 931767218 538690542 910027821 228819626 97716807 319666587 533406385 663972552 260597537 731350038 766948081 552526824 44390371 61624859 826103964 839404636 451472912 503469466 730732706 136400631 55429468 368742932 362953822 590873318 196107121 960537305 336023950 597852080 894669882 386904702 289046763 62938320 641277813 165822099 115769089 267513163 874820675 197277622 221749362 121549454 460317640 877116742 990530123 161162618 892843623 179690895 284598730 936595649 379026621 68203436 504898626 40950756 204575740 226407649 719551045 125727573 981495166 956926973 483613884 110948110 320289123 892413258 833534614 546905938 966612606 55875905 253188389 218747020 265344876 685623102 272210500 506877042 741159441 288364549 686718430 939485064 939989482 718641048 375299986 227341539 111155585 584866069 637406990 377788940 905280724 194547796 342303344 87583467 746399652 102327171 635283121 20756509 138816195 828651581 176937250 784805606 483677828 183455058 581344657 586958838 856896968 842168823 327706304 527726856 960164127 13939479 579273616 994300169 806666577 581459790 729203321 724523412 414515651 357705747 201306184 126934786 348420906 508632616 642092070 90935762 242022072 443574816 73315715 607909866 786675174 188817107 628516803 707527448 209693982 161550845 475081953 552487197 587216597 428476318 68503725 385795128 885735860 326402956 979014863 636283466 825629031 309314122 458755307 456093522 618297610 335332898 495002761 293497357 157849341 66863890 567915524 326322173 383405992 178117811 632037000 116075206 630897379 44989021 712478557 563787362 473756205 412304529 947004500 346143319 130539370 342898426 611134546 476310648 246243784 797990297 370541254 186726706 983729797 738395183 818383282 473472406 795252498 176844085 78316392 670301779 376512761 71981327 777121936 645938656 78615300 841132514 894095155 733491173 353550512 138775195 876175382 831849454 974277291 664137784 460310847 951280750 187235753 469500680 885206894 880747828 211105758 623130543 713930026 582724682 67689227 50659790 104605735 66162967 171166993 169328976 802466925 904337780 334752981 502361164 354755552 231720269 317332838 386295179 237962675 678534970 231715670 203627559 23563362 536706893 598227103 529480814 592420449 120172784 217429627 87260215 306623184 256098736 905097753 729735572 539823007 153643231 881433065 381621842 142507484 785175053 639004779 647467375 371359732 249010312 668063040 967522687 246042856 903151531 241282124 388030879 541599722 638787 605907069 19033960 153671824 797606887 300084791 288357871 708918682 842337257 398137115 236565078 19270218 235994041 782438085 225445310 861924448 657449846 843122875 413092830 828426108 581184488 649271325 218077793 893238504 943379909 902952752 407460841 291204106 172680551 46283636 636805112 715184302 464011937 783158925 917881427 526589302 16505808 610222384 519080709 887709574 813503256 749009938 604585377 26527732 339695754 312623875 740615712 566849846 743312616 290094588 555324084 904671392 95474693 86964689 776951060 740833970 12767583 698089368 815640301 625997090 117463878 589980832 698854457 467674072 504305251 493096150 801166200 321617928 552705464 73433764 293431965 418176423 915707715 103251724 11183640 666909483 690440085 279119624 152094895 930719199 183372670 932999205 527522435 426681278 225244069 365904104 531325247 922978611 544643710 116392497 157551382 828084656 900299701 223145202 565848058 45279270 382960693 842298599 616719906 809748640 241095296 92028174 504474112 116181014 971153517 192042981 644888630 674607287 184636714 832952087 368718660 941645936 760823082 705673026 414034446 173742431 354788342 785859423 752073138 133793378 796711768 328239790 192584877 266884096 730792774 642028433 407993818 13650220 519968641 112752923 694690882 934395154 213944661 214142591 42846410 158700570 803134937 654536064 387835063 104797443 77619508 99294815 142931044 272205465 472661492 101315699 815518735 621230649 375021123 75860984 144443291 70066639 924170823 371472378 88500293 107077006 383552604 455852549 302423499 716288505 244695276 712971522 521669272 11851599 973775689 501074057 467471631 68078771 754296395 959844912 474929949 815198841 73662474 243539431 830808028 772119341 893986791 785224156 240545303 511398932 740433923 791647916 298714211 171356578 944903957 968581562 745878099 26164045 128127087 35218192 291626017 226661984 425192224 259828623 196182043 878713672 635795739 753733528 742642834 639298538 300843244 941738667 527657226 958211843 642827823 949813783 79323553 882794268 443800203 954327303 373668786 668029632 660573951 107794247 813049458 139038824 23535444 79010962 523847928 818205224 484758402 450124475 873741630 612688213 322143957 822507966 619651943 147378764 99517538 146496060 332661944 393822393 480604862 754698030 530534645 238066220 449030705 104004187 22466504 825945517 109609839 961757125 668381783 514152544 4821981 814632968 276208218 337925038 417576946 474534904 758114261 568307194 242763077 469545313 224844545 369161273 463960039 95571707 595553658 523775071 118972497 316679231 965872407 729225319 642990231 405955304 200904944 713576839 611518090 978413215 675623621 26195229 100127164 127495276 510447236 696037303 230697677 506417058 317051245 922238444 623906264 959406040 984367706 65632939 410845199 394677265 430155574 498394764 870047761 29040153 648220286 427656551 926603341 11557258 934912999 667852757 635029926 921484518 429847062 753329132 358302731 55355399 542049699 694945364 191077547 442210769 6325449 834032335 832521354 489639290 76723128 415092977 560698194 13898674 988008992 885234098 224360288 39271259 61993546 71771050 397334436 697981002 483625430 911801694 790047063 91035284 677578149 817072546 99801291 796997062 258384061 819771002 101245844 920971693 675229938 213445345 389628477 33533888 844467789 441097335 554074854 288562646 274133610 184118452 196232637 158328648 34827015 930100451 198605270 295903984 440645857 633659637 343548647 54769990 633041479 230282674 747850788 443635558 288090862 755621925 421713927 175190526 783339049 814814463 51488705 526998708 285732688 776721272 130213847 779872217 901224709 410967895 366425418 357308890 978062363 433095244 779716154 483141235 903717339 443349182 470874808 853306195 757984915 751233852 955884173 985357648 570804631 603557453 994100153 147666080 350299581 893970350 842406770 178324055 580011366 911968885 937173291 587262769 645948448 827914677 51411800 935594141 211785581 897256683 277091248 404416442 83621523 949011931 200364617 706405805 78919814 302474351 191730864 358169385 734283718 125406138 174466341 115681895 106023823 680459039 539885135 536894055 622865467 32588541 969209861 93463455 508297609 551212937 436676537 186063589 898514018 180573841 651333065 541206770 183742719 451203441 441562005 878443904 219900920 125495429 408327085 381833 995109931 759934482 208258853 277063742 723931086 129825043 998900478 675972353 59129886 598007189 425047089 805342596 149359876 563993978 431793980 252970182 465855074 366995464 56296935 187000307 567274920 354264192 278375445 191954296 538316133 493236011 747577509 86212861 647171329 642867199 835617757 863350908 434635990 321455242 454238339 884055551 775449173 649992796 647160695 394126831 682342428 864096357 674491189 519542059 558228675 767481147 354774569 37751593 610946732 914609649 42873171 709174194 184975306 158651012 504264728 120317075 553874283 391202392 612653885 403749027 316864206 320784056 831020774 6095149 473737072 639951666 639010196 12658195 562907268 665982486 641430543 722118874 564002944 611724796 698813010 480937941 687380907 663983715 109492952 52296238 88118183 11710313 105839302 168382892 169543600 352891671 457425824 380064310 372662871 681189150 925425480 575420412 789699783 325423144 79376768 743831452 101394462 718493874 670536232 682552736 155874441 52276528 542311468 390360497 237507895 539992268 178542104 384174255 639770330 714475505 251259438 517646785 740888173 161330431 584520307 123571485 115446411 318832888 775156439 508564825 344747724 716271767 77749067 1734840 961990003 989487186 856325417 671976486 600531912 864235863 57246487 682197525 23488664 566916448 652695812 325381438 172306293 698861971 209571802 143286952 557918803 207364717 505818231 187367664 256911133 113064560 339780359 87819743 589192476 902528229 39502257 555389879 321608474 512907214 309333055 888834057 244433991 471515550 126884435 530267559 114317974 584326037 319029181 491065096 78569123 838236675 867595951 415921850 142506120 684816823 945830493 614961439 389276484 22767548 869040957 353281218 770902806 799082292 784984162 729126257 928207946 263166306 122818072 238120501 811679469 775694446 171483342 331022545 496434737 332283298 394718501 941893329 26885130 311324775 588216197 614687590 208296710 561332802 484960402 66914664 315942858 586117674 274400793 373612106 65940115 786053813 983059516 624740113 730770509 528706724 897297588 555554566 676914624 128037655 463712986 450783130 365264506 807641087 291141997 589698195 747331576 199063838 118975875 295651163 771448826 675639658 436143543 457874328 677691251 170989252 600193121 783273410 389196481 872948250 66433107 321695370 72537286 69349683 995242912 944721791 381428533 943545823 259143116 119222130 253585989 5468372 74075377 705157496 19709790 94513762 620791370 65635095 559111127 132286062 257815516 765120097 242282838 187539155 452716288 855043131 417585414 162711612 267399853 666398086 722665642 423788146 253726687 539045793 744540919 509799855 904889053 546866482 904361339 718710295 662480627 217529395 697426256 15954631 486016251 825657349 955392967 691811106 794416548 848282413 51153890 298271282 358666961 386958115 475149494 91733232 567060757 924560454 71441817 386108457 66738593 50560616 132561289 145745218 265365475 419042274 197383560 637780614 418228191 362066135 646812303 324787496 961764206 73246417 224292827 599346047 204302274 374953135 232374748 131388387 206169965 100941259 403317480 611563478 235232307 498986577 605249756 981141852 114757317 303842356 929309846 241891698 123275740 102557284 83973540 817727070 387906302 601528935 101510409 875087111 907848238 159417183 662983145 230168770 555194101 330377302 36152454 812816291 267352306 281403626 995798659 998965210 151067682 474977384 465306202 573093621 879214275 529413888 236368621 466304571 134502608 460851921 810581825 754964675 967395886 929059200 822444176 376574571 830460271 185328355 406677840 339173100 9102793 733724332 792598184 783031377 650832153 180746985 649529320 303373421 898195630 328912504 331198083 215782253 451957928 955498410 888523269 69018579 180866106 886821169 538226803 506175100 154657288 980010939 113071063 262334160 553457084 522017610 468971177 507553328 964227510 459969210 397606845 787833789 839472718 997240035 867236686 451108677 206974353 32710373 124833660 478638989 436327287 309563743 952426359 897477446 893772210 495169061 724222464 787718755 672951546 746359870 189120214 539985693 811923356 943092164 93350576 640347262 209273764 50442103 156091533 600351702 785694627 207071193 955407385 988114779 188654084 147643891 431970197 302449880 129965705 148621924 994183608 477260342 216415193 693917052 196490461 84282099 290262736 474716135 122238451 941541754 51806798 358558233 126488453 153423327 629444461 387204729 259117822 965540043 181624213 902595655 205237000 585388969 808601137 721106379 930088118 300293859 247341786 410457215 499677634 290043400 701371965 889671034 784878468 392401008 901776673 164336732 106967271 937016572 600360102 820259979 855483851 855281049 695668140 347483198 191638909 904527338 459444248 476448609 216679937 910953604 871577987 837457231 780386732 470850088 243723831 23808765 542031512 627629991 82981865 880052031 167833432 157851945 617948999 178251668 753928673 2817364 157677552 572207556 742687597 933373123 845842737 775907723 570774115 890420664 506847578 230696918 220419834 305331786 302314188 39035287 908666357 757509018 609431291 387677180 183176633 468387179 535199175 409622654 827612168 825455251 728001023 278400096 213604484 594576750 833147604 348992138 347303936 480672653 730785681 769026072 432134283 862049014 889622166 1157833 639460457 286581377 473419009 415601046 184485375 249776747 378015330 283461568 986839029 710462623 832690397 429850587 745459030 53467051 895557574 586104182 630714383 239804586 259419203 641710795 260840495 151344438 788501950 797507663 422429588 427403432 923639237 688826188 646797624 422287762 555824285 68915128 159288930 582015942 874088279 19352574 604776619 974240549 740805599 338625839 570547538 631966581 384364214 404414827 25406664 269118582 129332398 900724042 765687909 261486231 819577942 178943589 189351183 150264328 184116629 709798632 332140892 348645941 671639403 740171821 213451866 879818439 119699747 51105959 800292531 608446914 289299453 79803278 688938976 552233927 858537729 624625341 388676195 235323843 314281979 440346582 503339122 462563136 558235597 147254201 907617080 787595660 820322741 685358301 7232399 283482982 466549547 188296154 375301266 868846154 280921987 57107693 616094920 741573964 676816759 410088475 173248113 153313486 503363 855449432 802025008 287982580 505744633 447502107 782414927 501037646 795632997 262143901 207040691 268886467 216932200 783739741 53569639 138423808 860188 912360449 218617123 746099384 269021244 707927757 315172234 370975088 135565663 808690834 26102821 275967178 891431964 371149354 294089046 295368943 179009766 691794481 465514976 575434338 79169400 193246296 180558806 146056114 971032481 493154785 196393486 700187926 528135937 904354571 165022562 818727621 926105760 567450775 475536168 884865690 185726242 139443504 821351237 150974311 415957931 742178659 520376461 992942806 425450887 317993247 165979943 295147351 291742015 149712807 242236756 701480545 264587839 471994383 702834320 444268041 868803205 882894672 705479528 476746714 330107440 778030488 121804468 426880077 49511292 71049611 678463857 87319909 938110550 458794966 294764743 467793926 340597450 579629793 56064567 861424860 29440125 659273991 904949799 786433673 843647313 336572015 485254722 952875697 372100714 585708065 179210869 84892350 340752733 389561884 684570111 667859740 177632092 989272881 134281995 725024475 831358930 332710107 101446895 117760989 683994688 257232213 283322354 670222935 525393566 786361602 294775200 780388760 294749041 341755610 326865165 346895696 105391810 429603064 703054410 271227709 434651912 481529090 94775663 681336128 831466196 239824748 482934416 628509948 12701090 228505748 771933150 216437016 528892286 764824035 799365161 415120697 915967270 763487665 674674158 321064774 153534605 509985197 415571907 92660742 873412127 285049963 24834147 173317892 394514811 992235383 335675345 228431095 839105277 398481113 588835263 991522579 659334779 339141158 437678796 395933055 495144335 595742518 46144776 423623196 882708913 147162919 21488009 156003276 730159068 190148102 747799751 862327941 200860438 632626836 961270630 565583013 820315339 997946050 413172959 889189970 96689287 428894982 62689992 104009766 919421486 865143045 491645923 320265668 241386258 672395408 549914310 238319332 50371807 181600793 679516483 907678036 445142218 776882211 428687681 550938681 64135420 798481938 593711031 23516030 8807357 241284939 476735336 433407915 70451427 742937207 823888652 741715070 93193838 370476837 308479238 730212943 161748709 572636471 161410792 396720976 859880514 855825310 775651944 285150260 897227581 481038836 818244803 270036572 217356027 611366558 99996165 239049741 525363654 989068426 105125242 303086939 533910655 859902024 761139557 513967551 300532931 161772966 278896714 596450511 688945779 298792808 779982398 408168917 108469974 646676422 463662982 595851294 461987442 51261156 202029502 386300463 125688837 270751439 59425983 211038444 176472807 519413895 538159379 208834530 17584369 410374924 739910530 367695822 383083224 828689702 461569327 778915598 621400923 951905054 926668083 39594284 881376285 108396131 586939623 340527747 220213141 408904369 833489811 478034192 696930842 836249603 122451800 727175969 245943970 496309899 667317850 198261017 752214082 970093288 798238173 318020927 843126093 265324866 660885051 859078824 125928239 271038963 188915885 88438343 876393951 56146248 366427158 504895640 241601499 458855929 274932331 563362281 72889021 238281826 331459603 357474297 105762847 858115068 729870886 963271774 48508108 91040601 341415097 101077384 75683054 133549924 945467054 442555163 657278413 280474636 663021298 188692670 424278416 970299440 155416216 300268883 627237452 140198943 718128759 704287896 342487704 911880749 207399554 67079702 525332586 778738157 565923829 87716295 646024337 145712067 383019265 467436126 524039129 233905102 798343493 268112894 211694351 816840551 869668714 176021969 949272825 121205672 331647067 46945962 101586036 923150636 255560157 622207643 506079715 124326396 970312291 302680702 585857794 147401369 703185994 401295896 935228294 581555180 608902000 192285859 382122079 714868660 532377244 760075236 972399031 41677729 67625695 393250134 42228773 595200977 138273008 444600297 212910120 932023057 622775169 763378714 545190042 762366519 9005194 941754624 32781648 42012168 148823122 138370197 149966718 303126273 315237431 453699101 215314334 369518904 649233673 586350592 717060421 84478626 451643166 816358065 190680634 719800776 197288734 245650419 79689831 772099895 51813377 79710324 604187979 315356897 948319280 70156675 982785363 626168229 123058690 992341188 874307760 890529253 339587384 354669624 283382870 164577096 372050127 718200196 586082387 797621821 579257860 369024402 638718580 964450190 337860122 845294099 467663347 97469958 741651793 299787334 311653467 845852336 350646314 190746004 217493219 621272601 808206545 632437579 432994055 490805564 926443104 635262297 546906867 232256158 677857258 178927030 299051824 618085991 170503826 506571073 818413659 178373261 529735340 584705645 166986621 869475593 179479148 825241315 129351152 822634042 720932940 126268317 128720698 215977579 667837612 415712223 877768747 799964897 998949662 453560683 709954109 933879039 57002759 341014649 765639890 46822962 209168425 126522817 12294233 747947902 242102285 224876679 269534801 395308423 32263789 140610434 789199700 336993409 322455717 320965986 207360971 686628317 209190165 324747437 412995867 267011410 251188499 225364534 948962787 754633252 479402488 813669769 669753659 32377143 324734404 631007763 749431141 95688632 105552296 43484958 945157913 338314676 732932947 460980386 268375930 629288405 709709122 955758349 693514115 505470033 695332194 444976605 496829423 243320253 147546114 725622122 610311605 649945183 722323034 668054673 140723603 917795352 19866362 212421633 264689279 404489412 645873047 755835990 381702509 780898096 802768545 423605305 197089939 572483036 619493134 502699476 56047726 531783320 416221754 924020361 917957423 548851795 863059052 803334567 710825876 671508173 953673034 658454328 159944540 34955068 11354173 433552248 14987669 979261269 350993614 489636722 30253891 933941817 376508393 586564111 547036887 56555372 300060399 300735934 857078892 762755760 306337345 383398013 758340326 739983796 115953939 749591183 666393941 715040232 729161225 862788921 572467460 250901857 141916994 620084403 38383071 562564256 690965432 816800007 175558568 661721483 361912993 276519192 535535310 607341665 817875528 329354844 333392419 838601995 956611741 140995782 201877107 383878298 664636990 427900093 950623975 783766675 204425321 83552920 348166214 523588804 98868944 892434031 730041410 454508648 446550727 508824452 290665095 493813750 28928417 239847240 666153034 958913026 840731661 117873500 616332377 914881277 484785200 306133233 248945620 883296354 845172554 557841021 549424311 777351030 935972730 784246580 23662817 49872544 601710464 299864129 133771780 888782684 767533040 375288171 410622178 276900990 700628453 961939472 71299177 687209881 536955186 526444018 540874031 538554458 197082674 675265620 745511112 142416176 897856565 236181251 44213267 731853822 283122795 815291966 895303592 919888701 636522368 801248627 386209046 950797842 76450665 728806376 846925306 414119316 124969240 793254291 460491432 193089446 955319374 861748974 98108041 736703659 780725896 248855302 479697954 10269268 67096938 117106904 544459442 133257152 194322736 298150750 140720331 431513882 511092252 644023175 190968749 556599971 446315936 729924464 269070182 109223183 522600079 674651555 716494669 932663407 633422065 518197882 57437607 894524235 1905284 244006215 731481879 498346442 696565104 618793809 836661793 788220703 640031338 480828517 449910268 550933774 149559208 257404587 252196019 40299256 113427673 689762197 44203261 241036119 379544200 671834800 267739456 721129867 857769407 279728689 43420589 999340624 390442065 431728203 837605313 880030091 340942850 522761247 466428359 58987265 581405713 592545468 811060946 320445922 590682712 96014011 298014514 464896914 146232627 56737578 231611178 453162574 317775411 952574584 118577713 686003965 787172913 687014464 198468637 648770774 719129077 752521736 157529738 853220813 197658098 138148267 333470615 138747456 616649674 565860842 410261499 418108212 619703839 108687941 46546726 493596956 587102578 896609255 860380393 524981745 507947438 770282582 304649030 979161450 813289984 798792876 504084374 668274084 373443680 816752111 33063541 908919271 309805123 191215491 663019820 668415741 230290512 197381688 592193149 952439072 660329589 58217275 744030675 793330468 168592366 636703421 110816944 480231907 519823308 262663476 108063555 210530145 140462332 245865192 649594175 658694944 634982116 417398170 515490680 985749613 623066227 123640007 835873292 13697765 520016872 742428976 123967572 749871426 530124383 154980239 555483959 485533049 665125941 25586095 689731924 316756028 855473212 247301436 576228874 102277893 623947138 880929156 934626181 186397347 539421719 882414688 126973116 248964022 71398070 178246870 77861555 864060617 803078701 133656779 629865894 879814231 908016141 590145359 331096040 543698666 709045286 656201583 762402228 999408358 694072184 155753815 932044244 286008177 515681979 50328464 442524798 988596861 99982246 797993675 262809873 186163549 768328028 751177721 828512406 655226448 145753056 186187527 868635924 81021593 213513087 695258891 320477863 589506440 706272771 813415254 93649557 659239184 260986352 981165970 85577196 323525263 288132559 596363510 824383557 459527545 731823480 777011044 223075743 38400699 27049314 204162828 872129262 478277811 633031229 54796905 721916542 836832362 551822613 461173282 297913647 864234987 880861726 809209777 838836482 921810505 343216128 177890450 857284625 698856416 39848727 499679805 621949488 909503908 75642235 654117468 608697766 136168667 260369414 942532265 995903332 339115063 856956521 626820552 332762965 540507282 614974182 365483608 839338725 963356839 942714191 340092527 686794645 94889854 177886605 714954306 689048554 793599261 130502409 290873611 711881950 647264116 165445163 440482104 641311853 995540078 311361489 490015019 561900206 819051031 738444666 816227453 644905674 356477059 820245430 765962983 42364141 427165662 669059617 391736275 217518575 694206647 4379025 377994848 740492139 753052178 755377700 17455518 412366662 524011983 678317056 70306614 107150619 519281338 300679658 960781941 200397168 813185115 278822807 790877694 278308301 104437947 140651304 261250990 819327595 169639392 909449762 594193561 18863361 228950530 900416773 86151378 913301045 399840891 259863941 746167838 493682884 461199880 304051666 993097719 750389677 384907831 327417839 962708799 976707220 423542557 89414981 328642578 494372674 34306715 77771403 505463027 170434210 374549409 945782592 961858081 824408430 362115300 502073884 892065981 555944666 78657768 798193774 143226181 96315885 312323959 301184106 244210495 566930540 720805225 9108328 663595838 985397602 42712512 30243870 993621499 506146620 765583240 615104965 207793846 77480298 43707028 945209630 230769816 904102020 415931033 537647028 600649745 818532190 48521252 71184973 600740120 305292008 875031369 66153765 838203828 257091161 737794981 126450645 221041392 116387306 9644991 267206913 263064045 216431117 412357633 433645268 151102318 949251599 134883121 250606847 493581338 883905261 292479895 359339047 291966270 103694899 95283821 364593665 695705039 833819504 438684954 830884008 734995842 910037056 54331460 71974631 325753348 357555326 779766959 637485980 601062363 921984498 248399874 818403290 666287683 17048781 90664859 285807395 728244634 525777560 15702954 111103128 197880059 98389703 485116573 982293593 53477036 610841793 278065146 476071746 530529340 54423644 122771768 688101260 196239137 894838330 354808998 557773763 221703593 246013072 186695527 445690255 115308487 231316172 345334236 492571169 248840118 238504213 444751201 100646331 210313987 243334401 556239111 777271852 575617924 946823736 785717252 718256319 865633055 389597134 128201974 869684733 363808168 643140176 286899961 939439590 324062191 187291246 845217232 930560751 311471213 729313100 976669423 59498900 951495056 887109560 831919054 599099807 874664677 120335811 850874906 624180003 669551279 968423640 521084948 651040987 570313067 725660125 568701270 113177251 167742875 145099241 847650929 254468296 579672777 719324996 777362635 960765972 46642077 297629728 954870493 349904024 331515827 134000741 212889474 968556967 309280802 461199595 614807711 117572870 227986395 555429779 927812660 69979506 211042449 287878658 323439984 137676830 396816483 293196306 665662547 45443311 528969165 8004841 796065142 223923973 864440035 354165831 248218183 898798215 708586001 645229631 833223823 58633788 66816063 108197336 927220299 877536827 252416347 190754086 910317364 70080331 691781192 962004934 983501470 177167667 476419589 98839522 553381272 320997457 867205458 630163510 528818170 550410349 487182693 66351388 59376346 692242095 496774500 970138957 411652883 281051934 395060559 110902889 396974302 917424538 859406144 676080864 153891523 355435459 991375364 118740880 499268346 880186996 508411029 140413766 603608628 366359350 321340862 316813085 535207289 280212373 295044399 586565586 799484313 654589871 835353763 835046516 32904347 70686819 197792552 21993118 48731025 742962760 98621807 36741278 673460796 378904016 500392917 52288661 160701139 31741062 58605675 689018521 563976781 916150570 202335646 814950170 462760937 339574020 333518188 275747882 240447529 585903167 52962259 360622907 227527959 436375269 406636528 56595238 528192489 172255045 964276759 238523621 812076271 442375477 461212839 116178261 753997503 447305211 453602122 700281811 288141887 62121079 19786265 840368538 481640411 365901936 31087502 74134287 877228146 15694602 744668957 595499339 460420335 302476472 120334829 118284553 782018891 305203815 274679779 234406712 691173635 191728767 656410402 216727640 809327360 85982883 758289420 33046608 778559883 15111556 142001895 809380201 416578932 55405730 760378766 163209018 818726919 118763708 146759421 128959168 864386668 168118687 580215380 197315490 852098336 330022385 507529918 166211514 481402338 722464874 25495107 706399585 869644662 996546590 391772761 543203181 962417392 721294639 704836002 363832080 276275825 197174544 272947331 348887899 137389487 971886079 480386494 201684018 148803544 432567143 930098166 11069205 312391844 299968732 769986346 687359351 979031277 470234959 996067928 61845148 584767627 635993615 348037666 628120579 219777030 31994707 596095949 141143945 659919568 258634424 934141145 325327703 250256661 63187761 864312108 874788838 919494022 320483596 599617284 736681911 694502543 768280361 21576601 219289442 725038950 394483389 272804816 934154455 448318930 806409964 235599858 885681007 162613470 691184786 282975455 696931204 963290406 901142572 255293633 450962211 783145887 621894097 150019662 170249941 336101772 6496340 154590124 517335164 486809321 575136025 20723409 764600719 865677693 160355422 178923732 111006256 642767830 456675044 249290286 978853595 8985902 31075424 326025026 594431229 795433484 819915766 276072222 814080192 632447850 926905425 7675336 134292205 313175801 152689768 64436572 275061078 226582962 279401422 305779285 663149982 951383030 829307403 656442428 226910456 274066062 51919466 423009231 188261675 279858515 442972161 576947852 76440358 856032113 529537938 436624848 197323737 363647437 603525039 615139092 165511851 124517192 553958269 219191182 173934891 804470603 444783845 56695900 857404211 507214413 260387842 221623034 605332488 538970168 820846783 279034074 1701580 377792495 416242961 171729714 502264209 878237863 943046815 731753732 881862894 640612197 808269468 266540338 216757731 350587356 529442667 466699979 596864733 700235292 13730587 590234883 865145934 815902269 314341839 633498551 209793986 990728550 381307045 820841592 181824694 940656159 342254511 148953619 702250423 142481878 534014894 647081591 562225243 823513455 813921323 17882601 903322310 253742115 889244033 797000381 529227120 567059912 460100607 572130336 477937031 494158669 726211810 556733279 452996340 833476484 723358046 659465590 642186354 205843694 350148313 220042455 217200734 254364469 252829838 220360516 25892038 923003640 681778476 267629259 243998894 847701664 960855147 953224503 530006246 911117229 87080769 660658431 191612853 995353636 374260096 168122531 329770365 885216408 441502756 350046333 8328505 798300911 447312291 345237551 91634675 903174205 493880452 746641028 242496668 582521080 802815444 331881945 862264667 605660434 209457810 474959465 465858500 195931310 926003597 294497123 606231664 898938573 974487586 44115115 405167308 11989104 674937267 808095220 769788700 496197486 894912735 676888442 848133447 659812870 382430630 901076205 701785324 952910736 581425130 517042754 374029586 947018541 111296653 334162292 431414056 187296855 296497684 304675424 782213489 781155101 255505623 387391370 263263727 198542730 269598156 978421286 705038233 6237043 558366244 235120797 77431114 587157601 37758608 586979515 559083600 101763974 813926208 844444763 89734132 98507892 318117839 416092742 957513931 469129272 268241097 179701472 189451136 285511381 191799337 399181731 279063999 650998158 520077057 15550813 782662172 52048735 447653086 411917210 415830426 145783376 281492351 548145376 4494767 212693890 570960369 35819642 363648298 880545119 815301294 603630602 865089129 310140517 786963355 322080245 512162444 995543811 244713913 24352194 653775705 891496089 774733894 932727002 308547851 246597104 444282671 578327456 61791124 118833243 610825045 634402141 828788376 560144719 409891511 768180574 881281446 653097178 469241404 743127636 153432853 862661316 146396904 44838951 9443930 772414104 631879359 631283592 780642239 814891093 578559976 971951504 217109711 79272228 606201751 294608168 847972396 859090006 182963892 696722533 985151309 163989097 71139830 792398295 644705601 233634496 171030130 619553559 524166816 110997050 84001337 491818123 181395438 813617511 722344601 510159910 215691268 293790905 743539433 204603845 903102977 628181308 50974938 820030788 570329876 923123863 161424889 530416665 880476683 360188377 177650103 901977741 809775013 498526866 496731062 801143711 52125736 658874765 42436118 958466702 993820539 849210671 867598931 862055395 897052627 768543954 622646016 408581251 852155618 540463575 305377707 464091182 787585138 936211891 277181867 100741254 918988960 414639619 450607383 698677563 591850472 773490763 375634144 463854111 522710549 116842831 908129860 990364609 733465071 649613251 256724056 399946439 704366808 254939377 191436533 242149262 960870384 234992350 204846931 197923934 418520761 95756832 253174210 538069237 599587986 122424138 437393840 95929467 560970180 792410496 950296381 276668346 147010108 33665114 857916308 932626049 457055082 367562701 193418716 671627484 432963437 82313050 100432829 838792214 830076418 939930904 588476479 421856127 765803904 608408303 155916588 452729947 320637306 501788846 404539902 449668175 123713784 759379983 292953158 538502782 474954413 571347552 824043959 278752831 929949936 226441261 168211189 295324258 701918171 639523442 36985046 13123946 556981257 385436160 815608049 982792318 665195486 19100894 337251642 186039234 585809056 845340477 845634560 4037235 200449394 936614936 517995092 178966110 129231694 127861048 820551267 746553287 637245505 789038316 720558540 610592916 285069787 27359838 617215746 146762762 626321472 500534822 521192119 655456106 777048018 376855900 325692996 673600796 33744617 669843054 806666985 756427450 444296922 101567772 194074193 478964056 117397964 100294781 963845281 524786571 333269898 615510597 379052577 818803883 264190557 325816530 58833793 914069761 123641976 162689292 775439938 335462560 148359351 994752898 292926730 758734930 90889999 236943597 589384164 332784738 258321482 55264988 794501726 72091844 545984039 234574902 824764649 84443052 228321007 727902103 473673903 199271714 13821194 439526119 73263241 282528124 189280977 307588341 843058770 208820330 138946373 868955874 584540908 354365500 217092014 525370233 907432082 414517003 563583395 585891107 333204853 721624740 312048314 161779927 932361831 533064662 208444839 286650986 892554097 448105658 271433840 137198364 832562286 368036601 725475753 558044054 399829798 239549207 679063805 420989443 552406045 932477293 773751473 895848682 277643080 43813632 728506539 186264619 132677705 154257930 123120411 156234724 889027261 486824094 65105846 323564734 515451206 551180555 102515634 916037903 473628810 101006788 271645363 194033959 59618359 56157364 61081019 92444326 86744597 752008320 830822841 403082849 108949568 77675561 649784398 845913460 968571339 409625370 417686756 638389926 452533109 191089943 887966636 731645913 318275884 536181029 199930428 405215427 420901144 198748879 876976660 250086194 151749366 685355540 483268730 968973380 240305457 143927021 819610840 883741400 114294743 440798986 760613234 549447304 138730645 796177968 693165312 419428891 843034591 161304570 743781316 701394923 975548505 703624400 709944567 57178768 416757395 920570882 711859793 636409176 874622478 689406213 398347193 367247097 223058215 765807528 237568916 664009316 959253595 664164865 367723982 353048557 940261982 480997949 14604035 20478487 809686365 25558242 336941606 77113969 962234012 812014014 658613841 20533678 403174848 272118094 713560304 635057045 719817889 398613207 178995024 723649096 604150392 29701512 154136753 383980496 138859373 427334902 722986275 367553915 758846331 596192410 430133314 367914668 271558925 18264483 355987157 509421437 546874311 883327871 161659670 959396374 311120503 384288905 751588138 175801609 619585896 727597345 195115834 943161397 161944914 899627977 263734323 679990010 653161245 391681583 591337516 129503127 497825058 670608374 789683033 19784925 475436229 506773886 8288244 307798821 948752860 72652217 904666021 942875699 179202337 751352677 744073197 570602378 477669432 235387259 114335647 672601277 334826293 260712583 265711039 320565785 98026114 586753366 468736107 298659179 242271553 975725258 397570710 688747323 740832629 577183538 269232412 608181109 908997202 354044462 428687202 345100107 531757498 463608401 104278948 240402747 279039351 177141252 975251852 73611737 539493606 161105504 698720000 590102513 497638006 835646504 10534026 212793030 815207317 196825797 829508320 778326374 523712446 107146666 625022555 68217755 199120281 214994824 982810076 654152244 629754655 760030145 712982650 645612055 70961328 69188983 632539982 976967321 569635709 890297077 828349030 877197149 20963970 170985972 990428316 932642022 359236653 960129099 90431619 467951813 383869264 167327491 454851742 753084242 594302790 765686777 588192011 427408165 673163491 580480623 597676511 583032312 113579264 277095160 552440569 826984182 572639200 244380562 272706354 991810368 729145093 767552697 196826733 543331430 983398939 568548284 419949565 739727430 656603952 144634521 335008444 640392253 940129324 545339934 831073302 878064644 85216644 36323635 130812063 823537166 333273079 928284634 650314811 324849265 176261864 180873821 153394397 304468362 365700223 717694742 615125631 223124106 938141681 984193204 36740228 545309255 305621224 197012929 103226769 791313575 843464924 355627709 914765851 236196420 787499552 265883999 649074166 163538853 110981812 548696284 878581615 289538661 916548734 181229779 707924758 109666313 803007492 468379255 470762262 984823955 316957114 948390156 663585167 726784031 307122849 102778992 95530539 398202437 802941504 110134033 401066861 666106202 53194236 813297963 814063627 70696121 711362650 221474506 332725660 967533931 716255871 912985466 10014557 279020906 614350017 501300283 272484098 941678678 303882016 791184460 290004741 199279242 747179069 193795127 719869508 205626273 117517729 974631205 803404032 356006016 476691229 335635896 141064745 546085294 91497800 467266006 163420928 484126966 163816464 572776423 373868109 861907887 596889998 689365007 793592906 486078018 792816123 778060003 368451814 305996009 98140675 743120226 897306319 69690096 439593663 795465918 445121495 711874341 1144575 731626940 668933613 802857595 621607588 599941296 465453095 24209218 806607364 479018138 160445238 101433396 946862663 78901792 600504243 492187909 203085739 249776807 152971423 712105933 629176423 6648305 508661246 598386610 967965299 901437214 84733040 162000360 862383732 893922663 598479666 978427571 741016297 537853 947578495 27727351 884334339 540153788 433567322 744380086 725103812 777285095 764385993 44857340 294651082 972247261 12570520 598237118 848943001 268637823 652034950 265399377 254460342 109505773 494160867 248001724 836769360 934808003 949229755 291348783 396488592 63644403 610382940 531217374 807489922 226643249 255415964 226135016 674282542 698160233 941435367 905087547 898113823 433159617 54968138 72715541 841673265 721654017 95059701 620161419 3886189 89455500 143042702 740121934 613135571 99986300 33120978 617763156 720807896 193847403 73433989 574812494 324083066 355870367 375798933 884933998 408482423 748774365 413925603 461006368 782813138 573469826 34381917 41355661 777744899 776633900 57918496 752232955 161713535 750695163 294652362 991541735 271900757 593139382 358051745 894094869 173909767 276133335 664990552 481892879 130714427 449432633 91610361 408494733 65660859 811941046 737915563 981557935 1913893 205832811 600230213 405811056 105357354 630264754 22528134 886142390 580514805 821401535 904644074 532585067 396532066 560810109 770936986 244179152 770158604 684310324 266699386 714885754 320540351 197994142 159516526 717540925 288916447 110683372 798942234 888523416 145664666 211936294 818664909 642277644 561028098 811688149 655081960 816092491 121693926 239338068 919684522 857171970 94243237 379864903 169187304 841542498 679715916 179755379 434183843 639804159 502379927 600163774 911087107 836213752 291043889 711625793 957734567 600184270 231562745 239577869 616975836 271966679 263045510 447105204 117827966 466663671 788973063 117993821 433532111 832795702 13278232 591083582 130905951 45440100 716415726 573921158 746523407 824368509 320035850 277583982 764913514 341300731 387774473 511214609 700465858 992253467 185243656 303179310 282875200 744114348 738050834 155571631 580879442 829733372 967888400 164795454 650289419 72493128 98337828 438678920 205705749 673372253 642226523 653693631 76776461 958554178 737852799 227969665 47843533 531539608 888288352 11212890 734618213 49286246 567018736 954231029 751972897 192484078 754064231 204540278 270108795 422023229 460591814 107933202 953894722 668384247 441400080 206897675 192605745 139331348 643701213 761436011 273884824 338960347 935927003 572177486 160084934 774524810 361098781 795208660 805615173 327347121 310474109 708780770 980197377 590013817 389433241 803969994 930525049 878482543 837945023 696204166 458873064 957187963 375597200 587447849 115255535 146276947 332871749 778609549 926852119 606324602 438323383 299678760 384989977 635303346 417908835 306986958 845142159 448193021 416331398 105052062 324207087 673453680 847856539 32735429 503395403 104600855 904856580 269614742 172719169 649730114 715971576 100536085 853995676 141550691 486158335 905396063 777352072 299823685 941486680 790332945 82566004 176274547 437433041 49605599 446111154 350751346 90956551 8777127 477389514 284774197 453128358 831767278 160659541 48765392 602558637 995703560 810505772 471147079 960618286 263913381 806416402 982089018 281550484 811277705 705731260 778427971 740558233 688377165 544635126 503451157 54602735 723122931 483730631 192708462 951994709 830522741 238338242 962366205 730661566 386488407 813789857 741908967 332660983 66256723 192269736 63647483 974432600 261392672 764568917 161895441 518608482 142467120 57386555 762343405 548320072 233652509 471030763 356239905 371515640 356687888 831359400 742352042 89976841 362027458 402124732 959462927 880621276 788893338 801391507 728016516 79918444 703867463 844757137 841086763 275751806 832701124 651920480 147728797 316756320 271126990 166703931 136275305 308332992 902273488 771303150 782673745 374385287 527686043 228989825 55278262 408121500 794449454 358112806 482723553 929290820 481000185 383656305 689728333 30019452 274030111 463902659 188890177 726341525 357223524 835474070 814436849 272922606 587160511 291432314 406917702 189525440 290366967 881512898 943799530 672634099 552471468 724800866 414556241 130161431 118271525 396444905 237587259 751239706 507497425 733926274 29925749 966279153 977541140 743689325 170586078 194902532 993262114 220486460 406099645 226722242 648075144 3303517 928193467 39069996 598994162 665305946 189312020 23027197 130252796 72557142 54500555 131982525 105668652 389147118 600450135 147104831 916496180 476671213 938195161 67798879 491082677 8108905 776213641 935497322 161713616 5567544 174276926 396571494 442633725 223312221 471678143 637606585 653786253 441096377 642157390 95179561 13157733 458456189 57784320 92497351 897039724 304280873 76930365 492121505 79673803 573822596 190654390 672560371 466540318 383649875 198764330 228648887 546871562 33668643 285102754 314964572 16395573 20593053 220772552 624683560 636143529 534879650 138506470 750260839 108421628 261694039 15940625 983249388 588093879 602699470 915254578 4737222 870092368 76448180 142777356 715974961 723408505 331881774 701607591 507913614 951114017 27911384 369772682 286711716 928916710 465616121 429469962 84840505 73934606 96430247 18859028 884801827 294822891 161958238 391093275 380636722 955661702 871060307 653383777 431224871 332213177 220150422 38816310 944344393 55874876 518726792 368309476 92610617 139042471 888978438 496048701 276937148 125031558 296705610 857534243 433623261 319224234 458691002 114801325 574490630 268844609 434063973 197333016 151171323 362519805 331527961 802543781 513616215 349270893 2260831 929925526 773980826 444379441 808090529 7143872 986078968 311250175 129999503 983530661 666421654 743447599 166719403 449842617 254784585 680673 163701771 965904269 78091050 250575773 936517196 198703797 469833040 139342068 570808901 472275870 779266007 790953110 760483983 192237617 808558508 47828855 858961954 263161504 828382265 279973755 492347196 416119465 106825238 370853419 727115032 714266091 717954665 130069522 184369078 85175428 169109740 636733883 592757094 642236956 36997814 198634626 507356358 156731205 673531335 602786875 719109479 199631117 684036640 513154811 428312130 778528081 269745454 938526044 264685194 647119323 678093083 95883439 936189724 314246969 37147438 42845847 326120641 973519840 872334523 440665032 930383447 595413421 8846192 573654732 99326729 846940852 570597973 236565335 153645457 307174607 889231982 127774045 237877986 895975384 415002610 108024963 343517939 472869863 10332927 186970469 478550239 465413716 674256780 63070323 929416267 707124810 445078139 224222005 241925685 263223334 321232843 898623628 864244211 136710371 443814950 696747023 955764406 615198258 147789524 865435770 223409726 801286725 388319107 34358263 863283645 924875993 394039701 210618123 418033749 773324065 835234275 492352380 530751811 90446780 700434583 691112757 687974282 953521382 975316339 311672220 999456593 530557964 560038124 165994885 834561364 554943408 713466755 246199245 612063323 226406831 862481929 882448627 442420075 602992693 815651668 779304741 930011706 622532524 25313596 555279240 16041400 824149789 611488695 403362543 246824001 30509667 978606884 528823045 329785199 327778809 534712497 349483401 750843573 637390980 142993894 379559287 503448923 12029139 259958264 910738876 586640074 412629028 800384719 710112345 760113561 461601241 715156467 960970329 388262549 744403163 785126872 536191052 442899774 292658319 735071009 487768972 542343173 614017626 149580718 923900782 164836935 821872777 101560829 515798604 174417478 971634709 876397738 802904919 907798462 341644347 564636265 746281863 424377984 534002514 232261585 999302676 203409131 30979773 848874574 286484364 29130997 677160113 587458554 528033524 615322722 913061300 169256917 164576118 84592025 343462414 723845699 512726300 329148066 381763520 796781797 250795239 494515778 153165899 886278292 263191172 457802167 801261303 39758651 696037260 693163119 460179558 351783218 640732596 124897677 818779348 790425433 260302947 964313082 538724228 533920806 635343889 453303302 482722156 180098260 735423590 731634204 114608483 187983885 692011363 51789526 592458215 93360586 682991152 822107738 911658404 203790120 54982882 266107730 52578116 320386045 786879511 191367677 502052795 450269576 142142875 746765818 407989133 661916926 456260642 23514005 727230112 898494113 223477180 581809559 164254377 951934688 195361751 447992771 373358232 389842706 104192399 842151103 317718379 186412594 127695856 241909345 992970710 51466008 614790392 498651713 312024656 716519638 668396335 508336719 703076591 570711467 140511944 641537085 903912420 481557382 729389719 520538969 107716900 782413352 734008147 977470614 341871340 615957806 285517367 840116571 279787618 808178567 850148035 678620331 279486140 234588609 86831968 667658198 149668593 448860300 935207628 187571346 889703410 943603717 235018135 997422271 963238197 514510459 853383075 414207536 571295448 182973969 370038347 900952048 373997146 455949186 485324085 89478138 927811137 193038316 236065460 163932006 952864414 795218864 561836857 219103629 30468418 814357275 161291352 87564648 523523753 576982893 112192614 581647031 97330503 255314488 139116735 184543813 693962443 421557985 884572228 955914438 386282370 732389005 634129900 367635142 935378546 712306299 193422057 678284160 105408461 334043073 471484642 596089198 325510134 728952165 212133071 706248871 383113942 627289307 385585556 65406183 144939745 632884256 440331327 3741895 191683201 155076159 491375854 409082945 45102445 550848007 435656057 910204755 257307152 871992410 242429237 12831035 666568203 918852074 753639684 714977685 420079104 743367479 187592216 412228963 255498263 333122624 42321732 664678400 241176705 459078587 155495711 294830646 951387491 821563030 479209115 868366951 984879038 280154991 107751214 511735508 503872799 477813282 908592382 496349478 945952709 624410387 989904545 735108872 27171884 787302383 26091755 935436414 695297287 421296018 490107330 97341961 376433027 99644858 422299599 849878753 429237506 926178122 185616228 955597165 629652396 762656463 192989296 620552659 582252560 948574665 710991569 748086385 415249530 349555545 355291933 453230899 835353492 117898283 904624574 155072970 249268848 7038673 306863750 982931322 333060335 515504812 212315788 120025231 362424833 14413738 826695584 69050014 276069771 891869098 856831214 477794441 344240150 133673533 815842565 213820371 113449035 263762566 418017759 321313158 434714161 48191306 424261670 214257346 413074254 993620931 197220070 237925627 996362349 131398276 168437968 248457706 321919178 520801841 514157441 805223912 450108987 674072740 892367803 951333012 621786502 831984706 438780544 495675028 410266752 58132037 157897058 106423236 211823713 822800740 490414888 759853416 816556453 642995888 192510089 549880707 801548941 112706988 169943757 234902623 472811808 945482584 648029275 976665589 999775233 825598424 742069629 530169913 59732771 153218682 339948598 740155696 128868433 496350280 204471111 210035519 199709895 14575438 741448031 594595481 477178481 577157315 936196703 302751660 354094404 137940771 462594366 665120090 727297218 896926566 97929950 929731864 871754353 987741568 953600008 69875249 832553210 444902668 947223866 978106444 814869430 451488974 218090719 681007067 584696893 451217472 816779995 226749002 529801595 722235194 283586358 456863140 701703759 99802245 959095207 567683743 359221329 282827827 809587682 109647090 947440602 399434993 105472602 117812078 903667840 552914876 665919773 993358336 113933225 190737262 100596807 100070381 350566273 979516969 249668882 612401733 72656349 228584610 639705376 622863180 591561321 489530607 924125861 496307344 61922925 48412877 541031282 24138721 654529126 88838239 449196948 965398512 917088149 982169182 75786631 763005601 808919659 141484496 108287714 90892254 505542852 540915473 528688594 683041246 800256471 101423398 15118780 371276464 983660384 544842733 56619022 755247074 881892930 417652863 872710032 424273820 195603531 338402620 939140277 819443255 658758183 699475479 753583827 559415291 600838408 635681231 141150341 225267784 464796297 963540725 688817068 332038107 330825308 456036309 119150859 108763949 743941214 44263920 70781133 649957376 252236812 184987859 752820885 920983399 351185905 663610116 537080823 795098585 907838588 570426865 127691404 338632269 446950365 412624877 743123674 917270559 710086753 605361684 415240094 197307169 32190484 253453037 593240266 343940620 667956280 772710986 298610065 706301904 38781695 697389086 505058904 52167375 296713422 840739893 761832803 809846055 150737963 329619372 199582904 893112584 170625524 665058270 245351873 742189691 179481447 144566039 847009437 267834291 688337302 452493608 889960358 135038243 598962386 360055045 218165985 949985897 342956319 538173507 261473640 377140739 631581352 52263755 333194850 227087726 720331634 447847569 586570961 933604360 32619540 219152248 24073427 21790595 819677977 632788842 517936146 19780583 372512608 828788132 375614265 278415182 239803678 851251213 5762275 798645290 763395207 451561128 500407179 851934178 75357286 804260192 44361671 250834261 186025506 140166095 372387894 980815101 52501624 916600289 473140018 396458094 863309677 126774290 909896722 974414172 389644269 240166843 453450107 672190725 132919631 970117400 705276820 864668363 41943143 124875949 256180102 297402903 139784109 759126466 125098892 398161444 281429998 487348484 292342052 806813832 35123200 595372819 834629048 445730125 107657930 249109141 580962746 166626832 361858149 787089071 158573604 176238699 528408017 153569471 721168892 485387427 626675480 134774704 4772043 356644337 339566932 665297005 728346579 776657707 411682848 781224614 250419455 921151475 259065051 248078122 69429554 47657606 505535121 649020453 184762575 584775306 743849720 261680236 336871796 372033535 371014878 850359398 41519966 427509108 925449710 243886943 766915908 826700809 749867853 143469325 187342157 218283077 220687681 31977052 858806558 461927048 446926423 63624742 558579254 808865102 720839596 544361279 225264979 591269583 203338121 571248967 64219301 947929319 867551466 286695215 570520363 60972050 701772769 699565673 400911425 174460221 943954732 259022684 520248666 385374330 332290823 453645283 577671344 45017354 338321891 902734816 491884045 734158514 373005192 586925753 695418268 917955805 81849258 902033666 405057680 930127570 488667803 20747267 594710267 128551205 645873286 427850935 604324526 534298619 875938682 136793118 518143490 544289465 829782873 828999855 667863385 308554940 400456505 262251446 260841616 353390551 58590935 564731768 488483587 541655790 368777731 624844896 132413504 188744733 730631485 491136101 886531935 15712215 254089049 852720341 929153497 718107978 791125869 701058410 111901824 291712434 741596342 191973909 58455080 469722361 898917878 701708230 728493764 708597544 182543010 928271121 804447082 645941100 7043204 936270896 78370661 167316534 988984737 284135676 957946620 200879559 991686496 103877286 665021546 714778738 399719342 399248404 782549852 865240696 310964005 327789824 820651620 13795989 282936785 515073329 797124424 496488098 670842481 790213319 793831457 50995273 741419386 398994932 28044624 881546809 568632683 565865966 854477756 558944957 495070964 700968798 332364858 771004377 280773695 592949513 260326192 99320926 851271454 474035428 344767956 770684429 389610412 46730984 230832944 662091952 862924684 290220442 862485350 282178611 329775734 597713673 83122928 981692524 476473280 700470929 12936282 729881618 816479849 337520322 881924666 148928705 133349253 386105109 885532880 995160839 957710554 297561685 697588111 12957433 454962192 638908517 891315137 664037196 628722619 195684834 24226701 791145948 491127094 713291252 111365037 869378887 532344493 350916923 703513836 633662935 949245622 410311293 848784 983158989 881382162 20582743 721475840 256459366 62261866 273544955 801758186 108083863 618073599 810865906 611312158 976699888 259148707 21619810 187819239 172103577 725050448 854229645 860284354 115168389 701675420 911433840 505352063 897017315 963432895 197777036 954831054 252808181 592958125 580113212 426280576 455568443 244942200 393405496 613573748 223810801 190942815 242027517 483497182 431095277 685083706 330253045 907549749 971647679 694691902 556329610 836176326 860515195 226708640 355613739 736031692 483054032 422501052 904072077 962172412 935843879 322132999 220131924 888786875 7301786 300131654 140149463 426181976 94616503 768749623 921458780 623457796 994878857 296026906 56703813 959734802 196623072 78408440 816701612 103707147 620836961 807521572 236816478 379321708 499712668 616304349 648903517 363502425 914060670 648633177 717978753 833681510 388336028 347978078 238915959 238247481 325657021 684934189 232356285 128517994 465282503 719250787 48000479 37473140 828069148 276147488 187053123 596008005 90997623 241466432 29494190 477353246 601294140 389633460 191647135 114371273 593249570 288780573 786964299 500531065 914541121 85508115 241263178 618982352 683380937 601412054 911364899 961186914 697433162 692620353 373980465 688919019 751092286 113140381 791489602 571392839 139278833 378839378 630454254 572996381 992525580 122864533 62463674 954233287 172771932 897593901 667129196 951786312 859353010 787469882 402532286 609971989 270081952 193687803 566795358 653551572 92894386 648577283 960747310 293253264 97516466 902783841 287503087 886951402 502528908 582089848 501136423 717371598 185554976 551295651 232340602 256269105 271796958 838307236 610998466 920119720 738369236 789686185 98998726 709237414 140845939 435586828 551932168 592854988 709897270 707142881 243454680 194324432 694991813 740221984 71986472 615046308 504376572 167691805 993901322 282416101 97081411 121270079 52728644 277512241 104100158 999665038 566144611 761807228 594270267 232305935 598437472 196980879 428811795 590686563 560670049 329764671 417268644 363088749 945692649 428257684 888536165 271710099 40380077 882279111 133913090 356112751 161529845 507298038 717717732 589618519 967762812 781430998 778088948 690983873 94474672 208397985 165872712 479648088 958629143 273153876 545713052 317756921 891993386 948112937 520218610 771877934 209995234 295697211 842536557 579692853 576191441 640148067 442347467 517523604 568621727 750156305 762744233 192163078 736613941 109828787 961631451 571063235 46679965 694509932 173180475 322752902 265084017 986138555 544727583 800539753 192421466 316799940 216536919 63178944 116932178 258254366 734362760 321767132 662952707 77335658 275469072 331415925 28881657 791280769 374151990 160156179 699185726 226617556 432009163 937175649 269015519 876898869 50356257 638804623 256284410 592536474 688360772 78658756 338899245 738615121 424660784 868607464 99470737 153587808 557006882 854237600 399116806 928885264 690706003 397022702 641769162 25387069 708218576 871658583 155523419 587584119 355296879 363538834 247180023 429943518 457179491 724154650 87034516 292523216 436798931 777534000 113408493 654216088 57547221 388717368 487369416 610283172 201375911 888988395 962528994 961333688 55587868 825881314 683790833 829854880 257653451 664049694 77976539 26486940 950519801 137896847 672723175 26298881 47020928 87074341 825129572 347900039 278889159 521242935 153886645 748588711 920011741 930312717 859319786 718101117 518819470 518898080 426836773 369232176 239047012 965117002 72920284 137312963 202063230 17421674 932023335 51210044 238972360 264522133 536934036 939191775 323802746 225623215 213372172 785973415 111402437 612247006 990645398 510131921 985109407 478571299 722407948 712724485 711657835 13596722 364550430 106082039 106323695 223341325 258532361 91977107 68046570 618531034 398475013 222188189 629139962 776581899 806369638 381714559 49531325 978919363 191829170 480797652 276700643 522129110 13267905 951095852 952204707 333650440 784886963 811319182 376987493 714302760 973795095 913384893 623733025 401082415 177531295 421129504 134626573 374176602 154302797 883111434 155149745 791099096 69812268 781725086 281319680 655888879 139824688 589032125 451285647 246693082 32063883 380340878 154390268 22714735 438050504 577431220 884858322 434229678 236523538 52593843 886347035 490414771 552909803 664060909 741271793 111469516 812435549 958890279 5481321 10975485 768297843 324421003 770188251 125414611 43123195 173440892 106844627 955150982 168472910 350301447 613493535 621630931 383036970 289628922 528411980 843080163 756543133 543772323 718976976 54001420 47006565 824089597 564127716 504120215 306827368 980240756 940022840 457403606 144834010 622057719 971605473 249379767 547225803 750819686 516215613 373030159 789018219 939124398 221660806 457480805 223583706 873635027 223542253 508344940 126656893 475260753 801714451 541790019 376336562 363314762 933920936 792235208 558468339 603602770 924615846 686259585 255363402 180500603 190971581 627372355 639786706 187572107 23154696 80267210 127964731 876656298 951781194 869194516 106858970 897955100 872391559 211852249 443980390 658843733 676927587 746612892 190635887 76584431 26014716 46578275 424269500 913335798 978249467 860047964 542984177 624891715 393770379 77564288 209139060 82426155 493492955 674210479 906524119 636761953 33915992 200393403 347884062 121705716 898418690 688951426 317611694 653049836 557582377 353970063 157039707 163309590 117222350 779754833 754359810 723986725 152326139 566176027 451384813 537521376 212308762 518303792 558803636 268224834 247434065 17082004 651033325 420415124 769648372 446035277 617613557 237336735 167149896 656339384 471354657 671898865 41125944 896169517 205899131 645518352 413715605 232916209 792534918 623886409 863199258 736965985 272682602 177875228 683015114 426511801 758388035 631728843 24707698 148429125 908144275 210747657 518320553 706361112 289093501 552522094 902839956 918478679 310978629 905972827 562503222 576393954 162744430 133989107 54859400 507072114 250673079 798677998 558254260 797502625 963753683 15724810 41701792 87700602 292791817 97853313 272324619 625449322 828854840 424340827 814204612 374256116 824332347 236118670 148330723 630150428 901932251 928508979 492358630 226147015 170557371 786152267 637373737 499614301 971795121 90845771 937698118 545058435 385785921 234642360 871242332 766011495 232918135 297214656 309362680 24603670 738766019 386677916 830161726 782601678 453957053 417952488 679143443 880246779 591285271 427114677 762369278 952934664 942166720 166597543 588378178 739480153 605863518 669930091 282357955 29971237 811362973 907327105 823376751 106574299 536048023 353497537 231084733 848409126 950290059 681847408 811038824 353479979 915754637 860326105 943945627 249988673 670596079 15100243 60586517 177378702 455848460 647806684 984823016 422329860 850031467 605171370 631726075 619124418 114018429 169823809 577822987 915033256 27700275 838871664 790959675 248998522 997617960 683461436 750569035 487825852 68721701 827143857 11303532 552959867 72941377 690015436 702525673 576004490 705838059 390829353 565548090 336349108 646313454 883329383 194641368 113675257 776609264 398529298 280827123 744770764 937313254 420226455 516954087 385247427 900485849 523132886 76744548 260653575 575781992 236935408 986288432 42397465 29293418 837861352 170962186 721926229 147887764 189494672 783176308 463011515 313483715 133079921 238006923 983857219 433525028 610829378 10964732 959195389 783845334 848171972 345779536 962008051 86436031 644461059 217737174 580268445 476303522 948612383 14179820 823057643 425964914 359438197 594106642 615571974 477045942 416166623 109625738 233764826 442913738 82738044 465046658 568568860 850179609 529159250 247305398 305784951 198129598 552511778 266371115 75561267 509170047 911277808 149256717 171182596 856638807 750432689 92352781 281995862 814863365 380550479 454131157 60387024 523274766 136801924 237839964 58418904 666769483 227965446 642171407 318771969 329193458 685186487 433448548 172794038 373132978 24037559 725594827 698720907 147256942 685174348 547115983 352193276 145124206 511298371 237790408 530915871 984508547 374422362 138278163 579159272 402880562 432463224 882145972 633675844 983940461 732575288 504261216 299351632 696092336 127739855 612515978 899103809 32745196 470525531 57019835 114261280 80851929 791367463 752353229 606714439 91730014 978783073 603165408 910608390 625064292 548838791 722133778 721949467 257515346 538314754 493199641 772794466 577724426 733165280 269917385 463019897 39014703 50953011 108113405 294727362 469120472 688761981 915294460 294447209 906296506 281188128 652254150 293158420 800446135 789822417 172379049 817473636 111203665 796162909 259871151 21769822 611838074 885510960 517320209 856437861 749032260 48829064 95681863 748822343 119635706 84910480 804933509 489216483 707862696 357511082 263312438 59739516 212597235 620045586 97222497 320561421 820172322 945439279 1291331 769895584 753584634 724036718 200646254 813160102 182338219 240680359 95340736 875127271 186027159 802044941 808443442 66185563 3581063 155590546 903968960 199534480 459787973 848225914 244366105 277553936 256475809 896416703 466256286 330624716 728377345 43134011 867918079 36424540 16457923 771014943 921430217 161627867 964953464 827353235 18904613 209118065 210216653 966721798 439871076 572679616 987531631 720469227 935671694 647339424 357624517 658518903 50574871 43142399 479524629 243563696 58464796 902654380 919866862 424344463 25886329 751489278 56425932 950553467 791606377 881390751 48352499 249571182 127857747 899873025 245082178 860712323 324539786 467102805 126744181 898669028 873960119 187014772 583047998 267264834 343375745 941191414 38267969 391601830 621584479 241865674 62110393 797639048 245754264 537365840 654200388 50048915 56787109 245883914 873496311 716634537 578603067 79288788 471445277 864254310 129243914 491347445 998239114 767536280 643792375 818861984 467519126 285143681 608405780 63027489 535148931 577166897 673075991 739077512 586473901 549283199 6248435 217139085 426138958 862809583 333719364 142207068 776396653 447471546 191599607 863174370 916064306 9553353 195156491 569581237 129328041 216979651 194484211 795867394 909133228 152844431 209688509 183897987 489083065 645316712 306525882 621775068 666284229 494974664 106686481 438900104 179785399 403006223 197099344 301890669 673475861 243908942 886859587 576123242 663949424 360492595 566383796 548819279 273301219 400949191 675752912 232045612 593467741 53098416 614996434 540244663 928326118 314907835 273347100 940005428 432544949 885686126 482580710 817783264 174164699 314471287 651465060 804829084 178367931 834980163 11669847 286908797 41495711 71885963 252384238 839899632 841491181 349008114 828230920 705554634 436736470 673458902 621525946 664737005 173491834 774589224 403967154 314245344 144525796 491600706 345778754 493582333 39663306 211211685 756775471 121326692 606259869 778045703 599745531 679640494 807039723 531635675 16328598 382329599 396168686 900588736 445628987 205127272 994827479 204331336 42774717 724030873 456222959 569050213 650044263 195800386 430409000 107682188 355047755 765640363 460028294 27524371 510691749 332661021 897028965 633622435 637939767 230433195 772555645 903132925 903604236 160822272 40952554 966676845 6127617 961292427 435900744 961508415 192405716 90494486 65154432 257620437 14754116 923669688 172885996 375686798 163193402 645058284 354691799 93478102 28071267 434522096 800027401 805268014 938421729 223410720 539203960 633976033 217305593 766159356 264745272 5324081 329237274 606666259 733050302 370755159 567941815 4757075 41011877 841732414 434487856 919544552 471196449 414961739 1005260 948998125 534340359 293670920 210772305 215366449 705680205 495177698 65058810 203105586 964036108 152718817 957462858 496922664 789731317 741469049 321443819 69074906 561813631 194861484 106536266 587080340 141189711 405056537 512716465 553369571 750069178 63658969 425705099 860249004 203098795 67720429 620592294 545948596 770771264 2958561 588099853 996371187 547780886 107568507 656459698 849746226 32302568 932793132 487111019 72762721 414980566 523802593 933544262 105769391 269880425 946463803 381454083 134442344 594896530 828878246 188680648 99101138 406105044 547224109 414690121 381381218 703895380 811205858 809695073 689879961 800290732 820408200 21287217 287599416 742705827 164619968 392833588 137104734 87662566 136556121 889167251 158663353 142106419 583563077 365095659 194817888 100142562 272285738 13589775 129324367 167514259 420231206 862234158 687991798 797421215 621950440 336995690 68414939 555554673 445246723 868777677 791317287 256354186 989958087 268750649 651942068 612296696 900343897 603523360 635695883 291457172 941148471 149729851 110896029 658637908 673514988 354503352 190512618 212954452 425047002 616768300 846174696 128426717 233583061 559158816 619665293 178481435 888460749 825490552 738393524 145420685 969301003 375408977 657631175 573731932 384337571 493962875 137378316 450539844 517307083 628088957 625504762 461807873 462756195 796073953 827881593 917726680 402357639 828446386 438011844 663695373 556570583 502777680 162841251 687771040 49817835 35970139 324518319 194327304 440093500 292935865 152130817 736111628 510085682 732761465 137434865 172019039 167288534 508092301 639634700 113513183 976752963 881652818 981558120 159553015 306699886 520045302 176453807 234687407 924834850 22572889 486956728 729740503 192305595 869154294 258953010 706654548 207343384 890369174 293597720 584268141 229338281 67006799 820636159 296414386 169828804 807078118 596051359 862124905 133669484 374392390 740427266 270940603 261456282 447854251 759393525 298320410 20894306 37828297 639171865 53623435 495529457 663595729 766932158 86566439 740980848 930617790 354827345 770638820 643853683 528887341 214522552 357387401 590488261 173854348 49319645 149695035 790556424 71743210 181451006 433522580 395474765 651167444 159477639 135955738 475287063 366825886 660935751 300050145 178265302 460825587 64682975 226785121 243597196 903223930 18760471 624149294 353741169 746307842 523562420 650372466 277092083 161015283 833820010 28421838 308083573 536284249 611539295 989431677 149495718 616610101 89497580 718649668 798108601 689430152 642106842 870405052 709589551 5832053 188322976 53390883 445014457 900224517 858285009 893817146 890767883 842716854 517398558 96857017 275211835 923247855 834141446 218718211 201761323 50353452 512457874 950622362 108890509 211141137 222023610 191422393 699826665 745323031 447403332 723875571 492579515 325119510 49379639 829028378 575128347 195659164 285714570 592993409 623947288 672015531 928190689 427533706 36334635 18287747 999283006 426775274 581411239 115110873 967584758 160905332 471350361 24912203 743727867 307559582 28177885 219133496 657773503 4544317 22345387 145842764 119950214 11800223 97400888 580838846 125857861 145643430 133367892 268857550 508732222 792638498 208496337 930114258 460583971 642774603 337717535 945363836 207522655 428744098 717969550 884196928 366221123 183905474 121494089 131997296 531604097 872057145 827690581 391164445 983331493 79456077 187923522 341129189 686566843 843261445 289843661 564515629 779023723 925360396 792856985 511586484 281070856 437028403 333905628 181412673 672347150 637942041 106742416 368689354 781749208 767434137 566708371 938320512 988721677 4655942 579040050 419615056 826943385 512037785 542706853 111663185 24959012 853282035 210201590 947023238 287466988 974580505 717154119 210628382 426768669 315733861 23223073 114743808 119130975 986857354 912500690 134563599 811001116 179053847 146595432 109570973 278041276 183121823 548251098 142349956 937457045 734613872 290568528 10716022 573259044 243711858 735897982 799300353 101864898 755839075 474932001 414935567 57410268 55659687 506885257 2862175 19141648 130167694 236131935 604088235 2971445 924990789 375922734 92158523 682861995 39534714 240693472 29717868 386968493 225982433 65652375 563631930 667709329 290460867 650671355 681379877 633757210 32853993 627638581 147167972 930228697 143409403 946423670 357078964 215535560 409239453 165010154 625304676 351895126 306810310 162005746 532932147 726096879 235892524 969696488 448060349 460779511 329166090 234087009 815837002 366845371 514877985 51960424 772265739 335583151 377188892 148608744 958199938 857956258 941454328 188906067 44515305 731128477 396577001 467967258 655265867 450008284 777755586 540755357 138320945 981395332 20052271 662274071 430684076 982713419 146093366 91259232 35831527 475286644 407183355 577752665 937173199 293970330 898816693 133251024 118515278 71749255 673888784 344802469 929384544 50273481 977583352 304174306 731521733 180779786 583061060 360127355 518154085 430106537 892094013 498587444 89311951 140621240 515569193 608588644 945312124 996562745 262823841 388754238 316548645 138371532 92798634 563087862 17021311 77424336 212598041 367393347 790456275 110120030 419260517 51404551 813956860 896680126 989056106 452701419 344361058 933035568 579966360 890107576 316677173 73954639 628594810 41549854 105108679 255978799 164188671 114325311 440318802 475677061 903534883 94336028 67253036 990112803 346035596 491095312 913885763 135836371 106606193 696008546 206806490 821864593 942129774 68843550 398039555 934586589 492447544 767351742 521083475 996615078 500901485 607856881 704685754 547579304 230240769 85001586 485738937 149856538 219832643 697823198 960399649 630249203 180591968 392553398 14619225 92192006 301520955 738153458 127173742 541068414 317682113 89370640 698835053 32676287 11173507 928989354 17073013 924861085 234159588 517126168 30344218 788995470 593622720 679610200 14334595 272917151 173225015 81084396 428316329 502179186 798299616 721055171 657904456 330082803 653471296 964545106 509041269 254504500 77040955 237203861 167339299 134836240 99386670 732652876 268461096 167191497 812021261 424845563 770332214 803464598 868610376 442933152 545575925 691692853 918673272 420379467 489335714 408063593 956899928 170542756 886954314 167747390 316354576 94982731 817046141 76488932 599457654 128314778 37642721 159163043 273936627 380135712 269474180 710756895 520432098 682171032 948233713 279736055 586738601 662525373 632829140 356051434 855805688 409649783 424992291 682637338 208120502 75587109 418296995 265888363 226866032 220261292 464250656 906110890 737333787 744622460 637967842 94162078 370876282 210573108 29490057 496442380 496242586 538006858 350929634 41650972 543599699 6579347 88313464 897474318 870607571 286895636 285043031 114050354 749605373 144214255 39228045 508442400 203136816 168497129 99994477 469444171 77406622 594669317 997181775 649244983 445400659 57014802 982752720 989410047 906887631 214561862 481907517 316950513 977130185 212028919 779951890 876742503 516634504 856236966 820434713 360337416 330763696 885685266 686483286 393438323 277562326 511349346 834513151 786782999 747177280 527660034 742492370 181743877 446508586 414392059 233108821 546360982 287646219 146523300 259057128 382706562 30345411 479350509 207675832 493099281 730595554 105976046 37399733 569089643 688618681 587757790 345180668 918947175 145558324 358725713 524368415 472964079 233133480 912111727 691053979 829088624 722411998 425847306 181983292 113664480 475326633 342414734 839886690 478982717 591246038 828904406 15913214 882775007 559058415 997858918 116710312 732218977 2797654 587829923 607550672 661072143 806756601 171314214 114291125 365282717 983462536 430525370 429066664 144642339 101589802 314295671 610933552 176246728 21724553 888780575 665579941 646614798 721052372 485407427 990097150 269022725 604603737 90716868 280202997 974506544 997562200 67529114 223349593 187035845 141584969 432386538 903872980 547282544 281344108 489134527 860535447 428826632 960897260 95311325 789596357 654490880 876637540 500092784 93230520 120375401 359087344 155570112 926690058 248588387 97192210 588612186 305409592 162587435 888036445 858433233 581906522 192998912 709923900 153971755 353831250 191520608 676202599 87418014 156218920 758869788 841305402 134745205 249826666 135275280 97716947 822770810 305203161 771375456 560836717 337897225 929871485 690316 447359723 363679779 485731289 456389079 831435934 977859513 196169144 348985087 59936403 914837621 185746754 2625309 109028938 140852499 416634645 545100798 108184054 150990258 439842394 498701659 889680399 237820170 64752500 691975672 477453303 521131774 727644040 440841776 835377348 325061351 621497942 371381791 651563285 648007063 166757594 457659898 653783547 240329544 441081097 746532687 754538649 514878909 199428200 170892188 924076935 36306599 284683170 71018899 278141602 200480471 8480109 41555569 399909815 992516641 798660494 333807047 742002551 868525997 734332063 961929408 952010042 173681772 349078156 411923999 993281 758651384 101702541 449030490 204623662 326489767 64148985 651380141 772943545 983320903 325479934 677198511 41201578 265981687 418782822 199281099 283293702 407526043 2137704 746975716 428151829 777105293 738974060 177162333 436210841 122454016 669271353 698047783 42104467 209396618 274456140 647863294 557638904 303840077 820361498 77194790 285235151 255194546 665270960 428483772 765995870 605992599 127385867 31902302 3917098 883125039 50384239 429505578 44801826 707101890 390127799 884237899 488205186 429664912 332670726 118435253 612020851 988376784 959442413 877617944 341380956 603639496 936735069 738439331 520862544 108821202 118547464 984508613 912397845 697984616 603724735 553801875 44560071 435309642 182008174 998977899 264517165 481197041 282222582 751964600 243332622 381513234 431468884 171539616 942933988 469752824 475225917 566346371 627140468 429671485 846010121 991376338 742173675 231563449 775164843 136430481 182467586 329870604 504577821 233235934 112992512 829608320 686255600 916689211 484004112 960667239 98001454 963092431 274920529 299902412 818798565 148783362 600927065 9559171 502026943 257130216 214385760 891782922 850296017 383751111 34541212 827853340 397886376 26992995 113125984 308718031 380603070 497868400 648827553 75028177 223514036 344193362 774547694 113073060 29429152 328501060 906261331 14666929 865844948 646549873 16966962 802798007 48871660 633229349 882273079 220140188 486759702 690866637 173800730 79127991 450519908 499358352 233291490 100721983 364747718 751494718 863145105 385518310 263933413 806669273 31764112 407717246 608647419 30134452 376050693 684568183 222102160 327349288 52416952 317637526 161902177 320682191 825864288 824047699 779868668 165572638 990625116 39718447 755831854 337779225 982867226 658104944 921019095 845166696 153570241 383687557 774949586 747526378 980060907 675985915 271771036 997007369 610014862 364507503 583293510 52752383 382508443 845881668 928947620 821882547 783182639 217937909 182069392 303357525 170234904 790333374 220197412 326699017 801168109 271712013 610785313 121938116 415289481 949928680 338383778 897677344 711299312 140798492 812195710 776902979 325981190 584626800 669637402 953650103 873180613 197315453 246938241 850640610 934786031 363453601 803862764 110522191 233581070 696449800 569212294 891904091 505624081 756974633 146543239 557152462 774611575 212595903 979624088 629587936 533691194 482671303 635861533 590556954 153466763 885898400 309175390 581733457 919026423 754388173 275380034 66921765 841113776 725900932 759556452 258996249 198595549 782986140 343999994 107342976 221940214 24732336 601025945 538035197 598012931 17243431 745960721 523792140 453516358 385845319 606200168 654448883 461468986 937778202 380619240 956665068 565452415 997690670 74690231 556439803 143614801 589587735 410237556 307608519 272604842 602821063 113696647 245697513 430955932 720082273 250501996 629442573 176012837 67581296 23786076 209965443 512804408 112236752 504913718 353801110 371320466 1009300 22774383 637501232 737628871 401643292 760123381 511129155 633871544 891681000 146961120 257912042 387483868 34218422 831686183 687893731 839047959 539856589 165102462 232828069 125742162 292047309 721242770 193409222 362481945 62412460 740981985 200943661 816974079 135245271 529587492 119042253 151289656 568625303 847214775 300515080 865357194 271517009 70736117 68885567 336845694 196515357 661741199 401732083 236306299 586333805 934688264 544167352 766000362 753504589 587957493 798151700 132217297 794678871 647463778 655998689 668918481 41842270 225760663 774453316 210902947 642392364 129110895 191428441 741450526 177669607 698810704 724749519 948765475 304154697 408866246 961194401 995815749 980859077 580141804 14984379 353108729 81864092 661850292 759051034 840825575 87849204 130467924 611757060 670558854 735998063 72525089 464148337 730358351 162866624 115862025 797614214 408968093 72413896 15790303 95598580 861958730 272992596 314474812 872461227 763518918 481519442 581543168 497370594 843804804 250945117 934755543 844744151 382892615 749770205 13767561 78095345 992969795 468235443 385138829 90006101 397530642 651148518 656570367 634292001 431813122 252305699 539759527 183283202 799576455 26150214 281090374 615928708 510630577 384313571 632726090 195694427 675738663 170897359 582302909 478686241 603098428 144758402 410769947 927193769 499818281 15226669 823995604 258497454 527971725 43871502 629986346 198449165 178859893 473372853 315109003 390530856 720610431 869312604 404207342 202349416 597880561 147924918 668602 850282194 191283126 206104394 186983265 752606094 565147387 917057191 170667493 238686430 636193523 61698384 408046695 641638436 751083262 467829163 691240343 522035496 848910780 906054725 877040861 758695075 255935307 666978521 585842068 517859474 538393447 612783237 239990122 571204545 433426732 111738680 188279262 835292856 620675776 782860356 776162561 502553630 575752106 801777214 800908352 304846958 859990328 712426053 589680275 510313233 359141175 293699902 440681062 57953566 409213143 352760428 973618501 163863141 863138312 230901666 896120764 824424433 681826005 124703663 805771717 114665404 629419047 472319924 983819060 511799555 454261979 575389169 963879358 825956654 28482337 124845733 874108049 530886204 605385712 178796890 458311989 138346364 353100243 685624809 792142316 997980386 349112106 685380913 869204783 175182874 31536464 444152704 823485614 672152323 808576274 489812516 65319971 152554420 400717230 971974437 7654986 764264236 200350912 26234175 240607091 275294906 281804287 321814595 380117352 808397692 37963584 856074645 505137958 210062941 313175261 521909379 117797700 68531083 661616743 192960525 590097345 677856375 354417762 110088213 284530096 347931442 725999791 364383347 690857264 18542514 710129661 110141607 285959936 784982560 156591807 86970155 641988864 867893034 861329643 812805447 592331493 36210417 294639934 962418633 551150887 98008912 904973918 66704223 283757028 593658396 705263867 230227600 648899572 625661573 34122443 391422638 178160050 297539700 233116366 565283707 300991190 368195364 473214818 55507192 384961265 553374560 349043834 275696649 470795232 972963974 211928629 3578047 460910448 990948502 135168312 962201476 95941562 925259360 4655462 367846486 972498724 47764361 199374588 111036011 684385036 330969315 344794412 495483662 519199233 448385899 320641136 956015901 742971313 775900495 154441165 312331560 447106491 845758756 832426695 12210908 104951079 705119029 243016587 818875250 827732268 103593481 968528914 974304996 112048213 651404165 708386779 717839593 268928460 646956610 882553042 246315221 878415336 210495403 239161836 494972141 93535963 156500561 103164980 491052436 228243071 34213002 264200169 819457645 344402088 125664509 184350338 234197448 344828153 95777506 2935716 367875960 729038772 944296968 912519355 780276017 187337175 960302170 76327912 25981587 933782456 906833986 340051137 882995183 484650374 355437435 585368768 811224460 847394165 867723838 595694563 906282224 791318345 174841278 585057032 366812355 808070206 644652533 78845953 345794517 871627842 854308169 367621916 954321017 19979179 433306551 293588902 580979648 663697735 764132794 796115275 321788446 700413102 980452293 120335164 395014034 86465140 297587442 942295708 920876319 637368323 668963158 444757151 753583219 864451194 739591926 316167025 494837116 931482372 999642652 313414822 993724787 8326381 528126637 188800604 371460723 988788773 573139217 898862198 124238658 852253552 272169071 107367117 326751455 926681285 343769794 92747252 195425148 276840535 602487551 667215677 125657876 616882906 197687484 559159688 435823591 41793867 142294194 161624617 337417837 845123062 201931766 525616954 210814606 562388472 895046165 230529826 763485149 525994695 322607661 446337327 921597654 509329969 612156657 627898946 181841416 511480950 653002474 116654578 569532933 346309536 166846005 166587303 985033687 929785292 29568544 294271803 497466792 446659496 361416288 765751749 761789157 75887992 362833795 886343625 861608146 800926382 333942315 262253274 312721863 845428443 415376383 670012451 567283685 539480857 922832052 228728362 442808274 444966565 276768825 103898558 920211052 83418378 181355990 528353277 436549538 285727763 342481484 969218333 852708707 352733319 306295331 331311742 186298038 635751809 330681482 131184674 285622465 460110908 352308616 827572636 411915534 443552354 450467609 681544350 586479395 539908117 301734681 197825535 7698321 122559513 621119847 621822609 916751876 224207013 497518669 873278729 187832893 975689691 740285318 535143329 734968753 14112811 648287625 195132180 873977108 888332669 374465998 715258999 74378768 677580466 245985 396502234 96656889 10918915 454308461 681058081 192634186 840336220 827977973 269435144 167823037 657023379 706918205 402569894 311473529 312649634 619258911 781235529 264831294 280103829 628216322 623034151 539299132 638829366 695415872 868974448 695417967 8074738 60522132 160042985 107738367 454176876 809865025 189963950 58651860 493343698 446961912 941407625 786931645 114636583 889566844 924828988 581262790 273121013 307803490 453479117 197053019 2411503 746486144 864336035 482677896 135852005 310250514 424041463 153866805 770648196 541212887 981443708 122257892 326168497 254881527 34346554 47805043 116964452 542485870 666167833 78394315 335454929 427418466 523811854 93364188 546201933 214241613 692457742 351706390 702034338 868584959 922752018 792770006 463322947 46924662 291501058 984563452 851299517 521450480 387172890 510427799 892684308 544879232 404042952 674634290 504345849 941926273 471111774 293895830 378574478 904004564 494739098 112038181 137762596 201317251 68380574 191202924 208157185 976376165 507371525 106029546 796092852 961664058 582125115 598136906 98241459 861807318 808859470 839894090 16045578 391600627 462409208 540716206 858745886 762452620 574126757 787225572 733005016 948413255 316715605 659102303 456830762 307992815 979076583 205563655 390328291 448497791 599576851 743369315 524718800 225833623 16570599 786441522 561104119 678807122 658458535 580011857 781289985 177130267 706511040 446183483 301001591 169231659 359339528 351614556 348791645 19593765 574713249 575202366 760703392 664277506 437247735 672926365 402760727 117840940 938759645 545934138 140505943 638756861 111987474 381754339 454533247 169889425 353216136 860506635 770177787 868571139 456336823 770695047 70425256 675493266 709397523 930880657 151592533 630524973 557256013 554238014 565336161 442825315 288832651 92519974 149125202 394728429 369565567 315843742 991351604 109982012 682339702 142563410 356855664 45478237 181162164 266569447 550345723 148890296 624625304 307115453 475367504 685953171 322811523 307567239 467335363 287500942 864262072 484476029 122697836 697380295 346346056 848471284 477858412 646512224 719694302 603692857 795203269 253151986 919668808 611147949 412833275 817644308 138735612 885193037 69864115 494104403 113671825 323255092 605502038 733937400 252472965 285118086 615225289 157001126 758326148 404954128 154790156 118359268 319983908 527366960 670031083 706146422 927032083 57113132 96728461 150704406 78116090 562162551 482711059 283137369 236330201 756446858 263778979 983791466 201104578 645343439 172606203 175133224 12402408 224530728 460806691 884260184 946780629 238652190 5938721 713438039 31548570 852305754 611657344 469582408 248268595 688593070 965214733 958260278 416222657 324660732 623482322 550190953 860625567 405898049 38671143 726055820 704302628 647516912 19876326 379523319 121597088 381770502 127129104 563633410 173828020 381030999 662560689 114951410 102052442 896571626 494188995 802988549 495897260 379404929 193075127 248099723 9033210 673552554 539049366 108508454 67000052 157926220 961371227 649848524 84003113 64238136 581516923 43697191 612907956 78159770 821285326 882787973 414011034 27416414 642262722 162067216 609751129 754111282 760939451 922485187 777406956 885415216 39828138 363247172 67316147 249828056 929129236 346206109 763315418 18266043 398832208 748776275 162539547 225847232 873593265 930533028 364381866 950273099 269910792 196351408 86610226 889899574 936494894 220201724 99778152 20189976 89914282 595466142 798360146 437344216 562408005 535589052 560378571 90489773 195969507 683624985 460401288 147981444 844410739 937019131 316591922 771822535 282358299 629736266 899001411 828788850 817979176 466257824 326713646 658323588 556404346 99743990 39905359 375395611 854946911 59762905 886080791 352716967 732141474 280656615 359819748 698762550 666935889 154780124 595127565 6276532 260014297 576975979 820821057 942063438 599477938 499775650 236463258 731678327 589780794 683207588 826481656 814807619 25046836 143094017 323862107 413102605 318338687 555314614 183348606 887612488 574149895 361193234 729638998 443508982 251856234 751174912 693970528 387983985 339668884 155462369 800995730 366629995 706725942 374770573 810173833 833305593 215165016 528899290 38895273 595377986 651741589 423471105 204893319 747341544 774447888 519284201 106931950 865607228 100492757 968868223 740805228 444737621 887778314 880388452 752481986 193540844 456462118 195550439 651832610 868761701 328295161 764301608 731902180 576164719 410940662 737743924 139736025 433970841 231161521 526174960 454746251 291030133 365253389 992522320 37242931 352760906 730763424 626333396 536175142 839874861 594935704 811012844 104771392 455723045 992723538 867779520 66468331 440949280 874713129 463576146 107416329 697033017 310278754 73027567 422329153 487878573 810065942 370485770 241002596 640119857 720272937 566085141 530080334 814895865 990556255 519694763 493790083 474569373 793982601 239693391 271759835 995140040 386998403 343276080 889075192 426755742 648216759 69509382 811744551 849118774 388512829 592124522 224797373 19100571 984301701 182710442 465373962 208561508 589264176 224924545 287072764 992010864 95587036 75167756 933941161 512715664 931840389 357833335 627106445 144034589 553656928 490232493 191838919 948984509 947625655 192084630 300033990 278164349 717419227 737045706 511934779 833530591 628598798 259274119 594331524 986445988 53658652 815973225 283731425 793972011 987353514 577172658 473989781 201988701 773107265 143060140 369365951 733957230 496255030 789914560 107980643 234866719 218986252 872232080 971957616 875841707 86064004 437060814 747892967 523214420 744133982 401300025 635394759 23861664 424108964 407773517 216658299 296176721 612120599 422304750 689480068 306528902 868341938 194741426 73728329 24812856 341239976 659748831 358718124 661129759 979112640 579942137 978913496 529072039 119696402 764239957 529595097 751450039 535610101 977178276 634942817 464438437 933773683 590749998 57634748 477740090 636979772 256844448 882633530 741338690 850024141 852530225 953410103 304169515 28131691 784953002 437083203 902189193 673832116 707088122 1443599 897556043 143263350 722078551 442324394 134738649 307676888 740858336 166571397 269951422 999171065 140719642 574835298 843083604 127166970 924469425 82619417 527170888 220939980 107144124 330289822 361082533 521770198 770887813 988389717 155651201 590261867 676319230 961465086 43758473 345135112 881282204 838933389 537219268 522693859 928621008 780819098 754960352 537179800 173038274 245569818 105640038 871280570 331726068 573021565 256814820 449694510 806657708 185446205 221834603 598161026 590631820 754374876 418355441 493248860 92977911 629094283 457301455 137553537 215484623 989497332 563446156 57303388 157160570 478621128 722872719 228303007 895699658 716662809 462628019 728086121 1780975 889803447 852695890 254874975 523561826 5530678 334304440 770130196 295806698 60944258 3188433 474523490 94864967 449390607 1504878 400855556 832132816 975479454 474711992 452797545 823331886 150325079 716381762 855300000 876102499 135174952 764682299 126744790 368271844 518400747 477873138 641953433 469570288 869515097 644354318 734154958 137646105 948243256 794168951 883292620 250889987 165943912 103166614 58227014 561553890 315203632 66488304 438787156 174855294 772823349 656557515 673881472 802438949 993061295 667983371 645146231 861817943 576092551 544990037 871558774 426826029 596799906 336137027 543872195 772809813 213308567 288230428 14438480 275756030 766271956 300413118 697308159 341102513 855715653 379853025 63141515 612905440 47376607 122491604 146703130 371686025 586624343 438933389 696588150 322788930 409829142 511157008 694933330 202167626 205112714 158979839 549886525 985441103 240494054 756984154 808531547 816724307 340151352 447515162 621809114 659013688 780690249 473544010 170581261 853533632 734858195 928066756 43077288 524499049 200947836 760413400 530414546 188081036 315717973 83342351 816913875 715318642 293510314 10857251 672255319 120099481 549747825 761609016 140385374 11139685 659424698 998687272 767239485 577463147 877234797 664534256 911595242 748746386 189224149 780781393 545156500 902077713 367790484 163744120 566689477 562270948 534185694 412172915 904152517 164366830 372847799 284418227 41978982 874409913 2882425 774187 256682033 972352111 876429357 576119058 419005319 957803619 364561053 855617798 837092860 354411536 867481664 342002389 508881367 274845758 357332347 432371504 265628591 69756383 293365425 807245198 225251158 389888348 984939128 146120977 802209303 543007547 159347369 659508713 142572793 992926077 233464854 920262184 973666889 118015380 267092072 78940744 224544620 479515969 921424231 745709737 237191982 782087541 782180927 729024364 519706196 100696608 801360338 971656951 283305453 105782993 472703844 173732092 923961982 789043212 983157145 516114158 288543652 470194303 344550323 369620292 755367006 749277169 294113292 548428466 960729173 43799184 886025145 237628199 306218994 967763027 607575344 790308085 249710066 37571098 856194428 370512640 232492211 600365294 149702661 468046353 370211506 135225304 896866806 314240886 257398250 56344514 547828713 49403815 101406212 420425601 538302634 410323184 4945354 51484855 13327410 645010649 694355221 168014264 797910746 761427499 664300086 48259317 471355849 254548790 381843705 85295363 272618804 731924882 428196663 339458002 280509295 132728391 903187871 239632194 774265378 63808008 791896666 909184262 883424369 759818799 705457113 991497892 914687032 643921306 87035109 969875645 189756799 701251179 660447930 122626827 437390212 481083899 953244813 479264915 620128802 976342560 149189857 821772579 276948438 630687516 645762222 704351760 178923028 161468664 405047461 156432360 298913865 207683789 87908090 25542457 714251652 972525432 161510302 112011324 792010852 468584787 182100238 194176226 570663348 163450117 332910274 128148590 165560791 63214446 959189651 513822681 329310374 811381049 43901746 810838594 694133202 846334113 129858354 789416668 17936874 940571419 197204527 196905543 94479242 298444803 215836623 607786683 694711183 74340527 23262607 361929276 351959087 95788111 53144112 163211197 79518124 114223927 38174556 404770721 776669245 296753266 824224184 186404585 693419042 46468047 488043508 243315939 346757004 162608097 163493190 54157143 230903206 464035804 809400270 483888046 579145324 382757317 509344423 880598317 931876003 512293717 781025055 546988535 74382077 915363255 465182632 506260421 495727710 879099176 731497496 795494325 403438788 542066245 244418101 655871275 865094845 475490481 866288394 539353367 559374700 298609031 423736080 236260215 724866087 727097642 191232298 972468554 620181971 659212864 996568159 198220616 720993851 183609040 42760185 396136501 360419448 119354210 950262701 948512471 856454849 649684211 873501483 667295029 396288183 612520571 173260777 162670767 765239085 64231256 675825035 76315385 80911474 155210767 926302915 914566962 243892916 359836126 236913819 490360692 263532858 689816055 397086540 183507813 315626607 356589846 389099366 434100506 600676691 866534623 45620105 579878839 706877312 364731760 83764508 814133162 294435066 752652606 938981427 806203340 105272169 192921405 983576833 498918702 986913106 241046139 119844112 559258818 409690302 958401874 71141781 164964900 320514205 322969082 217589107 174785908 581996950 731334902 857099688 821517626 35854875 916689098 134572207 457240032 795252122 38972954 640486515 95096891 694825917 360873430 437986564 841426799 457772745 16308239 91552540 105476361 824142477 499471340 519947276 681316306 264503256 305073784 913336812 118629587 433055015 7363702 165393627 141139944 578175529 198502781 436534155 74216144 854137115 629073468 494805467 854765340 193476246 572297863 513326365 890729100 703065233 550803883 94361584 261046356 997635416 826499434 207908731 52446902 594385264 296054567 750619561 12100117 663497466 114558004 111677801 402996614 131254483 67698252 113215045 764444569 960185140 125701432 864012010 307469824 445045651 515420193 715139198 515395720 503146557 858305625 878988709 185614198 17235418 777055474 943049483 829403319 852712540 64239284 575740424 325036734 134641008 901797187 107605116 523492761 91690031 949338442 90729085 478420959 670652914 835378549 555149474 753381916 670311066 217370834 756639985 789825752 443346311 856451187 892887985 694971402 300575725 82968303 597523578 489083783 305858421 491726013 193193021 88410328 641767426 233189464 297214355 987817597 548856937 803960393 237478232 894270425 429019895 586357605 937000693 169585656 62040768 369669836 383556870 431583685 528700027 713908527 95394292 33035691 784903048 59588743 718918805 583019375 448916913 995698232 41300768 872635676 891883680 306660476 80586963 119501103 682423333 145331828 14460329 7439976 595664819 664535400 132914873 531656279 973383563 672420965 479651206 28385157 578499423 456262456 628837877 50025050 9005477 403985666 64228901 459307137 826443391 734883981 706060875 867040794 996895043 620848745 553569964 303826338 39817756 458989025 168244839 243437865 25907802 365540948 953395488 131705421 710579561 736672098 69139748 31641355 419023286 349322453 67425838 520205852 770741934 717991806 798130490 734101409 213390958 240232841 903111542 404853005 991362957 959363159 106342530 921032694 93592220 18013538 824140702 186940445 15003936 24261520 14089635 702940113 317718882 64676565 568707335 636137788 739919896 487858158 238339841 818260484 493711750 964113800 61255587 834528625 134316320 167772079 384957538 390866849 195633981 449466244 17728009 208109096 800091367 90251410 495784302 618678274 178093218 903791466 879048276 450333786 291141217 53302222 34130559 428568644 932460985 399672544 20952294 717577613 17444160 432654798 665774598 716530920 58773786 99772274 455217570 230316268 637203757 325775889 461477295 666969163 879763343 597733124 294012571 205147781 467753824 134239408 938362986 338473293 933547270 123739676 159553897 310825836 345144621 12073324 455812632 331078118 187946576 531880668 957879410 126977022 112911348 172733288 38555966 289136618 689538894 929282759 791445738 631288920 576079047 169852145 217004730 268955844 432711568 683342393 736461352 917647894 442523454 126436361 788001393 521926716 639108307 758841029 687795791 719984424 446267447 668292463 199365600 943528897 563330660 123408047 423717332 388647876 451449571 911804627 768143010 989503296 170046731 71593806 646960032 902655644 117126709 387655462 906022485 373078535 167628759 62680454 843679809 990049481 107411904 713657817 242585093 430098253 572847246 26455605 356392325 232800566 616975044 232938834 454222967 146050660 935560242 317759375 594823622 45571648 596723106 14959421 306589683 464017278 359495322 773871213 367162966 138445518 173053872 144164203 952851303 583773297 495898124 513401079 413244010 903343883 38198755 661933915 355349164 619008611 495225949 220352572 182533430 736881640 468258006 44272589 167670539 7783065 857991404 699344631 193311437 97688218 272308527 690876289 642863369 36897702 211552516 244193812 509218964 530848566 305421891 820140247 53323490 544479863 924561586 36999543 395570814 281313195 408864971 592808055 31109921 689932701 652260984 95738653 144907022 674686001 261597169 157619853 255760182 331266479 140345483 637590065 338212906 59323960 301424665 323761431 985426187 604168468 966140364 155886172 765151089 820235902 677047034 15336049 985064402 30004460 326852671 154890979 658608368 955916140 772507285 582490032 28483416 443609303 741932998 391215961 477292407 672770032 740913736 577085184 103257935 919462453 286822158 777460952 618989016 871184265 13123303 930351425 450946357 435041784 592373318 512773052 693643694 152683408 445707994 66763654 315427628 125919042 791465885 787641138 725218794 894464683 169662759 674555148 259012845 177290503 895997811 635534693 410182925 727377411 711591793 879223656 708364808 835447433 401071454 622123335 619692397 806965456 607402892 169764484 290996729 973511965 529494712 757453067 212283019 241436241 223254596 574907172 933150592 663371064 675328727 135941425 248073083 314690438 682381598 640379141 169904600 553580200 569087120 339997539 303074090 153787705 549480977 157445675 347078683 43687558 165938813 649163357 203088775 651799048 824979378 404649359 587543517 723201174 654519229 184121150 565154971 154621345 619058110 419120591 357883872 532431049 178268615 227894245 576597120 76744205 544390977 84240265 573693619 101088155 391502523 717459587 787314321 899931055 693703969 804269229 765028515 420085498 476175038 534953741 170132325 248691085 445579839 608205272 902885780 150232759 231509964 132455869 15492711 41067675 878665689 457980184 517649621 382202151 66551183 402557404 794419486 263266478 603635832 247820138 115610148 11288248 832767487 594518656 866769960 608497328 153275668 256421477 143315284 387197051 706766876 416571887 464609045 261659535 103353702 121044006 670292427 543117375 579067256 351389301 398419976 926763436 604974732 91647760 570463002 284959893 272017380 992819925 159424935 919518709 455397278 581017311 225130865 549804181 166852089 466593115 449584417 228690784 697228837 622659950 222787591 730484957 652149562 732864055 578934919 703044261 63445040 758077725 53224979 46779810 113027370 69564469 206785715 800621101 575169465 440505834 10025088 499305817 281492509 294455405 107399246 754535591 769596716 247061657 641389713 21793603 674369286 870662836 980736500 492162976 101732763 509494798 480190765 87552461 834618281 397025774 974714370 467512333 91769573 145169166 117140893 658861309 828476113 293291022 200551098 522159587 374472980 315542267 711887996 166330190 213680531 686321916 639535707 649318573 83787702 532200707 182029161 550312716 508457872 306179777 425316381 616184489 522787695 864748372 942039088 266415131 229712181 713817284 574161498 396958794 278518710 708590041 630090657 776317221 165444326 760508036 791042341 616356415 569565182 56259917 71202386 52154772 479625340 498901457 672576462 943376283 703349659 687820643 580198849 106031936 259570191 455176764 342794666 148214199 535026189 353751415 955883952 998799920 67525388 814697838 132307456 265731814 360869496 515874574 528200578 146858987 172890711 154050609 91046928 93653518 849362746 864012253 668189009 530528067 820842465 109366056 902477016 283848886 4289525 815717124 134144103 533325980 122759541 405743225 224838938 68366526 937077281 566446900 910234706 218861030 862233320 79469486 365589666 56564622 277121642 872021987 331245499 721177083 642148793 15464100 407106312 151034279 281563193 205242779 657437870 400564326 24866332 374768248 208380741 760167351 113174185 953096129 131846088 608210373 767131508 740368673 534275760 254943619 453683384 833138257 266001233 401980577 295565296 611124904 672695303 718704586 322379272 92476376 833045453 142242499 729327178 270849543 742709612 724645415 371181443 945531713 152387263 566204626 47991924 650644290 829633196 842049192 597376846 895005461 834634543 765475084 152163762 952186353 119956190 312526337 108225234 390461568 287780919 134338442 754558754 869634490 687884182 952619239 306899405 876920889 626486680 965557327 524187129 628923076 2061263 905284706 380574678 964529123 593302797 593422072 481924964 909175383 722800225 672752505 244290723 383043531 790171429 314719876 80104504 534529066 335066418 41462404 370880052 262046129 1915273 959557505 389430848 251896410 806197236 996065104 637548702 450637653 264016491 398499102 557967804 653167048 346331303 295975667 482353683 31312189 942192325 64872279 698484090 534289075 704116970 915861940 309740050 469765209 288848525 419103182 277366985 949223766 199229019 29933010 914358344 226532803 459416874 505671522 66319547 220259220 32658962 41521004 816753554 257353304 57328694 821944093 603291260 361054431 9769371 107164087 950754372 365923936 133915893 306533842 747430501 571129059 224563020 60654473 607250038 505508165 890898585 233746992 796744262 138529330 907623892 50310097 638637900 626457440 211711573 825923999 261779708 127353892 489575881 135582050 359386811 995285678 546956340 100742704 108450275 132437736 688362996 516099622 907067851 167174659 886876145 754046730 168249634 137873430 882015784 978071933 411432298 776763534 658126618 947586623 45758124 985369848 17590089 841722036 476523788 574230518 362137489 460047205 845285372 666220674 247865325 822785956 56511604 598374511 829014601 727224612 570075866 557346082 952426313 525095874 347951025 126188968 674721438 362748387 213320404 762463519 169569657 38776852 174548834 778661231 228216005 855748476 497531174 251116109 271513314 290825452 389051452 309981345 981223931 495047671 962342645 650547375 327797018 406355151 385860756 550867266 930373234 277531253 97938567 283781699 616181032 70747674 686533707 360392961 809182099 102600913 189252542 610105391 369382790 764599162 665057786 870792844 538969998 327896603 151730243 596866809 398084360 954860589 46713757 132854199 494514215 434969957 830900111 993908690 8523611 685626131 812977853 533972850 806687613 669570691 927954146 855187314 897305444 113659338 574970388 192123707 505426443 564005816 204192855 851330674 548846717 814305138 589809249 226896021 417828105 489305112 776349960 784325433 197515145 473088741 40753978 985836045 290955470 87560671 684175696 310245383 285277721 539495562 811545301 138889458 845732722 244975723 646609204 633368315 83771363 94477316 70747548 9490524 588866722 457481620 2865425 767947247 991981911 276862261 792843328 716720317 751609072 537690374 234422968 241355536 571969943 400058997 228647972 942987861 800272291 331397451 34206133 976365537 686483432 78425441 510916343 142501896 240706337 853241260 74767779 505673457 758762234 231426210 75270264 911646783 676305832 746212339 629974830 552703089 772664599 145661097 528913923 899421599 343535577 157160022 253851907 756335386 787757492 465986110 508975072 410743300 143883433 513558344 975090572 27846002 141870027 602203410 272906511 960067774 176422159 25448919 525168032 653754756 966892736 789756988 972331244 724548963 25927210 483253616 272492445 566447879 193150995 669487444 169336620 317357250 769326028 114085842 22550066 245389612 864344709 712831223 80287558 319988422 321078037 260721973 481176356 106936613 53015123 68610609 719776410 82910605 938710552 769927794 802464724 67451774 802402500 977219202 154388896 231169149 424949588 999904555 173957064 725108436 312998290 344892321 264335568 775906667 146624382 39206791 868784918 135882679 906155043 518122106 507175905 167392650 77327641 680803262 672844450 351230082 217597481 811947765 540203529 371527006 577766514 878131317 752489983 640168008 604750866 492172003 179966387 504739933 583729854 322809058 379002472 666213361 51956661 418003720 656401017 375963677 154971385 839133962 608819918 563980290 296201673 13516849 912151303 136882699 586174348 412395401 183380234 441987255 603816920 492269143 98421207 421814922 881607460 161451972 836840017 175464474 295715566 9535676 116695368 142610344 32682744 325555930 133920880 128603194 886590967 282232027 210496447 76252263 204275075 701611979 382492781 37366268 406612316 330559182 741426109 876207378 27691259 335940493 421575884 406242740 902458157 103589786 52971265 206558978 120063311 530985060 925056000 83337500 286390462 218896396 927922942 142620571 871395191 414256324 40737026 619887839 300226511 906270209 420207624 402794282 423176940 45863977 720047747 824828190 527243828 317270660 302437431 152014313 191663437 73973604 875882400 953910343 796685805 544083891 346888260 848756008 283635633 217998141 837041835 519003458 831696338 311631941 717874862 7909703 833478376 84559391 194296926 329734798 514906044 558286239 489897042 219226042 645558177 304130347 977092488 333613683 359773012 36409798 367996803 65994487 743250804 426520148 873034906 308998669 919614647 117812196 923838281 170304397 492010700 546072456 978204399 723590426 597382617 936375035 397093967 820560494 376643154 301963428 960587509 544803272 404724519 32784853 236022583 992056800 682163478 312049166 530925595 207320896 425394935 747843788 744172653 849512596 12660528 125726264 559366421 945951757 307523424 891784101 790266483 281797435 827288100 993886008 175682711 71641424 752679506 175460305 204530528 38371040 936917981 383801398 901542233 935008359 937270298 519389418 75839118 602479492 454827098 755958754 253651050 22645881 395478211 732422491 974530309 50062176 186364028 348864043 239993159 806059078 375805227 847161532 897063795 589962381 828239073 121289720 942030681 639817184 780536766 656608219 530198904 922290518 638784141 193260919 86310736 749098841 785362855 950743786 501340076 448058267 980992088 641271364 125030291 478244473 11747873 79465794 256975490 251606822 194795286 256043021 659596728 747920625 944858586 640341311 550551498 988665550 868534616 536672814 954170115 300354596 79443602 488894301 154757376 424150844 23078672 578756956 751631373 304482865 890570488 786198163 214246942 301664249 915603230 258291428 78957875 859321972 53079113 262467299 860377383 181222981 740344896 612492565 605468802 1766361 867715226 177722169 433098472 105908431 530264858 317275716 978765744 451050715 682126529 532642596 195562465 681137537 396124763 902137867 702777090 968098276 825848054 568683562 277494213 371371577 516926844 405960318 102100395 2829732 918926274 847102566 944199149 188674923 388933811 742962062 630083811 358965993 382173953 179992172 688159587 718601390 496303929 746590673 181004470 574944146 563676089 885280888 74596408 892769958 450249111 35148975 261833429 336896372 395542351 520116322 273888944 174987759 288805338 505323217 245310456 709660620 613249677 602747100 284392924 380859471 166865219 366374608 37569017 916461578 967037655 188431044 416116140 31507333 637595121 291199562 500746068 763170488 838303884 810829459 535208143 45971611 965700491 717257296 929960713 123755801 343540106 766308726 959701286 22454326 500947042 397007722 82257312 317689708 142308828 383851297 267595856 620749854 867729375 81251993 369507974 168496955 577755417 242335183 198028433 293056293 358865922 76616267 702615165 101827314 434042835 520295334 858604534 997235437 360430551 23646354 256973242 410076911 181062235 202641757 678485692 423340978 69208522 8276537 435655325 389212868 76333016 297380388 571284549 453320368 319128246 882370062 135568430 767875541 135922228 184297139 88688521 723654244 719724171 159875070 567343834 941699901 824186124 310745117 775494949 734509621 81893562 385923957 756881273 670765259 109105808 699131551 866742844 108147594 210854380 601269447 759803376 732874653 264465752 217200235 414727526 939504904 232494081 282715660 549109356 843759546 974055392 166378659 638523090 481847211 135247273 296098103 34112876 378585587 443232048 124189359 835220584 805640540 553308405 749380219 358203212 114066563 28978973 745529876 514927488 550283807 989459931 358141692 545032828 20048277 870577042 95412012 74588130 634612295 6397882 438414640 781712658 414728233 548727295 865089326 874671122 166385892 717768528 515806157 276604168 325203780 319613440 569542788 173677326 213131047 676698711 844467431 97865503 270441034 65465691 811502009 476440403 270752162 707419032 654016992 315463053 253920573 313849950 258383705 602369440 162512404 546049141 516789567 948554990 737101220 220145579 308995154 336514423 599092030 838420230 254127810 811333883 822621816 929589438 185465321 440551690 939139262 184691970 6284438 503240969 512713276 186678785 130294584 259519556 447817528 179763068 979034639 254309760 826981512 310094400 649345742 956892580 912331141 878469554 108175317 693908385 123759025 948620281 105387118 498395302 436430073 508886568 220527137 213562346 861751870 609972727 675092877 355671991 146396367 210524298 348765705 401500592 321012606 501438653 998532803 325580999 550089328 487594970 867224171 360454866 740263991 510302725 559871109 597675395 875055965 739476711 500378872 839826168 651812032 473557468 277329846 114278713 774613500 64874324 368421300 702911358 371230447 212767863 641818117 625318153 508562915 86723101 649142965 420469723 466676031 149039154 754877021 527155397 949015412 689699669 4106966 229155383 927935656 573075071 404163204 357178921 118947402 914721197 419480481 486157590 655133907 733101226 239592982 354259720 840506124 513183039 629552694 363379323 136445037 41189805 39663382 678921726 868670069 20684909 282987223 520581561 690722683 123596069 551575247 604589480 822948646 656650418 258971339 132969666 319952451 31329112 940233321 990681374 235925236 776846130 77774972 848596129 586723759 677502534 473280160 797372613 293669322 731750661 733203668 904135852 9912129 955428863 959456382 247113737 888624635 207403854 278047928 213877260 209274206 142776490 721845499 135222368 165268947 977440297 796793422 454579568 597395283 89073504 919097670 528486335 935521329 199853057 670608402 241134073 812363700 987461243 193469985 607655939 617061001 273329019 874145787 140701147 173826828 593625264 372603627 695843539 482834448 913800646 338921883 322879656 186009146 326000273 911460314 572071943 465729312 149844241 87743550 415683903 232908760 317567292 448430097 436402161 709126472 528812212 710972920 319980112 624086210 70329210 35733619 830756781 310872760 546132238 502903743 859000900 286301392 293756216 98677242 101260573 527603522 525406822 523421417 9454006 469584066 645757897 543295542 531281273 47596945 903931428 399032814 595097484 872305876 17728379 653241022 52826091 623698327 309648531 107621587 288418919 227843108 306604007 319478513 516815812 711945534 233538168 419868778 968287359 562151865 432939665 18923197 297829618 192293491 168317908 636254913 271155910 581066851 564183708 865588706 274045019 572727699 430312097 652152190 881600475 671549390 16096765 65128340 721758348 631321009 993754779 427482228 736020784 260031224 193855996 156475935 528459072 841019292 909820165 539972120 525089992 251716877 370185251 547486927 825742450 78236412 190225230 622447473 782143829 575844878 46111753 580338303 39108725 454565993 883732316 471379257 561127885 41354949 414555000 868357204 364607564 98447064 608578278 701541495 748697799 80464690 807725208 718594064 660203476 248355377 546461398 80487890 414319495 936493566 389112015 339186838 810506475 123295149 855440871 606354597 940222508 136714917 105451192 666732132 174415921 73194998 868463510 545328999 966947498 670656031 41228272 424089679 765522470 28525856 445879659 811695100 419680083 649971487 879161287 682606847 812494697 711579314 774498121 639647231 744018093 235136462 838538943 628055312 914975575 585780118 525928973 860533808 651633767 151954051 425163953 228279817 471870720 251552153 122056445 296447970 327374691 163549428 76212807 316622293 281369371 860425506 922484699 958549005 857163793 440641382 222653541 67253620 646178440 749014486 45551341 957055282 394440693 822746304 359321156 99606049 952112144 584050038 247946909 7557727 111461926 361809879 976843089 341790293 107745215 457987939 524786330 182554675 754249352 827117309 677754933 982102594 9867277 314045906 455724025 597752407 513581051 355699793 735645681 380805404 654856984 706070700 139195352 764309803 671216779 561653363 870145978 586804362 343512157 458884466 88250248 571931978 708370741 71352579 536166909 910515787 200647654 776251807 215129436 654111938 850458385 874641604 238917684 462246620 476826362 301262708 185143907 705117838 55446620 410509764 902452111 555296589 998572110 50534900 708615545 200348360 545638269 80618836 848157445 64682167 637502057 949868449 464777300 485451620 8479386 417230209 960801278 162186703 318472524 328934123 845511545 553083374 328115013 140123341 778542118 602991001 555586978 753605672 316409221 937323022 765228841 551239427 108764437 977909705 970233074 211634879 404837511 753165588 148212086 865162596 521979611 742068797 253782559 684561249 688601403 663358714 503369641 353810548 740472859 730023949 234784137 401950184 817361250 999529601 297484475 769821548 539621888 189764718 482776258 825607420 193399988 290012486 968479665 740840732 682440435 266036750 281257638 460457250 352062889 19376386 16301328 149974869 338444076 37521550 223326315 716325996 377740248 505360967 158898534 805716274 378751973 266717636 798098570 275503518 429833365 593622476 536700799 52524119 483475288 347081610 274720894 312434163 373504205 205803180 43290032 56920888 601274330 743110043 302248524 610272544 289380026 682554878 35715985 236816830 283979318 497269168 211245277 766563948 233218183 584491911 915689989 13521172 170858113 415501979 225010619 179697861 866924675 319374215 144547567 223156447 322352934 530692607 521074463 980815060 315197086 226556581 519958363 781746018 325339009 253360501 128204283 363656280 779429159 425296578 852235872 991361348 525425690 915399642 597835844 49007290 238988994 171659995 93298250 150216711 201793950 912316364 351095555 457746446 514589258 69891827 259619130 692458293 892981898 504451650 132607190 587718584 537404656 545719974 477559446 395942754 683268817 222319293 757517604 986674193 368241909 793827882 225454310 886231937 684555293 43284701 303186706 245349025 89490366 297187001 253200348 45223854 82911987 76171741 113105016 39146297 134092233 286998937 342612939 651980711 203617519 234223088 813387779 977876303 701776748 404957529 994380782 444805011 341709272 856945442 36533818 939520421 408746414 778506155 681666601 595804573 436210468 380060705 580314169 47769132 60311320 503256485 668775600 243881334 382832282 216126157 103087489 954898728 30368739 803485680 403039316 473666652 593459458 898140227 647849718 823582019 835249627 904874892 776899989 319307534 10937000 983306498 125025626 169041938 546773656 808282607 377701920 644954112 77421952 284977059 330883135 576955135 846075043 531691720 397338162 42564783 753992761 368818867 997414839 137982250 215868769 463797570 902952790 711089131 924426601 963046667 368648721 26802178 188292198 331303590 570648897 341070688 591637399 530511020 476681066 92185450 44261637 130068055 246137423 96377597 370554752 590424055 842520694 481817486 903640123 65856577 481079999 350661636 116363554 592825093 572123825 312429408 907450839 171254905 772922739 158010096 21726018 374026803 343651158 20892263 189324620 545315099 768512493 726236957 208091226 401170026 614148296 217419354 740728238 918268209 178029182 113422450 608075533 384663827 386950257 496986354 864979864 664569322 17655070 777915802 500000216 574865903 354597193 85014181 336253730 396557393 308159604 656406244 409581127 699873045 973858158 66762848 292882110 939807493 962019140 603406097 888575029 590263694 206530132 252867340 878879490 351976367 211096187 327086596 168809093 280601568 947868842 282054040 895658273 711388212 663910217 259173400 455310513 196384339 870919384 494137749 248065590 247354319 810061993 972991072 958364474 347047042 56117238 235137116 360793627 168611137 261910793 667468037 60695115 215294901 460315789 873118702 859472466 77294 448948414 332639105 261452062 25676372 713908004 930872925 44655656 596792010 256399371 959033446 150779201 298179205 255063782 87883427 538328433 925697096 352711015 549790931 52940533 816305428 147164081 434334898 492701658 384098713 117485938 69861117 912561790 976825744 153048539 832653702 719382774 242025951 309254330 51114736 976074771 286606361 90929110 834766224 357056537 734312634 253536651 586757838 166647708 731757684 497056069 601831045 272762028 176256272 251944213 297541776 946679221 189258002 576886024 53681171 255148529 795169774 263941932 185095349 865363422 87141702 610520157 170898948 469098937 385968152 571630046 694551486 914013759 917327338 676094996 923890205 278306837 136640101 636622811 765097200 485609701 945743572 437831750 963787929 885474326 172600741 476611614 7436415 717410263 731881552 938534675 150917458 174966259 635513650 603656033 626775833 1502716 103434757 72628665 971011275 764897628 242269560 155004485 427133446 757760616 643295950 315857645 897011392 243460318 66660061 225228091 957291055 474210874 250039400 359175491 299012766 570988887 890566698 280557075 65549505 794603657 58167638 160301755 315718525 51968518 276862222 50598581 947322072 152231392 526843128 718008606 321135195 790636426 803577381 548405071 421229867 729216881 191499304 314379111 513200653 355028763 265401638 595854878 602491914 46434126 339026086 585084101 583391199 138193955 520763421 465463212 92906915 156361798 805062786 611295917 656408143 490488963 252893843 120677467 869441191 81346495 216787040 443347071 84416326 608603633 141728997 296353855 723738904 575551263 728638462 95611861 328936769 712405989 569871159 822444579 660653225 260477108 428431160 35351117 14731398 17222786 777231050 782667022 667197525 728853060 345671922 255523926 318705457 185152616 192081806 783803816 427247136 718574118 145328557 754138053 554590637 35726726 162022373 402204935 702842786 331563036 812122147 99529496 958511200 384724971 191547045 770889480 324370196 171821419 607932467 717910681 656413260 689822488 39437785 998064555 619203499 949939590 611815053 476268861 521945892 18654173 234818979 425226134 388848799 441213470 700580549 970389259 701535068 837532426 70626239 453546979 35070857 260612268 771330441 384490237 829420793 665314922 423520764 190948506 138831992 157053400 194252868 173558775 631690157 787637434 664727029 804446023 207909314 418139500 207600819 968240621 680769089 500807367 96315794 268625513 817466417 711750950 648984368 323852100 93617656 995958292 947276053 134934467 850540622 762404750 133588020 510960896 88220218 96447756 270914565 354875342 928487059 986855706 377750106 106359021 926301723 462069375 663695912 133703832 579158067 65198072 506850800 368725411 84699026 177087888 587301488 44042097 175202994 121830944 783124810 662750047 30575425 862340917 353938663 54068350 639728951 733048788 60616483 267608608 554865779 946102643 511591098 227505938 301714200 96757482 206912754 65663342 834633017 814946728 186563399 764977248 626797174 9303995 171233455 396656860 386659846 440237390 223081868 483318102 181486236 838959688 444081362 249078911 695526426 374851165 994389387 717160145 903671861 101433831 357449939 284911315 593040784 516328366 108701836 296215458 620701105 602519446 79985774 947305110 428458030 344211180 69073361 877146627 915614482 42160391 802278064 709075615 738828653 61516594 957615873 551706325 447449057 991612939 886736918 901610907 696294624 946148530 993810027 187026669 333643937 265085630 816089392 944301952 424056450 327855987 905263730 987699027 302245807 439075677 515660166 646224025 925050747 658405481 528078992 144621319 408602199 663665635 889011885 425400622 858646645 866542611 897841535 807741435 832063033 253031781 704480729 59343587 947892325 628757917 275241550 83347764 494586256 541675116 995945080 897539653 231453940 875224260 492927126 878426644 934866682 940862560 895050429 827075653 666167271 229813342 148885271 991745257 116320504 835587470 85313882 627401446 35990309 332974992 229271035 209453929 489855613 849184644 849471313 317607118 413320203 50072400 662266631 665010512 372986223 514443714 237007794 945078651 713162489 253868865 942826204 212124858 421811476 629280641 530471068 678388426 986476842 215043959 164317593 53847323 346564979 389427565 67147255 833636781 403931109 284912472 675228585 761983255 622536687 474923056 194448797 393529857 347452448 147730094 65737468 17802788 761692706 843735682 988143085 332283093 955102583 465936297 496222671 520877749 543387026 350139206 912351747 535161402 116889096 777280645 306216046 794006870 568725734 516089504 586944465 401771304 838062181 52862556 885490748 992667944 340211729 582565170 612609143 789890007 918732917 522187794 249634537 334714827 779798228 536215446 104469286 551099955 112133515 873470326 67476309 899996603 9043002 507123872 895977721 213065100 501951673 706045910 47049400 712565374 821604621 547796722 537331234 719483806 405460507 884462418 778023590 656917611 418743385 508590642 57392054 223963196 204090275 885320595 442259496 159711592 336188581 355304435 350226728 906678449 88368724 683858898 118819566 640789314 854542021 155783135 590640311 493541120 267471943 401864139 821546541 229834136 720699424 870482772 33981209 829687144 705624903 289473594 600200725 700559488 414124184 340713440 58996325 34889343 481532477 143442238 343390320 275792741 781660940 21589029 24697374 133498156 808087952 327671015 494303355 158286678 749852441 72384412 489427924 662618343 365276403 243498928 800266511 455248401 296131742 610577019 43774126 853102824 997911538 729455180 196043667 572151876 250174188 51363811 113113332 343449537 213039846 866315904 524443895 500938035 882667550 288482696 194419169 219449602 18266399 686588890 886765728 349033719 505099844 427888946 972633442 41204202 445149415 630809560 48959807 969757369 121941104 797883055 635564070 225352628 399432267 775371760 503315409 198898191 66786942 215833413 822551854 988804164 498753630 236584997 448349060 779341410 543158856 869647094 382099242 229715757 460713853 581488586 33647085 607560911 331560993 990078569 751933295 922692226 816916334 24978175 581149957 335444659 90097038 356556794 181073127 405781177 704339566 982529893 51859549 618345733 438170234 720111637 61792998 250922207 653123039 17090128 590524321 874886290 180683484 177082751 822554090 884410720 666102313 998475614 172689833 307731837 554592935 201468871 765714202 348429491 701553357 966350175 722616540 930274515 5971742 140920961 219558993 161142847 293911977 97784566 286707480 506067304 18686849 679021830 326317035 535167509 453551249 664001904 498390273 391452462 950615528 949133571 847107883 844351458 382502815 695987012 644051023 900453066 846676951 692294680 270433670 210858183 280935381 979305647 314127116 673982066 705055892 74150406 316608738 421438058 177378543 169787327 534076038 11563075 932661189 507170661 289715204 490194172 638837668 977331173 429938869 306404066 210826719 752052564 189657366 151650965 153153662 293109635 691030275 316422191 951360321 449926214 573744060 170668965 37571670 464088668 35737217 162238283 319123409 856318884 737799132 643252909 949184214 465557912 982934978 156455547 20160223 824922640 532745476 432338912 439902276 564265365 588425682 37012895 208033285 2610276 508322806 179856853 494781106 317829116 505358388 136446439 170526272 703492385 915795416 899975883 610206756 352417393 419043568 758636635 202594312 41853522 40670938 422476587 25483147 660478469 20326176 26775576 377202823 703538241 853044819 871695787 112103306 832645886 414193604 113441710 267301100 837955824 323403242 105299132 657054210 787516473 788956858 783631173 891228697 501439395 744819627 177353669 508053632 106175216 798290486 218233796 290677181 96516730 997275284 783604815 951533271 724355994 35798303 709015361 59961391 868787769 295043307 898062161 743261117 822900019 377222399 555700250 13656086 985304145 681985376 71697407 834561725 766984127 171903443 93153902 890141208 922306091 46087467 552268262 529756543 94902014 936709024 704788517 452393836 310619688 476668534 727018462 778590842 557938364 282255377 651034538 279317449 73484641 268079220 49388804 91535155 161098458 52947190 857979039 882409920 823436012 608895775 50850651 692491873 948728833 266872143 691951961 958462951 235595230 441401151 638292098 54575364 867242153 614001745 55012998 992768138 110452647 119736780 968674094 454026199 229061271 595961795 277097623 613306725 358498152 253863293 802955841 477183331 312672184 132918870 617775114 772216024 559955006 575776977 372713953 3801910 132641100 293706768 156615488 466500855 563015051 77434161 312286793 987794757 422817752 947653043 263312188 974804227 746721186 296017534 756316647 31313960 749517138 869036907 177019169 896144238 648887100 82988915 638362282 215777373 377495467 598404033 101760319 210059214 276574973 712045007 835082458 729203779 217968755 674626625 862091646 128865504 993804047 271637746 677877699 379145063 708258073 239745139 316428408 246804994 887778171 698908809 168620869 307292868 312739251 110405164 322264010 61880953 477867854 277138807 645630425 928846724 762687013 400800599 187861650 414343900 823754089 634027375 705629480 363275692 576688536 431248493 861178231 52089115 223460729 965851261 96630556 398946643 837293206 660335125 748953433 934508188 385765325 129437428 832532169 77915320 769772854 256678629 757286091 924032946 640456609 475084932 611136619 978812666 263929723 113673608 834857628 434641300 473231081 185236160 463302293 955415585 687665974 403102589 208958096 185407089 892150956 881937733 827106717 891558112 527123452 144783244 720940484 603571503 416433995 140438436 11418388 207453915 462649868 710860482 314067911 225490537 707715041 736643 788762708 459717930 796719047 810700654 878688336 801535079 638161383 855883426 538161606 195447373 111478486 840368002 723120335 927635128 812878124 272722976 533991521 245049434 697528386 19701523 174363083 684925823 99037581 847954500 255313246 981474564 812836137 258179488 376431725 114000385 146507320 113138188 28960887 798442236 900787276 155750918 15554391 30662747 480880201 304612799 465117689 591388644 963194799 556559561 271098602 921777541 208855762 944760324 361641353 190089096 168306919 348729909 659432484 928019314 201382575 565727686 664274743 34017795 29243212 194091833 206382023 557533332 32528225 488098976 807458402 835979172 127903814 330588025 462043622 733456373 836012862 656488453 453085749 106264732 228333054 576182100 904614341 77226894 894157582 280325818 541071264 220806167 978431773 150413973 8845905 634289229 889973719 220282427 712451484 325771780 696920335 146796633 344333944 312118553 227190941 155426211 27955244 654612930 520822397 633164650 732742082 700160503 792107743 409789011 65760402 819736794 464578823 82799874 333762808 312140402 463662266 493834880 618325958 738350117 240586610 754295588 200409361 680196000 917341411 848378502 99983780 882272999 631420023 667705722 892591215 293730012 698538390 205350531 608908663 727279597 203689177 823349819 828953000 224951804 638738110 570381428 559345991 35322523 910958766 6180786 45269833 296841564 637657324 679512678 663618997 36685452 55522708 542649208 732385472 287595246 165745385 484938804 345649379 188018384 725186043 683343549 596388307 470613539 747238613 90840376 838674251 800651823 852357145 506589187 408311995 957586623 165892629 363929675 11338165 958058787 84737683 966062149 551590720 84096924 471107892 295853792 364893224 422158514 50848133 509098136 876869907 174643653 262038454 592052904 20980077 100389612 789504893 916975725 230127647 184182172 57179977 418082478 729555769 172583666 691124014 553169812 897641027 457350828 433793470 799632623 661328165 788190895 869602568 763125475 628872195 977828178 225213080 29260336 537171146 845112322 657771580 924366442 217270535 224760788 151544208 965854107 161476277 904898907 655858801 726483774 67625129 811465283 268618810 632376094 830756698 189390239 203756224 25900931 219069353 124796381 879064485 215896150 294871192 141163039 396802004 41456394 676674998 652148830 573797030 41629610 986485968 641742891 262105417 196613488 815916713 601925296 42588218 309887833 829833580 86149995 986264686 175443465 113013821 174876959 980908070 944082633 509740521 861266328 182388065 540896769 409535154 148421351 709189550 675927742 873030727 139737759 854453846 920285466 731064953 132877874 525229815 260035893 685933511 555168925 601653827 370882237 286840581 403594033 889940496 74685724 871763967 843443125 518717502 128863339 466345430 403099107 57544585 547388013 932510870 337567756 110478474 622536753 514829502 197899536 269971335 389594530 760983547 185991478 284059692 639041106 684587271 560674925 558429831 429008995 1899767 862155836 288119546 383196563 16227434 254338978 537524717 958061151 290356070 4407652 563726068 585199460 118237209 595719337 510657818 609453826 285103530 814972512 30307690 601502096 646510535 689673761 965785067 111127391 607784395 558089583 305866514 720059936 849468508 806363311 712820493 612051363 763450272 427437271 816480123 72506586 210784773 352407255 663593718 189072024 200811904 457083429 130281851 154254540 395812464 666100829 620862522 593176660 156386326 12097456 921039118 367166651 726953705 368403729 133232648 525813401 11869522 58328883 141904928 763575109 581269980 996683518 802379128 312833106 575880863 272892833 540328884 685470503 386332068 802226051 787599238 896744147 490806513 173607261 840379377 853789104 792223331 290343966 304928628 622487582 89455564 978664290 247005511 218204599 747393633 892493882 107800927 747066303 441823305 895627458 547183925 427842642 34221910 377141819 923537731 288931718 778524637 803043002 193800866 586414914 513189438 930201194 968908398 388843723 893682839 181787654 591936540 570623751 506493354 16814419 79948992 33647260 881983667 163804201 710577804 291584914 685594171 57269793 499299476 581107830 169387091 342921897 764282014 779405478 29155730 966007108 196265668 342850740 350910181 717593463 319161669 721685092 496525299 553291047 272769237 394038050 431873273 617651739 984661337 890437248 740903370 376778055 748542343 497179536 668650323 206655587 545165131 622450720 55207959 457950194 339574559 570328619 572274653 442873174 213409423 241340175 197810322 987129033 930175534 834722135 15685038 17549668 315494353 667688280 650406943 436984726 437959506 405721694 568189993 21694909 434916269 421664889 168634989 7480919 766864788 211515904 470824106 114933209 680253501 229848830 637474602 835085262 334524083 539945027 165877628 606329459 267153339 287706001 304386086 906543134 978846141 708008362 554564922 499746986 233244381 241992571 695883734 902192235 386091384 544041597 159700946 307397373 269820977 734057172 256935752 668186110 393500684 241415084 77788846 93494658 414129848 180788575 301287757 226864613 759948166 878557000 743456115 175619471 194264961 994234364 918817589 926997312 208318199 382228271 909264764 276939706 508920236 367040574 522439031 347654104 678554176 34175781 985514780 387407239 292638807 852078378 374799941 353511705 167210221 252967446 950278325 32819901 81578641 76276681 812429414 899377463 103731523 909247843 769033667 199013155 883808992 780197011 274387638 586521052 20970098 318730728 763369341 108010545 560487401 506059580 1108369 184576830 261329943 531199011 883709036 37060200 113843163 968587583 360855796 378554725 443500344 590577805 732626444 763619186 167020039 320188357 972799735 451154675 694014566 935902711 436098263 937657952 278899723 48994663 129552682 885613667 882326694 161504232 10786673 382364490 381701841 530379211 561156390 130694201 374879110 632725040 62452122 585776844 268935917 541251481 422161137 225279766 839078653 238500807 375256628 90814515 495756595 657205286 663252573 140755021 647571092 472145033 980467319 217306853 192943514 745987295 493568755 657895802 546865167 602652443 293264442 48819053 536295531 742112122 135503326 637983527 892942052 314577919 79972281 599618081 441117150 834946713 602380939 99708730 226226322 165492048 827507130 356993275 246236431 852703331 216538587 698084263 246552946 12151977 144888751 779531290 645894009 184676089 576537875 830019619 44445490 870475670 138005659 737680985 30311189 239313609 48382556 432697425 83832467 640787678 165821761 789485250 720387179 133752676 811926221 488301972 175956629 302973430 488614495 222833200 796848476 604793509 461673035 81116966 140931922 740098796 103790276 241174447 963882795 322990638 205698160 839623996 574810455 794229637 276258512 333466490 802490489 262334053 24530402 955989037 346061847 515947363 192863924 956051284 725539698 890232929 483710158 982496848 217286847 156393068 320940443 708379936 21497379 812813251 245661862 765630755 827016948 195888299 592240744 151732990 951487999 724246887 514025570 810010747 795066048 93000072 151588529 186966815 495747133 189536100 608600613 719570061 997818223 795528674 786989708 280194883 710778088 534052057 920294411 944182527 702953704 240937293 747440220 280743373 599733474 195930607 905832888 495598750 669878601 517842036 583398271 588556354 174846282 666124713 125611639 192374231 710681567 858927221 251807541 514677127 980806530 933071448 693953264 45515241 229658938 506426855 822512104 218380035 225566522 440941918 34303375 126500109 64993956 182238981 803795339 489579864 424060820 277689876 571643559 518387408 915329078 522750870 90801487 756630322 11582013 416319767 205078080 179730161 45155626 350843779 693310021 286301120 371516988 353501750 671573670 64752342 727047755 906071408 713524741 633472815 4786152 345599656 348156453 765743313 562335876 693299382 325774176 993728975 203663599 319143070 101313061 778315539 658318382 219240518 249235663 33353774 543056737 685338625 423842263 271821651 491107010 964019451 913876967 298267776 678584414 646452710 934151651 464547572 31616991 56364212 925016528 574377305 258906195 40648246 415340499 521873818 820825429 123198031 50801761 831094916 800991366 402187477 185213980 156233997 534785747 546790721 95797251 28768450 152012453 32345505 508045285 158271171 423878470 84177875 568037288 85230904 839845938 150079640 598886669 447142689 244395954 490544645 378460110 768246376 426206711 653191631 391375884 651964629 646778802 433491073 848611110 722302745 182423657 138903928 405494598 780868016 360924732 13426223 560740908 737937955 611848772 5568341 652099982 531065851 223739868 419820171 931735974 114374936 774618577 570148481 941530368 71192723 117647866 222051597 762141612 4120592 947275596 888554243 155815508 654532026 217035317 682826207 631780060 658108067 109660214 750019370 455375539 593755748 488247327 368914030 258305275 969960134 927298169 610494147 472999149 958391732 275438388 895386830 180209262 440713646 372178881 446101511 783003102 132866304 635943907 421479870 542303015 23312053 880729343 14014612 815569047 654722559 616743535 715356517 687807359 21139540 380093806 918512360 485229692 234505091 555392636 269483903 59866478 980704498 851138258 131728264 256299616 939503342 802522527 294912990 910878200 760364639 635388949 197532970 858134870 852952401 5922862 463650858 831680559 388659021 352291876 98192492 817297221 286460898 315422744 529014033 340167979 663063775 849689755 763515122 978940459 402691294 975028725 838840865 17786045 441390327 230492688 961984492 511643047 693091030 245605567 144950820 16137828 658812932 727032717 412444469 514516104 122507046 141160741 189983583 836959929 536005786 69529369 996499758 531043189 462451299 357235989 813126597 48204770 32392085 77078322 496465597 390385202 405062506 349713321 284496855 517156333 242038701 410262443 744871228 650085489 418411985 151975807 550663998 532790766 582213692 490775824 27124493 236762825 343849612 126043410 204498654 937625391 995394984 594284782 927923975 761740489 484647906 226561851 202203702 328216648 460234769 590208401 190435735 111521543 718521315 928217534 106009366 737674181 364018444 827207305 910821920 558289215 984955288 53388173 369404860 849234879 511243636 23418644 17874771 710326673 39986992 640970806 595250015 705713072 565356990 1601419 561839418 253190414 640854495 304617296 242061703 950177141 90136574 175828434 383638543 379853763 640301135 515101304 314802545 663270577 774481037 337722554 59386895 432675237 208422313 188204963 882607220 103465553 766417697 603404255 78712065 251142230 418892915 142601380 635757282 852087249 699280908 35064651 408847971 946798187 893659129 436252350 358030802 209064844 145556705 822816388 13183537 730657697 21341477 746570429 459430960 714648303 186885279 17654931 234850671 675106240 220970716 42057204 549969643 138270446 645064325 174484978 492934099 575673202 335329150 618918283 925485899 715406563 307863992 991136960 113342749 208746782 611975885 378508413 256875741 313349443 437782967 369779494 49298931 645140687 468416369 196164142 909198927 668271101 278968950 390094085 928621415 241151424 861613138 342509032 994020670 181912454 740292861 126237563 718039712 192865232 91398874 711272786 748743770 206390258 232202813 974425884 238590195 126550294 196282745 974870881 730222339 991424127 237765289 263066162 5247802 667033449 487338002 723857953 642107209 78542433 934585157 151118509 35839686 31055088 63529100 632835184 668621668 760216748 21408427 55720853 367674135 297151168 977808343 599155128 322923285 870471127 482545546 222873300 114864789 64031334 93955594 575038706 841313072 693277661 214119826 724948689 497861739 727919299 415541146 321102573 548128205 756028571 642965246 602388439 346481834 722685695 473393884 870766175 203712904 4325762 178880984 193384196 467162577 675383390 371127579 175656618 1034104 389358516 293599929 291813254 695145486 216674115 585020530 797569629 520579801 138190913 95644671 777154732 285131313 679692032 107578869 783206003 170065464 910168659 900036749 664799213 93120479 788837645 923087748 432657482 749943187 827731857 590309576 91091544 499479121 180524353 876424488 805156928 145655787 140399869 771721358 566982337 291870057 458582978 205314267 344983895 818042424 648278807 994364686 898937506 633276149 305287390 130753021 861086327 576694913 373901867 628148810 239637116 750273964 644156134 910495483 161219440 108886076 21457803 109994926 534510195 410497083 617413888 105805567 430770929 401462592 712457040 281819319 273297891 19182514 75811520 999602119 801918663 230526389 26903365 124356814 259302900 543643273 618113684 572219675 620697045 556071068 711642946 292910078 76202303 56772287 221871144 696296757 870477759 428831111 696909619 959203869 285312260 762593822 304971905 728645728 925882982 135256471 91206896 614502862 926219337 411928382 812118621 647013368 189032057 876460396 73931634 957087283 266574450 37614186 414980603 839440064 89316372 861383884 348523865 592023297 273316944 239686377 281966261 621939366 269133820 427117173 225240463 575378151 734938581 202551583 95618502 941162085 599383108 466731824 924199940 113603565 359879721 926198888 713222999 647056933 508915785 695293105 272700601 438104362 918449631 118163935 757632653 326125562 630488544 44874735 695166090 998025568 320683117 227900321 633973010 891025076 354347342 272702295 538896906 675837631 857756847 825576866 795679787 484583833 739515246 865705341 330113173 845921449 381446186 274394245 475109495 658761217 240753049 135390945 139763133 19304614 181426044 558178827 771289655 24182327 192612858 12407941 449507697 405078497 28337390 250329880 727673630 408191807 833750121 476689127 71951052 914809714 763424610 62277926 413819822 188719751 90736900 450487848 460536840 749634894 800813374 55452268 35796723 343501875 283167562 353216181 891087998 69760622 983746385 943556562 537204705 812576869 982585658 433893329 490003906 583585123 531945149 256938440 125117639 163874695 891583588 940904565 749276004 810527784 61476186 601266019 566414909 877363592 92672615 249592535 272740195 8585926 143879618 467483343 401960026 447574680 972855904 896622976 956793181 116324906 213161635 797778169 268966692 839817741 621418835 741906186 621781267 254322839 390521216 949313924 582389478 968399780 72942691 639908717 879810826 543499332 248299604 248071308 255790751 127121006 63597602 36051550 880820825 709158063 605408042 659028058 949625659 947673673 827523782 251440102 230796547 112866512 93881083 973740300 12852862 451078401 622293263 237524017 588930971 776711257 219290666 161215765 103788850 272589843 408000142 836422206 728008625 438880635 466958183 675398101 470670151 346309598 729483468 723009950 564899166 751933378 309501128 982435563 913686142 264143374 202327307 283934808 518374680 676519137 892640469 884107916 544826346 762936165 710610246 204863630 457875240 356538450 469240260 34751280 617204526 843511103 470080269 881117010 45317585 546851199 744664770 127933858 930989262 692541250 479464595 977587690 963648023 12961532 557253152 830984778 158198418 464233273 917225091 664085732 761013721 571173513 663763579 252619051 763342026 28174987 359338529 598107686 284495447 28723877 59284672 587445177 193942229 167713776 933110519 685191438 960327370 783445156 124243998 830809253 919347301 348282130 332385771 396163144 77638368 492705919 635584748 75317087 532196021 72603823 322138972 127842071 104267161 2047736 399074177 553786089 286261480 206332151 331551892 660550961 253493461 660540102 77529310 920261032 909151012 170962652 20282124 187984252 390791301 455937255 4615064 781857184 123929765 450094953 123029449 163031948 880154599 393640268 575099434 595774629 309697294 16198463 243570427 103511367 896176122 814246814 68778686 877282117 718823007 200635728 273483744 426056803 641298180 841843311 105165616 141247754 819009707 704154325 576510591 121120996 656103932 925571465 807133017 26092735 530676144 425323976 841591899 131473385 90718377 40557407 122928658 326461344 814311534 862531847 852947313 697844809 477800477 357186497 326633606 156566087 529674075 416097245 985189450 398380020 404188739 823859925 350493892 694503924 155004055 553702007 740731927 689686851 934159547 599468467 515986932 98493617 779823657 286906633 623062219 372775259 314774662 154399128 676826424 829864704 996714081 873774871 512829676 660443810 379869765 305433186 629674911 171454240 368805493 807888156 137498974 217389754 708537456 549924445 208293753 208870279 315842416 464381200 586748423 989535046 906312049 23518385 718679239 980265415 279727886 707224210 155484319 139600858 200102035 916754720 263580153 212096264 256048050 285703612 128741743 44779017 418116616 53585904 197810298 584473190 96574584 511279006 270645537 354937440 179382877 777582671 777143815 70104623 492271161 142700032 28588077 148031537 275359438 149189642 219561182 897641434 2845800 529679975 962651403 247802781 838528088 44724383 120063077 756334573 269930020 749001839 687536565 259952850 58511544 984525819 229570468 283105683 32617392 177227559 134210287 719074976 415978613 686676374 299481996 993801868 244546894 425895971 291500365 51604634 406115683 542605448 940654097 526183973 275559746 921828976 675355972 606545570 128651288 738415622 189582810 961932667 789672387 970473198 261504630 47576255 429796615 405373659 942156925 755100958 932267909 723877398 603132057 97607379 806844763 858521247 613997007 208826533 332371851 180802940 740058028 952931739 465215625 70784141 302475187 477110203 136072644 160803129 241722844 706995016 490230091 814257840 204083854 742234889 708649569 91132044 630406500 208594575 33379682 293878340 874474353 512307831 462968167 701348030 115144274 997389308 84831585 383921679 664322599 445274368 570571300 226256213 583964530 800838525 805775825 261000324 790920212 587657880 734526097 385582262 678557993 359759996 450685489 898098889 183561654 868800168 350607369 776311129 116302303 355499038 671675975 507445876 953968935 282684635 66603675 110343982 572211401 206458641 827657099 324487243 355857064 599452293 97480805 706962987 892514965 196584773 17059840 122215223 724015874 398946312 39414965 617086306 400802114 661657073 662141275 711144812 671259805 247692011 833405017 189483066 414953298 90984045 215578878 672386691 788011977 206181638 27437101 189560354 219642911 929252576 960004530 243964053 529147493 534986143 313873126 313328287 314810445 436930896 924370602 725117151 29593260 35773404 277940089 317065679 382989783 252666096 776592317 151785361 808322389 865692368 158561735 956232185 142348095 389917690 613206510 429839016 23975244 555828215 580038487 179257425 564037460 418814425 353900254 570156859 242872167 372529045 819916637 879477701 274363801 647027399 691955774 368890656 302667370 886343677 36278270 219157224 174115921 801997006 321446427 187824466 419600056 837664317 926765477 544163121 242404813 664512012 382243687 45506640 103164941 5925621 914304096 208045997 976566935 482170745 52284989 692052790 157610029 587284959 952160516 931328815 191926882 607318550 75120235 42761200 456346657 127087804 246859084 638543928 584427052 586802980 370532314 939345218 881368474 989824015 449019327 800754164 736532860 837647539 579875962 320598950 297421213 905066443 953042832 460098709 561475466 844522157 8061672 988374759 38116651 328122419 78914548 933807779 801031066 560711619 159334512 500484434 271362597 273579238 153180564 9436644 239397174 983536519 702939586 132984622 382056316 192803445 551586991 901991799 297084451 597908137 386983059 620243792 202374706 546974688 129854576 724242498 715099824 669279969 187056160 97656731 418674468 67803639 542083520 310005579 100402451 833894989 449241188 973595129 934805489 467868673 512186769 460332923 688973583 54157924 382588980 754975824 632580738 742275985 147183236 684536265 829214306 206494687 964509364 945861195 664981326 27829852 132333985 141534977 771648433 242033049 848266478 852376868 114321501 502883560 568564183 251656799 36412101 596233465 602119034 812338312 771168093 891633119 155812960 800604401 985191855 160831812 67515342 518250913 761352890 254910637 274956994 481961270 383046909 299932374 639804077 132110552 673904374 873385790 579267676 237972300 657464203 150700633 624785321 433168827 980329872 637050471 636038825 198885123 982347808 305135414 590801949 199653436 831337430 638326828 980718187 459713816 504773706 778995074 329090637 397493734 908538878 178981432 966145963 384091558 74885354 473381602 217129843 263640320 727514512 275084986 761231126 70043229 632295341 34013656 954131444 306936638 951352787 490714952 285282570 649140911 880018139 529820371 943539204 187964211 288554694 541914479 148917039 633511876 200115418 605421716 962383090 729519037 316711535 739249498 792157746 723080903 833785754 922454229 539480736 999998710 827085912 944157389 515501530 265309559 411765201 85576712 382818826 354033420 694059692 284618391 124816344 451823942 792839095 925215466 309808620 401122087 14326314 312559629 244975266 385905153 830191618 179875402 724350680 836405666 211498861 822728237 690599894 131311134 217483470 263970472 144791330 908969586 694285091 901744458 355571392 337820041 513538266 777312893 325570140 343339081 313761764 105473846 653436505 613323315 401636822 215741784 285748405 474572996 288696782 972139475 14909092 187818707 49675570 963013926 136970033 756764349 875399701 183291618 777559109 962467886 102593875 433589013 851087336 763435945 708295917 505268027 387224629 820897404 260755529 948975094 774508362 634097560 191482459 735128175 5300828 774891673 87208250 264844285 797524835 53828846 29738682 88064758 939744865 871297527 958012839 357497901 210203912 206371258 793454170 467776634 784817251 626357816 573641250 789298456 197272469 679312047 632519052 104528675 687899055 202218034 817993512 330514627 109166802 289260244 103383032 722033939 129779421 506782366 637648835 662018914 286479265 543170728 489627056 550405000 756380439 27978705 437504099 112829473 524212296 348493987 618321413 978797811 938476011 935963197 989638301 50213775 162893589 28648391 422205249 305772115 783052240 253518469 125042004 249836612 839151452 176215409 913233344 32081549 149097637 430827657 67705279 637211789 155051826 476059887 503312567 588894951 629262378 97148021 986241692 901515991 240237367 961629005 726818547 430288887 371996078 374143445 598653450 968335127 243141471 997762156 813454104 764157593 933044358 38335593 984155161 820408504 450495259 748683409 51199485 342154952 44687388 596289223 728074397 934428738 496494056 569082440 683044412 822336025 993093854 308985266 518402215 310196953 686605030 872096850 885167204 853050319 620967227 40870070 819215779 956698198 124446821 903074175 996401795 41495349 668084305 34579894 416024250 361354196 68359075 154331508 719820464 305174580 93369721 458357469 716090800 789136042 850045105 510689089 912233139 993450359 142887610 742526232 132341858 314160610 258254216 899784474 946880704 495643267 515592571 68036642 235473972 186428915 534081420 964883204 200083717 36677006 870524824 320045232 861398579 28791462 536256963 14460358 236467069 318817266 25286216 81699118 935662791 30367132 627322853 924556341 984939885 491682857 802414469 10484792 94363878 497326456 14455491 667160767 626972434 778692945 301002842 229435422 306815072 285010133 920438752 86530472 790602417 684094281 948788741 224961644 186354664 969702758 874591396 12676654 386702765 472077485 278410753 986883778 984428189 108930083 129186079 479071958 550738522 946110411 897498445 117246794 334259750 59798204 808356044 421932848 916717379 764190408 911139364 961623947 703711703 372613905 334293680 165214899 991024961 341862890 885976082 505966585 759179517 953627185 563053562 184286156 409913634 388029817 501615738 620230109 490045003 129720339 193694106 852044994 845811848 913989693 833261597 170060490 78001593 183998288 202206382 504254468 544369685 68014808 301243103 661981732 602973977 952764048 328172161 442547301 475014641 701540445 790924786 349741116 674453651 341227534 548458648 584446313 692275305 493772852 567428946 697159569 287318036 148606454 793608426 530407419 655884241 904956416 267227526 333007354 540426804 875019876 775684193 483852382 536768580 27929315 448678479 991017879 898871650 22361860 522363002 640433516 996926600 215601201 847883966 774903044 789400321 227962829 167626034 374491422 459211064 217408052 90016058 113950259 754584931 329777309 984588185 813880716 969645869 518699486 646290159 933765704 959241 736644764 16215441 236312664 549145215 831619832 207878172 289311296 908123554 263332079 149293791 71087424 315887758 842492737 683651384 111345179 579355708 93656482 806577933 332295177 67503701 269277022 48829747 719827560 321441786 340553310 591636071 41095119 392798537 3324170 622721754 916951529 255898685 831231122 629554196 271713745 570917189 838788717 742091662 937930221 611016898 411558507 960395903 604219024 769290315 138384682 201707129 575247341 715790385 811822750 895588440 826715629 578929660 756258806 206300845 315642958 472123591 277735943 385502134 872879256 895546669 108939401 485310379 553230002 523729903 659678152 229477959 780355345 722483038 895097322 274310165 254566710 233964249 392937351 227730976 177454628 49453951 554475203 823076871 639153554 641007815 610537762 133564531 407703125 944064718 231891386 58769583 22491791 736139582 391341187 953858696 427475896 688071048 17510368 796070808 492364448 233481178 622027214 468330721 614166216 124537038 42345551 624124903 831468282 651757394 121367960 284023811 389907280 500297163 377593591 394330235 406577623 629188046 742034072 428696955 198529874 937167869 306119922 769103205 989053117 30691532 841980798 271374422 98662949 634009347 393752660 493661145 105991505 548282750 978683827 224538874 640477928 955277953 960588138 921494601 470241742 964512686 880561010 282618862 3398658 354971329 965718833 341596807 222970602 206510074 478402782 179533787 356261858 80652753 392505334 873366219 577611992 396920241 257327766 752370818 150304039 549444973 762109136 921485602 16493045 52577810 257755997 974971435 178803289 693957566 903340827 759102526 555248213 429097022 909415407 725192408 148200302 141587739 462586241 883349627 167764226 561035057 998414445 473654293 852571050 713550605 642720133 550800070 709625446 53568712 705892010 709247657 184463479 143163373 370109357 115428041 85586191 474522247 49156398 232396355 832416053 133901771 47706217 959515390 137753293 437946689 682509871 969667169 985596951 681026890 247260393 978487231 758068398 261345578 727714161 856596463 216304654 42963849 381615550 958196935 663739941 882360096 353012809 233310362 747358636 38161781 695707060 199355775 168009276 151861406 598327619 30308502 135551255 211075375 756388934 207112074 532832096 172284082 640744573 14734224 853303812 34775742 868490679 354892354 658782472 207940620 446299658 194931778 567211697 630171996 338441127 676061782 967605562 339122655 220842378 274025705 200607899 604618934 89790121 725258474 443723859 484596177 113468521 178566418 287733517 484176579 9879640 97461469 883645754 994573135 220436846 194279596 471164906 608159360 2581061 363801286 549104719 331592221 863842261 520353051 512473408 643205756 973357299 403964119 854452031 288129222 611766375 178979007 112525795 361372293 329724156 231981840 563039778 906339765 554664666 301124631 898443135 385941858 157891151 154381418 65504658 313943766 33408063 230584193 281979701 100714559 889696353 821201863 51629377 828383044 292331666 762268403 802032863 51536933 54855567 473572389 272520619 150531811 951013914 838570177 39449129 876343696 573126000 902700531 693658959 762823681 509917309 802438062 720575091 83896334 191540091 716346151 980258920 202389283 957936983 543141983 83110197 108204543 42429758 478202120 848241392 27887646 91379569 313876235 865639258 644724724 749709488 27784584 860137072 828266471 594689355 340949192 49510585 737789404 164560813 592174193 620821226 39419284 721838895 72849126 158888718 78280664 814655779 86400517 435158198 193678967 960116534 839741671 630832868 718707232 828744734 121347955 881389965 415514236 740363739 501299648 520929088 487187857 612769880 55208645 197704764 766274450 163325414 359154123 788901804 889193020 261858600 955623414 517927152 47221057 231975747 514835621 702739516 92712275 555801962 751372132 558576216 14463667 303388947 159996316 394455466 140005977 740422851 358925832 983979711 96348809 538824710 265493287 797198873 94558147 263051005 913597024 787487073 547925557 557964396 818965283 795914070 206047742 435677612 577798675 14018217 446933814 112134859 556236256 638680646 496546137 628662291 564300463 147304993 903252114 775363182 246246251 739383209 467310255 370772093 719267577 978020422 922638911 936400756 54889618 466356747 820734490 189478405 935742624 699258304 393535816 461895399 352968009 290955764 528348309 508068878 290370055 147702542 280692259 717863601 275972933 156494881 78652636 857632960 658971354 788013007 466969835 723127734 420358880 120452616 312257657 6092994 544831238 355626486 820363526 935907052 375705845 848573195 141333121 157733231 14560416 78711954 820440364 990147290 157126237 187102803 563498051 908650695 584708671 3276044 175459436 289819291 804277174 118106052 134856975 371362090 511671742 947391245 850513765 736671266 475081545 12833791 476722792 590679941 27478262 211202222 351181257 950462000 614488018 860893458 159782279 740707813 768694193 335627902 50402840 50265425 744221574 725875356 862171398 359146010 725482164 66418416 960476366 951749198 69695948 146563461 182762595 996474973 514879731 649855626 130390261 981508043 594770168 722545930 561398588 916303792 596322248 322625896 789269114 750996918 537532555 803862867 330103991 244447126 140742244 818022198 652903276 917059124 250654454 546278677 389972725 266714176 788875974 406920874 147681762 72118022 74487638 520082272 167962544 356033996 817036808 108283340 479824401 216253357 280213601 371369238 873252250 74685883 542196372 26265548 907133208 700920598 818860209 693799990 207963526 117803681 922139117 739988053 817324030 424652263 173057958 50750985 319758662 666809171 429390708 256116277 260600906 211459664 268343281 234434131 280149189 276436404 243644795 468962947 78583221 912349457 584416625 983543875 958354990 184190094 206326930 708283466 197328369 813229154 985665153 364758095 129520812 635657474 362864430 487443303 503009245 797021657 955014635 913558480 733790524 68582522 861884897 315674376 454006882 581771173 969273641 256449948 510633716 994098904 663917972 8644295 313858336 762594074 899413948 290573411 714776901 470606971 834393170 421769806 120059628 657703069 302992181 223889339 658723540 411999987 643432128 157385583 458490055 199485751 591553521 368287928 26160674 492217183 536532985 536450939 627298520 411720235 113933722 194980783 494214704 210462606 113670134 103453380 422186320 288216823 106570664 439287817 391051991 927461000 938227820 748452004 566114633 696499642 928668850 295012861 128638748 977923596 339432095 29575845 796056716 952450808 212314455 247789538 243328562 11707912 258362673 557463478 653619758 370428168 810986975 311097532 119604824 485117206 531956317 19600196 220043041 506446729 344058575 308130903 128857866 114386259 267955296 319744269 692124546 256008361 974195467 938936211 899890038 64853081 945382339 670599657 420956591 322801895 887664199 118928043 161389843 112442263 662265206 558976286 312845997 791520167 152404778 275261512 903944636 83235989 344808508 150706566 704855834 150103227 227968355 160401271 736815901 32343856 595412068 507233597 594392 464954570 94744028 529832467 703233941 105983411 393788456 759592844 403081016 253889849 598634594 956822703 843091395 525495714 415410584 503916901 857612600 375878158 650425387 601828177 605882942 40649301 505095197 319225298 216303044 342716806 686359548 318893991 474803261 599678289 24034787 249450221 574189169 52465858 819207747 844405343 58175089 571520067 776537445 965498732 434496474 28309876 350313265 938428731 773942916 203484882 657557131 746941162 551557115 349559329 403351468 524860664 96821527 144477920 340130357 280833394 40028179 269585999 287784761 445242860 879146239 374577397 827877888 263555753 43915429 71406622 5244554 429692232 931092967 14910881 296186839 671369271 553930786 427095408 288703391 952569535 702603549 733332838 854421132 280881877 432043583 613719736 464212186 769006232 102625257 890189566 866844428 865426163 733242983 433114184 729751730 551825792 359339352 608071383 574431282 531563461 74233398 332467837 624646667 273211683 54509290 378543778 973430277 751457207 422431581 109134224 185287706 838393932 489494402 920138406 77017985 701985920 523978601 286085445 113242907 67094331 785421499 11118715 110871749 976343844 826091019 293380020 407337869 357633883 410999195 343020439 226070761 254871529 194416801 562860928 277910607 22477031 141303429 275157933 162623440 170899017 303531995 996610441 745111784 409487090 636466508 504969571 954888859 59446570 295846709 618376280 878841908 278478053 166511971 118085805 655126594 114590797 104565110 994454374 215500068 602380009 868118387 441812699 518069035 253955233 957210367 5793056 736224753 431251619 151372857 351560373 871353158 109527349 825286970 763643415 422931327 228374041 139381500 386441712 99511870 101989874 574155548 927964755 32625795 561852444 75868634 457840354 918523742 221212100 816268532 241662419 175491621 90927253 450420399 31307015 11032842 963930475 831004118 408566178 845336291 770155347 739114471 609739126 503000755 246688099 914669158 783432856 314804044 275604593 113591315 442151852 151700500 521750046 877383247 207400644 559903502 440751951 786264762 606806485 804974745 29298062 277658361 749214810 254048390 115461857 773291932 523894004 764954277 334557449 475531519 829093946 970578896 408782755 448478466 634447313 86196137 469290542 666578065 328262253 909534548 503668275 103649497 884935268 839995938 174966322 372962368 124415145 264704609 848620475 96548263 723210351 97560855 870813444 873126894 497312190 122615746 195153078 133311110 781310603 132587762 876222497 873689740 463952426 607037602 110185404 346941457 720261549 149608023 126240444 912616370 900793045 294738014 261232352 567447578 701901037 754184430 232888786 804695446 479537416 11248115 328993780 71524392 499375519 170063028 923302412 276195565 937906758 92519074 967086697 67166776 960013467 282298181 494981085 671623431 998442243 408273900 823514277 684639285 859754318 126633631 429246212 989412062 230904249 354719552 986025126 190199065 587780880 517667546 332906018 918240844 728540405 330991934 144338740 771776563 175828199 655197504 15278217 432742790 704477900 955057804 340466122 355343382 756070536 189301079 909323820 308717273 389250741 704088659 333967554 587480082 633279480 928437948 57655160 856897816 765528120 94667650 15310259 855750260 145671700 293624047 94363832 653234585 395123549 773805645 88309201 269650713 108942857 76723532 458527945 341337180 269278488 758666384 261433646 546598328 445314412 569937429 974978752 714504979 916546996 932288174 367873939 259055408 156871422 451537505 290255627 742196847 22261940 590972264 856235874 508389823 975522152 279110469 264768583 131063760 517151772 99137953 396731229 69754132 64528433 58064433
|