Skip to content

Conversation

@Al-Kindi-0
Copy link
Contributor

@Al-Kindi-0 Al-Kindi-0 commented Dec 15, 2025

This PR replaces Winterfell with Plonky3 as the STARK proving backend.

What Changed

STARK Backend: Removed all Winterfell dependencies (winter-air, winter-prover, winter-verifier) and integrated Plonky3. The VM now uses 13 core Plonky3 crates plus 4 custom Miden extensions from github.com/0xMiden/p3-miden.

Hash Functions: Added support for multiple hash functions with runtime selection. Users can now choose between Blake3, Keccak, RPO256, Poseidon2, and RPX256 for proof generation.

Constraint System: Deleted ~7,900 lines of explicit constraint code. Constraints are now expressed using Plonky3's builder pattern via the MidenAirBuilder trait from p3-miden-air.

Metal GPU Support: Removed Metal acceleration code (~1,000 lines) as Plonky3 doesn't support it.

Dependencies: Updated miden-crypto to a Plonky3-compatible branch (huitseeker/p3-rebased).

Notes

@@ -2,4 +2,4 @@
source: processor/src/parallel/tests.rs
expression: trace_from_fragments
---
ExecutionTrace { meta: [], trace_info: TraceInfo { main_segment_width: 72, aux_segment_width: 8, num_aux_segment_rands: 16, trace_length: 64, trace_meta: [] }, main_trace: MainTrace { columns: ColMatrix { columns: [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 18278610454106277227], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11966935257785128576], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7919283017427245686], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13914561289145986531], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6783489601093516202], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5463247672830517763], [0, 1, 9, 9, 1, 17, 25, 25, 17, 33, 33, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11424449254680049548], [1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8901139688862934551], [1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18355366378612156119], [1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9809666929075081321], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10460856223828675758], [1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 14331524582381260025], [0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3828333931188715035], [1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13605558557080111485], [9257977759327983792, 35, 0, 9257977759327983792, 7259075614730273379, 34, 0, 7259075614730273379, 8, 0, 10995436151082118190, 16872379809452484205, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 4920827010880139208], [16084548298145579864, 0, 1, 16084548298145579864, 2498922176515930900, 0, 17, 2498922176515930900, 0, 17, 776663942277617877, 5166463643751251624, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 5237898787094554449], [4922676843837120619, 0, 0, 4922676843837120619, 11574583201486131710, 0, 0, 11574583201486131710, 0, 0, 3177713792132750309, 14426560558482730960, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 9838838035223844160, 14693918817731969403], [2647076074774954013, 0, 0, 2647076074774954013, 6285975441353882141, 0, 0, 6285975441353882141, 0, 0, 10407898805173442467, 7369160052457796985, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 3640601379372070578, 17412502753064145862], [16872379809452484205, 0, 0, 0, 10995436151082118190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18128720545504295106], [5166463643751251624, 0, 0, 0, 776663942277617877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13181423963721226142], [14426560558482730960, 0, 0, 0, 3177713792132750309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2589559965864281333], [7369160052457796985, 0, 0, 0, 10407898805173442467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3233728617620951284], [0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6906311690512472822], [0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2525759031051241691], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7255306138104903418], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1879780526986749133], [0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12009817505952209747], [0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16334490666254085386], [1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 817746208317831328], [0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 14633035399284039716], [3, 3, 3, 6, 6, 6, 6, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12087721514359783937], [2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5056913930323159623], [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7798915054038163527], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14620231608030689493], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10027106029459444974], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17666376565132460608], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4423817149032857534], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12076065285411669034], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5687004080063775425], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7764237289202986130], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10047370910702425116], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12357103708140368520], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14897729811189167195], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7504927333552564649], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10305620716833913167], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17998794757120877050], [16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 6373362378294178114], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2489570279496257235], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1834677707403077856], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3798121397642938955], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2187, 4374, 6561, 8748, 10935, 13122, 15309, 17496, 19683, 21870, 24057, 26244, 28431, 30618, 32805, 34992, 37179, 39366, 41553, 43740, 45927, 48114, 50301, 52488, 54675, 56862, 59049, 61236, 63423, 64152, 64881, 65124, 65367, 65448, 65529, 65532, 65535, 65535, 10814751928476972195], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3809627575105015505], [1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16260504288056369584], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16018705801657782535], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5065179995511444689], [0, 11198659023149971609, 9335479288042533029, 17871384132990489586, 3060900489404558383, 9784863014167524840, 13374709609025866946, 7202747157651075411, 0, 6715240399553018922, 11262272627493281886, 17704799900652555046, 5501230985456584199, 16951749767266718271, 16129153610876090249, 3477850575413203143, 0, 18379566040998031132, 7003992276131726885, 1321614314649676054, 1285882460867147430, 3856057287322526928, 13441601545579957517, 1569954167470603272, 0, 18057667322959448212, 8315414517941658365, 3630367682250780183, 5847600112991339329, 1490244053918517763, 838299844647257991, 11414398860709328019, 0, 11130003065009523035, 173239376388411876, 7295692736744265745, 14237158661949252021, 13296633921786385490, 11640670918776522026, 15524844413375237991, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9334402628690076116], [87, 10122987066206642885, 13199872910208959642, 2666514822209363508, 7471350727669014183, 16819717890317894840, 844866687794306637, 3808919541921229470, 0, 18332733624321727574, 8808177661375850044, 17732514913212594277, 14796793949108395877, 1816881474928076699, 15710127599102859421, 7152986981684409697, 87, 6353645713656562492, 14223431558398360972, 850329419267822445, 16067448757698534209, 17208300896817694622, 4775783983255367919, 14442426183010515183, 0, 12607960384321335079, 12904990479709660208, 321839407803754105, 6653728827304144642, 9430107542577496669, 7313968285902288833, 10294058389088858339, 0, 8666298939830375717, 13479678530159529408, 11923576086949583568, 14331328109100778862, 12705025778587899938, 17927528142771324708, 9945373061045515050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17670737529437339694], [0, 5862628241009333874, 13463242066636838745, 5452101073912666167, 366376237049315660, 2931597954747803930, 15424937282214632721, 16885452789494101643, 0, 16718573594876542655, 10585169608290758855, 17709242761426242389, 12416672789861839691, 9052310659905068608, 794949712835184317, 683328751849846412, 0, 6956001516871369062, 299012951013333342, 8761705624162996223, 8367526353071764060, 1985001387296821886, 5305587003409026990, 13596260025788635226, 0, 1656336551363298446, 16065545477217304931, 755159003229248681, 8548641745519365729, 14733732906447092580, 13840673602366028730, 7273851022717890164, 0, 9899148733535515386, 3949299509833687113, 15165813221498374008, 2317463279042574660, 16487361049161625879, 9686669003194965249, 10581953807438668954, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4932920596239505194], [0, 16597512942405620980, 17141862266649771869, 3400393202679114604, 577299363876427268, 3730589390607541889, 10579462957290881488, 17152961705067260610, 0, 5667846515462319721, 13321914605759567525, 15917323524204821531, 8856259614916644529, 15810573687400186971, 418106678397593099, 18025077580553475135, 0, 8483860284424907883, 1856079689639943896, 7522518519184216846, 15321578307654724315, 2739076367035595981, 5508496607028710758, 4573852777457594569, 0, 3126847720823261322, 17278923989444343268, 8580802197828245036, 3561595105908913189, 14548152271716387069, 3184516258196410160, 2857617483815634558, 0, 1980845757957978574, 7622174617845517981, 6741584242570767270, 10679462032464503778, 1912587296533642537, 9233059585635309982, 3297576991466802108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5844765522722115102], [9257977759327983792, 17068990261668165451, 4994294375174656443, 8009854711514919131, 206927255186733842, 1156894410397410979, 16396300878388639249, 3597132565408622630, 35, 10010151535537019716, 5974385525963792027, 11669227195718086248, 3733268143053771078, 14413569647867040513, 1724688952693883686, 9257977759327983792, 7259075614730273379, 13774729025872416646, 2700765917935362929, 6934405914015792634, 15639658300949806488, 2251245504509828202, 17541976107020688695, 16872379809452484205, 34, 6373059331105925378, 4232521025243966754, 5048874803401024402, 5039790860965261296, 5949917805435293302, 12923811643477775951, 7259075614730273379, 8, 11243123782472500876, 7111149879593150956, 2414650157179846425, 7688700119340216108, 200450096934071001, 17206655470145173569, 10995436151082118190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8777743310256132637], [16084548298145579864, 574824852698725390, 6130114585085678613, 8045898643215524927, 8671702145382435466, 3022720585117206399, 2672845452150566780, 1466877683371826591, 0, 15692035419039438154, 11019111428703265127, 7358068665381087833, 14628549901433837167, 11326414573206907193, 18430857688293683831, 16084548298145579864, 2498922176515930900, 2246811916803187843, 11901992146292077845, 8611781618709858971, 15038286365397390678, 8843922910553339670, 8897552407935293524, 5166463643751251624, 0, 1848690298408092750, 17815723695195353630, 12951666924680132199, 16931166931503205975, 16941462333048197948, 2751708088665427486, 2498922176515930900, 0, 11006378390241857350, 8152999493531848682, 7071976245235416891, 16602620893490172010, 8989323415205410275, 3073936274656975286, 776663942277617877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14808682870348752092], [4922676843837120619, 4805678425786665824, 12807138959646154951, 5028833505424810303, 16292948773278391028, 17613714304184283074, 15895296604231415836, 9838838035223844160, 0, 2944245343136009305, 2962889981471138996, 1532840922247416505, 12125784922101907943, 3570156307821078077, 17872569042561715957, 4922676843837120619, 11574583201486131710, 11537937965437979995, 5858398114352013273, 1505146947011404881, 13903333790680355793, 169469591054430279, 2488197949151117499, 14426560558482730960, 0, 12287515568242854223, 8675131413366224615, 15428142389897423775, 7842101106386775620, 4014544300153658307, 15426472174439012955, 11574583201486131710, 0, 1676298678460856029, 12489054241677459095, 6371765825740097705, 17902152873073907410, 34286786046478684, 17270610440507509901, 3177713792132750309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14033314259844358194], [2647076074774954013, 17811548236486869102, 17261619648363914285, 10702914044479788974, 17726755661281384078, 8774404659537016381, 9762008305952695606, 3640601379372070578, 0, 245760775531204623, 8444035765140458043, 8327951088292843959, 13793768059889738061, 12970844427018101289, 4575207326314207387, 2647076074774954013, 6285975441353882141, 15309021785734430697, 16206290585766091025, 711213393720379656, 11758485673786110150, 1802091183902844121, 5474522447758934219, 7369160052457796985, 0, 10583697872207325378, 6775129633509481395, 4645734739856600112, 7276002935785104151, 7522018950845476960, 10150797911929900491, 6285975441353882141, 0, 14063799583750862825, 2269903397982649283, 4520175395673608938, 16298022526436421235, 3957370607902445343, 15595213237778474987, 10407898805173442467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 622910566982610663], [16872379809452484205, 13500025926848871009, 129001308498986031, 4245306250746583337, 4030974483259182112, 9646689032300839979, 15347239680744804732, 4154192373830977728, 0, 14468833312464299990, 781715942464155513, 15623615459830219297, 9433358844374849199, 5239435754520778201, 4719267359608407897, 8953561842903300670, 10995436151082118190, 12579527740504855427, 14125145949685381359, 12336116556529895902, 18265771643495364712, 11856084065200944496, 11041121299109466445, 942809921712826797, 0, 4119234862412429584, 6935746584041111091, 4865746349624276544, 4437795131902644021, 13275497522192399178, 17612235473171819885, 10820332195097982193, 0, 14271614784847322081, 15540062221728438153, 10786716559432008680, 13893949307824410110, 11544538017085408376, 1584763959456725012, 14642452634371179787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5814693796112795705], [5166463643751251624, 15506453816415712900, 12968776501559036936, 8472570383771708446, 11378219973126271426, 12690671950459414550, 16313316405853124788, 4891811557570762480, 0, 3351838895935332533, 2469629805003824756, 4786328161642883952, 426948945425139209, 16534248384861178518, 1853474529493564433, 13559941924146853330, 776663942277617877, 11828350674922330533, 2948052702574983878, 7675618743143014190, 1303387969042056765, 12471511195291651556, 7338666731346189087, 16024933228057455814, 0, 9749295152839830121, 14256385643225954338, 10127660544117504284, 14630046613034092943, 12222917193918888943, 3623554523908904854, 7556250530972974960, 0, 11459285782134625315, 18046399126596159818, 8584789276346812111, 12379956491173325234, 12399153017123004516, 15367201478193583015, 4498332928700193530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10428353185933485153], [14426560558482730960, 5527020305091443750, 5059403602410426422, 12493734519126089578, 18243264491023918089, 5044738302018132460, 2556355170809037723, 170538297152036645, 0, 7535829995615902146, 7808416793056865844, 7872046483313679014, 6908984184025495911, 1505962184266309519, 1596781192077495659, 4997710094989516836, 3177713792132750309, 9019608220903107658, 4923154345529998485, 9548075637481256456, 14482362832191282313, 3901834774822198986, 17543805674892008357, 6993304030764095859, 0, 8614000141164750854, 7324526241489750469, 1152154071106458719, 6105428145280534668, 4105501107607261648, 4952264497731906390, 1603162541398868838, 0, 16292443765592378953, 6613473255076823894, 11597800882822714567, 6256895095911609735, 2895121372476761950, 15419031691426178081, 14895619760287426682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8532643775685127886], [7369160052457796985, 9753127156727993729, 1204642270653470385, 6367078364121294373, 238349687984572113, 9245865301775099742, 6668626069431097776, 60957193032022652, 0, 18123068401979851064, 10256501677044993999, 9774238589896888825, 2700044874902644451, 72875578733420683, 16238874456449530617, 16582679981918744872, 10407898805173442467, 16738916348248372116, 1132797072735408107, 10817783313735360127, 14202199939390186403, 5195946911999756584, 9556200476110089243, 9082008818065472916, 0, 14650517841392538647, 5450822919912194469, 18166897332097306703, 3417077741750891848, 5617527344473187235, 15758856985586353119, 10246818228512662904, 0, 810903041484028101, 1979132328576391109, 4459055509549960145, 7627723174471051357, 3832790219917978166, 13721670507493947987, 10951676234356537430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12388367226856996492], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6017143168315633952], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6182812992472318187], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1751352818156626472], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13185640207746286848], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2642674399002419783]] }, last_program_row: RowIndex(12) }, aux_trace_builders: AuxTraceBuilders { decoder: AuxTraceBuilder, stack: AuxTraceBuilder, range: AuxTraceBuilder { lookup_values: [0, 65535], cycle_lookups: {}, values_start: 24 }, chiplets: AuxTraceBuilder { kernel: Kernel([]), ace_hints: AceHints { offset_chiplet_trace: 40, sections: [] }, final_transcript_state: Word([0, 0, 0, 0]) } }, program_info: ProgramInfo { program_hash: Word([3597132565408622630, 1466877683371826591, 9838838035223844160, 3640601379372070578]), kernel: Kernel([]) }, stack_outputs: StackOutputs { elements: [0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, advice: AdviceProvider { stack: [], map: AdviceMap({}), store: MerkleStore { nodes: {Word([1658412303213607010, 17315008253014843041, 10206587875309120409, 9300743939822212768]): StoreNode { left: Word([4417371755631467548, 7507031643548742411, 17441535352171444561, 9410222896919840212]), right: Word([4417371755631467548, 7507031643548742411, 17441535352171444561, 9410222896919840212]) }, Word([13938856789110932723, 1322062558479500187, 7002703634744650905, 14424976620913089940]): StoreNode { left: Word([17839745060335609757, 13202506261685677523, 5618406804353032344, 11938838013020239749]), right: Word([17839745060335609757, 13202506261685677523, 5618406804353032344, 11938838013020239749]) }, Word([5175159910654039438, 10258564296733764665, 235961379704359454, 18007006485615491006]): StoreNode { left: Word([9455184082727641653, 6634498452861935579, 18189776179964984407, 3546641211720870472]), right: Word([9455184082727641653, 6634498452861935579, 18189776179964984407, 3546641211720870472]) }, Word([18133219101889028499, 15766509138832694166, 15396912305986664106, 17707788719339520242]): StoreNode { left: Word([6466572559131351401, 13018746780914013113, 7511315714043386471, 236403923382990899]), right: Word([6466572559131351401, 13018746780914013113, 7511315714043386471, 236403923382990899]) }, Word([9937486349304811712, 15531298986521750666, 11054985141651560301, 6571118172938081507]): StoreNode { left: Word([2010547812829295528, 14402648261429237231, 10658082865881063346, 16725182023563565423]), right: Word([2010547812829295528, 14402648261429237231, 10658082865881063346, 16725182023563565423]) }, Word([15421185663838391582, 7637327008338736603, 8528916855116865328, 15112623435246459995]): StoreNode { left: Word([15321474589252129342, 17373224439259377994, 15071539326562317628, 3312677166725950353]), right: Word([15321474589252129342, 17373224439259377994, 15071539326562317628, 3312677166725950353]) }, Word([17839745060335609757, 13202506261685677523, 5618406804353032344, 11938838013020239749]): StoreNode { left: Word([18227647057163878631, 7362146495389184837, 16973509243203311354, 16654931471047608137]), right: Word([18227647057163878631, 7362146495389184837, 16973509243203311354, 16654931471047608137]) }, Word([18185978518863914335, 936586966360019113, 497299419609993926, 1977881506773614749]): StoreNode { left: Word([8635338869442206704, 11671305615285950885, 15253023094703789604, 7398108415970215319]), right: Word([8635338869442206704, 11671305615285950885, 15253023094703789604, 7398108415970215319]) }, Word([7649304486223386087, 13804636260255990840, 15193764240363996726, 8750788966857438738]): StoreNode { left: Word([17676140773731033227, 9910869524252297417, 13570629541815642661, 16682179069864088692]), right: Word([17676140773731033227, 9910869524252297417, 13570629541815642661, 16682179069864088692]) }, Word([15745233967065554847, 14459072417998124190, 16266836333265662686, 15555241704784299145]): StoreNode { left: Word([17746561682069970585, 143161607100745515, 10836009924856595315, 7049830972753082057]), right: Word([17746561682069970585, 143161607100745515, 10836009924856595315, 7049830972753082057]) }, Word([1299421782687082884, 9938699043036414489, 10193025806762503939, 12073246492422971113]): StoreNode { left: Word([3774016405860870757, 2584714598467121158, 7418645462301488344, 1016804897028793820]), right: Word([3774016405860870757, 2584714598467121158, 7418645462301488344, 1016804897028793820]) }, Word([2566088177506289568, 7785941571143323572, 13948908169667863201, 8557252288425473395]): StoreNode { left: Word([8801845050152766755, 514652983374395586, 13975919271481418443, 17480955484347349170]), right: Word([8801845050152766755, 514652983374395586, 13975919271481418443, 17480955484347349170]) }, Word([3162775558610426184, 11944004899624546116, 55767976185223284, 5892480272697245897]): StoreNode { left: Word([12582634330812132159, 6886254574119140332, 4407453795368410417, 6959805977831121004]), right: Word([12582634330812132159, 6886254574119140332, 4407453795368410417, 6959805977831121004]) }, Word([4904859635852987122, 5223384455833734066, 1665061282351887538, 15683565653801388505]): StoreNode { left: Word([14037088614975082476, 2992162110906036429, 11160798476748515212, 18012657909838823047]), right: Word([14037088614975082476, 2992162110906036429, 11160798476748515212, 18012657909838823047]) }, Word([5985273725913047798, 6143467068979367057, 5400193760571247022, 2564284857872216700]): StoreNode { left: Word([1618681866953227277, 6463058997547454424, 6576924604308135688, 15044497188130397720]), right: Word([1618681866953227277, 6463058997547454424, 6576924604308135688, 15044497188130397720]) }, Word([1242037330294600071, 8643213198640797337, 14112360612081236212, 11296904697431650998]): StoreNode { left: Word([11958494925108187724, 6059642826232274823, 1563918267677757605, 266509853282035592]), right: Word([11958494925108187724, 6059642826232274823, 1563918267677757605, 266509853282035592]) }, Word([8068467631986031286, 4612054533277202851, 11343200974438592061, 12688005308750004338]): StoreNode { left: Word([11303289914571955374, 7513204923223706648, 9908645180593022327, 5811206562163318356]), right: Word([11303289914571955374, 7513204923223706648, 9908645180593022327, 5811206562163318356]) }, Word([11138475264090866271, 17799626597540451271, 17968790388406362807, 9539434947296310791]): StoreNode { left: Word([13051724588530357940, 8058102530250142518, 1861782711432586670, 2928050228215055187]), right: Word([13051724588530357940, 8058102530250142518, 1861782711432586670, 2928050228215055187]) }, Word([15792446837572887800, 10296618656679830686, 15495223476018235907, 6317048736383936110]): StoreNode { left: Word([7882241905385628875, 14410376287956647926, 11843286583713773150, 15475988626858362381]), right: Word([7882241905385628875, 14410376287956647926, 11843286583713773150, 15475988626858362381]) }, Word([9287924107116036735, 9792656569482967496, 16995568987148749395, 1625186103120263193]): StoreNode { left: Word([16869857053707492204, 734958153934272353, 12381460033034916983, 15168762071647219215]), right: Word([16869857053707492204, 734958153934272353, 12381460033034916983, 15168762071647219215]) }, Word([17481787080094192886, 17344572369296315934, 8369541708203190132, 9084947599628266508]): StoreNode { left: Word([1438363538932015401, 10350089427532681500, 81696311554438591, 14025162401400138891]), right: Word([1438363538932015401, 10350089427532681500, 81696311554438591, 14025162401400138891]) }, Word([17746561682069970585, 143161607100745515, 10836009924856595315, 7049830972753082057]): StoreNode { left: Word([14569229642620176153, 11911323936698068281, 12994940697571867890, 6792216927716071548]), right: Word([14569229642620176153, 11911323936698068281, 12994940697571867890, 6792216927716071548]) }, Word([10866643979409126085, 13790633638103642042, 6374461622011119670, 5702679962735491362]): StoreNode { left: Word([5257277882444261955, 8511211402794551302, 3294838877645533839, 4084864647832858048]), right: Word([5257277882444261955, 8511211402794551302, 3294838877645533839, 4084864647832858048]) }, Word([13148367538964199489, 7372139436485928380, 13408383191801051600, 2114382634401123096]): StoreNode { left: Word([14448157482521530067, 17865161921504959156, 10319385198642448897, 364163501511998552]), right: Word([14448157482521530067, 17865161921504959156, 10319385198642448897, 364163501511998552]) }, Word([12582634330812132159, 6886254574119140332, 4407453795368410417, 6959805977831121004]): StoreNode { left: Word([16001070406220863863, 4426773743735082930, 6860108527212616559, 3994703491288516722]), right: Word([16001070406220863863, 4426773743735082930, 6860108527212616559, 3994703491288516722]) }, Word([16480457777800344804, 17372435861409458201, 2155256869516165204, 13703259686957180880]): StoreNode { left: Word([18196715147759862415, 10343838453113681626, 14362983645300474791, 17473976419771437609]), right: Word([18196715147759862415, 10343838453113681626, 14362983645300474791, 17473976419771437609]) }, Word([1537615626967151439, 11731506816677487155, 4748463589169553420, 17495851576537541106]): StoreNode { left: Word([957733314860117562, 15623410588944187169, 4321611031548662227, 12856104259650439278]), right: Word([957733314860117562, 15623410588944187169, 4321611031548662227, 12856104259650439278]) }, Word([4417371755631467548, 7507031643548742411, 17441535352171444561, 9410222896919840212]): StoreNode { left: Word([2277985388375494974, 8690279530031225242, 7927899527173960608, 12726016321773963652]), right: Word([2277985388375494974, 8690279530031225242, 7927899527173960608, 12726016321773963652]) }, Word([12271087840056574078, 3110929701322400724, 10422296782334769689, 3316882600030160039]): StoreNode { left: Word([3616528659857486099, 3764684353414212364, 2018131140887454192, 8036228219081937977]), right: Word([3616528659857486099, 3764684353414212364, 2018131140887454192, 8036228219081937977]) }, Word([10389393059157178615, 14040659203543820698, 8464003632813708898, 9108595375533125936]): StoreNode { left: Word([12376641843954390749, 4923999715584212736, 17734564510888109008, 2502457898079463912]), right: Word([12376641843954390749, 4923999715584212736, 17734564510888109008, 2502457898079463912]) }, Word([4027355168640749318, 18147685156073309486, 14178491983898834893, 7142308990360278220]): StoreNode { left: Word([14953792914419160485, 11899334813871471342, 459463254087095417, 6481990903152804029]), right: Word([14953792914419160485, 11899334813871471342, 459463254087095417, 6481990903152804029]) }, Word([8635338869442206704, 11671305615285950885, 15253023094703789604, 7398108415970215319]): StoreNode { left: Word([0, 0, 0, 0]), right: Word([0, 0, 0, 0]) }, Word([4819269004009448479, 13357171388731598367, 14712132650815744178, 17467481052122728113]): StoreNode { left: Word([15276162437038843144, 9357100211312577031, 6659010645820615575, 3080992946270648286]), right: Word([15276162437038843144, 9357100211312577031, 6659010645820615575, 3080992946270648286]) }, Word([1839714959437284152, 12088193186987715006, 10200898335013164008, 12768529781145127245]): StoreNode { left: Word([1537615626967151439, 11731506816677487155, 4748463589169553420, 17495851576537541106]), right: Word([1537615626967151439, 11731506816677487155, 4748463589169553420, 17495851576537541106]) }, Word([2252540812141071021, 9345239973602834651, 16816577830718544121, 17305794189725050624]): StoreNode { left: Word([16887830766257833064, 16469281334301200807, 2656535905661661995, 16265715707801900006]), right: Word([16887830766257833064, 16469281334301200807, 2656535905661661995, 16265715707801900006]) }, Word([957733314860117562, 15623410588944187169, 4321611031548662227, 12856104259650439278]): StoreNode { left: Word([14827447693720375746, 17296925942589213350, 13524332314559504765, 15663886706087995199]), right: Word([14827447693720375746, 17296925942589213350, 13524332314559504765, 15663886706087995199]) }, Word([12293010843557789690, 10978603602969295676, 14863259802563519675, 8436801447122365813]): StoreNode { left: Word([15808045963398944497, 17543993781122279474, 1303416547552690092, 9966042687312308733]), right: Word([15808045963398944497, 17543993781122279474, 1303416547552690092, 9966042687312308733]) }, Word([12168788883142781116, 1157664049794767316, 15269719436364786747, 12888101157827916474]): StoreNode { left: Word([11588537700832375449, 7245885064997619947, 16690222478430607431, 13297592453293300273]), right: Word([11588537700832375449, 7245885064997619947, 16690222478430607431, 13297592453293300273]) }, Word([2748632461396580131, 12790381136003641352, 15102256829500572873, 158552195624453692]): StoreNode { left: Word([16480457777800344804, 17372435861409458201, 2155256869516165204, 13703259686957180880]), right: Word([16480457777800344804, 17372435861409458201, 2155256869516165204, 13703259686957180880]) }, Word([1337927689725378436, 953433458535267304, 12306231591632083661, 12351800673817007739]): StoreNode { left: Word([7594527478968737853, 2482352157869334166, 15502074477356725901, 16842326456776388115]), right: Word([7594527478968737853, 2482352157869334166, 15502074477356725901, 16842326456776388115]) }, Word([16869857053707492204, 734958153934272353, 12381460033034916983, 15168762071647219215]): StoreNode { left: Word([15770528285555942394, 2415392051913301940, 17313348921966171954, 12048126551560545837]), right: Word([15770528285555942394, 2415392051913301940, 17313348921966171954, 12048126551560545837]) }, Word([111519449320738059, 7753519026173826517, 990761745886775458, 1636147950905291747]): StoreNode { left: Word([2794642075503047077, 7417025836077021486, 5660442746081466149, 13489817027849423411]), right: Word([2794642075503047077, 7417025836077021486, 5660442746081466149, 13489817027849423411]) }, Word([8208487783966382442, 10813785073252244446, 9216050843050197412, 3809526063931299677]): StoreNode { left: Word([17481787080094192886, 17344572369296315934, 8369541708203190132, 9084947599628266508]), right: Word([17481787080094192886, 17344572369296315934, 8369541708203190132, 9084947599628266508]) }, Word([3681493894953109344, 11321487362401456818, 1639203356938284610, 4783816206107069415]): StoreNode { left: Word([12168788883142781116, 1157664049794767316, 15269719436364786747, 12888101157827916474]), right: Word([12168788883142781116, 1157664049794767316, 15269719436364786747, 12888101157827916474]) }, Word([2029045106602834183, 1757591117308312255, 10561579589696834239, 4822378461263517947]): StoreNode { left: Word([17720103482773839854, 3666713115673515988, 13565154107474596744, 14532990540392924818]), right: Word([17720103482773839854, 3666713115673515988, 13565154107474596744, 14532990540392924818]) }, Word([7594527478968737853, 2482352157869334166, 15502074477356725901, 16842326456776388115]): StoreNode { left: Word([14094579728823435735, 13090592347802946210, 2125625189877988660, 15315706031523479907]), right: Word([14094579728823435735, 13090592347802946210, 2125625189877988660, 15315706031523479907]) }, Word([10659013449562092010, 8327780315807026800, 13539689942146354021, 3941237153396765083]): StoreNode { left: Word([14861539222780790420, 13250108386008778060, 9710405813337140523, 12806676905518229065]), right: Word([14861539222780790420, 13250108386008778060, 9710405813337140523, 12806676905518229065]) }, Word([6466572559131351401, 13018746780914013113, 7511315714043386471, 236403923382990899]): StoreNode { left: Word([5631915619597560326, 14770899910719489831, 8877868040093929796, 17199950280321517821]), right: Word([5631915619597560326, 14770899910719489831, 8877868040093929796, 17199950280321517821]) }, Word([2552672250779144988, 10577481778446336184, 4861940164259482043, 7781956455013817912]): StoreNode { left: Word([11026644081237581605, 1316683814723473570, 18411334848095013307, 16282095311924467631]), right: Word([11026644081237581605, 1316683814723473570, 18411334848095013307, 16282095311924467631]) }, Word([6948841886948387852, 16705140382371429767, 4271655179131473226, 9725877197440501121]): StoreNode { left: Word([3513432642876902278, 4919644442722053153, 7045559581432888097, 215599645404690435]), right: Word([3513432642876902278, 4919644442722053153, 7045559581432888097, 215599645404690435]) }, Word([11502309391764313293, 15408362158527107816, 16737903971540353356, 12445545081039789394]): StoreNode { left: Word([4641795713004362092, 13201636851996067807, 12974854983441474969, 7447361876801513644]), right: Word([4641795713004362092, 13201636851996067807, 12974854983441474969, 7447361876801513644]) }, Word([7973110081518251475, 1889138053609342680, 9500386198577176757, 17886182881672738217]): StoreNode { left: Word([1389192199000800401, 14965156259873081175, 15036620832998599183, 17021587910652375395]), right: Word([1389192199000800401, 14965156259873081175, 15036620832998599183, 17021587910652375395]) }, Word([734617692582477804, 11871516935077749937, 12085935336918533812, 11028098016323141988]): StoreNode { left: Word([10937083382606895486, 12203867463821771187, 13369919265612777227, 2521482611471096233]), right: Word([10937083382606895486, 12203867463821771187, 13369919265612777227, 2521482611471096233]) }, Word([13418073558436211578, 4057125936260775125, 2634355660142108757, 13785740649645322274]): StoreNode { left: Word([1756711876748018497, 12300483420058086404, 5392852576971575428, 18031203642632594560]), right: Word([1756711876748018497, 12300483420058086404, 5392852576971575428, 18031203642632594560]) }, Word([2277985388375494974, 8690279530031225242, 7927899527173960608, 12726016321773963652]): StoreNode { left: Word([12622826460971228449, 16993439952290228049, 2470849488545463901, 13743758203456345511]), right: Word([12622826460971228449, 16993439952290228049, 2470849488545463901, 13743758203456345511]) }, Word([9520529327341941915, 18180519401555142584, 4020469736477360869, 12035765917229126956]): StoreNode { left: Word([4019035883906726276, 8483625482618559632, 4205331316175129265, 3932659371063642965]), right: Word([4019035883906726276, 8483625482618559632, 4205331316175129265, 3932659371063642965]) }, Word([5989864776064402722, 1906168420520207933, 12627765276323863528, 2635708872631889044]): StoreNode { left: Word([3857750216424946310, 12777590194206601769, 661630070219048778, 5088469724525044881]), right: Word([3857750216424946310, 12777590194206601769, 661630070219048778, 5088469724525044881]) }, Word([11303289914571955374, 7513204923223706648, 9908645180593022327, 5811206562163318356]): StoreNode { left: Word([9601493582420114115, 15758504372255382102, 14343233104644456582, 3394886631946169932]), right: Word([9601493582420114115, 15758504372255382102, 14343233104644456582, 3394886631946169932]) }, Word([2794642075503047077, 7417025836077021486, 5660442746081466149, 13489817027849423411]): StoreNode { left: Word([8408052895584489460, 15310071432632783509, 4864051001807436092, 16093736490225187771]), right: Word([8408052895584489460, 15310071432632783509, 4864051001807436092, 16093736490225187771]) }, Word([4029686653356295540, 17407543566756647557, 4527716756041090279, 2487874390715044993]): StoreNode { left: Word([14087193094694112210, 16417437135168823819, 1483363951143935498, 1058151968976168447]), right: Word([14087193094694112210, 16417437135168823819, 1483363951143935498, 1058151968976168447]) }, Word([3032620037225059051, 13522881885116127385, 6010511038055304264, 8199256447383686121]): StoreNode { left: Word([11250302734399433639, 4970037623163209776, 15776613712371118341, 5554382612311754837]), right: Word([11250302734399433639, 4970037623163209776, 15776613712371118341, 5554382612311754837]) }, Word([16887830766257833064, 16469281334301200807, 2656535905661661995, 16265715707801900006]): StoreNode { left: Word([14261201379833127503, 10191983145123381732, 15855383458220141315, 11608515250799031503]), right: Word([14261201379833127503, 10191983145123381732, 15855383458220141315, 11608515250799031503]) }, Word([14569229642620176153, 11911323936698068281, 12994940697571867890, 6792216927716071548]): StoreNode { left: Word([1681916315924531719, 2141975596572566596, 2436984907702399885, 13567847333531041620]), right: Word([1681916315924531719, 2141975596572566596, 2436984907702399885, 13567847333531041620]) }, Word([5257277882444261955, 8511211402794551302, 3294838877645533839, 4084864647832858048]): StoreNode { left: Word([7948776578097466250, 8630046431048474853, 11549811661672434609, 14329713552208961509]), right: Word([7948776578097466250, 8630046431048474853, 11549811661672434609, 14329713552208961509]) }, Word([18196715147759862415, 10343838453113681626, 14362983645300474791, 17473976419771437609]): StoreNode { left: Word([17828665474727822547, 10936899111526366517, 709567054815404244, 11815220992210433530]), right: Word([17828665474727822547, 10936899111526366517, 709567054815404244, 11815220992210433530]) }, Word([17206241847610364483, 458182872304242233, 15265614766510480595, 16700297137850816165]): StoreNode { left: Word([9520529327341941915, 18180519401555142584, 4020469736477360869, 12035765917229126956]), right: Word([9520529327341941915, 18180519401555142584, 4020469736477360869, 12035765917229126956]) }, Word([3332855817731547893, 1068928372599561798, 17119375903210334455, 8148601736624954416]): StoreNode { left: Word([17265634841675424144, 18322832739735580203, 17896992777163902308, 6189383326950297131]), right: Word([17265634841675424144, 18322832739735580203, 17896992777163902308, 6189383326950297131]) }, Word([3076622600047452853, 7692372619602212758, 2594612967359783321, 444292698159036803]): StoreNode { left: Word([13573381494724986738, 17187504539416828346, 3050031951645434966, 10283156032084000124]), right: Word([13573381494724986738, 17187504539416828346, 3050031951645434966, 10283156032084000124]) }, Word([14037088614975082476, 2992162110906036429, 11160798476748515212, 18012657909838823047]): StoreNode { left: Word([1658412303213607010, 17315008253014843041, 10206587875309120409, 9300743939822212768]), right: Word([1658412303213607010, 17315008253014843041, 10206587875309120409, 9300743939822212768]) }, Word([8615527482897545373, 737889138974514841, 12583373936224140583, 6685423061850698480]): StoreNode { left: Word([9287924107116036735, 9792656569482967496, 16995568987148749395, 1625186103120263193]), right: Word([9287924107116036735, 9792656569482967496, 16995568987148749395, 1625186103120263193]) }, Word([2097891104864687729, 4083401689948929517, 4202926035024613215, 18368290371085960061]): StoreNode { left: Word([7339659958287626130, 8446072088940057168, 14211581384206481048, 15523708989075577587]), right: Word([7339659958287626130, 8446072088940057168, 14211581384206481048, 15523708989075577587]) }, Word([7882241905385628875, 14410376287956647926, 11843286583713773150, 15475988626858362381]): StoreNode { left: Word([7973110081518251475, 1889138053609342680, 9500386198577176757, 17886182881672738217]), right: Word([7973110081518251475, 1889138053609342680, 9500386198577176757, 17886182881672738217]) }, Word([14448157482521530067, 17865161921504959156, 10319385198642448897, 364163501511998552]): StoreNode { left: Word([9722640569118951143, 16371655672847089887, 12379452272155069993, 11605969747977185617]), right: Word([9722640569118951143, 16371655672847089887, 12379452272155069993, 11605969747977185617]) }, Word([15206763021853065070, 15268692497656424421, 13335448435922172445, 3421340628484408379]): StoreNode { left: Word([5175159910654039438, 10258564296733764665, 235961379704359454, 18007006485615491006]), right: Word([5175159910654039438, 10258564296733764665, 235961379704359454, 18007006485615491006]) }, Word([6968045592333368361, 14643619777680790563, 14560690348341327228, 8797333827061355723]): StoreNode { left: Word([3839556025418707839, 12797287643874784602, 8435268205415553046, 9228282871428570186]), right: Word([3839556025418707839, 12797287643874784602, 8435268205415553046, 9228282871428570186]) }, Word([14827447693720375746, 17296925942589213350, 13524332314559504765, 15663886706087995199]): StoreNode { left: Word([18185978518863914335, 936586966360019113, 497299419609993926, 1977881506773614749]), right: Word([18185978518863914335, 936586966360019113, 497299419609993926, 1977881506773614749]) }, Word([17265634841675424144, 18322832739735580203, 17896992777163902308, 6189383326950297131]): StoreNode { left: Word([9329637674239983584, 2512861030579248721, 10833150484884266896, 7470498642428983444]), right: Word([9329637674239983584, 2512861030579248721, 10833150484884266896, 7470498642428983444]) }, Word([6564773237324370394, 11394009591635932485, 11119989559797835951, 10494746359871886399]): StoreNode { left: Word([3569883190206433742, 3719544530637969475, 4103161862716795944, 6791410182593147633]), right: Word([3569883190206433742, 3719544530637969475, 4103161862716795944, 6791410182593147633]) }, Word([4927005703742025316, 4890472506413448123, 5349837739391111418, 18425068075064121657]): StoreNode { left: Word([6948841886948387852, 16705140382371429767, 4271655179131473226, 9725877197440501121]), right: Word([6948841886948387852, 16705140382371429767, 4271655179131473226, 9725877197440501121]) }, Word([7339659958287626130, 8446072088940057168, 14211581384206481048, 15523708989075577587]): StoreNode { left: Word([11434151706703103853, 2553885014018580200, 18110339743829365892, 11135593687674848387]), right: Word([11434151706703103853, 2553885014018580200, 18110339743829365892, 11135593687674848387]) }, Word([14094579728823435735, 13090592347802946210, 2125625189877988660, 15315706031523479907]): StoreNode { left: Word([4904859635852987122, 5223384455833734066, 1665061282351887538, 15683565653801388505]), right: Word([4904859635852987122, 5223384455833734066, 1665061282351887538, 15683565653801388505]) }, Word([16851257895995922207, 460476530954503988, 8252280393181931404, 3320606778608540030]): StoreNode { left: Word([6138963468106467335, 10015576480800113572, 2608178806616834808, 12790960481402268815]), right: Word([6138963468106467335, 10015576480800113572, 2608178806616834808, 12790960481402268815]) }, Word([5640147081583643405, 17134624347316611886, 1880303066730809137, 15607583997940723974]): StoreNode { left: Word([4803262840299893037, 4247844871260676698, 4479007735251257251, 170230147533273230]), right: Word([4803262840299893037, 4247844871260676698, 4479007735251257251, 170230147533273230]) }, Word([17483286922353768131, 353378057542380712, 1935183237414585408, 4820339620987989650]): StoreNode { left: Word([16172462385444809646, 3268597753131435459, 3481491333654579291, 16487779176137683725]), right: Word([16172462385444809646, 3268597753131435459, 3481491333654579291, 16487779176137683725]) }, Word([14953792914419160485, 11899334813871471342, 459463254087095417, 6481990903152804029]): StoreNode { left: Word([13195912932300066301, 6663759923929556318, 12378203634703501852, 13104201329129056412]), right: Word([13195912932300066301, 6663759923929556318, 12378203634703501852, 13104201329129056412]) }, Word([12146678323567200178, 14288630174929498478, 13374892366980833045, 11840636859983936891]): StoreNode { left: Word([15220380953028059006, 2981707349961006045, 7409523958661360004, 2816116826688969892]), right: Word([15220380953028059006, 2981707349961006045, 7409523958661360004, 2816116826688969892]) }, Word([5725893075817178692, 15208532402593116148, 7333356173779476527, 3930058837319775696]): StoreNode { left: Word([12229996282500528911, 15614286737068656839, 770488240805538808, 1979912945172278294]), right: Word([12229996282500528911, 15614286737068656839, 770488240805538808, 1979912945172278294]) }, Word([9228745703820228848, 3490864232537454386, 12388663399712450443, 7851984405225198686]): StoreNode { left: Word([11752400953856521214, 5362783011298249532, 17354096629596139566, 10575288522732732577]), right: Word([11752400953856521214, 5362783011298249532, 17354096629596139566, 10575288522732732577]) }, Word([12229996282500528911, 15614286737068656839, 770488240805538808, 1979912945172278294]): StoreNode { left: Word([15665673586706941340, 13623412652150524033, 17811481911429459576, 11928082819090385242]), right: Word([15665673586706941340, 13623412652150524033, 17811481911429459576, 11928082819090385242]) }, Word([12942626829736124439, 5721450516363181464, 17736075952551223589, 13617890760852518803]): StoreNode { left: Word([7843790165316710457, 15435360016904699356, 15397728545809341743, 9368516015532964860]), right: Word([7843790165316710457, 15435360016904699356, 15397728545809341743, 9368516015532964860]) }, Word([12694189291228105454, 311746243924660948, 12886876604510907013, 10275197342275215145]): StoreNode { left: Word([4927005703742025316, 4890472506413448123, 5349837739391111418, 18425068075064121657]), right: Word([4927005703742025316, 4890472506413448123, 5349837739391111418, 18425068075064121657]) }, Word([15321474589252129342, 17373224439259377994, 15071539326562317628, 3312677166725950353]): StoreNode { left: Word([12146678323567200178, 14288630174929498478, 13374892366980833045, 11840636859983936891]), right: Word([12146678323567200178, 14288630174929498478, 13374892366980833045, 11840636859983936891]) }, Word([10916866557844967526, 1380795961319726089, 13856130225083971263, 1101493123203712452]): StoreNode { left: Word([16851257895995922207, 460476530954503988, 8252280393181931404, 3320606778608540030]), right: Word([16851257895995922207, 460476530954503988, 8252280393181931404, 3320606778608540030]) }, Word([11404819055070489224, 14725127316296168711, 10760047962896616121, 3004531186365554456]): StoreNode { left: Word([13466541365181182301, 13296579194950607187, 8254351985131518987, 9709009968831916996]), right: Word([13466541365181182301, 13296579194950607187, 8254351985131518987, 9709009968831916996]) }, Word([4754547339565905384, 12872986436851975037, 16723864163067909300, 14703482523647457505]): StoreNode { left: Word([6968045592333368361, 14643619777680790563, 14560690348341327228, 8797333827061355723]), right: Word([6968045592333368361, 14643619777680790563, 14560690348341327228, 8797333827061355723]) }, Word([5478818558137963098, 9553575270729404038, 15398481639735764762, 3990036657688848252]): StoreNode { left: Word([13453456720340453, 15633984341501451587, 10846972576081034452, 372111032031646073]), right: Word([13453456720340453, 15633984341501451587, 10846972576081034452, 372111032031646073]) }, Word([18307518359543041215, 7196266768967100497, 1713403070696934104, 6013474429251139006]): StoreNode { left: Word([973077593552084162, 965938315840868608, 11405844957334674528, 16853120284213681149]), right: Word([973077593552084162, 965938315840868608, 11405844957334674528, 16853120284213681149]) }, Word([13948603355603496603, 15902438544472945077, 1969361494026622497, 17326911676634210553]): StoreNode { left: Word([16081431322775411514, 13201312030265587002, 18283434127959076535, 9889802180847551599]), right: Word([16081431322775411514, 13201312030265587002, 18283434127959076535, 9889802180847551599]) }, Word([2010547812829295528, 14402648261429237231, 10658082865881063346, 16725182023563565423]): StoreNode { left: Word([5989864776064402722, 1906168420520207933, 12627765276323863528, 2635708872631889044]), right: Word([5989864776064402722, 1906168420520207933, 12627765276323863528, 2635708872631889044]) }, Word([17287357901831513348, 11033698866839111331, 16499695990808200507, 5642251526480516634]): StoreNode { left: Word([12293010843557789690, 10978603602969295676, 14863259802563519675, 8436801447122365813]), right: Word([12293010843557789690, 10978603602969295676, 14863259802563519675, 8436801447122365813]) }, Word([6532838515146471342, 17788565134075262760, 1074871980130476498, 15072639179682454965]): StoreNode { left: Word([8208487783966382442, 10813785073252244446, 9216050843050197412, 3809526063931299677]), right: Word([8208487783966382442, 10813785073252244446, 9216050843050197412, 3809526063931299677]) }, Word([8801845050152766755, 514652983374395586, 13975919271481418443, 17480955484347349170]): StoreNode { left: Word([7078477424334594989, 9975053207879493059, 5220656123503260168, 13795787984352794188]), right: Word([7078477424334594989, 9975053207879493059, 5220656123503260168, 13795787984352794188]) }, Word([15061258365050086869, 2548465635025457452, 16549816710578308985, 6344308692772414756]): StoreNode { left: Word([3065574722948060789, 11408250270293573168, 4526077038425434996, 17669669420977221247]), right: Word([3065574722948060789, 11408250270293573168, 4526077038425434996, 17669669420977221247]) }, Word([76377125857988554, 6860602494686729665, 42908225181608509, 14900680482287909003]): StoreNode { left: Word([9937486349304811712, 15531298986521750666, 11054985141651560301, 6571118172938081507]), right: Word([9937486349304811712, 15531298986521750666, 11054985141651560301, 6571118172938081507]) }, Word([4048229990618541475, 4990035155091450825, 836276877438775514, 8862729230003785701]): StoreNode { left: Word([861889532903705757, 18112241116685726108, 11045559727640780195, 11268662865321027839]), right: Word([861889532903705757, 18112241116685726108, 11045559727640780195, 11268662865321027839]) }, Word([8490051641633132830, 11985660456681176415, 12193381039977027251, 17563185381678568385]): StoreNode { left: Word([3870617340693651786, 2748490321246408799, 8501743976565218963, 1660720190266083389]), right: Word([3870617340693651786, 2748490321246408799, 8501743976565218963, 1660720190266083389]) }, Word([13238072489118494737, 6917129315345826393, 13736362398490889690, 4929049375601714136]): StoreNode { left: Word([2433738165854950976, 6710644905925382197, 10571480102433401045, 16853295309134271298]), right: Word([2433738165854950976, 6710644905925382197, 10571480102433401045, 16853295309134271298]) }, Word([3242412641814961275, 362025075320508926, 1141491624792615527, 13358894417717890216]): StoreNode { left: Word([9658814175819719151, 15423078485655788973, 11910422923889655260, 13042413907691955765]), right: Word([9658814175819719151, 15423078485655788973, 11910422923889655260, 13042413907691955765]) }, Word([718235932193096401, 5291209201499977003, 9373944179472806785, 6993234404845916409]): StoreNode { left: Word([13112442802852909063, 4913484758078915958, 7266978378146328944, 10790649821626694701]), right: Word([13112442802852909063, 4913484758078915958, 7266978378146328944, 10790649821626694701]) }, Word([7935490060063517423, 14217789231103569691, 1646625356550748785, 16477629743612538499]): StoreNode { left: Word([1337927689725378436, 953433458535267304, 12306231591632083661, 12351800673817007739]), right: Word([1337927689725378436, 953433458535267304, 12306231591632083661, 12351800673817007739]) }, Word([9818329157747748341, 5512560521136963471, 3984937245754714065, 11578207460547921686]): StoreNode { left: Word([13418073558436211578, 4057125936260775125, 2634355660142108757, 13785740649645322274]), right: Word([13418073558436211578, 4057125936260775125, 2634355660142108757, 13785740649645322274]) }, Word([1681916315924531719, 2141975596572566596, 2436984907702399885, 13567847333531041620]): StoreNode { left: Word([11502309391764313293, 15408362158527107816, 16737903971540353356, 12445545081039789394]), right: Word([11502309391764313293, 15408362158527107816, 16737903971540353356, 12445545081039789394]) }, Word([17260290086154060154, 6240301364004240427, 14527411348150929039, 11444950085498312777]): StoreNode { left: Word([6722134720998820006, 7598932739135893094, 13600489201328358790, 15755075279111667297]), right: Word([6722134720998820006, 7598932739135893094, 13600489201328358790, 15755075279111667297]) }, Word([17865739277857928393, 3264526262192775286, 11636616050702318032, 14916249757828196833]): StoreNode { left: Word([4027355168640749318, 18147685156073309486, 14178491983898834893, 7142308990360278220]), right: Word([4027355168640749318, 18147685156073309486, 14178491983898834893, 7142308990360278220]) }, Word([16093452470923738175, 4630715214692836152, 3565477765321104467, 10513030805742668548]): StoreNode { left: Word([10641884331659728866, 5824472374464543655, 15090390233728772373, 2862439677120349167]), right: Word([10641884331659728866, 5824472374464543655, 15090390233728772373, 2862439677120349167]) }, Word([973077593552084162, 965938315840868608, 11405844957334674528, 16853120284213681149]): StoreNode { left: Word([17287357901831513348, 11033698866839111331, 16499695990808200507, 5642251526480516634]), right: Word([17287357901831513348, 11033698866839111331, 16499695990808200507, 5642251526480516634]) }, Word([1097593973980074628, 13743272521450152872, 14404906687422494637, 5920423211413081450]): StoreNode { left: Word([13938856789110932723, 1322062558479500187, 7002703634744650905, 14424976620913089940]), right: Word([13938856789110932723, 1322062558479500187, 7002703634744650905, 14424976620913089940]) }, Word([7336608633766069963, 1964742493041646055, 2228626143957778340, 12744212475078336905]): StoreNode { left: Word([17260290086154060154, 6240301364004240427, 14527411348150929039, 11444950085498312777]), right: Word([17260290086154060154, 6240301364004240427, 14527411348150929039, 11444950085498312777]) }, Word([12179979503294299925, 7775973189637043644, 2012645900484944964, 1586689303582845196]): StoreNode { left: Word([5411428456724337444, 9312024132614679134, 7531976637027166998, 16408565161983623980]), right: Word([5411428456724337444, 9312024132614679134, 7531976637027166998, 16408565161983623980]) }, Word([14921081889954238384, 3762083358690455497, 14885111885449746901, 14433508434062573825]): StoreNode { left: Word([9818329157747748341, 5512560521136963471, 3984937245754714065, 11578207460547921686]), right: Word([9818329157747748341, 5512560521136963471, 3984937245754714065, 11578207460547921686]) }, Word([5116523511540088640, 12381059245485642368, 2176361879916914688, 11209293198464735683]): StoreNode { left: Word([11677748883385181208, 15891398395707500576, 3790704659934033620, 2126099371106695189]), right: Word([11677748883385181208, 15891398395707500576, 3790704659934033620, 2126099371106695189]) }, Word([11678346044972396440, 977365559877689960, 2048881256895841302, 610238814490369171]): StoreNode { left: Word([11532516676099301119, 16294438819486932342, 5138343606548374516, 9527785488250445659]), right: Word([11532516676099301119, 16294438819486932342, 5138343606548374516, 9527785488250445659]) }, Word([15665673586706941340, 13623412652150524033, 17811481911429459576, 11928082819090385242]): StoreNode { left: Word([1369995830374697549, 17438224194890468718, 15717102418879120940, 13307112664439804088]), right: Word([1369995830374697549, 17438224194890468718, 15717102418879120940, 13307112664439804088]) }, Word([13949966806330031092, 6408644485482563464, 17924957978137904833, 14541631951779463352]): StoreNode { left: Word([9474898067490186726, 8512178893383210842, 7603891959824357826, 10155223445567432450]), right: Word([9474898067490186726, 8512178893383210842, 7603891959824357826, 10155223445567432450]) }, Word([17288335252189973373, 3243363076395469373, 8880515798614590986, 10260780639137628077]): StoreNode { left: Word([1839714959437284152, 12088193186987715006, 10200898335013164008, 12768529781145127245]), right: Word([1839714959437284152, 12088193186987715006, 10200898335013164008, 12768529781145127245]) }, Word([2107962512042740887, 12601426864452066261, 2511793465344450040, 16170670764745636358]): StoreNode { left: Word([14780288161098294349, 4255298746207371045, 13498920948011112647, 14231123605243044098]), right: Word([14780288161098294349, 4255298746207371045, 13498920948011112647, 14231123605243044098]) }, Word([9836439287122733386, 2861497529553892107, 18385754065000226143, 527572728851510141]): StoreNode { left: Word([1184653980262967381, 2223322281508398491, 10303471379865796109, 4229455052273269346]), right: Word([1184653980262967381, 2223322281508398491, 10303471379865796109, 4229455052273269346]) }, Word([15770528285555942394, 2415392051913301940, 17313348921966171954, 12048126551560545837]): StoreNode { left: Word([1827770688314962202, 4963972543970385735, 5188464341117610812, 2330330999800302033]), right: Word([1827770688314962202, 4963972543970385735, 5188464341117610812, 2330330999800302033]) }, Word([1764284086676438589, 1728144858662917504, 7026857593585477401, 18193386587955914156]): StoreNode { left: Word([2107962512042740887, 12601426864452066261, 2511793465344450040, 16170670764745636358]), right: Word([2107962512042740887, 12601426864452066261, 2511793465344450040, 16170670764745636358]) }, Word([9658814175819719151, 15423078485655788973, 11910422923889655260, 13042413907691955765]): StoreNode { left: Word([14988769734873826119, 11616418137866759184, 12691159832663871220, 5651788240523866423]), right: Word([14988769734873826119, 11616418137866759184, 12691159832663871220, 5651788240523866423]) }, Word([8285751253419746120, 7145574934947284592, 17282730415517658155, 18331550320305584016]): StoreNode { left: Word([14231715992936942954, 18214790771558362674, 17152689110214139839, 3107117349423081011]), right: Word([14231715992936942954, 18214790771558362674, 17152689110214139839, 3107117349423081011]) }, Word([12483888485996122998, 2442599894916143816, 9678357570828136785, 7779721928181127911]): StoreNode { left: Word([4029686653356295540, 17407543566756647557, 4527716756041090279, 2487874390715044993]), right: Word([4029686653356295540, 17407543566756647557, 4527716756041090279, 2487874390715044993]) }, Word([17720103482773839854, 3666713115673515988, 13565154107474596744, 14532990540392924818]): StoreNode { left: Word([17821070291423849387, 18000937700050882546, 10685740000659412075, 11989810840691386655]), right: Word([17821070291423849387, 18000937700050882546, 10685740000659412075, 11989810840691386655]) }, Word([11434151706703103853, 2553885014018580200, 18110339743829365892, 11135593687674848387]): StoreNode { left: Word([9849695060915088580, 11301898535946809670, 6071927710872205345, 14894364046141650617]), right: Word([9849695060915088580, 11301898535946809670, 6071927710872205345, 14894364046141650617]) }, Word([2152431332261253344, 9197416692745374188, 7829334815295758887, 11138833507760989657]): StoreNode { left: Word([6949670792072715221, 6600423816263595522, 17734601187068070122, 11219862778460541955]), right: Word([6949670792072715221, 6600423816263595522, 17734601187068070122, 11219862778460541955]) }, Word([14087193094694112210, 16417437135168823819, 1483363951143935498, 1058151968976168447]): StoreNode { left: Word([9228745703820228848, 3490864232537454386, 12388663399712450443, 7851984405225198686]), right: Word([9228745703820228848, 3490864232537454386, 12388663399712450443, 7851984405225198686]) }, Word([13030835447205694728, 6166100377368864548, 6429338643537928566, 12286848454813449959]): StoreNode { left: Word([5478818558137963098, 9553575270729404038, 15398481639735764762, 3990036657688848252]), right: Word([5478818558137963098, 9553575270729404038, 15398481639735764762, 3990036657688848252]) }, Word([17167041025187024324, 4400885916042396520, 180962442427460263, 1081753009405638580]): StoreNode { left: Word([3681493894953109344, 11321487362401456818, 1639203356938284610, 4783816206107069415]), right: Word([3681493894953109344, 11321487362401456818, 1639203356938284610, 4783816206107069415]) }, Word([13215770000215166094, 13630631367930530223, 1058870009036271215, 6294200115013616468]): StoreNode { left: Word([66202320346346006, 16957515688009991361, 11225911464151308270, 3734804960700643393]), right: Word([66202320346346006, 16957515688009991361, 11225911464151308270, 3734804960700643393]) }, Word([14261201379833127503, 10191983145123381732, 15855383458220141315, 11608515250799031503]): StoreNode { left: Word([6381603626046235187, 16495247605570875533, 10070256167741509086, 3969607410397129324]), right: Word([6381603626046235187, 16495247605570875533, 10070256167741509086, 3969607410397129324]) }, Word([11958494925108187724, 6059642826232274823, 1563918267677757605, 266509853282035592]): StoreNode { left: Word([17288335252189973373, 3243363076395469373, 8880515798614590986, 10260780639137628077]), right: Word([17288335252189973373, 3243363076395469373, 8880515798614590986, 10260780639137628077]) }, Word([17821070291423849387, 18000937700050882546, 10685740000659412075, 11989810840691386655]): StoreNode { left: Word([2552672250779144988, 10577481778446336184, 4861940164259482043, 7781956455013817912]), right: Word([2552672250779144988, 10577481778446336184, 4861940164259482043, 7781956455013817912]) }, Word([8408052895584489460, 15310071432632783509, 4864051001807436092, 16093736490225187771]): StoreNode { left: Word([11678346044972396440, 977365559877689960, 2048881256895841302, 610238814490369171]), right: Word([11678346044972396440, 977365559877689960, 2048881256895841302, 610238814490369171]) }, Word([16595012576192613315, 16028552537812484518, 13016887826405546773, 14649690775021494057]): StoreNode { left: Word([11300236651178143890, 15307634289168527196, 2834866419963148279, 7512874625395280090]), right: Word([11300236651178143890, 15307634289168527196, 2834866419963148279, 7512874625395280090]) }, Word([1478357986561897612, 3963701567400985039, 10269836564499521403, 11874873630603798755]): StoreNode { left: Word([936391814816943993, 6085855616346025677, 5782721339195502211, 10409491632083436908]), right: Word([936391814816943993, 6085855616346025677, 5782721339195502211, 10409491632083436908]) }, Word([11752400953856521214, 5362783011298249532, 17354096629596139566, 10575288522732732577]): StoreNode { left: Word([12942626829736124439, 5721450516363181464, 17736075952551223589, 13617890760852518803]), right: Word([12942626829736124439, 5721450516363181464, 17736075952551223589, 13617890760852518803]) }, Word([15808045963398944497, 17543993781122279474, 1303416547552690092, 9966042687312308733]): StoreNode { left: Word([12615040286682574183, 15268784991961452644, 3513377293318498637, 16214325735720913561]), right: Word([12615040286682574183, 15268784991961452644, 3513377293318498637, 16214325735720913561]) }, Word([4641795713004362092, 13201636851996067807, 12974854983441474969, 7447361876801513644]): StoreNode { left: Word([5985273725913047798, 6143467068979367057, 5400193760571247022, 2564284857872216700]), right: Word([5985273725913047798, 6143467068979367057, 5400193760571247022, 2564284857872216700]) }, Word([1438363538932015401, 10350089427532681500, 81696311554438591, 14025162401400138891]): StoreNode { left: Word([14921081889954238384, 3762083358690455497, 14885111885449746901, 14433508434062573825]), right: Word([14921081889954238384, 3762083358690455497, 14885111885449746901, 14433508434062573825]) }, Word([9755907048710665826, 13697078808748604851, 17210321635283113095, 1203394006092675979]): StoreNode { left: Word([3332855817731547893, 1068928372599561798, 17119375903210334455, 8148601736624954416]), right: Word([3332855817731547893, 1068928372599561798, 17119375903210334455, 8148601736624954416]) }, Word([11515346302816996768, 13392283011974875322, 1224484927901797763, 15555956977863979787]): StoreNode { left: Word([10659013449562092010, 8327780315807026800, 13539689942146354021, 3941237153396765083]), right: Word([10659013449562092010, 8327780315807026800, 13539689942146354021, 3941237153396765083]) }, Word([10347491038074052866, 11061756013655443653, 8901792852813329415, 10002477867799577447]): StoreNode { left: Word([16688151588649906570, 12937054427339650762, 2125115528195796454, 4796610823085621719]), right: Word([16688151588649906570, 12937054427339650762, 2125115528195796454, 4796610823085621719]) }, Word([6929517142929368524, 827846337332356902, 16493367601851610988, 10068350323560387091]): StoreNode { left: Word([1764284086676438589, 1728144858662917504, 7026857593585477401, 18193386587955914156]), right: Word([1764284086676438589, 1728144858662917504, 7026857593585477401, 18193386587955914156]) }, Word([9474898067490186726, 8512178893383210842, 7603891959824357826, 10155223445567432450]): StoreNode { left: Word([4819269004009448479, 13357171388731598367, 14712132650815744178, 17467481052122728113]), right: Word([4819269004009448479, 13357171388731598367, 14712132650815744178, 17467481052122728113]) }, Word([9824187829031065950, 14838207864753078846, 16112609346278814701, 16574434459555803760]): StoreNode { left: Word([8615527482897545373, 737889138974514841, 12583373936224140583, 6685423061850698480]), right: Word([8615527482897545373, 737889138974514841, 12583373936224140583, 6685423061850698480]) }, Word([18227647057163878631, 7362146495389184837, 16973509243203311354, 16654931471047608137]): StoreNode { left: Word([8851464130889639767, 3689278501380880117, 16801368275303079970, 17398988108612080197]), right: Word([8851464130889639767, 3689278501380880117, 16801368275303079970, 17398988108612080197]) }, Word([1786099561873461435, 7288713492950634156, 18324446665762396442, 16387860654998412677]): StoreNode { left: Word([6929517142929368524, 827846337332356902, 16493367601851610988, 10068350323560387091]), right: Word([6929517142929368524, 827846337332356902, 16493367601851610988, 10068350323560387091]) }, Word([7829641133220670678, 6170216088031698405, 11814483661801576435, 1762887097744793975]): StoreNode { left: Word([1299421782687082884, 9938699043036414489, 10193025806762503939, 12073246492422971113]), right: Word([1299421782687082884, 9938699043036414489, 10193025806762503939, 12073246492422971113]) }, Word([13195912932300066301, 6663759923929556318, 12378203634703501852, 13104201329129056412]): StoreNode { left: Word([1786099561873461435, 7288713492950634156, 18324446665762396442, 16387860654998412677]), right: Word([1786099561873461435, 7288713492950634156, 18324446665762396442, 16387860654998412677]) }, Word([10641884331659728866, 5824472374464543655, 15090390233728772373, 2862439677120349167]): StoreNode { left: Word([8285751253419746120, 7145574934947284592, 17282730415517658155, 18331550320305584016]), right: Word([8285751253419746120, 7145574934947284592, 17282730415517658155, 18331550320305584016]) }, Word([10650694022550988030, 5634734408638476525, 9233115969432897632, 1437907447409278328]): StoreNode { left: Word([9720135276484706819, 9350120041401976641, 1348777594376050933, 13138246165242825648]), right: Word([9720135276484706819, 9350120041401976641, 1348777594376050933, 13138246165242825648]) }, Word([2782512273606877924, 3656296563981095117, 5947388149010135441, 1678144343036748885]): StoreNode { left: Word([10347491038074052866, 11061756013655443653, 8901792852813329415, 10002477867799577447]), right: Word([10347491038074052866, 11061756013655443653, 8901792852813329415, 10002477867799577447]) }, Word([12622826460971228449, 16993439952290228049, 2470849488545463901, 13743758203456345511]): StoreNode { left: Word([16093452470923738175, 4630715214692836152, 3565477765321104467, 10513030805742668548]), right: Word([16093452470923738175, 4630715214692836152, 3565477765321104467, 10513030805742668548]) }, Word([2433738165854950976, 6710644905925382197, 10571480102433401045, 16853295309134271298]): StoreNode { left: Word([3162775558610426184, 11944004899624546116, 55767976185223284, 5892480272697245897]), right: Word([3162775558610426184, 11944004899624546116, 55767976185223284, 5892480272697245897]) }, Word([11532516676099301119, 16294438819486932342, 5138343606548374516, 9527785488250445659]): StoreNode { left: Word([16786112835494938667, 1513201654355279049, 8712640899449943281, 7987398021042256562]), right: Word([16786112835494938667, 1513201654355279049, 8712640899449943281, 7987398021042256562]) }, Word([6138963468106467335, 10015576480800113572, 2608178806616834808, 12790960481402268815]): StoreNode { left: Word([718235932193096401, 5291209201499977003, 9373944179472806785, 6993234404845916409]), right: Word([718235932193096401, 5291209201499977003, 9373944179472806785, 6993234404845916409]) }, Word([4200853200862894739, 9958181672893805100, 15420724968326563607, 4322683057461506390]): StoreNode { left: Word([12179979503294299925, 7775973189637043644, 2012645900484944964, 1586689303582845196]), right: Word([12179979503294299925, 7775973189637043644, 2012645900484944964, 1586689303582845196]) }, Word([507592135640798279, 7692399006247717139, 17993298431002259507, 15763579988921070730]): StoreNode { left: Word([15096833272371271104, 17903525606033124098, 7509965366382132405, 700034682531412268]), right: Word([15096833272371271104, 17903525606033124098, 7509965366382132405, 700034682531412268]) }, Word([13112442802852909063, 4913484758078915958, 7266978378146328944, 10790649821626694701]): StoreNode { left: Word([9836439287122733386, 2861497529553892107, 18385754065000226143, 527572728851510141]), right: Word([9836439287122733386, 2861497529553892107, 18385754065000226143, 527572728851510141]) }, Word([17676140773731033227, 9910869524252297417, 13570629541815642661, 16682179069864088692]): StoreNode { left: Word([17865739277857928393, 3264526262192775286, 11636616050702318032, 14916249757828196833]), right: Word([17865739277857928393, 3264526262192775286, 11636616050702318032, 14916249757828196833]) }, Word([5411428456724337444, 9312024132614679134, 7531976637027166998, 16408565161983623980]): StoreNode { left: Word([4529513183207956396, 13159618750897909084, 17519217991141651912, 3633432588210295286]), right: Word([4529513183207956396, 13159618750897909084, 17519217991141651912, 3633432588210295286]) }, Word([3616528659857486099, 3764684353414212364, 2018131140887454192, 8036228219081937977]): StoreNode { left: Word([10916866557844967526, 1380795961319726089, 13856130225083971263, 1101493123203712452]), right: Word([10916866557844967526, 1380795961319726089, 13856130225083971263, 1101493123203712452]) }, Word([12615040286682574183, 15268784991961452644, 3513377293318498637, 16214325735720913561]): StoreNode { left: Word([507592135640798279, 7692399006247717139, 17993298431002259507, 15763579988921070730]), right: Word([507592135640798279, 7692399006247717139, 17993298431002259507, 15763579988921070730]) }, Word([10937083382606895486, 12203867463821771187, 13369919265612777227, 2521482611471096233]): StoreNode { left: Word([1242037330294600071, 8643213198640797337, 14112360612081236212, 11296904697431650998]), right: Word([1242037330294600071, 8643213198640797337, 14112360612081236212, 11296904697431650998]) }, Word([16172462385444809646, 3268597753131435459, 3481491333654579291, 16487779176137683725]): StoreNode { left: Word([16595012576192613315, 16028552537812484518, 13016887826405546773, 14649690775021494057]), right: Word([16595012576192613315, 16028552537812484518, 13016887826405546773, 14649690775021494057]) }, Word([3513432642876902278, 4919644442722053153, 7045559581432888097, 215599645404690435]): StoreNode { left: Word([17206241847610364483, 458182872304242233, 15265614766510480595, 16700297137850816165]), right: Word([17206241847610364483, 458182872304242233, 15265614766510480595, 16700297137850816165]) }, Word([1948346461439742215, 3732116413852898861, 11551527965100731625, 9579853796698058766]): StoreNode { left: Word([16526395969329197445, 9559501502536099560, 1553475872660253738, 6113242756977913443]), right: Word([16526395969329197445, 9559501502536099560, 1553475872660253738, 6113242756977913443]) }, Word([12027238716275824439, 13535324266840219743, 18037893236443259045, 3033939865521439735]): StoreNode { left: Word([2029045106602834183, 1757591117308312255, 10561579589696834239, 4822378461263517947]), right: Word([2029045106602834183, 1757591117308312255, 10561579589696834239, 4822378461263517947]) }, Word([13911627859049081064, 13298542751859672529, 18341014824837028242, 5587966507704160144]): StoreNode { left: Word([10957185917743597702, 15815185767119166433, 17883994521792846784, 15958104556930886663]), right: Word([10957185917743597702, 15815185767119166433, 17883994521792846784, 15958104556930886663]) }, Word([11610444438381691049, 3463458831831733789, 18130382294143481778, 10531060888898053288]): StoreNode { left: Word([1948346461439742215, 3732116413852898861, 11551527965100731625, 9579853796698058766]), right: Word([1948346461439742215, 3732116413852898861, 11551527965100731625, 9579853796698058766]) }, Word([6949670792072715221, 6600423816263595522, 17734601187068070122, 11219862778460541955]): StoreNode { left: Word([7649304486223386087, 13804636260255990840, 15193764240363996726, 8750788966857438738]), right: Word([7649304486223386087, 13804636260255990840, 15193764240363996726, 8750788966857438738]) }, Word([861889532903705757, 18112241116685726108, 11045559727640780195, 11268662865321027839]): StoreNode { left: Word([15792446837572887800, 10296618656679830686, 15495223476018235907, 6317048736383936110]), right: Word([15792446837572887800, 10296618656679830686, 15495223476018235907, 6317048736383936110]) }, Word([5631915619597560326, 14770899910719489831, 8877868040093929796, 17199950280321517821]): StoreNode { left: Word([2835908832901955707, 10333775432923713997, 13087421807138580325, 16977321740354049492]), right: Word([2835908832901955707, 10333775432923713997, 13087421807138580325, 16977321740354049492]) }, Word([4019035883906726276, 8483625482618559632, 4205331316175129265, 3932659371063642965]): StoreNode { left: Word([5725893075817178692, 15208532402593116148, 7333356173779476527, 3930058837319775696]), right: Word([5725893075817178692, 15208532402593116148, 7333356173779476527, 3930058837319775696]) }, Word([9722640569118951143, 16371655672847089887, 12379452272155069993, 11605969747977185617]): StoreNode { left: Word([2782512273606877924, 3656296563981095117, 5947388149010135441, 1678144343036748885]), right: Word([2782512273606877924, 3656296563981095117, 5947388149010135441, 1678144343036748885]) }, Word([1184653980262967381, 2223322281508398491, 10303471379865796109, 4229455052273269346]): StoreNode { left: Word([13030835447205694728, 6166100377368864548, 6429338643537928566, 12286848454813449959]), right: Word([13030835447205694728, 6166100377368864548, 6429338643537928566, 12286848454813449959]) }, Word([1148273481270068529, 7411276436636897120, 14325955409748352141, 15577038614919538356]): StoreNode { left: Word([13911627859049081064, 13298542751859672529, 18341014824837028242, 5587966507704160144]), right: Word([13911627859049081064, 13298542751859672529, 18341014824837028242, 5587966507704160144]) }, Word([13051724588530357940, 8058102530250142518, 1861782711432586670, 2928050228215055187]): StoreNode { left: Word([10650694022550988030, 5634734408638476525, 9233115969432897632, 1437907447409278328]), right: Word([10650694022550988030, 5634734408638476525, 9233115969432897632, 1437907447409278328]) }, Word([3839556025418707839, 12797287643874784602, 8435268205415553046, 9228282871428570186]): StoreNode { left: Word([2097891104864687729, 4083401689948929517, 4202926035024613215, 18368290371085960061]), right: Word([2097891104864687729, 4083401689948929517, 4202926035024613215, 18368290371085960061]) }, Word([4803262840299893037, 4247844871260676698, 4479007735251257251, 170230147533273230]): StoreNode { left: Word([12027238716275824439, 13535324266840219743, 18037893236443259045, 3033939865521439735]), right: Word([12027238716275824439, 13535324266840219743, 18037893236443259045, 3033939865521439735]) }, Word([9329637674239983584, 2512861030579248721, 10833150484884266896, 7470498642428983444]): StoreNode { left: Word([3611140194800558886, 17185933650781587767, 7835232399818923215, 7974155618002781326]), right: Word([3611140194800558886, 17185933650781587767, 7835232399818923215, 7974155618002781326]) }, Word([179677709502902678, 13848408505806598233, 5351116127423410358, 13831404879203670825]): StoreNode { left: Word([111519449320738059, 7753519026173826517, 990761745886775458, 1636147950905291747]), right: Word([111519449320738059, 7753519026173826517, 990761745886775458, 1636147950905291747]) }, Word([16081431322775411514, 13201312030265587002, 18283434127959076535, 9889802180847551599]): StoreNode { left: Word([8490051641633132830, 11985660456681176415, 12193381039977027251, 17563185381678568385]), right: Word([8490051641633132830, 11985660456681176415, 12193381039977027251, 17563185381678568385]) }, Word([3870617340693651786, 2748490321246408799, 8501743976565218963, 1660720190266083389]): StoreNode { left: Word([2121119282758520982, 9042267662074029772, 15431993929052434204, 10659345458998811701]), right: Word([2121119282758520982, 9042267662074029772, 15431993929052434204, 10659345458998811701]) }, Word([11026644081237581605, 1316683814723473570, 18411334848095013307, 16282095311924467631]): StoreNode { left: Word([15421185663838391582, 7637327008338736603, 8528916855116865328, 15112623435246459995]), right: Word([15421185663838391582, 7637327008338736603, 8528916855116865328, 15112623435246459995]) }, Word([15276162437038843144, 9357100211312577031, 6659010645820615575, 3080992946270648286]): StoreNode { left: Word([2252540812141071021, 9345239973602834651, 16816577830718544121, 17305794189725050624]), right: Word([2252540812141071021, 9345239973602834651, 16816577830718544121, 17305794189725050624]) }, Word([14880282347747786683, 17367879411163609065, 15980046407249551375, 17164299239505550792]): StoreNode { left: Word([11434028378495964221, 17536150822698355349, 14614836082948587098, 16872134140159466808]), right: Word([11434028378495964221, 17536150822698355349, 14614836082948587098, 16872134140159466808]) }, Word([16688151588649906570, 12937054427339650762, 2125115528195796454, 4796610823085621719]): StoreNode { left: Word([3032620037225059051, 13522881885116127385, 6010511038055304264, 8199256447383686121]), right: Word([3032620037225059051, 13522881885116127385, 6010511038055304264, 8199256447383686121]) }, Word([1613276937647176341, 3947618789203212058, 16729968232707130060, 16230812264936083831]): StoreNode { left: Word([4754547339565905384, 12872986436851975037, 16723864163067909300, 14703482523647457505]), right: Word([4754547339565905384, 12872986436851975037, 16723864163067909300, 14703482523647457505]) }, Word([6381603626046235187, 16495247605570875533, 10070256167741509086, 3969607410397129324]): StoreNode { left: Word([12271087840056574078, 3110929701322400724, 10422296782334769689, 3316882600030160039]), right: Word([12271087840056574078, 3110929701322400724, 10422296782334769689, 3316882600030160039]) }, Word([6669302555830062983, 17215908653259280157, 630299220537616081, 11391743803142641498]): StoreNode { left: Word([76377125857988554, 6860602494686729665, 42908225181608509, 14900680482287909003]), right: Word([76377125857988554, 6860602494686729665, 42908225181608509, 14900680482287909003]) }, Word([7078477424334594989, 9975053207879493059, 5220656123503260168, 13795787984352794188]): StoreNode { left: Word([1478357986561897612, 3963701567400985039, 10269836564499521403, 11874873630603798755]), right: Word([1478357986561897612, 3963701567400985039, 10269836564499521403, 11874873630603798755]) }, Word([12376641843954390749, 4923999715584212736, 17734564510888109008, 2502457898079463912]): StoreNode { left: Word([6532838515146471342, 17788565134075262760, 1074871980130476498, 15072639179682454965]), right: Word([6532838515146471342, 17788565134075262760, 1074871980130476498, 15072639179682454965]) }, Word([1827770688314962202, 4963972543970385735, 5188464341117610812, 2330330999800302033]): StoreNode { left: Word([4048229990618541475, 4990035155091450825, 836276877438775514, 8862729230003785701]), right: Word([4048229990618541475, 4990035155091450825, 836276877438775514, 8862729230003785701]) }, Word([16526395969329197445, 9559501502536099560, 1553475872660253738, 6113242756977913443]): StoreNode { left: Word([10389393059157178615, 14040659203543820698, 8464003632813708898, 9108595375533125936]), right: Word([10389393059157178615, 14040659203543820698, 8464003632813708898, 9108595375533125936]) }, Word([6722134720998820006, 7598932739135893094, 13600489201328358790, 15755075279111667297]): StoreNode { left: Word([11515346302816996768, 13392283011974875322, 1224484927901797763, 15555956977863979787]), right: Word([11515346302816996768, 13392283011974875322, 1224484927901797763, 15555956977863979787]) }, Word([12945760289619222513, 9310877444315913384, 9849647677083731157, 9900142929828026274]): StoreNode { left: Word([18307518359543041215, 7196266768967100497, 1713403070696934104, 6013474429251139006]), right: Word([18307518359543041215, 7196266768967100497, 1713403070696934104, 6013474429251139006]) }, Word([14140747730429405084, 11556632244927721957, 16586493581774388134, 9479098913881872802]): StoreNode { left: Word([15061258365050086869, 2548465635025457452, 16549816710578308985, 6344308692772414756]), right: Word([15061258365050086869, 2548465635025457452, 16549816710578308985, 6344308692772414756]) }, Word([9720135276484706819, 9350120041401976641, 1348777594376050933, 13138246165242825648]): StoreNode { left: Word([10866643979409126085, 13790633638103642042, 6374461622011119670, 5702679962735491362]), right: Word([10866643979409126085, 13790633638103642042, 6374461622011119670, 5702679962735491362]) }, Word([9849695060915088580, 11301898535946809670, 6071927710872205345, 14894364046141650617]): StoreNode { left: Word([5640147081583643405, 17134624347316611886, 1880303066730809137, 15607583997940723974]), right: Word([5640147081583643405, 17134624347316611886, 1880303066730809137, 15607583997940723974]) }, Word([16001070406220863863, 4426773743735082930, 6860108527212616559, 3994703491288516722]): StoreNode { left: Word([9755907048710665826, 13697078808748604851, 17210321635283113095, 1203394006092675979]), right: Word([9755907048710665826, 13697078808748604851, 17210321635283113095, 1203394006092675979]) }, Word([9601493582420114115, 15758504372255382102, 14343233104644456582, 3394886631946169932]): StoreNode { left: Word([1097593973980074628, 13743272521450152872, 14404906687422494637, 5920423211413081450]), right: Word([1097593973980074628, 13743272521450152872, 14404906687422494637, 5920423211413081450]) }, Word([13466541365181182301, 13296579194950607187, 8254351985131518987, 9709009968831916996]): StoreNode { left: Word([4200853200862894739, 9958181672893805100, 15420724968326563607, 4322683057461506390]), right: Word([4200853200862894739, 9958181672893805100, 15420724968326563607, 4322683057461506390]) }, Word([9455184082727641653, 6634498452861935579, 18189776179964984407, 3546641211720870472]): StoreNode { left: Word([2566088177506289568, 7785941571143323572, 13948908169667863201, 8557252288425473395]), right: Word([2566088177506289568, 7785941571143323572, 13948908169667863201, 8557252288425473395]) }, Word([16242253221067446029, 8054635334610559906, 907262707506954524, 7188482366431737138]): StoreNode { left: Word([179677709502902678, 13848408505806598233, 5351116127423410358, 13831404879203670825]), right: Word([179677709502902678, 13848408505806598233, 5351116127423410358, 13831404879203670825]) }, Word([1389192199000800401, 14965156259873081175, 15036620832998599183, 17021587910652375395]): StoreNode { left: Word([12694189291228105454, 311746243924660948, 12886876604510907013, 10275197342275215145]), right: Word([12694189291228105454, 311746243924660948, 12886876604510907013, 10275197342275215145]) }, Word([14955169771505983987, 2159840736702032749, 10304230993339791845, 12226979925120805965]): StoreNode { left: Word([7935490060063517423, 14217789231103569691, 1646625356550748785, 16477629743612538499]), right: Word([7935490060063517423, 14217789231103569691, 1646625356550748785, 16477629743612538499]) }, Word([66202320346346006, 16957515688009991361, 11225911464151308270, 3734804960700643393]): StoreNode { left: Word([4871523555113763177, 3128099745636137100, 3943052722354261114, 8932052367469841825]), right: Word([4871523555113763177, 3128099745636137100, 3943052722354261114, 8932052367469841825]) }, Word([10957185917743597702, 15815185767119166433, 17883994521792846784, 15958104556930886663]): StoreNode { left: Word([13148367538964199489, 7372139436485928380, 13408383191801051600, 2114382634401123096]), right: Word([13148367538964199489, 7372139436485928380, 13408383191801051600, 2114382634401123096]) }, Word([2121119282758520982, 9042267662074029772, 15431993929052434204, 10659345458998811701]): StoreNode { left: Word([15206763021853065070, 15268692497656424421, 13335448435922172445, 3421340628484408379]), right: Word([15206763021853065070, 15268692497656424421, 13335448435922172445, 3421340628484408379]) }, Word([8851464130889639767, 3689278501380880117, 16801368275303079970, 17398988108612080197]): StoreNode { left: Word([1613276937647176341, 3947618789203212058, 16729968232707130060, 16230812264936083831]), right: Word([1613276937647176341, 3947618789203212058, 16729968232707130060, 16230812264936083831]) }, Word([7843790165316710457, 15435360016904699356, 15397728545809341743, 9368516015532964860]): StoreNode { left: Word([2152431332261253344, 9197416692745374188, 7829334815295758887, 11138833507760989657]), right: Word([2152431332261253344, 9197416692745374188, 7829334815295758887, 11138833507760989657]) }, Word([3611140194800558886, 17185933650781587767, 7835232399818923215, 7974155618002781326]): StoreNode { left: Word([17483286922353768131, 353378057542380712, 1935183237414585408, 4820339620987989650]), right: Word([17483286922353768131, 353378057542380712, 1935183237414585408, 4820339620987989650]) }, Word([4529513183207956396, 13159618750897909084, 17519217991141651912, 3633432588210295286]): StoreNode { left: Word([6564773237324370394, 11394009591635932485, 11119989559797835951, 10494746359871886399]), right: Word([6564773237324370394, 11394009591635932485, 11119989559797835951, 10494746359871886399]) }, Word([11588537700832375449, 7245885064997619947, 16690222478430607431, 13297592453293300273]): StoreNode { left: Word([16242253221067446029, 8054635334610559906, 907262707506954524, 7188482366431737138]), right: Word([16242253221067446029, 8054635334610559906, 907262707506954524, 7188482366431737138]) }, Word([2046878325012021360, 4867491770237925951, 13344804605927915509, 9655496944126144752]): StoreNode { left: Word([14955169771505983987, 2159840736702032749, 10304230993339791845, 12226979925120805965]), right: Word([14955169771505983987, 2159840736702032749, 10304230993339791845, 12226979925120805965]) }, Word([9769468800164794336, 18214023935089209843, 11992390876315739344, 5658611980361738960]): StoreNode { left: Word([8068467631986031286, 4612054533277202851, 11343200974438592061, 12688005308750004338]), right: Word([8068467631986031286, 4612054533277202851, 11343200974438592061, 12688005308750004338]) }, Word([2835908832901955707, 10333775432923713997, 13087421807138580325, 16977321740354049492]): StoreNode { left: Word([13215770000215166094, 13630631367930530223, 1058870009036271215, 6294200115013616468]), right: Word([13215770000215166094, 13630631367930530223, 1058870009036271215, 6294200115013616468]) }, Word([4871523555113763177, 3128099745636137100, 3943052722354261114, 8932052367469841825]): StoreNode { left: Word([9769468800164794336, 18214023935089209843, 11992390876315739344, 5658611980361738960]), right: Word([9769468800164794336, 18214023935089209843, 11992390876315739344, 5658611980361738960]) }, Word([3065574722948060789, 11408250270293573168, 4526077038425434996, 17669669420977221247]): StoreNode { left: Word([11610444438381691049, 3463458831831733789, 18130382294143481778, 10531060888898053288]), right: Word([11610444438381691049, 3463458831831733789, 18130382294143481778, 10531060888898053288]) }, Word([13113047410793608313, 3861048183606217913, 5409124770312088058, 18220070740048527833]): StoreNode { left: Word([12945760289619222513, 9310877444315913384, 9849647677083731157, 9900142929828026274]), right: Word([12945760289619222513, 9310877444315913384, 9849647677083731157, 9900142929828026274]) }, Word([11434028378495964221, 17536150822698355349, 14614836082948587098, 16872134140159466808]): StoreNode { left: Word([12131158062444639305, 2139703027140403553, 12344711598461103240, 16586523086436260628]), right: Word([12131158062444639305, 2139703027140403553, 12344711598461103240, 16586523086436260628]) }, Word([2219895756903784133, 16754716010490449477, 6382620168830044129, 17388023300711945615]): StoreNode { left: Word([2748632461396580131, 12790381136003641352, 15102256829500572873, 158552195624453692]), right: Word([2748632461396580131, 12790381136003641352, 15102256829500572873, 158552195624453692]) }, Word([14861539222780790420, 13250108386008778060, 9710405813337140523, 12806676905518229065]): StoreNode { left: Word([13113047410793608313, 3861048183606217913, 5409124770312088058, 18220070740048527833]), right: Word([13113047410793608313, 3861048183606217913, 5409124770312088058, 18220070740048527833]) }, Word([14231715992936942954, 18214790771558362674, 17152689110214139839, 3107117349423081011]): StoreNode { left: Word([11404819055070489224, 14725127316296168711, 10760047962896616121, 3004531186365554456]), right: Word([11404819055070489224, 14725127316296168711, 10760047962896616121, 3004531186365554456]) }, Word([16786112835494938667, 1513201654355279049, 8712640899449943281, 7987398021042256562]): StoreNode { left: Word([15745233967065554847, 14459072417998124190, 16266836333265662686, 15555241704784299145]), right: Word([15745233967065554847, 14459072417998124190, 16266836333265662686, 15555241704784299145]) }, Word([11300236651178143890, 15307634289168527196, 2834866419963148279, 7512874625395280090]): StoreNode { left: Word([1148273481270068529, 7411276436636897120, 14325955409748352141, 15577038614919538356]), right: Word([1148273481270068529, 7411276436636897120, 14325955409748352141, 15577038614919538356]) }, Word([3774016405860870757, 2584714598467121158, 7418645462301488344, 1016804897028793820]): StoreNode { left: Word([13238072489118494737, 6917129315345826393, 13736362398490889690, 4929049375601714136]), right: Word([13238072489118494737, 6917129315345826393, 13736362398490889690, 4929049375601714136]) }, Word([14780288161098294349, 4255298746207371045, 13498920948011112647, 14231123605243044098]): StoreNode { left: Word([6669302555830062983, 17215908653259280157, 630299220537616081, 11391743803142641498]), right: Word([6669302555830062983, 17215908653259280157, 630299220537616081, 11391743803142641498]) }, Word([7948776578097466250, 8630046431048474853, 11549811661672434609, 14329713552208961509]): StoreNode { left: Word([734617692582477804, 11871516935077749937, 12085935336918533812, 11028098016323141988]), right: Word([734617692582477804, 11871516935077749937, 12085935336918533812, 11028098016323141988]) }, Word([15096833272371271104, 17903525606033124098, 7509965366382132405, 700034682531412268]): StoreNode { left: Word([18133219101889028499, 15766509138832694166, 15396912305986664106, 17707788719339520242]), right: Word([18133219101889028499, 15766509138832694166, 15396912305986664106, 17707788719339520242]) }, Word([3569883190206433742, 3719544530637969475, 4103161862716795944, 6791410182593147633]): StoreNode { left: Word([14140747730429405084, 11556632244927721957, 16586493581774388134, 9479098913881872802]), right: Word([14140747730429405084, 11556632244927721957, 16586493581774388134, 9479098913881872802]) }, Word([12131158062444639305, 2139703027140403553, 12344711598461103240, 16586523086436260628]): StoreNode { left: Word([12483888485996122998, 2442599894916143816, 9678357570828136785, 7779721928181127911]), right: Word([12483888485996122998, 2442599894916143816, 9678357570828136785, 7779721928181127911]) }, Word([3857750216424946310, 12777590194206601769, 661630070219048778, 5088469724525044881]): StoreNode { left: Word([2219895756903784133, 16754716010490449477, 6382620168830044129, 17388023300711945615]), right: Word([2219895756903784133, 16754716010490449477, 6382620168830044129, 17388023300711945615]) }, Word([11677748883385181208, 15891398395707500576, 3790704659934033620, 2126099371106695189]): StoreNode { left: Word([13948603355603496603, 15902438544472945077, 1969361494026622497, 17326911676634210553]), right: Word([13948603355603496603, 15902438544472945077, 1969361494026622497, 17326911676634210553]) }, Word([14988769734873826119, 11616418137866759184, 12691159832663871220, 5651788240523866423]): StoreNode { left: Word([13949966806330031092, 6408644485482563464, 17924957978137904833, 14541631951779463352]), right: Word([13949966806330031092, 6408644485482563464, 17924957978137904833, 14541631951779463352]) }, Word([15220380953028059006, 2981707349961006045, 7409523958661360004, 2816116826688969892]): StoreNode { left: Word([7829641133220670678, 6170216088031698405, 11814483661801576435, 1762887097744793975]), right: Word([7829641133220670678, 6170216088031698405, 11814483661801576435, 1762887097744793975]) }, Word([11250302734399433639, 4970037623163209776, 15776613712371118341, 5554382612311754837]): StoreNode { left: Word([5116523511540088640, 12381059245485642368, 2176361879916914688, 11209293198464735683]), right: Word([5116523511540088640, 12381059245485642368, 2176361879916914688, 11209293198464735683]) }, Word([1618681866953227277, 6463058997547454424, 6576924604308135688, 15044497188130397720]): StoreNode { left: Word([3242412641814961275, 362025075320508926, 1141491624792615527, 13358894417717890216]), right: Word([3242412641814961275, 362025075320508926, 1141491624792615527, 13358894417717890216]) }, Word([936391814816943993, 6085855616346025677, 5782721339195502211, 10409491632083436908]): StoreNode { left: Word([11138475264090866271, 17799626597540451271, 17968790388406362807, 9539434947296310791]), right: Word([11138475264090866271, 17799626597540451271, 17968790388406362807, 9539434947296310791]) }, Word([17828665474727822547, 10936899111526366517, 709567054815404244, 11815220992210433530]): StoreNode { left: Word([9824187829031065950, 14838207864753078846, 16112609346278814701, 16574434459555803760]), right: Word([9824187829031065950, 14838207864753078846, 16112609346278814701, 16574434459555803760]) }, Word([13573381494724986738, 17187504539416828346, 3050031951645434966, 10283156032084000124]): StoreNode { left: Word([14880282347747786683, 17367879411163609065, 15980046407249551375, 17164299239505550792]), right: Word([14880282347747786683, 17367879411163609065, 15980046407249551375, 17164299239505550792]) }, Word([1756711876748018497, 12300483420058086404, 5392852576971575428, 18031203642632594560]): StoreNode { left: Word([3076622600047452853, 7692372619602212758, 2594612967359783321, 444292698159036803]), right: Word([3076622600047452853, 7692372619602212758, 2594612967359783321, 444292698159036803]) }, Word([13453456720340453, 15633984341501451587, 10846972576081034452, 372111032031646073]): StoreNode { left: Word([2046878325012021360, 4867491770237925951, 13344804605927915509, 9655496944126144752]), right: Word([2046878325012021360, 4867491770237925951, 13344804605927915509, 9655496944126144752]) }, Word([1369995830374697549, 17438224194890468718, 15717102418879120940, 13307112664439804088]): StoreNode { left: Word([7336608633766069963, 1964742493041646055, 2228626143957778340, 12744212475078336905]), right: Word([7336608633766069963, 1964742493041646055, 2228626143957778340, 12744212475078336905]) }} }, pc_requests: [] }, trace_len_summary: TraceLenSummary { main_trace_len: 13, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 40, bitwise_chiplet_len: 0, memory_chiplet_len: 0, kernel_rom_len: 0 } }, final_pc_transcript: PrecompileTranscript { state: Word([0, 0, 0, 0]) } }
ExecutionTrace { meta: [], trace_metadata: TraceMetadata { main_width: 72, aux_width: 8, num_rand_elements: 16, trace_len: 2048 }, main_trace: MainTrace { columns: ColMatrix { columns: [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 9, 9, 1, 17, 25, 25, 17, 33, 33, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [9257977759327983792, 35, 0, 9257977759327983792, 7259075614730273379, 34, 0, 7259075614730273379, 8, 0, 10995436151082118190, 16872379809452484205, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630, 3597132565408622630], [16084548298145579864, 0, 1, 16084548298145579864, 2498922176515930900, 0, 17, 2498922176515930900, 0, 17, 776663942277617877, 5166463643751251624, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591, 1466877683371826591,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trace length goes from 64 to 2048; is this because Plonky3 requires a trace length minimum of 2048? Is this the only thing that changed otherwise with trace generation?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, the minimal trace length has changed to 2048. This is due to some short-comings of the current FRI implementation, which should hopefully be resolved soon.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also related to trace gen, we now do not insert randomness in the final NUM_RAND_ROW rows

Copy link
Contributor

@adr1anh adr1anh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow! This is really amazing work. I left a few comments around which should be relatively easy to address.

  • We should try to use plonky3's inversion and transposition
  • We should run clippy to fix some formatting (unused parentheses)
  • Some changes can likely be reverted and seem to be residues of merges.

let merkle_root = merkle_tree.root();
let merkle_store = MerkleStore::from(&merkle_tree);
let advice_stack: Vec<u64> = merkle_root.iter().map(StarkField::as_int).collect();
let advice_stack: Vec<u64> = merkle_root.iter().map(|f| f.as_int()).collect();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this leftover? I dont think Field has as_int

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, but we needed something similar in other places that is const. Removed it from here and everywhere else where we don't need the const-ness. There is only one place where we need const-ness, which we can address later once we work on removing our dependence on p3-miden-goldilocks.

fn pad_trace_columns(trace_columns: &mut [Vec<Felt>], main_trace_len: usize) {
let total_program_rows = trace_columns[0].len();
assert!(total_program_rows + NUM_RAND_ROWS - 1 <= main_trace_len);
assert!(total_program_rows <= main_trace_len);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

was the - 1 accidentally removed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems the the real expression was total_program_rows + NUM_RAND_ROWS - NUM_RAND_ROWS. So the expression as it stands now is correct.

@adr1anh
Copy link
Contributor

adr1anh commented Dec 18, 2025

The last commit aims to minimize the diff, even though there are some regressions.

  • We can make StackInputs and StackOutputs Copy
  • Revert renaming of field precompile_requestspc_requests in ExecutionProof

Before merging, I'd like to take a look at all usage of inverse and make sure that we shouldn't instead use .try_inverse().unwrap_or(Felt::ZERO)

@adr1anh
Copy link
Contributor

adr1anh commented Dec 18, 2025

I think we should get plonky3 to make BinomialExtensionField::new public

@Al-Kindi-0
Copy link
Contributor Author

I think we should get plonky3 to make BinomialExtensionField::new public

Agreed

@Al-Kindi-0
Copy link
Contributor Author

The last commit aims to minimize the diff, even though there are some regressions.

* We can make `StackInputs` and `StackOutputs` `Copy`

* Revert renaming of field `precompile_requests` → `pc_requests` in ExecutionProof

Should we create an issue to track, at least, the first item ?

Before merging, I'd like to take a look at all usage of inverse and make sure that we shouldn't instead use .try_inverse().unwrap_or(Felt::ZERO)

Did a pass to check that but would be good if you can do that as well.
One thing is when inverting random extension field elements, and I think that it is maybe better to panic there as this is a very rare event. Though maybe there are better solutions here.

@adr1anh
Copy link
Contributor

adr1anh commented Dec 19, 2025

  • We can make StackInputs and StackOutputs Copy

Should we create an issue to track, at least, the first item ?

Done in #2487

Before merging, I'd like to take a look at all usage of inverse and make sure that we shouldn't instead use .try_inverse().unwrap_or(Felt::ZERO)

Did a pass to check that but would be good if you can do that as well. One thing is when inverting random extension field elements, and I think that it is maybe better to panic there as this is a very rare event. Though maybe there are better solutions here.

I also checked and it seems good, and I agree about the inverses for the auxiliary column building. I did add 30c9c7d which adds an .expect("...") for the FRI fold instructions. It was mainly to note them down, but from a quick glance this might still panic given a wrong poe value. We should probably return an error instead.

@Al-Kindi-0
Copy link
Contributor Author

I also checked and it seems good, and I agree about the inverses for the auxiliary column building. I did add 30c9c7d which adds an .expect("...") for the FRI fold instructions. It was mainly to note them down, but from a quick glance this might still panic given a wrong poe value. We should probably return an error instead.

That is a good idea.

@huitseeker
Copy link
Contributor

huitseeker commented Dec 25, 2025

Jotting down another find while working on miden-base: The debug-types crate in this branch has this:

miette = { package = "miden-miette", version = "8.0", default-features = false }

Even with default-features = false, miden-miette enables its own internal defaults. Those defaults include fancy-no-backtrace, which pulls in terminal_size.

Note: This works fine on origin/next with Winterfell VM. The issue is specific to the P3 VM branch origin/al-migrate-p3-ver2.

A fix: use the fancy-no-syscall feature. It was made for this case.

- miette = { package = "miden-miette", version = "8.0", default-features = false }
+ miette = { package = "miden-miette", version = "8.0", default-features = false, features = ["fancy-no-syscall", "derive"] }

Edit: fixed

@huitseeker huitseeker force-pushed the al-migrate-p3-ver2 branch 10 times, most recently from 6c218f5 to 6097807 Compare December 27, 2025 18:44
Copy link
Contributor

@bobbinth bobbinth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thank you! I left some more comments above. We could probably address the simple ones in this PR, but for anything that requires non-trivial amount of work, we should create follow-up issues.

Copy link
Contributor

@bobbinth bobbinth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All looks good! Thank you! I pushed one last commit removing some more unused dependencies. But other than that, I think this should be good to go.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants