diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-03-26 08:50:54 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-03-26 08:52:13 -0400 |
| commit | 796d15378aee570675b4d0c34dd5b06c98e013dd (patch) | |
| tree | 42f814eb9ab9ac39d679e5b8ce4b04dd56e45c9b | |
| parent | 7be65886036969a93efd06d77f59730a157c0498 (diff) | |
Switch to index-based primitive lookups for speed
| -rw-r--r-- | bqn.bqn | 2 | ||||
| -rwxr-xr-x | docs/bqn.js | 19 | ||||
| -rw-r--r-- | src/r.bqn | 16 |
3 files changed, 18 insertions, 19 deletions
@@ -15,5 +15,5 @@ provide ← ⟨ rt‿SetPrims ← •COMP provide⊸(⊣»«)⌾(1⊸⊑) DCompile ref PrimInd ← rt⊸⊐⌾< Decompose ← ((≠glyphs)>PrimInd)◶⟨•Decompose,0⊸≍⟩ -SetPrims ⟨ Decompose, glyphs⊑˜PrimInd ⟩ +SetPrims ⟨ Decompose, PrimInd ⟩ rt⊸DRun diff --git a/docs/bqn.js b/docs/bqn.js index 629b6f53..ee93ad22 100755 --- a/docs/bqn.js +++ b/docs/bqn.js @@ -242,20 +242,17 @@ let provide = [ ]; let [runtime,setPrims] = run( - [15,1,22,0,0,11,14,15,2,22,0,1,11,14,15,3,22,0,2,11,14,15,4,22,0,3,11,14,15,5,22,0,4,11,14,15,6,0,21,15,7,8,22,0,5,11,14,15,8,22,0,6,11,14,15,9,22,0,7,11,14,15,10,22,0,8,11,14,15,11,22,0,9,11,14,15,12,22,0,10,11,14,15,13,22,0,11,11,14,15,14,22,0,12,11,14,0,0,0,12,0,22,19,22,0,13,11,14,0,22,0,12,21,0,10,0,11,8,3,2,21,0,3,0,0,0,12,0,23,19,8,22,0,14,11,14,0,22,0,12,21,0,10,0,11,8,0,8,0,13,21,0,10,0,22,8,19,3,2,21,0,3,0,0,0,12,0,23,19,8,22,0,15,11,14,15,15,0,15,3,2,21,0,3,21,0,13,8,22,0,16,11,14,15,16,0,21,15,17,8,22,0,17,11,14,15,18,22,0,18,11,14,21,0,13,0,7,0,23,19,21,0,12,21,0,18,8,22,0,19,11,14,21,0,7,0,13,7,22,0,20,11,14,21,0,20,0,7,0,23,19,0,21,21,0,18,8,22,0,21,11,14,0,13,0,7,0,23,19,22,0,22,11,14,15,19,0,16,21,0,22,19,0,21,0,11,8,22,0,23,11,14,15,20,0,16,21,0,21,19,0,21,0,7,21,0,8,21,0,23,21,0,8,0,7,8,8,8,22,0,24,11,14,0,7,21,0,4,3,2,21,0,3,0,13,21,0,10,0,22,8,8,22,0,25,11,14,0,23,0,14,0,16,0,22,19,3,2,21,0,3,0,12,21,0,21,0,22,19,8,22,0,26,11,14,15,21,22,0,27,11,14,21,0,27,22,0,28,11,14,0,14,21,0,11,15,22,8,22,0,29,11,14,15,23,22,0,30,11,14,21,0,4,0,20,15,24,15,25,3,2,21,0,3,21,0,4,21,0,8,0,12,8,0,12,0,23,19,8,8,22,0,31,11,14,21,0,31,22,0,32,11,14,15,26,22,0,33,11,14,15,27,22,0,34,11,14,0,13,0,7,21,0,20,19,22,0,35,11,14,0,23,0,15,0,16,0,22,19,21,0,11,0,13,0,8,0,24,19,0,7,0,23,19,15,28,3,2,21,0,3,21,0,4,21,0,8,21,0,13,8,8,8,3,2,21,0,3,21,0,4,21,0,8,0,14,8,21,0,28,0,8,7,0,23,19,21,0,21,0,22,19,8,22,0,36,11,14,21,0,35,21,0,36,21,0,7,21,0,36,7,0,7,9,3,2,21,0,3,21,0,5,21,0,8,21,0,13,8,8,15,29,3,3,21,0,3,21,0,13,21,0,9,0,6,8,8,22,0,37,11,14,15,30,22,0,38,11,14,15,31,22,0,39,11,14,21,0,19,21,0,4,0,20,15,32,8,3,2,21,0,3,0,12,21,0,21,0,22,19,8,22,0,40,11,14,15,33,21,0,12,21,0,4,0,20,15,34,8,8,22,0,41,11,14,15,35,22,0,42,11,14,15,36,22,0,43,11,14,15,37,22,0,44,11,14,15,38,22,0,45,11,14,15,39,22,0,46,11,14,15,40,22,0,47,11,14,15,41,22,0,48,11,14,21,0,16,0,1,0,16,21,0,10,0,22,8,3,2,21,0,3,21,0,26,21,0,21,0,22,19,8,9,22,0,49,11,14,15,42,22,0,50,11,14,15,43,22,0,51,11,14,15,44,22,0,52,11,14,15,45,22,0,53,11,14,0,22,0,12,21,0,10,21,0,6,21,0,53,7,8,3,2,21,0,3,0,0,0,12,0,26,19,8,22,0,54,11,14,15,46,22,0,55,11,14,21,0,4,21,0,4,21,0,4,21,0,28,15,47,7,9,15,48,15,49,15,50,3,6,21,0,3,21,0,5,8,22,0,56,11,14,15,51,22,0,57,11,14,21,0,13,21,0,9,0,12,8,0,22,3,2,21,0,4,21,0,8,21,0,13,8,0,12,3,2,0,12,21,0,9,0,12,8,0,22,3,2,0,14,21,0,9,21,0,52,0,12,7,8,21,0,28,0,8,7,0,23,19,0,22,3,2,15,52,3,5,21,0,28,15,53,7,16,22,0,58,11,14,0,22,15,54,3,2,21,0,3,21,0,13,8,22,0,59,11,14,21,0,58,0,21,21,0,59,8,22,0,60,11,14,21,0,58,0,7,0,23,19,0,21,3,0,0,14,3,2,21,0,3,21,0,13,8,8,22,0,61,11,14,21,0,60,21,0,8,0,5,8,21,0,5,21,0,4,19,22,0,62,11,14,0,15,21,0,8,0,1,0,20,21,0,4,8,21,0,28,21,0,62,0,20,21,0,4,8,7,3,2,21,0,3,21,0,26,21,0,21,0,22,19,8,8,22,0,63,11,14,15,55,22,0,64,11,14,21,0,13,21,0,12,21,0,30,21,0,64,15,56,8,8,22,0,65,11,14,15,57,22,0,66,11,14,15,58,22,0,67,11,14,21,0,13,0,5,0,102,19,21,0,5,15,59,21,0,64,21,0,65,21,0,67,21,0,66,3,2,21,0,3,0,18,0,12,0,12,0,23,19,7,21,0,28,0,8,7,0,23,19,8,21,0,67,3,3,21,0,3,0,12,21,0,23,0,24,19,8,8,19,22,0,68,11,14,15,60,22,0,69,11,14,21,0,69,0,107,21,0,25,21,0,11,0,12,8,0,7,0,23,19,15,61,3,3,7,22,0,70,11,14,21,0,69,0,108,0,12,21,0,10,0,22,8,0,7,0,23,19,15,62,3,3,7,22,0,71,11,14,15,63,22,0,72,11,14,15,64,22,0,73,11,14,15,65,22,0,74,11,14,15,66,22,0,75,11,14,15,67,22,0,76,11,14,15,68,22,0,77,11,14,15,69,22,0,78,11,14,21,0,34,0,9,7,22,0,79,11,14,21,0,34,0,10,7,22,0,80,11,14,21,0,7,21,0,79,21,0,11,21,0,80,8,7,0,21,0,24,21,0,79,16,21,0,11,21,0,80,8,8,22,0,81,11,14,21,0,34,15,70,0,21,21,0,25,8,7,22,0,82,11,14,21,0,34,15,71,0,21,21,0,23,8,7,22,0,83,11,14,21,0,34,15,72,0,21,0,7,21,0,8,21,0,83,21,0,8,0,7,8,8,8,7,22,0,84,11,14,21,0,34,0,8,7,0,21,21,0,46,0,22,7,8,22,0,85,11,14,21,0,34,0,8,0,7,0,6,19,7,0,21,21,0,46,0,23,7,8,22,0,86,11,14,21,0,34,0,8,0,21,21,0,22,0,7,21,0,21,19,21,0,10,0,22,8,8,7,22,0,87,11,14,21,0,34,21,0,20,0,7,0,23,19,7,0,21,21,0,18,8,22,0,88,11,14,21,0,34,0,13,0,7,0,23,19,7,0,21,21,0,65,8,22,0,89,11,14,21,0,34,0,12,0,7,0,23,19,7,0,21,21,0,26,8,22,0,90,11,14,21,0,34,0,12,7,0,21,0,12,8,22,0,91,11,14,21,0,34,21,0,20,7,0,21,21,0,6,0,22,7,0,5,0,120,19,8,22,0,92,11,14,21,0,34,0,13,7,0,21,21,0,6,0,22,7,0,5,0,121,19,8,22,0,93,11,14,21,0,34,0,6,7,22,0,94,11,14,21,0,34,0,7,7,22,0,95,11,14,21,0,95,21,0,94,0,23,19,22,0,96,11,14,21,0,5,21,0,91,21,0,91,21,0,90,21,0,60,21,0,61,3,4,19,21,0,28,21,0,94,7,9,21,0,12,15,73,8,22,0,97,11,14,15,74,22,0,98,11,14,0,15,0,21,21,0,16,8,22,0,99,11,14,15,75,22,0,100,11,14,15,76,22,0,101,11,14,15,77,22,0,102,11,14,15,78,22,0,103,11,14,15,79,22,0,104,11,14,15,80,22,0,105,11,14,21,0,105,22,0,106,11,14,21,0,62,0,20,21,0,99,21,0,9,21,0,30,8,15,81,3,2,21,0,3,21,0,91,21,0,88,0,23,19,21,0,9,21,0,86,8,8,8,22,0,107,11,14,21,0,32,21,0,10,21,0,39,8,22,0,108,11,14,21,0,4,0,20,21,0,90,21,0,91,0,22,19,21,0,95,0,23,19,21,0,78,15,82,15,83,3,2,21,0,3,21,0,5,21,0,8,21,0,91,8,21,0,88,0,22,19,8,8,8,22,0,109,11,14,21,0,70,0,21,21,0,44,8,22,0,110,11,14,21,0,71,0,21,21,0,45,8,22,0,111,11,14,21,0,76,0,21,21,0,100,8,22,0,112,11,14,0,22,21,0,78,21,0,43,8,0,21,21,0,42,8,22,0,113,11,14,21,0,109,0,21,21,0,39,8,22,0,114,11,14,21,0,62,0,21,21,0,4,8,0,20,21,0,73,0,21,21,0,73,21,0,10,21,0,75,8,8,8,22,0,115,11,14,21,0,62,0,21,21,0,4,8,0,20,21,0,74,0,21,21,0,74,21,0,10,21,0,75,8,8,8,22,0,116,11,14,15,84,22,0,117,11,14,15,85,22,0,118,11,14,15,86,22,0,119,11,14,15,87,22,0,120,11,14,21,0,120,15,88,3,2,21,0,3,21,0,5,21,0,8,21,0,99,21,0,8,0,18,21,0,13,7,8,8,21,0,28,21,0,86,7,9,8,22,0,121,11,14,21,0,121,21,0,10,21,0,99,21,0,4,3,2,21,0,3,21,0,13,8,8,22,0,122,11,14,15,89,22,0,123,11,14,15,90,22,0,124,11,14,15,91,22,0,125,11,14,15,92,22,0,126,11,14,21,0,103,22,0,127,11,14,21,0,104,22,0,128,11,14,21,0,126,21,0,37,7,0,21,0,22,21,0,38,21,0,37,8,8,22,0,129,11,14,21,0,126,21,0,7,21,0,37,7,7,0,21,0,23,21,0,38,21,0,7,21,0,37,7,8,8,22,0,130,11,14,15,93,22,0,131,11,14,0,4,21,0,10,21,0,52,0,23,7,8,22,0,132,11,14,15,94,22,0,133,11,14,21,0,133,21,0,4,21,0,8,0,19,21,0,94,7,8,21,0,7,21,0,95,7,0,23,19,21,0,7,21,0,32,7,21,0,7,21,0,114,21,0,8,21,0,129,21,0,8,21,0,132,8,8,7,19,7,22,0,134,11,14,21,0,19,21,0,9,15,95,8,22,0,135,11,14,21,0,62,0,21,21,0,4,8,0,20,21,0,17,21,0,8,21,0,89,8,8,22,0,136,11,14,21,0,107,0,21,21,0,68,8,22,0,137,11,14,21,0,119,0,21,21,0,118,8,22,0,138,11,14,21,0,131,0,23,7,0,21,21,0,134,8,22,0,139,11,14,21,0,7,21,0,131,0,22,7,7,0,21,21,0,133,21,0,4,7,8,22,0,140,11,14,15,96,22,0,141,11,14,21,0,4,0,20,15,97,8,22,0,142,11,14,15,98,22,0,143,11,14,15,99,22,0,144,11,14,21,0,143,0,21,21,0,40,8,22,0,145,11,14,21,0,129,21,0,8,21,0,129,8,21,0,32,21,0,95,21,0,4,19,21,0,7,21,0,139,7,19,0,1,0,22,19,22,0,146,11,14,15,100,0,1,0,22,19,22,0,147,11,14,21,0,4,0,20,0,23,21,0,78,21,0,48,8,21,0,10,21,0,19,8,0,21,21,0,47,8,8,22,0,148,11,14,21,0,122,0,21,21,0,49,8,22,0,149,11,14,15,101,22,0,150,11,14,15,102,22,0,151,11,14,15,103,22,0,152,11,14,21,0,88,21,0,139,21,0,8,21,0,149,8,21,0,8,21,0,83,21,0,113,21,0,110,3,4,19,22,0,153,11,14,21,0,137,22,0,154,11,14,21,0,152,22,0,155,11,14,21,0,98,0,21,21,0,16,8,22,0,156,11,14,21,0,55,22,0,157,11,14,21,0,147,0,21,21,0,146,8,22,0,158,11,14,21,0,135,0,21,21,0,114,21,0,10,21,0,140,8,8,22,0,159,11,14,15,104,22,0,160,11,14,15,105,22,0,161,11,14,0,34,0,22,0,35,0,22,0,36,0,23,0,37,0,23,0,38,0,23,0,39,0,23,0,40,0,32,0,41,0,30,0,42,0,22,0,43,0,23,0,44,0,22,0,45,0,23,0,46,0,22,0,47,0,23,3,28,21,0,161,21,0,6,0,22,7,0,5,0,162,19,8,15,106,9,22,0,162,11,14,0,5,21,0,10,0,163,8,22,0,163,11,14,0,5,21,0,10,0,164,8,22,0,164,11,14,21,0,6,0,22,7,0,5,0,165,19,22,0,165,11,14,15,107,22,0,166,11,14,15,108,22,0,167,11,14,15,109,22,0,168,11,14,0,34,21,0,7,21,0,95,7,0,21,21,0,94,8,0,35,21,0,95,0,36,21,0,7,21,0,79,7,0,21,21,0,4,8,0,37,21,0,79,0,38,21,0,34,0,2,7,0,48,21,0,7,21,0,80,7,0,21,21,0,7,21,0,87,7,8,0,43,21,0,7,21,0,79,7,0,21,21,0,85,21,0,166,21,0,4,8,8,0,42,21,0,5,21,0,95,0,23,19,21,0,79,21,0,7,21,0,95,7,19,0,21,21,0,86,21,0,166,21,0,4,8,8,0,39,21,0,96,0,49,0,22,21,0,8,21,0,163,8,0,21,15,110,8,0,50,21,0,4,0,51,21,0,60,21,0,8,21,0,164,8,21,0,5,21,0,4,19,0,21,21,0,4,8,0,52,15,111,0,21,0,22,21,0,8,21,0,163,8,8,0,53,15,112,0,21,15,113,8,0,54,0,22,21,0,8,21,0,163,8,0,21,21,0,110,21,0,166,21,0,149,21,0,10,0,28,8,8,8,0,55,0,22,21,0,8,21,0,163,8,0,21,21,0,111,21,0,166,21,0,149,8,8,0,56,0,22,21,0,8,21,0,163,8,0,21,21,0,112,21,0,166,21,0,61,8,8,0,57,21,0,113,21,0,10,21,0,95,8,0,21,21,0,113,8,0,58,21,0,144,0,21,21,0,41,8,0,59,0,22,21,0,8,21,0,163,8,0,21,15,114,8,0,60,21,0,168,0,21,21,0,167,8,3,42,21,0,161,21,0,165,8,22,0,169,11,14,15,115,22,0,170,11,14,15,116,22,0,171,11,14,15,117,21,0,9,15,118,8,22,0,172,11,14,15,119,0,61,0,34,21,0,7,21,0,95,7,0,21,0,24,21,0,11,21,0,79,8,8,0,35,21,0,94,0,21,0,22,21,0,8,21,0,163,8,8,0,36,21,0,7,21,0,79,7,0,21,21,0,81,8,0,37,21,0,87,0,21,0,22,21,0,8,21,0,163,8,8,0,38,21,0,81,0,21,0,22,21,0,8,21,0,163,8,8,0,48,0,2,21,0,79,9,0,21,0,22,21,0,8,21,0,163,8,8,0,43,21,0,7,21,0,79,7,0,21,21,0,81,8,0,42,21,0,5,21,0,95,0,23,19,21,0,79,21,0,7,21,0,95,7,19,0,21,21,0,96,21,0,8,21,0,81,8,21,0,96,9,8,0,39,21,0,6,0,23,7,21,0,95,21,0,94,19,0,21,0,22,21,0,8,21,0,163,8,8,3,18,21,0,161,21,0,165,8,0,62,15,120,0,63,15,121,0,64,15,122,0,65,15,123,21,0,8,15,124,8,3,10,21,0,161,21,0,6,21,0,165,7,8,7,22,0,173,11,14,0,23,15,125,21,0,148,0,22,0,28,3,2,19,21,0,60,0,31,21,0,6,3,2,19,3,2,21,0,150,0,0,21,0,93,0,26,19,8,22,0,174,11,14,15,126,15,127,0,66,21,0,172,0,67,15,128,0,68,15,129,0,69,21,0,6,0,22,21,0,8,21,0,163,8,7,15,130,15,131,3,2,21,0,150,21,0,93,21,0,10,0,22,8,8,3,2,21,0,150,21,0,4,21,0,8,21,0,14,8,8,0,70,15,132,0,71,15,133,15,134,21,0,4,3,2,21,0,150,21,0,5,8,21,0,5,21,0,8,21,0,174,8,19,0,72,15,135,3,14,21,0,161,21,0,6,21,0,165,7,8,7,7,22,0,175,11,14,15,136,22,0,176,11,14,15,137,21,0,111,21,0,10,0,23,8,21,0,4,21,0,149,21,0,8,21,0,169,8,9,21,0,6,21,0,6,0,22,7,0,5,0,166,19,7,21,0,4,21,0,28,21,0,172,7,9,21,0,176,21,0,173,21,0,175,3,6,21,0,150,21,0,5,8,21,0,149,19,9,22,0,177,11,14,15,138,21,0,177,21,0,6,0,22,7,0,5,0,167,19,3,3,21,0,114,0,26,0,23,0,24,3,3,17,21,0,150,0,0,8,22,0,178,11,14,15,139,22,0,179,11,14,0,50,0,51,0,61,0,66,0,67,0,71,0,72,0,70,0,73,3,9,0,45,0,44,0,74,3,3,0,49,0,53,0,56,0,59,0,75,0,76,0,60,3,5,0,77,0,54,0,55,0,57,0,58,0,78,0,79,3,7,3,6,21,0,52,21,0,156,7,16,15,140,16,22,0,180,11,14,21,0,94,21,0,95,21,0,87,21,0,79,21,0,80,21,0,81,21,0,83,21,0,84,21,0,82,21,0,96,21,0,85,21,0,86,21,0,88,21,0,89,21,0,90,21,0,91,21,0,93,21,0,92,21,0,60,21,0,61,21,0,5,21,0,4,21,0,156,21,0,137,21,0,136,21,0,110,21,0,111,21,0,112,21,0,116,21,0,115,21,0,113,21,0,145,21,0,114,21,0,129,21,0,130,21,0,148,21,0,149,21,0,139,21,0,158,21,0,140,21,0,159,21,0,138,0,5,21,0,6,21,0,7,21,0,77,21,0,52,21,0,170,21,0,179,21,0,28,21,0,106,0,19,21,0,8,21,0,9,21,0,10,21,0,11,21,0,157,0,21,21,0,150,21,0,128,21,0,127,21,0,155,3,62,21,0,2,3,2,25,0,22,21,0,1,3,2,25,21,0,1,14,0,22,0,5,16,25,21,0,1,22,1,0,22,1,1,4,2,12,25,21,0,1,15,141,21,0,5,0,16,21,0,1,21,0,4,21,0,2,17,17,7,21,0,2,17,25,21,0,1,25,21,0,2,25,21,0,1,25,21,0,1,14,21,0,4,25,21,0,1,21,1,5,21,0,2,17,21,0,4,21,0,1,17,25,21,0,1,21,0,5,21,0,2,17,21,0,4,16,25,21,0,1,21,0,5,16,21,0,4,21,0,2,21,0,5,16,17,25,21,0,1,21,0,5,21,0,1,21,1,5,21,0,2,17,21,0,4,16,17,25,21,0,1,21,0,5,16,21,0,4,21,0,1,21,1,5,21,0,2,17,17,25,21,0,1,15,142,21,1,4,21,0,4,3,2,0,16,21,0,1,21,0,5,21,0,2,17,17,7,21,0,2,17,25,21,0,1,3,1,0,1,21,0,1,17,25,21,0,2,21,0,1,3,2,25,21,0,1,3,1,25,21,0,1,3,1,0,15,3,0,17,0,1,21,0,1,17,25,21,0,2,21,0,1,3,2,25,21,0,2,21,0,1,3,2,25,21,0,1,0,12,16,0,12,0,23,17,0,5,0,80,17,14,21,0,1,22,0,5,11,21,1,26,16,22,0,6,11,14,21,0,4,22,0,7,11,14,21,0,1,21,1,5,0,21,15,143,15,144,3,2,21,1,3,21,0,6,21,1,21,0,22,17,8,8,21,0,2,17,22,0,8,11,14,21,0,6,0,17,16,0,18,0,7,21,1,10,0,23,0,7,21,0,6,17,8,7,16,0,18,15,145,7,16,14,21,0,8,25,21,0,2,0,7,21,0,1,21,1,26,16,17,0,17,16,0,18,21,1,6,21,0,1,7,0,16,0,6,21,1,10,21,0,2,8,19,7,16,25,21,0,2,21,1,26,16,22,0,3,11,14,21,0,1,21,1,26,16,0,6,21,0,3,17,0,17,16,0,18,21,0,2,21,1,11,0,16,8,21,1,7,21,0,1,7,0,16,21,0,3,21,1,11,0,7,8,19,3,2,21,1,3,0,13,21,1,10,21,0,3,8,8,7,16,25,21,0,1,21,1,29,0,23,17,22,0,3,11,21,1,28,0,8,7,0,23,17,22,0,4,11,14,21,0,4,0,17,16,0,15,21,0,3,17,0,18,0,6,21,1,10,0,8,21,1,10,21,0,4,8,8,21,1,7,0,16,7,21,0,1,0,15,16,19,7,21,0,2,17,25,21,0,2,0,18,21,0,1,21,1,11,0,16,8,7,16,25,15,146,22,0,2,11,14,15,147,22,0,3,11,14,21,0,3,21,0,1,7,21,1,7,21,0,3,21,1,7,21,0,1,7,7,7,3,2,21,1,3,0,12,21,1,9,21,1,22,8,8,21,0,2,21,0,1,7,3,2,21,1,3,0,12,21,1,9,0,12,8,8,25,15,148,21,0,1,7,22,0,2,11,14,21,0,1,21,0,2,0,20,15,149,15,150,3,2,21,1,3,21,1,13,21,1,9,21,1,22,8,8,0,21,0,18,21,0,2,7,8,8,21,0,2,0,20,21,1,33,21,0,2,7,8,3,3,21,1,3,21,1,13,21,1,9,0,6,8,8,25,21,0,1,21,1,36,21,0,2,17,25,21,0,1,0,14,21,1,9,21,1,123,8,21,0,2,17,22,0,3,11,14,21,0,3,21,1,28,21,1,124,21,0,1,0,15,16,21,1,11,0,16,8,21,1,11,21,1,37,21,1,10,21,0,2,0,15,16,21,1,11,0,16,8,8,8,7,7,16,22,0,4,11,14,0,22,21,1,7,21,0,4,7,16,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,83,17,14,21,0,1,21,1,26,16,22,0,6,11,14,21,0,1,21,1,29,0,23,17,21,1,28,0,8,7,0,23,17,22,0,7,11,14,21,0,1,0,15,16,22,0,8,11,14,0,22,22,0,9,11,22,0,10,11,14,21,0,8,0,22,0,18,21,1,14,7,21,1,28,0,8,7,0,23,19,3,2,21,1,3,21,0,6,21,1,21,0,25,17,0,8,0,23,0,12,21,0,7,17,17,8,16,21,1,4,21,1,12,21,0,1,21,1,11,15,151,8,8,16,0,7,0,23,17,22,0,11,11,14,21,0,1,0,18,21,0,10,21,1,11,0,7,8,0,7,21,1,10,21,0,9,8,3,2,0,16,21,0,5,17,7,0,4,21,1,10,0,3,8,9,15,152,21,0,4,7,3,2,21,1,3,21,0,11,8,16,0,1,0,22,17,25,21,0,1,0,12,16,0,12,0,23,17,0,5,0,84,17,14,21,0,1,21,1,26,16,22,0,3,11,14,21,0,1,21,0,3,21,1,21,0,22,17,21,1,12,15,153,8,16,0,1,0,22,17,25,21,0,1,21,1,26,16,22,0,3,11,14,21,0,1,21,1,29,0,23,17,22,0,4,11,21,1,28,0,8,7,0,23,17,22,0,5,11,14,21,0,3,0,17,16,0,18,21,1,6,21,0,1,0,15,16,7,0,16,0,8,21,1,10,21,0,5,8,21,1,11,0,6,8,19,7,21,0,5,0,17,16,0,15,21,0,4,17,17,25,21,0,1,21,1,13,16,21,1,164,16,14,21,0,1,0,12,16,21,1,21,0,22,17,25,21,0,1,0,12,16,21,1,7,0,7,7,0,23,17,22,0,3,11,14,21,0,1,0,14,16,22,0,4,11,14,21,0,4,0,16,21,0,3,17,22,0,5,11,14,21,0,3,0,17,16,0,18,21,0,4,21,1,11,0,16,8,7,16,22,0,6,11,14,21,0,6,21,1,28,0,8,7,0,23,17,0,17,16,0,15,21,0,6,17,0,18,21,1,6,21,0,1,0,15,16,7,0,16,0,8,21,1,10,21,0,5,8,21,1,11,0,6,8,19,7,21,0,5,0,17,16,17,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,86,17,14,21,0,1,21,1,26,16,22,0,3,11,14,21,0,1,21,1,32,21,0,3,0,17,16,0,18,0,7,21,1,10,0,23,0,7,21,0,3,17,8,7,16,17,25,21,0,2,21,1,14,16,0,5,0,87,17,14,21,0,1,21,1,26,16,22,0,3,11,14,21,0,3,0,9,21,0,2,17,21,1,23,16,0,8,21,0,3,17,0,7,22,0,2,13,14,21,0,1,21,1,32,21,0,3,0,17,16,0,18,21,1,4,0,13,21,0,2,0,7,21,0,3,17,19,0,8,21,0,3,19,0,7,21,1,4,19,0,6,21,0,2,19,7,16,17,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,88,17,14,21,0,1,21,1,26,16,0,6,0,23,17,0,17,16,0,18,21,0,1,21,1,11,21,1,32,21,1,10,0,17,8,8,7,16,0,1,21,1,10,0,16,21,1,10,0,22,8,8,16,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,89,17,14,21,0,1,21,1,26,16,22,0,3,11,14,21,0,3,0,6,0,23,17,0,17,16,0,18,21,0,1,21,1,11,21,1,32,21,1,10,15,154,8,8,7,16,0,1,21,1,10,0,16,21,1,10,21,0,3,8,8,16,25,21,1,32,21,1,10,21,0,1,21,1,38,21,1,37,21,1,7,21,1,37,7,3,2,0,16,21,0,1,17,8,8,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,90,17,14,21,0,1,21,1,26,16,21,1,21,0,22,17,0,5,0,91,17,14,21,0,1,21,1,31,0,22,21,1,21,16,17,25,21,0,2,21,1,13,16,0,5,0,92,17,14,21,0,2,0,18,21,1,14,7,16,0,15,16,21,1,28,0,8,7,0,23,17,0,5,0,93,17,14,21,0,1,21,1,26,16,22,0,3,11,14,21,0,2,0,18,21,1,22,21,1,10,21,0,3,8,0,8,0,13,21,1,10,21,0,3,0,7,16,8,19,7,16,0,15,16,21,1,28,0,8,7,0,23,17,0,5,0,94,17,14,21,0,1,21,1,32,21,1,10,0,18,21,1,4,21,1,22,0,22,19,0,8,21,0,3,19,0,6,21,1,4,19,7,8,21,0,2,17,25,21,0,1,21,1,0,16,22,0,3,11,14,21,0,3,0,16,0,22,17,0,22,21,1,11,0,13,8,21,0,3,21,1,8,21,1,26,8,21,1,7,0,7,7,0,23,19,0,17,9,21,1,28,0,8,21,1,10,0,6,21,1,10,0,23,8,21,1,7,0,16,7,21,0,3,19,21,0,0,9,8,7,0,23,19,3,2,21,1,3,0,13,21,1,10,0,24,8,8,16,25,21,0,1,15,155,21,1,5,21,1,50,9,21,1,12,15,156,8,3,2,21,1,3,21,1,5,21,1,8,0,0,8,0,13,0,26,19,8,21,0,2,17,25,21,0,1,21,1,19,21,1,9,21,0,4,21,1,51,21,1,33,21,0,4,7,0,21,0,18,21,0,4,7,8,8,8,21,0,2,17,25,21,0,1,25,21,0,1,21,0,5,21,1,9,21,0,4,8,21,0,2,17,22,0,6,11,14,21,0,1,21,1,57,21,0,5,7,16,22,0,7,22,0,8,4,2,11,14,21,1,4,21,1,8,21,1,54,8,0,7,0,23,19,21,1,12,15,157,8,22,0,9,11,14,21,1,4,0,20,15,158,8,22,0,10,11,14,21,0,8,21,0,9,21,0,6,17,21,1,6,21,0,1,7,21,1,11,21,0,10,8,21,1,6,21,0,5,7,21,1,178,9,15,159,9,3,2,21,1,3,21,1,54,8,16,25,21,0,1,21,0,2,9,25,21,0,1,22,0,3,22,0,4,22,0,5,4,3,11,14,21,0,5,21,0,4,21,0,3,19,25,21,0,1,22,0,3,22,0,4,4,2,11,14,21,0,4,21,0,3,7,25,21,0,1,22,0,3,22,0,4,22,0,5,4,3,11,14,21,0,5,21,0,4,21,0,3,8,25,21,1,6,21,1,53,7,22,0,5,11,14,21,1,42,21,1,28,21,1,4,21,1,13,9,21,1,12,0,15,21,1,11,0,16,8,8,7,21,0,1,19,0,22,0,14,21,1,4,21,1,28,0,8,7,0,23,19,0,17,9,21,1,11,0,15,8,9,3,2,21,1,3,21,1,13,8,9,22,0,6,11,14,15,160,22,0,7,11,14,21,1,0,0,22,0,16,21,1,10,0,24,8,0,12,21,1,6,21,0,7,7,19,3,2,21,1,3,0,16,21,1,10,0,22,8,0,12,0,29,19,8,9,22,0,8,11,14,15,161,22,0,9,11,14,21,0,9,0,23,7,22,0,10,11,14,21,0,9,0,22,7,22,0,11,11,14,15,162,22,0,12,11,14,15,163,22,0,13,11,14,15,164,22,0,14,11,14,0,0,21,1,20,0,26,19,21,1,12,21,0,14,21,1,54,7,8,22,0,15,11,14,21,0,14,21,0,8,7,22,0,16,11,14,21,1,6,21,1,4,21,0,11,21,1,10,0,23,8,21,0,12,9,21,0,10,21,1,10,0,22,8,21,0,12,9,21,0,10,21,1,10,0,23,8,21,0,12,9,21,0,10,21,1,10,0,23,8,21,0,13,9,21,0,10,21,1,10,0,23,8,21,0,16,15,165,15,166,3,3,21,1,3,21,1,6,0,26,7,0,7,0,0,19,8,3,7,7,0,16,21,1,180,19,15,167,21,1,4,19,22,0,17,11,14,21,1,0,21,1,71,21,1,10,0,23,8,21,1,4,0,16,0,22,19,21,0,17,9,21,0,15,9,21,1,6,21,0,5,7,15,168,21,1,11,21,1,56,8,21,1,4,0,16,0,22,19,21,0,15,9,3,4,21,1,3,21,1,5,21,1,8,0,26,21,1,4,0,24,3,2,21,1,3,0,13,21,1,10,0,24,8,8,3,2,21,1,3,0,13,21,1,10,0,22,8,8,8,8,0,16,21,1,10,0,22,8,19,9,22,0,18,11,14,21,0,4,21,0,18,16,0,22,21,0,7,0,28,8,3,2,21,1,28,15,169,7,16,0,22,21,1,53,3,2,21,1,0,21,1,32,0,23,0,26,3,2,19,3,2,21,1,3,21,0,8,8,16,25,21,0,1,21,1,52,21,1,58,7,21,0,2,17,0,15,16,21,1,28,0,8,7,0,23,17,25,21,0,2,0,16,0,23,17,21,0,1,3,2,21,1,3,21,0,2,0,16,0,22,17,8,25,21,0,1,0,15,16,0,18,21,1,59,7,16,21,1,28,0,7,0,8,0,13,19,0,7,21,1,5,19,7,0,22,17,0,6,0,23,17,25,0,1,21,1,11,21,1,4,0,20,21,1,6,3,0,7,0,15,21,1,61,21,1,9,21,0,2,8,19,8,8,21,1,63,21,1,4,0,20,21,1,5,8,21,0,1,19,3,2,21,1,3,0,15,21,1,8,21,1,26,8,21,1,21,0,22,19,8,25,21,0,1,0,15,16,0,16,0,22,17,21,1,61,16,22,0,3,11,14,21,0,1,0,15,16,0,18,21,1,61,21,1,60,21,0,3,19,7,16,21,1,28,0,8,7,0,23,17,0,5,0,96,17,14,21,0,3,21,1,28,0,8,7,0,23,17,0,17,16,0,15,21,0,3,17,0,18,21,1,7,21,1,16,21,1,11,0,16,8,7,7,21,0,1,17,25,0,28,22,0,3,11,22,0,4,11,14,3,0,22,0,5,11,14,21,0,1,22,0,6,11,14,21,0,1,0,18,21,1,26,7,16,21,1,39,16,0,18,15,170,7,16,25,21,0,1,0,15,16,22,0,3,11,21,1,26,16,22,0,4,11,14,21,0,3,0,18,21,1,61,7,16,22,0,5,11,14,21,0,5,0,16,0,22,17,21,1,26,16,22,0,6,11,14,21,0,1,0,12,16,22,0,7,11,14,21,0,5,0,18,21,1,26,0,12,21,0,6,19,7,16,21,1,28,0,8,7,0,23,17,0,5,0,97,17,14,21,0,7,21,1,20,21,0,6,17,0,5,0,98,17,14,15,171,22,0,8,11,14,21,0,1,21,1,61,16,22,0,9,11,14,0,23,22,0,10,11,14,0,22,21,1,21,16,22,0,11,11,22,0,12,11,14,21,0,7,0,17,16,21,1,52,15,172,7,21,0,9,21,1,42,16,21,0,8,0,8,7,0,23,17,21,1,42,16,17,14,21,1,52,15,173,21,0,3,0,18,0,15,7,16,7,7,22,0,13,11,14,21,0,11,21,0,13,15,174,3,2,21,1,3,21,0,6,21,1,21,21,0,7,17,8,21,0,12,17,25,21,0,2,21,1,26,16,22,0,3,11,14,21,0,1,21,1,26,16,22,0,4,11,14,21,0,3,21,1,20,21,0,4,17,0,5,0,101,17,14,21,0,4,0,17,16,0,18,21,0,1,21,1,11,0,16,8,21,1,11,0,8,21,1,10,21,0,2,21,1,11,0,16,8,8,21,1,4,3,2,21,1,3,21,1,5,0,13,21,0,3,19,8,8,7,16,25,21,0,1,22,0,2,22,0,3,22,0,4,4,3,11,14,0,104,21,1,30,21,0,2,17,21,1,30,0,103,17,22,0,5,11,14,0,105,22,0,6,11,14,0,106,22,0,7,11,14,15,175,25,21,0,1,21,1,25,16,22,0,5,11,21,1,21,21,1,10,21,0,2,8,21,1,12,21,0,4,8,16,14,21,0,5,0,17,16,0,18,21,0,1,0,6,21,0,2,17,21,1,11,0,6,8,7,0,18,0,22,21,1,11,21,1,21,8,21,1,12,0,30,8,7,9,0,18,0,13,21,1,10,21,0,2,8,21,1,12,0,30,8,7,3,2,21,1,3,21,0,1,21,1,21,0,22,17,8,16,25,21,0,1,14,0,6,21,1,24,0,22,19,0,17,9,0,7,21,1,24,0,22,19,0,17,9,0,18,0,6,7,21,1,4,21,1,8,21,1,21,8,19,3,2,21,1,3,21,1,21,21,1,10,0,22,8,8,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,109,17,14,21,0,2,0,12,21,1,9,0,7,8,21,0,1,17,22,0,3,11,14,21,0,3,0,13,0,22,17,0,5,0,110,17,14,21,0,3,21,1,20,0,23,17,0,5,0,111,17,14,21,0,1,21,1,29,0,23,17,22,0,4,11,14,21,0,4,21,1,26,16,0,17,16,0,18,21,1,6,21,0,2,21,1,61,16,7,0,16,21,0,3,0,7,0,23,17,21,1,11,0,6,8,19,0,12,21,0,4,21,1,11,0,16,8,19,7,16,21,1,28,0,8,7,0,23,17,0,5,0,112,17,14,21,0,4,21,1,28,0,8,7,0,23,17,25,21,0,1,21,1,72,21,0,2,17,22,0,3,11,14,21,0,2,0,23,21,1,26,3,2,21,1,3,21,1,4,0,12,21,1,9,0,13,8,21,0,1,19,8,16,0,8,21,0,3,17,22,0,4,11,14,21,0,1,21,1,26,16,0,8,21,0,3,17,0,17,16,0,18,21,0,2,21,1,16,16,21,1,11,0,16,8,21,1,6,21,0,1,0,15,16,7,0,16,21,0,4,21,1,11,0,7,8,19,3,2,21,1,3,0,13,21,1,10,21,0,4,8,8,7,16,0,15,21,0,1,21,1,61,16,17,25,21,0,1,21,1,72,21,0,2,17,22,0,3,11,14,21,0,1,21,1,26,16,0,8,21,0,3,17,22,0,4,11,14,21,0,2,0,23,21,1,26,3,2,21,1,3,21,1,4,0,12,21,1,9,0,13,8,21,0,1,19,8,16,0,8,21,0,3,17,22,0,5,11,14,21,0,5,0,7,21,0,4,17,22,0,6,11,14,21,0,4,0,17,16,0,18,21,1,6,21,0,1,0,15,16,7,0,16,21,0,5,21,1,11,0,6,8,19,21,1,6,21,0,2,21,1,16,16,7,0,16,21,0,6,21,1,11,0,7,8,19,3,2,21,1,3,0,13,21,1,10,21,0,6,8,8,7,16,0,15,21,0,1,21,1,61,16,17,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,109,17,14,21,0,1,21,1,29,0,23,17,21,1,4,21,1,28,0,8,7,0,23,19,0,17,9,21,1,11,0,15,8,16,0,18,21,0,1,0,1,16,7,16,25,21,0,2,0,12,16,21,1,20,0,23,17,0,5,0,113,17,14,21,0,2,21,1,16,16,22,0,2,12,21,1,26,16,22,0,3,11,14,21,0,1,21,0,3,21,1,21,0,22,17,21,1,12,21,1,4,0,20,15,176,8,8,21,0,2,17,25,21,0,1,0,28,21,1,104,21,0,4,8,21,0,2,17,25,21,0,1,22,0,3,11,14,21,1,19,21,1,11,15,177,15,178,3,2,21,1,3,21,1,5,21,1,8,21,1,60,21,1,21,21,0,2,19,8,8,8,25,21,0,2,21,1,79,21,0,1,17,21,1,23,16,0,8,21,0,2,17,0,7,21,0,1,17,25,21,0,2,21,0,1,3,2,0,16,21,0,1,21,1,22,21,0,2,17,17,25,21,0,2,21,0,1,3,2,0,16,21,0,1,21,1,21,21,0,2,17,17,25,21,0,1,0,21,21,0,1,0,1,0,22,21,0,2,16,19,8,25,21,0,2,21,1,91,16,21,1,92,0,23,17,0,5,0,122,17,14,21,0,2,21,1,16,16,22,0,3,11,14,21,0,3,0,18,21,1,15,7,16,21,1,96,16,22,0,4,11,21,1,28,21,1,94,7,16,22,0,5,11,14,21,0,5,21,1,92,0,23,17,0,5,0,123,17,14,21,0,1,21,1,16,16,22,0,6,11,21,1,90,16,22,0,7,11,14,21,0,3,21,1,28,21,1,87,7,15,179,3,2,21,1,3,21,0,5,8,16,22,0,8,11,14,21,0,6,21,0,7,21,1,90,21,0,8,17,21,1,12,21,1,4,0,20,15,180,8,8,16,0,15,21,0,3,17,25,15,181,22,0,3,11,14,15,182,22,0,4,11,14,21,0,1,21,0,3,21,0,4,3,2,21,1,3,21,1,13,8,16,25,21,0,1,21,1,91,16,21,1,92,0,23,17,0,5,0,129,17,14,21,0,1,21,1,99,16,22,0,1,12,14,21,0,1,21,1,90,16,0,26,21,1,11,21,1,93,8,21,1,85,21,1,93,21,1,10,0,23,8,19,16,0,5,0,130,17,14,21,0,1,0,18,21,1,14,7,16,21,1,28,21,1,85,7,16,0,5,0,131,17,14,21,0,1,25,21,0,1,21,1,8,21,1,101,8,21,1,4,21,1,8,21,1,88,8,21,1,52,0,16,7,21,1,90,21,1,11,21,1,7,21,1,82,21,1,94,0,23,19,21,1,95,21,1,5,19,7,8,19,0,23,0,22,3,2,0,21,0,24,3,1,8,19,25,21,0,1,21,1,102,21,0,5,7,21,0,2,17,22,0,6,11,21,1,89,0,22,17,22,0,7,11,14,21,0,4,22,0,8,11,14,15,183,22,0,9,11,14,21,0,1,21,0,9,21,0,6,7,21,0,2,17,25,21,0,1,21,1,102,21,0,5,7,21,1,52,21,1,95,21,1,11,21,1,83,8,21,1,95,21,1,84,0,22,19,3,2,21,1,3,21,1,4,21,1,93,0,22,19,8,7,21,1,91,21,1,9,21,1,17,8,19,21,0,2,17,22,0,6,11,14,15,184,22,0,7,11,14,21,1,4,21,1,88,9,21,0,7,21,1,4,0,18,21,1,88,7,9,3,3,21,1,3,21,1,91,21,1,11,21,1,92,8,21,1,94,0,23,19,21,1,87,0,22,21,1,11,21,1,89,8,19,8,22,0,7,12,14,21,0,1,21,0,7,21,0,6,0,16,21,1,10,21,1,90,21,1,7,21,1,95,7,0,23,19,8,16,17,21,1,52,21,0,4,7,21,0,2,21,0,7,21,0,6,0,16,0,22,17,17,17,21,1,89,16,25,21,0,1,21,1,91,16,21,1,93,0,23,17,0,5,0,132,17,14,21,0,4,22,0,5,11,14,15,185,22,0,6,11,14,21,0,1,21,0,6,15,186,3,2,21,1,3,0,23,0,21,21,1,90,21,1,88,0,22,19,8,8,21,0,2,17,25,21,0,1,21,1,61,21,1,9,21,1,17,8,21,0,2,17,22,0,3,11,14,21,0,3,0,18,21,1,90,7,16,22,0,4,11,21,1,28,21,1,84,7,0,23,17,22,0,5,11,14,21,0,4,21,1,95,21,0,5,17,21,1,92,0,23,17,21,1,28,21,1,85,7,16,0,5,0,134,17,14,21,0,3,21,1,52,21,1,32,21,1,10,0,23,21,1,95,21,0,5,17,0,17,16,21,1,11,21,1,94,8,8,7,21,0,5,21,1,96,21,0,4,17,17,22,0,6,11,14,21,0,6,21,1,28,21,1,60,7,16,0,5,0,135,17,14,21,0,3,21,1,52,0,23,21,1,4,0,16,0,22,19,3,2,21,1,3,21,1,5,8,7,21,0,4,21,1,91,21,0,5,17,17,21,1,28,21,1,94,7,16,22,0,7,11,14,21,0,1,21,1,99,21,1,9,21,1,30,8,21,0,2,17,21,1,99,21,0,6,0,16,0,22,17,21,1,30,21,0,7,3,1,17,17,25,21,0,2,21,1,13,21,1,12,21,1,99,0,16,0,22,19,8,16,22,0,2,12,14,21,0,2,21,1,15,16,0,5,0,85,17,14,21,0,2,22,0,3,11,22,0,4,11,14,21,0,1,21,1,32,21,0,1,21,1,90,16,21,1,87,21,0,3,17,0,17,16,0,19,21,1,7,15,187,21,1,12,15,188,8,7,7,16,17,25,21,0,1,21,1,90,21,1,9,21,1,91,8,21,0,2,17,0,5,0,136,17,14,21,0,1,21,1,108,21,0,2,17,25,21,0,1,0,18,21,1,14,7,16,21,1,28,21,1,85,7,16,0,5,0,137,17,14,21,0,1,21,1,93,0,28,17,21,1,28,21,1,85,7,16,0,5,0,138,17,14,0,3,22,0,5,11,14,21,0,1,21,1,5,0,21,0,22,8,21,1,12,21,1,4,15,189,21,1,90,21,1,11,21,1,7,21,1,95,7,8,19,8,21,0,2,17,22,0,1,12,14,21,0,1,0,4,21,0,1,21,0,5,16,22,0,6,11,17,22,0,7,11,14,0,22,22,0,8,11,14,21,0,6,0,18,21,1,112,21,1,8,0,18,15,190,7,8,21,0,4,9,7,16,25,21,0,1,21,1,91,16,21,1,91,0,23,17,0,5,0,139,17,14,21,1,117,21,1,4,7,22,0,3,11,14,21,0,1,21,0,3,0,1,0,22,21,1,8,21,1,112,8,19,0,18,15,191,7,21,1,28,0,18,0,18,21,1,30,7,7,7,3,0,21,1,88,16,21,1,88,16,19,0,1,0,18,0,22,7,3,0,21,1,11,21,1,99,8,0,1,21,1,4,19,9,19,3,2,21,1,3,21,1,60,21,1,88,0,23,19,8,16,25,21,0,1,21,1,13,16,0,5,0,140,17,14,21,0,2,21,1,60,21,1,89,0,24,19,21,1,12,21,1,19,21,1,8,21,1,17,8,8,16,22,0,2,12,14,21,0,2,21,1,91,16,21,1,91,0,23,17,0,5,0,141,17,14,21,0,2,0,18,21,1,91,7,16,22,0,3,11,21,1,28,21,1,94,7,16,22,0,4,11,14,21,0,1,21,1,91,16,21,1,93,21,0,4,17,0,5,0,142,17,14,21,0,1,21,1,61,16,21,1,110,21,0,4,17,21,1,95,21,0,2,0,18,21,1,61,7,16,21,1,68,16,17,22,0,5,11,14,21,0,5,21,0,3,21,1,91,0,23,17,21,1,114,21,0,3,17,21,1,11,21,1,93,8,21,1,85,21,1,93,21,1,10,0,22,8,19,16,21,1,28,21,1,85,7,16,0,5,0,143,17,14,0,22,3,1,21,1,30,21,0,5,17,21,1,32,21,0,3,0,19,21,1,94,7,16,21,1,115,0,22,17,17,21,1,83,21,0,3,17,22,0,6,11,14,21,0,2,0,18,21,1,99,7,16,22,0,2,12,0,18,21,1,90,7,16,22,0,7,11,14,21,1,6,21,0,1,7,21,1,98,21,0,1,21,1,29,21,0,4,17,21,1,11,21,1,30,8,19,22,0,8,11,14,21,0,7,21,1,28,21,1,87,7,16,3,1,21,0,8,16,21,1,11,21,1,32,8,22,0,9,11,14,21,0,2,0,16,21,1,10,0,22,8,21,1,9,21,1,117,21,0,9,7,8,21,1,52,21,1,117,21,1,4,7,7,21,1,87,21,0,7,21,1,113,16,21,1,115,0,23,17,0,19,21,1,87,7,16,21,1,113,16,19,21,1,28,0,18,0,18,21,1,94,7,7,7,9,0,18,21,0,9,7,9,3,2,21,1,3,21,1,4,21,1,8,21,1,90,8,21,1,90,0,23,19,8,21,0,6,17,0,1,21,0,2,0,18,0,22,7,16,21,0,8,16,17,25,21,0,2,21,1,91,16,21,1,91,0,23,17,0,5,0,144,17,14,21,0,1,21,1,61,16,22,0,3,11,21,1,90,21,1,9,21,1,91,8,21,0,2,17,0,5,0,145,17,14,21,0,2,0,18,21,1,14,7,16,21,1,28,21,1,85,7,16,0,5,0,146,17,14,21,0,3,21,1,88,21,1,85,21,1,95,21,1,11,21,1,92,8,19,21,0,2,17,21,1,28,21,1,85,7,16,0,5,0,147,17,14,0,22,21,1,88,21,0,2,17,21,1,87,21,0,3,17,21,1,94,21,0,2,17,22,0,2,12,14,21,0,2,21,1,90,16,21,1,96,21,1,10,21,1,112,8,16,21,1,95,16,21,1,28,21,1,4,21,1,87,21,0,3,21,1,11,0,16,8,19,21,1,94,21,0,2,21,1,11,0,16,8,19,7,0,22,17,21,1,7,0,16,7,21,0,1,21,1,99,16,17,25,21,0,2,0,18,21,0,1,21,1,11,21,1,121,8,7,16,25,21,0,1,21,1,91,21,1,10,0,22,8,21,1,28,21,1,86,7,9,21,1,9,21,1,7,21,1,95,7,8,21,0,2,17,22,0,3,11,14,21,0,1,0,22,21,0,3,3,2,15,192,3,2,21,1,3,0,22,21,1,91,21,0,3,17,8,21,0,2,17,25,21,0,4,22,0,5,11,14,21,0,2,22,0,6,11,14,21,0,1,22,0,7,11,14,15,193,22,0,8,11,14,21,0,4,21,1,91,21,1,10,0,22,8,21,1,12,21,0,1,8,9,21,0,8,3,2,0,16,21,0,6,21,1,90,0,23,17,17,25,21,0,1,22,0,2,11,14,21,1,88,21,1,10,0,22,8,21,1,12,15,194,8,25,21,0,2,21,1,91,16,21,1,7,21,1,95,7,0,23,17,22,0,5,11,14,21,0,5,21,1,93,0,22,17,0,5,0,148,17,14,21,0,1,21,1,91,16,21,1,93,21,0,5,17,0,5,0,149,17,14,21,0,2,21,1,29,0,23,17,22,0,6,11,21,1,28,21,1,87,7,16,22,0,7,11,14,0,22,21,1,124,21,0,2,21,1,99,16,21,1,11,0,16,8,21,1,9,21,0,4,8,7,21,0,7,17,22,0,8,11,14,21,0,2,21,1,90,16,0,23,0,23,21,1,11,21,1,95,21,1,8,21,1,112,8,8,21,1,87,21,0,7,19,0,18,21,1,94,21,1,10,21,0,7,8,21,1,11,21,0,8,8,7,9,21,1,7,21,1,93,7,0,22,19,21,1,28,21,1,85,7,9,3,2,21,1,3,21,1,88,21,1,10,0,22,8,8,16,0,5,0,150,17,14,21,0,1,21,1,91,16,21,1,7,21,1,95,7,21,0,5,17,22,0,9,11,14,21,0,1,21,1,19,16,21,1,29,21,0,9,17,22,0,10,11,14,21,0,10,21,1,123,21,0,6,17,22,0,11,11,14,21,0,11,21,1,28,21,1,124,21,0,1,21,1,99,16,21,1,11,0,16,8,21,1,11,21,0,4,21,1,10,21,0,2,21,1,99,16,21,1,11,0,16,8,8,8,7,7,16,22,0,12,11,14,21,1,7,0,22,7,21,1,93,21,0,12,21,1,10,21,1,87,21,1,10,21,0,6,21,1,28,21,1,87,7,16,8,8,19,22,0,13,11,14,21,0,9,21,1,112,16,0,18,21,0,1,21,1,61,16,21,1,11,0,16,8,7,16,21,1,28,21,1,87,7,21,1,112,9,21,1,11,21,1,99,8,16,21,1,87,21,0,10,21,1,28,21,1,87,7,16,17,0,18,15,195,21,1,10,21,0,2,21,1,90,16,8,7,16,0,1,0,22,17,25,21,0,1,22,0,2,11,14,21,1,106,21,1,85,7,21,1,96,9,0,19,21,1,85,7,21,1,106,21,1,94,7,9,3,2,0,16,21,0,1,17,22,0,3,11,14,15,196,0,1,0,22,19,25,21,0,1,21,1,91,16,21,1,93,0,23,17,0,5,0,153,17,14,21,0,1,21,1,129,16,22,0,5,11,14,21,0,1,21,1,90,16,21,1,112,16,0,18,0,23,21,1,4,21,0,1,21,1,91,21,1,88,0,23,19,21,1,12,21,1,77,21,1,88,7,8,16,21,1,32,21,0,5,17,21,1,11,0,16,8,21,1,9,21,1,61,8,0,23,21,1,11,21,1,95,8,19,3,2,21,1,3,21,1,88,21,1,10,0,22,8,8,7,16,21,0,4,21,0,5,17,21,1,32,21,0,5,21,1,132,16,17,0,1,0,22,17,25,21,0,2,21,1,91,16,22,0,3,11,14,21,0,1,21,1,91,16,21,1,93,21,0,3,17,0,5,0,154,17,14,21,0,1,21,0,3,21,1,128,21,1,112,21,1,10,21,0,2,21,1,61,16,21,1,83,21,0,1,21,1,61,16,21,1,110,21,1,10,21,1,95,8,21,0,3,17,21,1,94,0,23,17,17,8,8,16,21,0,3,21,1,128,21,1,60,8,21,0,2,17,0,1,0,22,17,25,21,0,2,21,1,91,16,21,1,92,0,23,17,0,5,0,155,17,14,21,0,1,21,1,61,16,21,1,90,21,1,9,21,1,93,8,21,0,2,17,0,5,0,156,17,14,21,0,2,21,1,99,16,0,18,21,1,15,7,16,21,1,28,21,1,85,7,16,0,5,0,157,17,25,21,0,1,21,1,61,16,21,1,138,21,0,2,17,0,18,21,1,28,21,1,83,7,7,16,21,1,112,16,0,18,21,1,6,21,0,1,7,21,1,122,21,1,32,21,1,10,21,0,2,8,19,7,16,25,21,0,1,21,1,141,21,0,2,17,14,21,0,2,21,1,99,16,22,0,2,12,14,21,0,2,21,1,140,16,21,1,96,16,21,1,28,21,1,94,7,16,21,1,95,21,0,1,21,1,91,16,17,22,0,3,11,14,21,0,3,21,1,88,21,0,2,17,21,1,28,21,1,85,7,16,0,5,0,158,17,14,21,0,1,21,1,142,21,0,3,21,1,112,16,21,1,4,21,1,114,21,1,7,21,1,140,21,1,8,21,1,96,8,7,19,21,0,2,17,21,1,137,21,0,2,17,17,25,21,0,1,21,1,141,21,0,2,17,14,21,0,2,21,1,99,16,22,0,2,12,14,21,0,1,21,1,91,16,22,0,3,11,14,21,0,2,21,0,3,21,1,11,21,1,88,8,21,1,85,21,1,140,19,16,21,1,28,21,1,85,7,16,21,1,163,16,14,21,0,1,21,1,142,21,0,3,21,1,112,16,21,1,4,21,1,114,21,1,7,21,1,140,21,1,8,21,1,96,8,7,19,21,0,2,17,21,1,137,21,0,2,17,21,1,132,16,17,25,21,0,2,21,1,91,16,21,1,7,21,1,95,7,0,23,17,22,0,3,11,14,21,0,3,21,1,93,0,22,17,0,5,0,159,17,14,21,0,1,21,1,91,16,21,1,93,21,0,3,17,0,5,0,160,17,14,21,0,1,21,1,139,21,1,10,21,0,2,8,21,1,99,21,1,8,21,1,146,21,1,11,21,1,77,21,1,136,7,8,8,21,1,99,21,1,6,0,24,7,21,1,137,21,1,61,19,19,9,21,1,9,21,1,139,8,21,0,2,17,25,21,0,1,15,197,21,0,5,21,1,149,21,0,1,21,0,4,21,0,2,17,17,7,21,0,2,17,25,21,0,1,21,1,178,16,25,21,0,1,21,0,5,21,0,2,17,22,0,6,11,14,0,22,22,0,7,11,22,0,8,11,14,21,0,6,0,22,21,1,127,15,198,8,16,14,0,22,15,199,0,21,21,1,6,15,200,7,8,21,0,2,17,22,0,9,11,14,21,0,1,3,1,22,0,10,11,14,15,201,21,1,10,21,0,9,8,22,0,11,11,14,21,0,7,21,0,11,21,0,4,17,22,0,12,11,14,21,0,8,21,1,95,16,21,0,10,21,0,11,21,1,10,21,1,178,8,3,2,21,1,150,21,1,88,21,1,10,0,22,8,8,21,0,4,17,22,0,13,11,14,21,0,6,0,22,21,1,127,21,1,6,21,0,12,21,0,13,3,2,7,21,1,149,0,22,21,1,11,21,1,88,8,19,21,1,149,21,1,82,19,8,16,25,21,1,6,21,0,2,21,1,28,21,1,137,7,16,7,21,1,149,15,202,21,1,90,21,0,1,19,0,19,21,1,85,7,9,21,1,28,21,1,94,7,0,22,19,19,25,0,24,21,1,79,21,0,2,21,1,90,16,17,21,1,112,16,21,1,87,0,24,17,22,0,3,11,14,21,0,2,21,1,148,21,0,3,21,1,94,0,23,17,17,21,0,1,3,2,21,1,160,21,0,2,21,1,148,21,0,3,17,8,25,0,22,21,0,1,16,25,21,0,1,21,0,4,21,0,2,17,22,0,6,11,14,21,0,6,21,0,5,21,0,2,17,21,1,60,21,0,1,17,21,1,164,16,14,21,0,6,25,21,0,1,21,1,91,16,21,1,91,0,23,17,21,1,163,16,14,21,0,1,21,1,137,16,22,0,3,11,14,21,0,3,0,18,21,1,15,7,16,21,1,28,21,1,85,7,16,21,1,163,16,14,21,0,3,0,3,16,22,0,4,11,14,0,23,21,1,93,21,0,4,17,21,1,28,21,1,85,7,16,21,1,164,16,14,21,0,4,21,1,96,16,21,1,114,16,22,0,5,11,14,21,0,5,21,1,52,0,28,7,16,21,1,137,21,0,1,21,1,52,21,1,90,7,16,21,1,114,16,17,21,1,148,21,0,5,21,1,137,21,0,3,17,21,1,129,16,17,25,21,0,2,21,1,91,16,21,1,91,0,23,17,21,1,163,16,14,21,0,2,0,18,21,1,15,7,16,21,1,28,21,1,85,7,16,21,1,163,16,14,21,0,1,21,1,137,21,1,9,21,1,148,21,1,10,21,1,129,8,8,21,0,2,21,1,138,16,17,25,21,0,1,21,1,13,16,21,1,164,16,14,21,0,1,21,1,91,16,21,1,91,0,22,17,21,1,164,16,14,21,0,1,21,1,149,16,25,21,0,2,21,1,91,21,1,9,21,1,95,8,21,0,1,17,22,0,3,11,14,21,0,3,0,23,21,1,11,21,1,93,8,21,1,85,21,1,93,21,1,10,0,22,8,19,16,21,1,164,16,14,21,0,2,0,23,21,1,90,3,2,21,1,150,21,0,3,8,16,22,0,4,11,14,21,0,1,21,1,90,16,21,1,93,21,0,4,17,21,1,164,16,14,21,0,1,21,1,148,21,1,110,21,1,10,21,0,4,8,3,2,21,1,150,21,0,3,8,16,21,1,60,21,0,2,17,21,1,164,16,14,21,0,1,21,1,111,21,0,4,17,25,21,0,1,21,1,90,16,21,1,91,0,24,17,21,1,164,16,14,21,0,1,21,1,148,16,21,1,60,21,0,2,17,21,1,164,16,14,21,0,1,21,1,148,0,23,17,25,21,0,1,21,1,90,16,21,1,91,0,23,17,21,1,164,16,14,21,0,1,21,1,148,16,25,21,0,1,21,1,91,16,21,1,91,0,23,17,21,1,163,16,14,21,0,1,0,18,21,1,15,7,16,21,1,28,21,1,85,7,16,21,1,163,16,14,21,0,1,21,1,111,21,1,10,0,23,8,21,1,93,21,1,111,21,1,10,0,28,8,19,21,1,28,21,1,85,7,9,16,21,1,164,16,14,21,0,1,0,3,16,25,21,0,1,21,1,19,21,1,9,21,0,4,21,1,51,0,18,21,0,4,7,8,8,21,0,2,17,25,21,0,5,14,21,0,1,21,0,4,21,0,2,17,25,21,0,1,21,1,178,16,25,21,0,2,21,1,11,21,0,1,8,0,21,21,0,2,21,0,1,9,8,25,21,1,149,21,1,10,0,23,8,21,0,1,21,1,11,15,203,8,21,1,149,21,1,10,0,22,8,19,25,21,1,4,21,1,8,21,1,60,8,21,1,88,0,22,19,21,1,164,9,21,1,5,21,1,52,21,1,151,21,0,1,7,7,19,25,21,1,4,21,1,8,21,1,60,8,21,1,88,0,22,19,21,1,164,9,21,1,5,0,22,21,1,8,21,1,163,8,0,21,21,1,170,21,1,151,21,0,1,7,7,8,19,25,21,1,4,21,1,8,21,1,91,8,21,1,88,0,22,19,21,1,164,9,21,1,5,21,1,77,21,1,151,21,0,1,7,21,1,4,21,1,10,21,1,13,21,1,8,21,1,164,8,8,9,7,19,25,21,1,52,21,1,151,21,0,1,7,7,25,21,1,4,21,1,8,21,1,91,8,21,1,88,0,22,19,21,1,164,9,21,1,5,21,1,4,21,0,1,21,1,115,19,0,21,21,1,90,21,1,88,0,23,19,21,1,155,21,1,111,21,1,10,0,23,8,21,0,1,21,1,111,21,1,10,0,28,8,19,21,1,137,21,1,148,19,8,8,19,25,21,0,1,21,1,0,16,25,21,1,149,21,1,10,0,23,8,21,0,1,21,1,11,15,204,8,21,1,148,21,1,10,0,22,0,24,3,2,8,19,25,21,0,1,21,1,6,15,205,7,3,2,21,1,150,21,1,91,21,1,10,21,1,6,21,1,171,7,8,8,25,21,1,151,21,0,2,7,22,0,3,11,14,21,0,3,21,1,10,21,0,1,8,0,21,21,0,3,8,21,1,151,21,0,1,7,9,25,21,0,1,21,1,157,21,1,151,21,0,2,7,8,25,21,0,1,21,1,155,21,0,2,8,21,1,166,21,0,1,21,1,95,16,21,1,155,21,0,2,8,8,25,21,0,1,21,1,95,16,21,1,155,21,0,2,8,25,21,1,151,21,0,1,7,0,21,21,1,151,21,0,2,7,8,25,21,1,151,21,0,1,7,21,1,10,21,0,2,8,25,21,0,1,0,21,21,1,165,8,25,21,1,151,21,0,2,7,21,1,151,21,0,1,7,9,0,21,21,0,1,21,1,6,0,22,21,1,8,21,1,163,8,7,15,206,3,2,21,1,150,21,1,4,21,1,8,21,1,174,8,8,21,0,2,17,8,25,21,0,1,22,0,3,22,0,4,22,0,5,4,3,11,14,21,1,174,21,1,96,9,22,0,6,11,14,21,0,5,15,207,15,208,21,1,6,21,1,165,7,3,2,21,1,150,21,1,4,21,1,8,21,0,6,8,8,3,2,21,1,150,21,1,5,21,1,8,21,0,6,8,8,21,0,3,17,25,21,0,1,21,1,0,16,25,21,1,4,21,1,60,21,1,8,21,1,164,8,21,0,1,19,21,1,5,21,1,4,19,25,21,0,1,21,1,178,16,21,1,4,15,209,3,2,21,1,150,0,22,21,1,4,21,1,8,21,1,0,8,21,1,148,0,22,0,33,3,2,19,21,1,61,0,29,21,1,171,3,2,19,3,2,21,1,150,21,1,61,21,1,10,21,1,6,21,1,165,7,8,21,1,85,21,1,61,19,8,8,21,0,1,17,25,21,0,1,21,1,52,21,1,90,7,16,21,1,90,21,1,88,21,1,9,21,1,136,8,21,1,114,19,16,21,1,160,21,0,1,21,1,137,16,8,25,21,0,1,25,21,0,1,25,21,0,1,14,21,1,7,21,2,162,16,25,0,23,0,7,21,1,6,17,22,1,6,12,14,21,0,1,0,16,21,1,6,17,25,21,1,8,21,1,7,21,1,5,0,16,21,0,1,17,17,22,1,8,12,25,21,0,2,0,14,16,22,0,5,11,14,21,0,2,0,12,16,0,17,16,21,2,28,0,8,21,2,10,21,0,1,0,14,16,21,2,11,0,16,8,0,12,21,0,5,21,2,11,0,16,8,19,8,7,0,23,17,0,5,0,81,17,14,21,0,5,21,2,28,0,8,7,0,23,17,0,17,16,0,18,21,0,1,0,15,16,21,2,11,0,16,8,21,0,4,21,0,2,0,15,16,21,2,11,0,16,8,19,7,16,0,15,21,0,5,17,25,21,0,2,0,14,16,22,0,5,11,14,21,0,2,0,12,16,22,0,6,11,14,21,0,1,0,14,16,22,0,7,11,14,21,0,6,0,17,16,21,2,28,0,8,21,2,10,21,0,7,21,2,11,0,16,8,0,12,21,0,5,21,2,11,0,16,8,19,8,7,0,23,17,0,5,0,82,17,14,21,0,6,0,7,21,0,1,0,12,16,17,0,17,16,21,2,28,0,8,21,2,10,0,6,21,2,10,21,0,6,8,21,2,7,0,16,7,21,0,7,19,8,7,0,23,17,22,0,8,11,14,21,0,2,0,15,16,22,0,9,11,14,21,0,1,0,15,16,22,0,10,11,14,21,0,8,0,17,21,2,9,0,18,21,2,6,21,0,10,7,0,16,0,6,21,2,10,0,8,21,2,10,21,0,8,8,8,19,21,0,4,21,0,9,21,2,11,0,16,8,19,7,8,21,0,9,21,2,26,16,17,0,15,16,0,15,21,0,7,17,25,21,0,1,21,2,34,21,0,4,7,21,0,2,17,25,21,0,1,0,18,15,210,21,0,2,7,7,16,25,21,0,2,0,18,15,211,21,0,1,7,7,16,25,21,1,6,0,8,0,24,17,0,13,21,0,1,21,2,28,21,2,23,7,16,22,1,10,12,0,7,21,0,1,21,2,28,21,2,24,7,16,22,1,9,12,17,17,25,21,0,1,14,21,2,7,0,22,7,21,2,22,0,22,21,2,124,21,1,8,21,2,11,0,16,8,21,2,9,21,0,4,8,7,21,1,7,17,19,22,0,5,11,14,21,2,4,21,1,6,3,2,21,2,3,0,13,21,2,10,21,1,6,8,8,22,0,6,11,14,0,22,0,12,21,1,6,17,0,6,21,1,6,17,0,2,0,24,17,21,2,24,16,22,0,7,11,0,17,16,0,18,21,2,4,0,6,0,23,19,0,7,21,0,7,19,0,10,0,24,19,7,16,21,2,28,15,212,7,21,1,6,0,17,16,17,25,21,0,1,0,18,21,2,15,7,16,21,2,28,0,8,7,0,23,17,0,5,0,85,17,14,0,23,0,7,21,1,3,17,22,0,3,11,14,21,2,4,0,7,21,0,3,19,21,2,7,0,16,7,21,1,3,0,17,16,0,18,0,7,21,2,10,21,0,3,8,7,16,0,19,21,2,4,21,2,7,0,16,7,21,0,1,19,0,12,0,22,19,0,8,0,7,19,0,6,21,2,4,19,7,16,19,22,0,4,11,14,21,0,1,0,19,0,6,7,16,21,2,11,0,16,8,22,0,5,11,14,0,22,21,0,4,16,22,0,6,11,21,0,5,16,22,0,7,11,14,21,0,3,21,0,5,16,0,17,16,0,18,15,213,7,16,25,21,0,1,0,7,21,1,3,17,0,17,16,0,18,0,6,21,2,10,21,0,1,8,7,16,25,21,0,1,0,1,21,0,2,19,25,21,0,2,0,20,21,0,1,21,2,97,21,0,2,17,8,25,21,2,4,21,2,13,9,0,12,21,2,9,0,12,8,0,14,21,2,9,21,2,52,0,12,7,8,21,2,28,0,8,7,0,23,19,3,3,21,2,28,15,214,7,16,22,0,3,11,14,15,215,22,0,4,11,14,21,2,17,21,0,4,15,216,3,2,21,2,3,21,2,4,21,2,8,21,2,28,21,0,3,7,8,8,3,2,21,2,3,21,2,4,0,16,0,22,19,21,2,13,9,8,22,0,5,11,14,0,22,22,0,6,11,14,21,0,1,15,217,16,14,21,0,1,21,0,2,3,2,21,0,5,0,22,17,22,0,7,11,14,21,0,6,0,17,16,0,18,15,218,7,16,22,0,8,11,14,21,0,8,21,0,4,0,12,21,0,7,17,21,2,12,21,2,6,21,2,53,7,8,16,25,15,219,21,2,10,21,0,2,8,22,0,3,11,14,15,220,22,0,4,11,14,15,221,21,2,10,0,22,8,22,0,5,11,14,21,0,1,21,2,6,21,0,2,7,0,16,0,22,19,0,16,0,23,19,21,0,5,3,2,21,2,3,21,1,7,21,2,8,21,2,13,8,8,16,25,21,1,6,21,0,1,16,25,21,0,4,22,0,6,11,14,21,0,1,22,0,7,22,0,8,22,0,9,4,3,11,14,21,0,5,21,2,13,21,2,22,21,0,8,19,21,2,12,15,222,21,2,8,21,1,6,8,8,16,21,0,7,21,0,2,17,22,0,10,11,14,21,0,10,21,0,9,21,2,12,15,223,8,16,25,21,0,1,15,224,21,0,1,21,0,2,21,0,4,3,3,7,3,2,21,2,3,21,2,4,21,1,8,9,8,25,21,1,5,0,21,21,0,1,8,25,21,0,1,0,21,21,1,5,8,25,21,1,5,21,0,1,3,2,21,2,3,21,0,4,0,7,0,23,19,21,2,9,0,8,0,21,21,2,4,8,8,8,25,21,0,1,22,0,3,11,14,15,225,25,21,0,1,22,0,3,11,14,15,226,25,21,0,2,21,0,1,16,25,21,0,1,21,2,52,21,1,18,7,16,25,21,0,1,21,0,2,16,25,21,0,1,0,12,21,2,10,21,1,4,8,0,7,0,23,19,21,2,12,15,227,8,16,14,21,1,5,0,16,0,23,0,6,21,1,3,17,22,1,3,12,17,25,21,0,2,22,0,5,11,14,21,0,4,22,0,6,11,14,21,0,1,0,18,15,228,7,16,25,21,0,2,22,0,3,11,14,21,1,9,0,16,21,0,1,17,22,0,4,11,14,21,1,5,0,18,0,16,21,2,10,21,0,1,8,7,16,22,0,5,11,14,21,0,4,0,17,16,0,18,21,2,6,21,0,5,7,0,16,0,8,21,2,10,21,0,3,8,19,7,16,22,0,6,11,14,21,0,3,0,17,16,0,18,21,2,5,7,21,0,6,17,0,18,21,2,4,7,21,1,10,0,17,16,17,0,15,16,21,2,52,0,12,7,21,0,5,17,21,2,28,0,8,7,0,23,17,0,5,0,99,17,14,21,0,6,21,2,39,16,22,0,7,11,14,21,0,7,21,2,26,16,0,17,16,0,18,21,0,6,21,1,8,0,6,7,0,22,17,21,2,32,21,0,7,17,21,2,11,0,16,8,21,2,11,0,7,8,7,16,22,0,8,11,14,21,0,8,0,18,21,2,4,7,21,1,12,17,21,2,52,0,6,7,21,0,7,0,18,21,0,6,21,2,11,0,16,8,21,2,11,0,8,8,7,21,1,12,17,17,22,1,12,12,14,21,0,7,0,18,0,6,21,2,10,21,0,4,21,2,11,0,8,8,8,7,21,1,11,17,22,1,11,12,14,21,0,4,0,8,22,1,10,13,25,21,0,4,0,16,21,0,1,17,0,16,21,0,2,17,25,21,2,32,21,2,10,21,1,7,0,7,21,1,6,17,0,17,16,0,18,0,6,21,2,10,21,1,7,8,7,16,8,22,0,3,11,14,21,1,5,0,16,0,22,17,21,0,3,16,22,0,4,11,14,21,1,5,0,18,21,0,3,21,2,52,0,12,7,21,0,4,19,21,2,28,0,8,7,9,7,16,21,2,28,0,8,7,0,23,17,0,5,0,100,17,14,21,0,4,21,2,28,0,8,7,16,22,0,5,11,0,17,16,0,15,21,0,4,17,22,0,6,11,14,21,0,6,0,18,21,2,5,7,21,0,1,17,21,1,13,21,0,6,0,18,0,6,21,2,10,0,8,21,2,10,21,0,5,8,8,7,21,0,2,17,17,25,21,0,2,0,12,16,21,2,20,0,23,17,0,5,21,1,6,17,14,21,0,2,21,2,16,16,22,0,2,12,14,21,0,2,0,18,21,2,14,7,16,21,2,28,0,8,7,0,23,17,0,5,21,1,7,17,14,21,0,2,21,2,26,16,22,0,3,11,14,21,0,1,21,2,61,16,21,2,26,21,2,11,21,2,22,8,21,2,12,15,229,8,21,0,3,17,22,0,4,11,14,15,230,22,0,5,11,14,0,22,21,2,21,16,22,0,6,11,14,0,23,22,0,7,11,14,15,231,22,0,8,11,14,0,22,22,0,9,11,14,21,0,3,0,17,16,0,18,21,0,2,21,2,11,0,16,8,15,232,21,1,4,15,233,7,21,0,8,21,2,5,19,3,2,21,2,3,21,1,3,8,21,0,4,21,2,11,0,16,8,19,7,16,22,0,10,11,14,21,0,1,21,2,19,16,21,2,4,0,20,0,15,21,2,10,21,0,4,8,15,234,3,2,21,2,3,21,0,6,0,12,16,21,2,21,0,22,17,8,8,16,25,21,0,1,0,12,16,0,13,21,1,3,17,0,5,0,114,17,14,21,0,2,0,18,21,2,15,7,16,21,2,28,0,8,7,16,0,5,0,115,17,14,21,0,1,21,2,61,16,22,0,3,11,14,21,1,3,0,17,16,0,18,21,0,2,21,2,11,0,16,8,0,7,21,0,3,21,2,11,0,16,8,19,0,6,0,23,19,7,16,22,0,4,11,14,21,0,4,0,18,0,13,21,2,10,0,22,8,7,16,21,2,28,0,8,7,16,0,5,0,116,17,14,21,0,3,21,2,32,21,1,3,0,7,21,2,10,21,2,26,8,21,0,3,17,0,17,16,0,18,0,6,21,2,10,21,1,3,8,7,16,17,22,0,5,11,21,2,28,0,8,7,0,23,17,22,0,6,11,14,0,23,0,7,21,1,3,17,15,235,16,21,2,30,21,0,6,3,1,17,0,19,0,8,7,16,21,2,42,16,22,0,7,11,14,21,0,2,21,2,4,21,2,52,15,236,7,21,0,7,19,21,2,28,0,18,0,6,7,7,9,21,2,9,0,18,0,6,7,8,21,0,4,17,0,23,21,2,11,0,12,8,0,7,0,23,19,21,2,12,21,2,7,0,17,0,15,21,0,5,19,21,2,11,0,18,0,6,7,8,7,8,21,0,6,17,0,18,21,0,1,0,15,16,21,2,11,0,16,8,7,16,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,117,17,14,21,0,1,21,1,3,21,0,2,17,25,21,0,2,0,12,16,21,2,20,0,23,17,0,5,0,118,17,14,21,0,1,21,2,61,16,21,2,26,21,2,9,0,13,8,21,0,2,17,0,5,0,119,17,14,21,0,2,21,2,26,16,22,0,3,11,14,21,0,2,0,15,16,21,2,11,0,16,8,22,0,4,11,14,21,0,1,21,0,3,21,2,21,0,22,17,21,2,12,15,237,8,0,22,17,25,21,0,1,21,2,52,21,2,4,0,23,3,2,21,2,3,21,2,5,8,7,21,1,4,17,21,2,28,21,2,87,7,16,22,0,3,11,14,21,0,3,21,2,88,0,22,17,0,5,0,124,17,14,21,1,4,21,2,90,16,0,17,16,21,2,87,21,1,4,17,21,2,28,21,2,94,7,16,22,0,4,11,14,21,1,3,0,16,21,0,4,17,21,2,153,16,22,0,5,11,14,0,31,21,2,88,21,0,5,17,0,5,0,125,17,14,21,2,91,21,2,10,21,2,83,8,0,5,0,126,19,21,2,5,21,2,4,19,22,0,6,11,14,21,0,3,21,2,79,21,1,7,17,21,0,6,21,2,83,21,2,84,3,3,21,2,3,21,0,5,21,2,83,0,24,17,8,16,22,0,7,11,14,21,1,3,21,2,52,21,2,4,21,0,7,3,2,21,2,3,21,2,5,8,7,21,1,4,17,22,1,3,12,14,21,0,7,21,2,87,21,0,3,17,21,0,5,21,2,91,0,26,17,21,2,12,21,2,88,21,2,10,21,1,7,8,21,2,12,15,238,8,8,16,25,21,1,8,0,17,16,0,18,21,2,5,7,21,2,10,0,1,21,2,8,21,2,88,8,8,15,239,3,2,21,2,3,21,1,7,21,2,88,0,22,17,8,21,0,1,17,25,21,0,1,21,2,15,16,0,5,0,127,17,14,21,0,1,0,17,16,25,21,0,1,21,2,91,16,21,2,91,0,23,17,0,5,0,128,17,14,21,0,1,0,18,21,1,3,7,16,21,2,28,0,18,21,2,30,21,2,10,21,2,99,8,7,7,3,0,21,2,88,16,17,0,1,21,0,1,0,18,0,22,7,16,17,25,21,1,9,21,1,7,21,2,94,21,0,4,17,7,22,0,5,11,14,21,0,1,21,2,52,21,0,5,7,21,2,5,21,2,8,0,18,21,0,1,21,2,11,21,0,5,8,7,8,21,2,4,21,2,8,0,18,21,2,4,21,0,5,21,0,2,19,7,8,21,1,8,3,4,21,2,3,21,2,60,21,2,9,21,2,17,8,21,2,92,21,0,4,21,2,84,0,22,17,19,21,2,86,0,22,21,2,92,21,0,4,17,21,2,85,21,1,7,17,19,21,2,98,0,24,19,21,2,28,21,2,94,21,2,10,0,24,21,2,11,21,2,87,8,8,7,9,8,21,0,2,17,25,21,0,1,21,2,61,16,21,2,32,21,0,2,0,17,16,17,22,0,3,11,14,21,0,1,21,2,29,21,0,2,17,22,0,4,11,21,2,28,21,2,87,7,16,22,0,5,11,14,21,0,5,0,17,16,21,2,99,21,0,4,17,22,0,6,11,14,21,0,1,15,240,0,20,21,2,6,21,0,3,21,2,28,21,2,87,7,16,0,17,16,0,18,21,2,4,21,2,87,21,0,5,19,21,2,94,21,0,6,19,21,2,7,21,2,32,7,21,0,1,21,2,99,16,19,7,16,21,2,99,21,0,3,17,7,8,16,25,21,0,1,21,2,61,16,21,2,71,0,23,17,22,0,3,11,14,15,241,22,0,4,11,14,21,1,5,21,2,6,21,0,1,7,21,2,99,21,0,4,19,21,2,162,21,2,11,21,2,98,8,3,2,21,2,3,21,2,90,21,2,10,21,2,6,21,2,154,7,8,8,21,0,3,17,25,21,0,1,21,2,77,21,2,88,7,16,21,2,28,21,1,5,7,21,0,2,17,25,21,0,2,21,2,91,21,1,4,17,25,21,1,3,21,2,94,22,1,4,13,14,21,0,1,21,2,94,0,23,17,25,21,2,4,21,1,5,21,0,1,0,16,21,0,2,17,19,22,1,5,12,14,21,0,1,21,2,110,21,0,2,17,25,21,0,1,14,21,1,7,0,16,21,1,8,17,21,2,4,0,23,21,2,94,21,1,8,17,22,1,8,12,17,25,21,0,1,21,2,99,16,21,1,3,16,0,18,21,0,1,21,2,61,16,21,2,112,16,21,2,99,16,21,2,11,21,2,32,8,7,16,25,21,0,1,21,2,90,21,2,9,21,2,95,8,21,0,2,17,21,2,87,16,22,0,3,11,14,21,0,1,21,2,90,21,2,9,21,2,83,8,21,0,2,17,22,0,4,11,14,21,0,1,15,242,21,2,10,21,2,90,21,2,94,21,0,4,21,2,112,16,21,2,94,0,23,17,21,2,95,16,19,8,21,2,9,15,243,8,21,0,2,17,22,0,5,11,14,21,0,5,21,0,3,3,2,25,21,0,2,22,0,3,11,14,21,0,1,22,0,4,11,14,15,244,21,1,7,3,2,21,2,3,21,2,91,21,2,10,21,1,6,8,8,22,0,5,11,14,0,22,21,0,5,16,25,15,245,22,0,3,11,14,0,28,21,0,3,0,23,21,2,94,21,0,1,17,17,21,2,94,0,23,17,25,21,0,2,21,2,125,21,0,1,21,2,11,21,1,13,8,7,16,25,21,0,2,21,2,91,16,21,2,7,21,2,95,7,0,23,17,22,0,3,11,14,21,0,3,21,2,93,0,22,17,0,5,0,151,17,14,21,0,1,21,2,91,16,21,2,93,21,0,3,17,0,5,0,152,17,14,21,0,1,21,2,19,16,21,2,4,21,2,8,21,0,3,21,2,128,0,22,8,8,21,2,4,21,0,3,21,2,128,21,2,88,8,3,2,21,2,3,21,0,3,21,2,88,0,22,17,8,21,2,9,0,18,21,2,61,7,8,21,1,3,9,3,2,21,2,3,21,0,2,21,2,90,16,21,2,88,0,22,17,8,15,246,3,2,21,2,3,21,2,99,21,2,8,21,2,90,8,21,2,88,0,27,19,21,2,9,21,2,85,8,8,21,0,2,17,25,21,0,1,25,21,0,1,21,2,14,16,0,5,0,161,17,14,21,0,1,21,2,83,21,1,8,17,22,1,8,12,14,21,0,1,21,2,84,21,1,7,17,22,1,7,12,25,15,247,21,2,6,21,0,2,7,7,25,21,2,5,21,0,1,9,25,21,0,1,21,2,112,16,21,2,137,21,1,10,17,0,19,21,0,2,7,16,25,21,0,1,21,2,1,16,25,21,0,2,21,0,1,16,25,21,0,2,21,2,28,21,0,1,7,16,25,21,0,2,21,2,171,21,0,1,8,25,21,2,4,21,2,151,21,2,7,21,0,2,7,7,21,0,1,19,25,21,2,4,21,2,151,21,1,4,7,21,0,2,19,15,248,21,2,151,21,0,1,7,8,25,21,2,4,21,2,151,21,2,7,21,1,4,7,7,21,0,1,19,21,2,151,21,0,2,7,9,25,21,0,1,21,2,166,21,0,2,8,21,2,171,21,0,1,8,25,21,0,1,21,2,2,21,0,4,17,25,21,0,4,21,2,2,21,0,1,17,25,21,0,2,22,0,3,11,0,7,16,22,0,4,11,14,0,22,22,0,5,11,22,0,6,11,22,0,7,11,14,0,26,22,0,8,11,14,21,0,1,0,23,0,12,21,2,7,17,0,7,0,23,17,21,3,12,0,18,0,8,21,3,10,21,2,7,8,7,8,16,21,3,11,0,16,8,21,3,9,21,1,5,8,22,0,9,11,14,21,0,9,0,22,0,23,0,24,3,4,22,0,10,11,14,0,6,15,249,3,2,0,16,21,0,3,0,13,0,27,17,17,22,0,11,11,14,15,250,22,0,12,11,14,15,251,15,252,21,0,12,3,3,21,3,3,15,253,8,22,0,13,11,14,21,0,1,0,18,21,0,1,21,3,11,15,254,8,7,16,25,21,1,6,21,1,7,0,12,21,0,1,17,21,3,12,15,255,8,16,25,0,22,21,0,1,3,2,21,3,3,21,0,2,8,25,21,0,0,0,22,3,2,25,21,0,2,22,0,3,11,14,21,0,1,21,3,52,0,15,7,16,22,0,4,11,0,16,0,22,17,21,3,26,16,22,0,5,11,14,0,28,22,0,6,11,14,21,0,4,21,3,11,21,3,52,0,16,7,8,21,3,11,21,1,5,8,22,0,7,11,14,15,256,25,21,0,1,15,257,0,18,21,0,0,7,3,2,21,3,3,21,3,13,8,16,25,21,0,1,21,1,7,16,22,0,3,22,0,4,4,2,11,14,21,0,3,22,1,7,12,14,21,0,4,25,21,0,1,21,3,13,0,7,0,23,19,21,3,12,21,3,21,8,16,22,0,1,12,14,21,0,1,0,14,16,22,0,3,11,21,3,28,0,8,7,0,23,17,22,0,4,11,14,21,0,2,0,18,0,16,21,3,10,0,22,8,7,16,22,0,5,11,14,21,0,5,0,22,21,3,38,21,3,35,8,16,22,0,6,11,14,21,0,6,0,18,21,0,2,21,3,11,0,16,8,0,16,0,23,19,7,16,22,0,7,11,14,21,3,6,21,0,5,7,0,16,21,0,6,21,3,11,0,16,8,19,21,0,4,3,2,21,3,3,0,13,21,3,10,21,0,6,21,3,26,16,8,8,22,0,8,11,14,0,22,22,0,9,11,21,0,8,16,22,0,10,11,14,21,0,4,0,17,16,0,18,21,0,1,0,15,16,21,3,11,0,16,8,15,258,3,2,21,3,3,15,259,8,7,16,0,15,21,0,3,17,25,21,0,1,21,3,52,21,3,5,0,12,21,0,1,21,0,5,16,19,21,3,12,21,0,4,8,7,21,0,1,21,3,26,16,0,17,16,17,25,21,0,1,0,15,21,3,8,21,3,6,21,2,7,7,0,16,21,0,2,19,21,1,4,21,0,0,21,3,10,21,0,2,0,6,0,23,17,8,8,8,0,15,0,14,19,21,1,3,3,2,21,3,3,21,2,7,21,3,26,16,21,3,20,21,0,2,17,8,16,25,21,0,1,3,1,3,0,21,3,30,3,2,21,3,3,21,3,5,21,3,13,9,8,21,1,6,17,22,1,6,12,25,21,0,1,21,2,7,21,1,6,8,25,21,0,4,21,0,1,21,0,2,17,25,0,22,21,3,6,21,1,3,21,0,1,7,7,16,21,2,16,16,25,0,22,21,3,6,21,0,2,21,1,3,21,0,1,8,7,16,21,2,16,16,25,21,0,1,22,2,4,12,21,3,7,0,16,7,21,2,6,17,22,2,5,12,14,0,28,22,2,3,12,25,21,1,5,22,0,3,11,14,21,0,1,21,1,6,22,1,5,13,14,21,0,3,25,21,0,1,21,3,30,21,0,1,21,3,26,16,0,7,21,0,2,17,0,17,21,3,8,0,18,0,23,7,8,16,17,25,21,0,1,0,18,0,6,7,21,0,2,0,18,21,0,4,21,3,11,0,8,8,7,16,17,25,21,0,1,0,23,21,3,11,0,12,8,0,7,0,23,19,21,3,12,21,1,5,21,0,2,7,21,3,10,0,17,8,8,21,1,7,17,21,1,5,21,0,2,0,8,21,1,7,17,7,22,1,6,13,14,0,23,22,1,7,12,14,21,0,1,21,3,26,16,25,21,0,2,0,8,22,1,7,13,14,21,0,2,25,21,0,1,14,0,23,22,1,9,12,25,21,1,3,0,7,21,1,4,21,3,26,16,17,0,17,16,0,18,0,6,21,3,10,21,1,3,8,21,3,7,0,16,7,21,1,4,19,7,16,22,0,3,11,21,3,30,22,1,10,13,14,21,0,3,21,3,28,0,8,7,21,1,7,17,0,12,21,3,10,0,23,8,0,7,0,23,19,21,3,12,15,260,8,16,14,21,0,1,0,15,16,21,3,11,0,16,8,22,0,4,11,14,21,1,9,21,3,4,21,3,12,15,261,8,21,0,1,17,14,21,1,6,0,15,21,1,10,17,0,18,21,0,4,7,16,25,21,0,1,0,17,16,0,18,0,7,21,3,10,21,0,1,8,21,3,7,0,16,7,21,1,3,19,7,16,25,21,0,1,0,17,16,0,18,0,8,21,3,10,21,0,2,8,7,16,25,21,0,1,0,23,0,7,21,1,3,17,21,3,21,21,0,2,17,21,3,12,21,3,77,21,0,0,21,3,10,21,0,2,0,6,0,23,17,8,7,8,16,21,2,3,21,0,2,21,1,4,16,17,25,21,2,7,21,3,95,21,0,1,17,0,17,16,0,18,21,2,6,0,1,16,7,16,21,3,30,22,2,6,13,14,21,2,7,25,21,0,1,21,3,82,21,2,7,17,0,18,21,2,6,21,3,11,0,16,8,7,16,25,21,1,6,0,18,21,0,1,21,3,88,16,7,16,25,21,0,2,21,3,90,16,21,3,88,0,22,17,0,5,0,133,17,14,21,0,2,21,3,90,16,0,17,16,21,3,88,0,22,17,21,3,87,21,0,2,17,25,21,0,2,0,18,21,0,1,21,3,11,0,16,8,7,16,25,21,0,1,21,3,91,21,0,2,17,0,19,21,3,85,7,16,21,3,28,21,3,94,7,16,22,0,3,11,14,21,0,3,21,3,112,16,0,18,21,0,2,21,3,11,0,16,8,7,16,21,3,28,21,3,87,7,16,22,0,4,11,14,21,0,3,21,3,89,21,3,10,21,1,4,8,21,3,12,21,0,2,21,0,1,3,2,21,3,11,21,3,52,0,16,7,8,21,3,8,15,262,8,8,16,14,21,0,4,25,21,1,4,21,3,94,21,3,10,21,0,1,8,21,3,9,21,2,5,8,21,1,3,17,21,3,91,21,3,10,0,22,8,21,3,12,21,0,1,21,3,94,0,23,17,21,3,8,21,1,5,8,8,16,25,21,0,1,0,23,21,3,11,21,3,89,8,21,3,12,15,263,8,21,0,2,17,25,21,0,2,21,3,130,16,21,3,113,16,22,0,3,11,14,21,0,1,21,3,129,21,0,2,21,3,32,21,0,3,17,17,21,3,7,21,3,95,7,0,23,17,21,3,84,0,22,17,21,3,7,21,3,32,7,21,0,3,17,22,0,4,11,14,21,0,1,21,1,3,21,3,128,21,3,60,8,21,0,2,21,3,32,21,0,4,17,17,21,2,2,21,3,12,21,3,87,21,3,10,21,3,95,21,3,10,21,0,4,8,8,21,3,94,21,3,5,19,8,21,0,2,21,3,90,16,17,25,21,3,5,21,0,1,21,0,4,19,25,21,0,1,21,0,5,16,21,0,4,21,0,2,17,25,21,0,1,21,1,8,0,7,0,23,17,21,4,12,21,1,9,0,7,0,23,19,21,4,12,15,264,8,8,0,23,0,7,21,0,1,17,17,25,21,0,2,0,6,21,1,3,17,22,1,4,12,14,21,0,1,0,6,21,1,3,17,22,1,7,12,21,2,6,16,22,1,6,12,0,6,21,1,3,17,21,2,6,16,22,1,5,12,14,21,1,7,0,13,21,3,6,17,22,1,8,12,14,21,1,6,21,1,11,16,14,21,1,7,21,1,13,21,1,4,17,25,21,0,2,0,6,0,23,17,22,1,4,12,0,12,21,1,6,17,0,8,0,24,17,0,6,22,1,8,13,14,21,0,2,25,21,0,1,0,6,0,23,17,22,1,7,12,0,12,21,1,5,17,0,6,22,1,8,13,14,21,0,1,25,21,0,1,21,1,10,21,4,3,21,1,8,8,21,0,2,17,25,21,0,1,0,16,21,1,7,21,1,13,21,1,4,17,17,25,0,23,0,6,21,0,1,17,21,2,4,16,22,2,6,12,21,2,5,16,22,2,7,12,14,21,2,6,25,0,23,0,6,22,1,6,13,14,21,1,6,21,1,7,21,4,10,21,4,6,21,0,0,7,8,21,4,6,21,1,3,7,3,2,21,4,3,0,13,21,4,10,21,1,5,8,8,16,22,0,3,11,14,0,22,21,0,3,16,25,21,0,1,14,0,23,0,6,22,2,6,13,25,21,0,1,14,21,1,7,0,16,21,1,9,17,22,0,3,11,14,0,22,15,265,16,22,1,10,12,14,21,0,3,25,21,0,1,0,12,21,1,10,17,25,21,0,1,0,17,16,21,2,5,21,0,1,7,22,2,6,13,25,21,4,6,21,0,2,0,1,16,7,21,1,4,3,2,21,4,3,0,13,21,4,10,0,22,8,8,22,1,4,12,25,21,0,1,21,4,28,21,4,95,7,16,21,4,87,16,22,2,3,12,14,21,0,1,21,4,28,21,4,83,7,16,21,4,87,21,1,4,17,22,1,4,12,25,0,24,21,4,79,21,0,2,17,21,4,83,16,22,0,3,11,21,4,94,21,0,1,17,22,0,4,11,21,3,2,16,22,0,5,11,14,21,0,1,21,0,4,3,2,0,16,21,0,5,17,21,2,3,21,0,2,21,4,82,0,24,17,21,4,87,21,0,5,17,21,4,94,21,0,3,17,17,25,21,0,1,14,0,24,22,2,8,12,14,21,2,4,22,2,7,12,14,21,0,1,22,2,4,12,25,21,2,9,0,6,0,23,17,22,2,9,12,21,2,8,16,21,5,4,0,12,21,2,10,19,21,5,12,15,266,21,5,8,21,0,0,8,8,16,25,21,0,1,14,21,3,7,0,16,21,3,9,17,21,6,58,21,2,3,17,0,5,0,95,17,25] - ,provide.concat([0,1,2,32,3,8,-1,5,-Infinity,4,Infinity,-2,'+','-','×','÷','⋆','¬','⌊','⌈','∨','∧','≠','=','>','≥','√','<','⊢','⊣','∾','≍','↑','↓','↕','⌽','⍉','/','⊔','˜','¨','⌜','˘','`','∘','○','⌾','⍟','⊘','⊸','⟜','◶','≢','»','«','⥊','⊏','⊑',str("´: 𝕩 must be a list"),str("Mapping: Equal-rank argument shapes don\'t agree"),str("Mapping: Argument shape prefixes don\'t agree"),str("⍋𝕩: 𝕩 must have rank at least 1"),str("/: Replication argument must have rank 1"),str("/: Amounts to replicate must be natural numbers"),str("⌽𝕩: 𝕩 must have rank at least 1"),str("𝕨⌽𝕩: 𝕨 must consist of integers"),str("↑𝕩: 𝕩 must have rank at least 1"),str("↓𝕩: 𝕩 must have rank at least 1"),str("⊏𝕩: 𝕩 must have rank at least 1"),str("⊏𝕩: 𝕩 cannot have length 0"),str("𝕨⊏𝕩: 𝕨 must be an array"),str("𝕨⊏𝕩: Indices in 𝕨 must be integers"),str("𝕨⊏𝕩: Indices out of range"),str("⌾: Incompatible result elements in structural Under"),str(">𝕩: Elements of 𝕩 must have matching shapes"),str("∾𝕩: Elements of 𝕩 must all have the same rank"),str("∾𝕩: 𝕩 element rank must be at least argument rank"),str("∾𝕩: 𝕩 element shapes must be compatible"),str("∾𝕩: 𝕩 element trailing shapes must match"),str("∾𝕩: empty 𝕩 fill rank must be at least argument rank"),str("∾𝕩: 𝕩 must be an array"),str("𝕨"),str("𝕩: 𝕨 must "),str("have rank at most 1"),str("consist of integers"),str("↑"),str("↓"),str("« or »: 𝕩 must have rank at least 1"),str("« or »: 𝕨 must not have higher rank than 𝕩"),str("« or »: Rank of 𝕨 must be at least rank of 𝕩 minus 1"),str("« or »: 𝕨 must share 𝕩\'s major cell shape"),str("𝕨↕𝕩: 𝕨 must have rank at most 1"),str("𝕨↕𝕩: Length of 𝕨 must be at most rank of 𝕩"),str("𝕨↕𝕩: 𝕨 must consist of natural numbers"),str("𝕨↕𝕩: Window length 𝕨 must be at most axis length plus one"),str("First-axis primitive: 𝕩 must have rank at least 1"),str("Multi-axis primitive: 𝕨 must have rank at most 1"),str("Multi-axis primitive: Length of 𝕨 must be at most rank of 𝕩"),str("≥: No monadic form"),str("≤: No monadic form"),str("𝕨⥊𝕩: 𝕨 must have rank at most 1"),str("𝕨⥊𝕩: 𝕨 must consist of natural numbers"),str("𝕨⥊𝕩: Can\'t compute axis length when rest of shape is empty"),str("𝕨⥊𝕩: 𝕨 must consist of natural numbers or ∘ ⌊ ⌽ ↑"),str("𝕨⥊𝕩: Shape must be exact when reshaping with ∘"),str("↕𝕩: 𝕩 must consist of natural numbers"),str("↕𝕩: 𝕩 must be a number or list"),str("⎉ or ⚇: 𝔽 result must have rank at most 1"),str("⎉ or ⚇: 𝔽 result must have 1 to 3 elements"),str("⎉ or ⚇: 𝔽 result must consist of integers"),str("˝: 𝕩 must have rank at least 1"),str("˝: Identity does not exist"),str("𝕨∾𝕩: Rank of 𝕨 and 𝕩 must differ by at most 1"),str("𝕨∾𝕩: Cell shapes of 𝕨 and 𝕩 must match"),str("𝕨/𝕩: Lengths of components of 𝕨 must match 𝕩"),str("⊔: Grouping argument must consist of integers"),str("⊔: Grouping argument values cannot be less than ¯1"),str("⊔𝕩: 𝕩 must be a list"),str("𝕨⊔𝕩: 𝕩 must be an array"),str("𝕨⊔𝕩: Compound 𝕨 must be a list"),str("𝕨⊔𝕩: Total rank of 𝕨 must be at most rank of 𝕩"),str("𝕨⊔𝕩: Lengths of 𝕨 must equal to 𝕩, or one more only in a rank-1 component"),str("𝕨⊑𝕩: Indices in compound 𝕨 must be lists"),str("𝕨⊑𝕩: Index length in 𝕨 must match rank of 𝕩"),str("𝕨⊑𝕩: Indices in 𝕨 must consist of integers"),str("𝕨⊑𝕩: Index out of range"),str("⍋ or ⍒: Rank of 𝕨 must be at least 1"),str("⍋ or ⍒: Rank of 𝕩 must be at least cell rank of 𝕨"),str("⍋ or ⍒: 𝕨 must be sorted"),str("p⊐𝕩 or 𝕨∊p: p must have rank at least 1"),str("p⊐n or n∊p: Rank of n must be at least cell rank of p"),str("∊𝕩 or ⊐𝕩: 𝕩 must have rank at least 1"),str("⍷𝕩: Rank of 𝕨 cannot exceed rank of 𝕩"),str("𝕨⍉𝕩: 𝕨 must have rank at most 1"),str("𝕨⍉𝕩: Length of 𝕨 must not exceed rank of 𝕩"),str("𝕨⍉𝕩: 𝕨 must consist of natural numbers"),str("𝕨⍉𝕩: Skipped result axis"),str("⊒: Rank of 𝕨 must be at least 1"),str("⊒: Rank of 𝕩 must be at least cell rank of 𝕨"),str("⍟: Repetition numbers in 𝕨 must be integers"),str("´: Identity not found"),str("⁼: Inverse failed"),str("⁼: Inverse does not exist"),str("⁼: Inverse not found"),str("Cannot currently invert blocks"),str("Cannot invert modifier")]) - ,[[0,1,0,181],[0,0,4059,3],[0,0,4067,3],[0,0,4077,3],[2,0,4090,6],[0,0,4117,3],[0,0,4121,3],[0,0,4125,3],[1,0,4129,5],[1,0,4137,5],[2,0,4155,6],[2,0,4170,6],[2,0,4189,6],[2,0,4211,6],[2,0,4233,6],[0,0,4265,3],[0,0,4277,3],[0,0,4286,3],[0,0,4292,3],[0,0,4309,3],[0,0,4318,3],[1,0,4327,9],[0,0,4440,3],[0,0,4480,4],[0,0,4556,5],[0,0,4631,3],[1,1,4648,4],[1,1,4721,3],[0,0,4799,3],[0,0,4810,5],[2,0,4894,12],[0,0,5105,4],[0,0,5159,6],[0,0,5249,3],[0,0,5274,7],[0,0,5403,4],[0,0,5464,4],[0,0,5566,3],[0,0,5634,4],[1,1,5711,2],[0,0,5744,3],[0,0,5794,4],[0,0,5936,4],[2,1,6037,3],[1,0,6080,5],[0,0,6118,3],[2,0,6122,11],[0,0,6253,3],[0,0,6261,6],[0,0,6288,5],[0,0,6309,6],[1,0,6336,19],[0,0,6845,3],[0,0,6872,3],[0,0,6898,3],[2,1,6937,3],[0,0,7006,4],[0,0,7103,7],[0,0,7150,14],[0,0,7384,5],[1,1,7481,8],[1,0,7534,6],[1,1,7642,2],[0,0,7700,5],[0,0,7862,5],[0,0,7999,7],[0,0,8168,3],[0,0,8227,4],[1,0,8294,5],[2,1,8311,4],[0,0,8354,3],[0,0,8381,3],[0,0,8403,3],[0,0,8425,3],[0,0,8444,9],[0,0,8601,5],[0,0,8635,3],[1,1,8730,2],[2,0,8799,10],[2,0,8858,8],[1,0,9051,7],[0,0,9118,8],[0,0,9354,5],[0,0,9444,3],[1,0,9478,9],[0,0,9629,4],[0,0,9748,10],[0,0,10206,4],[0,0,10419,3],[0,0,10437,4],[1,0,10509,9],[1,1,10578,3],[1,0,10602,14],[1,1,11045,4],[1,0,11099,6],[0,0,11243,4],[0,0,11351,3],[0,0,11425,3],[0,0,11480,4],[0,0,11609,4],[0,0,11729,4],[2,0,11850,6],[1,1,11878,2],[2,0,11886,14],[2,1,12073,3],[2,1,12119,4],[0,0,12183,3],[2,0,12190,7],[0,0,12231,6],[0,0,12381,3],[0,0,12451,3],[0,0,12489,5],[0,0,12633,3],[0,0,12680,3],[0,0,12706,3],[1,0,12793,5],[2,0,12821,6],[0,0,12836,3],[0,0,12844,3],[1,1,12865,2],[0,0,12894,3],[0,0,12930,3],[0,0,12978,3],[0,0,13032,3],[0,0,13044,3],[0,0,13124,3],[1,1,13132,2],[1,1,13165,2],[0,0,13195,4],[0,0,13232,3],[0,0,13247,3],[0,0,13276,3],[0,0,13291,3],[0,0,13309,3],[0,0,13324,3],[0,0,13334,3],[0,0,13391,7],[0,0,13470,3],[0,0,13478,3],[1,1,13503,2],[0,0,13586,3],[1,1,13627,2],[1,1,13631,2],[0,0,13635,3],[0,0,13647,3],[0,0,13670,3],[1,0,13691,6],[1,0,13808,11],[1,0,14029,5],[0,0,14044,3],[0,0,14058,3],[0,0,14072,3],[1,0,14117,8],[0,0,14255,8],[0,0,14422,3],[0,0,14448,3],[0,0,14458,3],[0,0,14475,9],[0,0,14658,6],[0,0,14733,3],[2,0,14741,11],[1,0,14818,5],[0,0,14849,3],[0,0,14859,3],[1,0,14869,5],[0,0,14902,4],[0,0,14913,4],[0,0,14924,3],[0,0,14932,3],[0,0,14944,3],[0,0,14952,3],[1,0,14996,7],[0,0,15022,9],[1,0,15308,5],[0,0,15324,7],[0,0,15491,11],[0,0,15733,8],[0,0,16045,3],[0,0,16073,5],[0,0,16168,8],[0,0,16423,3],[0,0,16470,3],[0,0,16490,3],[1,0,16556,6],[0,0,16709,7],[0,0,16847,5],[0,0,16924,3],[0,0,16947,3],[0,0,16958,3],[0,0,16979,3],[0,0,17011,3],[0,0,17042,3],[0,0,17080,6],[0,0,17185,6],[0,0,17234,4],[0,0,17263,3],[0,0,17282,4],[1,1,17459,2],[0,0,17463,3],[0,0,17506,3],[0,0,17517,3],[0,0,17525,3],[0,0,17547,3],[0,0,17555,3],[0,0,17563,3],[0,0,17575,3],[0,0,17586,3],[0,0,17605,3],[0,0,17630,3],[0,0,17657,3],[1,0,17675,5],[1,0,17686,5],[0,0,17697,14],[0,0,17867,3],[0,0,17887,3],[0,0,17902,3],[0,0,17910,8],[0,0,17981,3],[0,0,18003,5],[0,0,18032,11],[2,0,18244,6],[0,0,18283,3],[0,0,18354,3],[0,0,18386,3],[1,0,18397,5],[1,1,18408,2],[2,1,18427,3],[0,0,18449,3],[0,0,18478,4],[0,0,18501,3],[1,0,18534,5],[0,0,18560,3],[0,0,18630,3],[0,0,18644,3],[0,0,18655,5],[0,0,18791,3],[0,0,18821,3],[0,0,18841,3],[0,0,18895,3],[0,0,18930,3],[0,0,18954,3],[0,0,18969,3],[0,0,19012,3],[0,0,19029,5],[0,0,19139,3],[0,0,19194,3],[0,0,19217,5],[1,0,19346,5],[2,0,19357,6],[0,0,19372,3],[0,0,19411,3],[0,0,19494,3],[0,0,19528,3],[0,0,19557,3],[0,0,19575,3],[0,0,19592,3],[0,0,19621,4],[0,0,19682,3],[0,0,19695,4],[0,0,19727,3],[0,0,19737,3],[0,0,19755,3],[0,0,19787,3],[0,0,19830,6],[0,0,19909,3],[0,0,19936,3],[0,0,19976,3]] + [15,1,22,0,0,11,14,15,2,22,0,1,11,14,15,3,22,0,2,11,14,15,4,22,0,3,11,14,15,5,22,0,4,11,14,15,6,0,21,15,7,8,22,0,5,11,14,15,8,22,0,6,11,14,15,9,22,0,7,11,14,15,10,22,0,8,11,14,15,11,22,0,9,11,14,15,12,22,0,10,11,14,15,13,22,0,11,11,14,15,14,22,0,12,11,14,0,0,0,12,0,22,19,22,0,13,11,14,0,22,0,12,21,0,10,0,11,8,3,2,21,0,3,0,0,0,12,0,23,19,8,22,0,14,11,14,0,22,0,12,21,0,10,0,11,8,0,8,0,13,21,0,10,0,22,8,19,3,2,21,0,3,0,0,0,12,0,23,19,8,22,0,15,11,14,15,15,0,15,3,2,21,0,3,21,0,13,8,22,0,16,11,14,15,16,0,21,15,17,8,22,0,17,11,14,15,18,22,0,18,11,14,21,0,13,0,7,0,23,19,21,0,12,21,0,18,8,22,0,19,11,14,21,0,7,0,13,7,22,0,20,11,14,21,0,20,0,7,0,23,19,0,21,21,0,18,8,22,0,21,11,14,0,13,0,7,0,23,19,22,0,22,11,14,15,19,0,16,21,0,22,19,0,21,0,11,8,22,0,23,11,14,15,20,0,16,21,0,21,19,0,21,0,7,21,0,8,21,0,23,21,0,8,0,7,8,8,8,22,0,24,11,14,0,7,21,0,4,3,2,21,0,3,0,13,21,0,10,0,22,8,8,22,0,25,11,14,0,23,0,14,0,16,0,22,19,3,2,21,0,3,0,12,21,0,21,0,22,19,8,22,0,26,11,14,15,21,22,0,27,11,14,21,0,27,22,0,28,11,14,15,22,22,0,29,11,14,0,14,21,0,11,15,23,8,22,0,30,11,14,15,24,22,0,31,11,14,21,0,4,0,20,15,25,15,26,3,2,21,0,3,21,0,4,21,0,8,0,12,8,0,12,0,23,19,8,8,22,0,32,11,14,21,0,32,22,0,33,11,14,15,27,22,0,34,11,14,15,28,22,0,35,11,14,0,13,0,7,21,0,20,19,22,0,36,11,14,0,23,0,15,0,16,0,22,19,21,0,11,0,13,0,8,0,24,19,0,7,0,23,19,15,29,3,2,21,0,3,21,0,4,21,0,8,21,0,13,8,8,8,3,2,21,0,3,21,0,4,21,0,8,0,14,8,21,0,28,0,8,7,0,23,19,21,0,21,0,22,19,8,22,0,37,11,14,21,0,36,21,0,37,21,0,7,21,0,37,7,0,7,9,3,2,21,0,3,21,0,5,21,0,8,21,0,13,8,8,15,30,3,3,21,0,3,21,0,13,21,0,9,0,6,8,8,22,0,38,11,14,15,31,22,0,39,11,14,15,32,22,0,40,11,14,21,0,19,21,0,4,0,20,15,33,8,3,2,21,0,3,0,12,21,0,21,0,22,19,8,22,0,41,11,14,15,34,21,0,12,21,0,4,0,20,15,35,8,8,22,0,42,11,14,15,36,22,0,43,11,14,15,37,22,0,44,11,14,15,38,22,0,45,11,14,15,39,22,0,46,11,14,15,40,22,0,47,11,14,15,41,22,0,48,11,14,15,42,22,0,49,11,14,21,0,16,0,1,0,16,21,0,10,0,22,8,3,2,21,0,3,21,0,26,21,0,21,0,22,19,8,9,22,0,50,11,14,15,43,22,0,51,11,14,15,44,22,0,52,11,14,15,45,22,0,53,11,14,15,46,22,0,54,11,14,0,22,0,12,21,0,10,21,0,6,21,0,54,7,8,3,2,21,0,3,0,0,0,12,0,26,19,8,22,0,55,11,14,15,47,22,0,56,11,14,21,0,4,21,0,4,21,0,4,21,0,28,15,48,7,9,15,49,15,50,15,51,3,6,21,0,3,21,0,5,8,22,0,57,11,14,15,52,22,0,58,11,14,21,0,13,21,0,9,0,12,8,0,22,3,2,21,0,4,21,0,8,21,0,13,8,0,12,3,2,0,12,21,0,9,0,12,8,0,22,3,2,0,14,21,0,9,21,0,53,0,12,7,8,21,0,28,0,8,7,0,23,19,0,22,3,2,15,53,3,5,21,0,28,15,54,7,16,22,0,59,11,14,0,22,15,55,3,2,21,0,3,21,0,13,8,22,0,60,11,14,21,0,59,0,21,21,0,60,8,22,0,61,11,14,21,0,59,0,7,0,23,19,0,21,3,0,0,14,3,2,21,0,3,21,0,13,8,8,22,0,62,11,14,21,0,61,21,0,8,0,5,8,21,0,5,21,0,4,19,22,0,63,11,14,0,15,21,0,8,0,1,0,20,21,0,4,8,21,0,28,21,0,63,0,20,21,0,4,8,7,3,2,21,0,3,21,0,26,21,0,21,0,22,19,8,8,22,0,64,11,14,15,56,22,0,65,11,14,21,0,13,21,0,12,21,0,31,21,0,65,15,57,8,8,22,0,66,11,14,15,58,22,0,67,11,14,15,59,22,0,68,11,14,21,0,13,0,5,0,103,19,21,0,5,15,60,21,0,65,21,0,66,21,0,68,21,0,67,3,2,21,0,3,0,18,0,12,0,12,0,23,19,7,21,0,28,0,8,7,0,23,19,8,21,0,68,3,3,21,0,3,0,12,21,0,23,0,24,19,8,8,19,22,0,69,11,14,15,61,22,0,70,11,14,21,0,70,0,108,21,0,25,21,0,11,0,12,8,0,7,0,23,19,15,62,3,3,7,22,0,71,11,14,21,0,70,0,109,0,12,21,0,10,0,22,8,0,7,0,23,19,15,63,3,3,7,22,0,72,11,14,15,64,22,0,73,11,14,15,65,22,0,74,11,14,15,66,22,0,75,11,14,15,67,22,0,76,11,14,15,68,22,0,77,11,14,15,69,22,0,78,11,14,15,70,22,0,79,11,14,21,0,35,0,9,7,22,0,80,11,14,21,0,35,0,10,7,22,0,81,11,14,21,0,7,21,0,80,21,0,11,21,0,81,8,7,0,21,0,24,21,0,80,16,21,0,11,21,0,81,8,8,22,0,82,11,14,21,0,35,15,71,0,21,21,0,25,8,7,22,0,83,11,14,21,0,35,15,72,0,21,21,0,23,8,7,22,0,84,11,14,21,0,35,15,73,0,21,0,7,21,0,8,21,0,84,21,0,8,0,7,8,8,8,7,22,0,85,11,14,21,0,35,0,8,7,0,21,21,0,47,0,22,7,8,22,0,86,11,14,21,0,35,0,8,0,7,0,6,19,7,0,21,21,0,47,0,23,7,8,22,0,87,11,14,21,0,35,0,8,0,21,21,0,22,0,7,21,0,21,19,21,0,10,0,22,8,8,7,22,0,88,11,14,21,0,35,21,0,20,0,7,0,23,19,7,0,21,21,0,18,8,22,0,89,11,14,21,0,35,0,13,0,7,0,23,19,7,0,21,21,0,66,8,22,0,90,11,14,21,0,35,0,12,0,7,0,23,19,7,0,21,21,0,26,8,22,0,91,11,14,21,0,35,0,12,7,0,21,0,12,8,22,0,92,11,14,21,0,35,21,0,20,7,0,21,21,0,6,0,22,7,0,5,0,121,19,8,22,0,93,11,14,21,0,35,0,13,7,0,21,21,0,6,0,22,7,0,5,0,122,19,8,22,0,94,11,14,21,0,35,0,6,7,22,0,95,11,14,21,0,35,0,7,7,22,0,96,11,14,21,0,96,21,0,95,0,23,19,22,0,97,11,14,21,0,5,21,0,92,21,0,92,21,0,91,21,0,61,21,0,62,3,4,19,21,0,28,21,0,95,7,9,21,0,12,15,74,8,22,0,98,11,14,15,75,22,0,99,11,14,0,15,0,21,21,0,16,8,22,0,100,11,14,15,76,22,0,101,11,14,15,77,22,0,102,11,14,15,78,22,0,103,11,14,15,79,22,0,104,11,14,15,80,22,0,105,11,14,15,81,22,0,106,11,14,21,0,106,22,0,107,11,14,21,0,63,0,20,21,0,100,21,0,9,21,0,31,8,15,82,3,2,21,0,3,21,0,92,21,0,89,0,23,19,21,0,9,21,0,87,8,8,8,22,0,108,11,14,21,0,33,21,0,10,21,0,40,8,22,0,109,11,14,21,0,4,0,20,21,0,91,21,0,92,0,22,19,21,0,96,0,23,19,21,0,79,15,83,15,84,3,2,21,0,3,21,0,5,21,0,8,21,0,92,8,21,0,89,0,22,19,8,8,8,22,0,110,11,14,21,0,71,0,21,21,0,45,8,22,0,111,11,14,21,0,72,0,21,21,0,46,8,22,0,112,11,14,21,0,77,0,21,21,0,101,8,22,0,113,11,14,0,22,21,0,79,21,0,44,8,0,21,21,0,43,8,22,0,114,11,14,21,0,110,0,21,21,0,40,8,22,0,115,11,14,21,0,63,0,21,21,0,4,8,0,20,21,0,74,0,21,21,0,74,21,0,10,21,0,76,8,8,8,22,0,116,11,14,21,0,63,0,21,21,0,4,8,0,20,21,0,75,0,21,21,0,75,21,0,10,21,0,76,8,8,8,22,0,117,11,14,15,85,22,0,118,11,14,15,86,22,0,119,11,14,15,87,22,0,120,11,14,15,88,22,0,121,11,14,21,0,121,15,89,3,2,21,0,3,21,0,5,21,0,8,21,0,100,21,0,8,0,18,21,0,13,7,8,8,21,0,28,21,0,87,7,9,8,22,0,122,11,14,21,0,122,21,0,10,21,0,100,21,0,4,3,2,21,0,3,21,0,13,8,8,22,0,123,11,14,15,90,22,0,124,11,14,15,91,22,0,125,11,14,15,92,22,0,126,11,14,15,93,22,0,127,11,14,21,0,104,22,0,128,11,14,21,0,105,22,0,129,11,14,21,0,127,21,0,38,7,0,21,0,22,21,0,39,21,0,38,8,8,22,0,130,11,14,21,0,127,21,0,7,21,0,38,7,7,0,21,0,23,21,0,39,21,0,7,21,0,38,7,8,8,22,0,131,11,14,15,94,22,0,132,11,14,0,4,21,0,10,21,0,53,0,23,7,8,22,0,133,11,14,15,95,22,0,134,11,14,21,0,134,21,0,4,21,0,8,0,19,21,0,95,7,8,21,0,7,21,0,96,7,0,23,19,21,0,7,21,0,33,7,21,0,7,21,0,115,21,0,8,21,0,130,21,0,8,21,0,133,8,8,7,19,7,22,0,135,11,14,21,0,19,21,0,9,15,96,8,22,0,136,11,14,21,0,63,0,21,21,0,4,8,0,20,21,0,17,21,0,8,21,0,90,8,8,22,0,137,11,14,21,0,108,0,21,21,0,69,8,22,0,138,11,14,21,0,120,0,21,21,0,119,8,22,0,139,11,14,21,0,132,0,23,7,0,21,21,0,135,8,22,0,140,11,14,21,0,7,21,0,132,0,22,7,7,0,21,21,0,134,21,0,4,7,8,22,0,141,11,14,15,97,22,0,142,11,14,21,0,4,0,20,15,98,8,22,0,143,11,14,15,99,22,0,144,11,14,15,100,22,0,145,11,14,21,0,144,0,21,21,0,41,8,22,0,146,11,14,21,0,130,21,0,8,21,0,130,8,21,0,33,21,0,96,21,0,4,19,21,0,7,21,0,140,7,19,0,1,0,22,19,22,0,147,11,14,15,101,0,1,0,22,19,22,0,148,11,14,21,0,4,0,20,0,23,21,0,79,21,0,49,8,21,0,10,21,0,19,8,0,21,21,0,48,8,8,22,0,149,11,14,21,0,123,0,21,21,0,50,8,22,0,150,11,14,15,102,22,0,151,11,14,15,103,22,0,152,11,14,15,104,22,0,153,11,14,21,0,89,21,0,140,21,0,8,21,0,150,8,21,0,8,21,0,84,21,0,114,21,0,111,3,4,19,22,0,154,11,14,21,0,138,22,0,155,11,14,21,0,153,22,0,156,11,14,21,0,99,0,21,21,0,16,8,22,0,157,11,14,21,0,56,22,0,158,11,14,21,0,148,0,21,21,0,147,8,22,0,159,11,14,21,0,136,0,21,21,0,115,21,0,10,21,0,141,8,8,22,0,160,11,14,15,105,22,0,161,11,14,0,34,0,22,0,35,0,22,0,36,0,23,0,37,0,23,0,38,0,23,0,39,0,23,0,40,0,32,0,41,0,30,0,42,0,22,0,43,0,23,0,44,0,22,0,45,0,23,0,46,0,22,0,47,0,23,3,28,21,0,161,21,0,6,0,22,7,0,5,0,163,19,8,15,106,9,22,0,162,11,14,0,5,21,0,10,0,164,8,22,0,163,11,14,0,5,21,0,10,0,165,8,22,0,164,11,14,21,0,6,0,22,7,0,5,0,166,19,22,0,165,11,14,15,107,22,0,166,11,14,15,108,22,0,167,11,14,15,109,22,0,168,11,14,0,34,21,0,7,21,0,96,7,0,21,21,0,95,8,0,35,21,0,96,0,36,21,0,7,21,0,80,7,0,21,21,0,4,8,0,37,21,0,80,0,38,21,0,35,0,2,7,0,48,21,0,7,21,0,81,7,0,21,21,0,7,21,0,88,7,8,0,43,21,0,7,21,0,80,7,0,21,21,0,86,21,0,166,21,0,4,8,8,0,42,21,0,5,21,0,96,0,23,19,21,0,80,21,0,7,21,0,96,7,19,0,21,21,0,87,21,0,166,21,0,4,8,8,0,39,21,0,97,0,49,0,22,21,0,8,21,0,163,8,0,21,15,110,8,0,50,21,0,4,0,51,21,0,61,21,0,8,21,0,164,8,21,0,5,21,0,4,19,0,21,21,0,4,8,0,52,15,111,0,21,0,22,21,0,8,21,0,163,8,8,0,53,15,112,0,21,15,113,8,0,54,0,22,21,0,8,21,0,163,8,0,21,21,0,111,21,0,166,21,0,150,21,0,10,0,28,8,8,8,0,55,0,22,21,0,8,21,0,163,8,0,21,21,0,112,21,0,166,21,0,150,8,8,0,56,0,22,21,0,8,21,0,163,8,0,21,21,0,113,21,0,166,21,0,62,8,8,0,57,21,0,114,21,0,10,21,0,96,8,0,21,21,0,114,8,0,58,21,0,145,0,21,21,0,42,8,0,59,0,22,21,0,8,21,0,163,8,0,21,15,114,8,0,60,21,0,168,0,21,21,0,167,8,3,42,21,0,161,21,0,165,8,22,0,169,11,14,15,115,22,0,170,11,14,15,116,22,0,171,11,14,15,117,21,0,9,15,118,8,22,0,172,11,14,15,119,0,61,0,34,21,0,7,21,0,96,7,0,21,0,24,21,0,11,21,0,80,8,8,0,35,21,0,95,0,21,0,22,21,0,8,21,0,163,8,8,0,36,21,0,7,21,0,80,7,0,21,21,0,82,8,0,37,21,0,88,0,21,0,22,21,0,8,21,0,163,8,8,0,38,21,0,82,0,21,0,22,21,0,8,21,0,163,8,8,0,48,0,2,21,0,80,9,0,21,0,22,21,0,8,21,0,163,8,8,0,43,21,0,7,21,0,80,7,0,21,21,0,82,8,0,42,21,0,5,21,0,96,0,23,19,21,0,80,21,0,7,21,0,96,7,19,0,21,21,0,97,21,0,8,21,0,82,8,21,0,97,9,8,0,39,21,0,6,0,23,7,21,0,96,21,0,95,19,0,21,0,22,21,0,8,21,0,163,8,8,3,18,21,0,161,21,0,165,8,0,62,15,120,0,63,15,121,0,64,15,122,0,65,15,123,21,0,8,15,124,8,3,10,21,0,161,21,0,6,21,0,165,7,8,7,22,0,173,11,14,0,23,15,125,21,0,149,0,22,0,28,3,2,19,21,0,61,0,31,21,0,6,3,2,19,3,2,21,0,151,0,0,21,0,94,0,26,19,8,22,0,174,11,14,15,126,15,127,0,66,21,0,172,0,67,15,128,0,68,15,129,0,69,21,0,6,0,22,21,0,8,21,0,163,8,7,15,130,15,131,3,2,21,0,151,21,0,94,21,0,10,0,22,8,8,3,2,21,0,151,21,0,4,21,0,8,21,0,14,8,8,0,70,15,132,0,71,15,133,15,134,21,0,4,3,2,21,0,151,21,0,5,8,21,0,5,21,0,8,21,0,174,8,19,0,72,15,135,3,14,21,0,161,21,0,6,21,0,165,7,8,7,7,22,0,175,11,14,15,136,22,0,176,11,14,15,137,21,0,112,21,0,10,0,23,8,21,0,4,21,0,150,21,0,8,21,0,169,8,9,21,0,6,21,0,6,0,22,7,0,5,0,167,19,7,21,0,4,21,0,28,21,0,172,7,9,21,0,176,21,0,173,21,0,175,3,6,21,0,151,21,0,5,8,21,0,150,19,9,22,0,177,11,14,15,138,21,0,177,21,0,6,0,22,7,0,5,0,168,19,3,3,21,0,115,0,26,0,23,0,24,3,3,17,21,0,151,0,0,8,22,0,178,11,14,15,139,22,0,179,11,14,0,50,0,51,0,61,0,66,0,67,0,71,0,72,0,70,0,73,3,9,0,45,0,44,0,74,3,3,0,49,0,53,0,56,0,59,0,75,0,76,0,60,3,5,0,77,0,54,0,55,0,57,0,58,0,78,0,79,3,7,3,6,21,0,53,21,0,157,7,16,15,140,16,22,0,180,11,14,21,0,95,21,0,96,21,0,88,21,0,80,21,0,81,21,0,82,21,0,84,21,0,85,21,0,83,21,0,97,21,0,86,21,0,87,21,0,89,21,0,90,21,0,91,21,0,92,21,0,94,21,0,93,21,0,61,21,0,62,21,0,5,21,0,4,21,0,157,21,0,138,21,0,137,21,0,111,21,0,112,21,0,113,21,0,117,21,0,116,21,0,114,21,0,146,21,0,115,21,0,130,21,0,131,21,0,149,21,0,150,21,0,140,21,0,159,21,0,141,21,0,160,21,0,139,0,5,21,0,6,21,0,7,21,0,78,21,0,53,21,0,170,21,0,179,21,0,28,21,0,107,0,19,21,0,8,21,0,9,21,0,10,21,0,11,21,0,158,0,21,21,0,151,21,0,129,21,0,128,21,0,156,3,62,21,0,2,3,2,25,0,22,21,0,1,3,2,25,21,0,1,14,0,22,0,5,16,25,21,0,1,22,1,0,22,1,1,4,2,12,25,21,0,1,15,141,21,0,5,0,16,21,0,1,21,0,4,21,0,2,17,17,7,21,0,2,17,25,21,0,1,25,21,0,2,25,21,0,1,25,21,0,1,14,21,0,4,25,21,0,1,21,1,5,21,0,2,17,21,0,4,21,0,1,17,25,21,0,1,21,0,5,21,0,2,17,21,0,4,16,25,21,0,1,21,0,5,16,21,0,4,21,0,2,21,0,5,16,17,25,21,0,1,21,0,5,21,0,1,21,1,5,21,0,2,17,21,0,4,16,17,25,21,0,1,21,0,5,16,21,0,4,21,0,1,21,1,5,21,0,2,17,17,25,21,0,1,15,142,21,1,4,21,0,4,3,2,0,16,21,0,1,21,0,5,21,0,2,17,17,7,21,0,2,17,25,21,0,1,3,1,0,1,21,0,1,17,25,21,0,2,21,0,1,3,2,25,21,0,1,3,1,25,21,0,1,3,1,0,15,3,0,17,0,1,21,0,1,17,25,21,0,2,21,0,1,3,2,25,21,0,2,21,0,1,3,2,25,21,0,1,0,12,16,0,12,0,23,17,0,5,0,80,17,14,21,0,1,22,0,5,11,21,1,26,16,22,0,6,11,14,21,0,4,22,0,7,11,14,21,0,1,21,1,5,0,21,15,143,15,144,3,2,21,1,3,21,0,6,21,1,21,0,22,17,8,8,21,0,2,17,22,0,8,11,14,21,0,6,0,17,16,0,18,0,7,21,1,10,0,23,0,7,21,0,6,17,8,7,16,0,18,15,145,7,16,14,21,0,8,25,0,81,22,0,3,11,14,21,1,6,21,0,3,0,18,21,1,21,0,18,0,12,0,7,0,23,19,7,21,0,1,19,0,19,0,8,7,9,21,1,28,0,6,7,9,21,1,7,0,16,7,21,0,2,19,7,16,7,0,16,15,146,19,25,21,0,2,0,7,21,0,1,21,1,26,16,17,0,17,16,0,18,21,1,6,21,0,1,7,0,16,0,6,21,1,10,21,0,2,8,19,7,16,25,21,0,2,21,1,26,16,22,0,3,11,14,21,0,1,21,1,26,16,0,6,21,0,3,17,0,17,16,0,18,21,0,2,21,1,11,0,16,8,21,1,7,21,0,1,7,0,16,21,0,3,21,1,11,0,7,8,19,3,2,21,1,3,0,13,21,1,10,21,0,3,8,8,7,16,25,21,0,1,21,1,30,0,23,17,22,0,3,11,21,1,28,0,8,7,0,23,17,22,0,4,11,14,21,0,4,0,17,16,0,15,21,0,3,17,0,18,0,6,21,1,10,0,8,21,1,10,21,0,4,8,8,21,1,7,0,16,7,21,0,1,0,15,16,19,7,21,0,2,17,25,21,0,2,0,18,21,0,1,21,1,11,0,16,8,7,16,25,15,147,22,0,2,11,14,15,148,22,0,3,11,14,21,0,3,21,0,1,7,21,1,7,21,0,3,21,1,7,21,0,1,7,7,7,3,2,21,1,3,0,12,21,1,9,21,1,22,8,8,21,0,2,21,0,1,7,3,2,21,1,3,0,12,21,1,9,0,12,8,8,25,15,149,21,0,1,7,22,0,2,11,14,21,0,1,21,0,2,0,20,15,150,15,151,3,2,21,1,3,21,1,13,21,1,9,21,1,22,8,8,0,21,0,18,21,0,2,7,8,8,21,0,2,0,20,21,1,34,21,0,2,7,8,3,3,21,1,3,21,1,13,21,1,9,0,6,8,8,25,21,0,1,21,1,37,21,0,2,17,25,21,0,1,0,14,21,1,9,21,1,124,8,21,0,2,17,22,0,3,11,14,21,0,3,21,1,28,21,1,125,21,0,1,0,15,16,21,1,11,0,16,8,21,1,11,21,1,38,21,1,10,21,0,2,0,15,16,21,1,11,0,16,8,8,8,7,7,16,22,0,4,11,14,0,22,21,1,7,21,0,4,7,16,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,84,17,14,21,0,1,21,1,26,16,22,0,6,11,14,21,0,1,21,1,30,0,23,17,21,1,28,0,8,7,0,23,17,22,0,7,11,14,21,0,1,0,15,16,22,0,8,11,14,0,22,22,0,9,11,22,0,10,11,14,21,0,8,0,22,0,18,21,1,14,7,21,1,28,0,8,7,0,23,19,3,2,21,1,3,21,0,6,21,1,21,0,25,17,0,8,0,23,0,12,21,0,7,17,17,8,16,21,1,4,21,1,12,21,0,1,21,1,11,15,152,8,8,16,0,7,0,23,17,22,0,11,11,14,21,0,1,0,18,21,0,10,21,1,11,0,7,8,0,7,21,1,10,21,0,9,8,3,2,0,16,21,0,5,17,7,0,4,21,1,10,0,3,8,9,15,153,21,0,4,7,3,2,21,1,3,21,0,11,8,16,0,1,0,22,17,25,21,0,1,0,12,16,0,12,0,23,17,0,5,0,85,17,14,21,0,1,21,1,26,16,22,0,3,11,14,21,0,1,21,0,3,21,1,21,0,22,17,21,1,12,15,154,8,16,0,1,0,22,17,25,21,0,1,21,1,26,16,22,0,3,11,14,21,0,1,21,1,30,0,23,17,22,0,4,11,21,1,28,0,8,7,0,23,17,22,0,5,11,14,21,0,3,0,17,16,0,18,21,1,6,21,0,1,0,15,16,7,0,16,0,8,21,1,10,21,0,5,8,21,1,11,0,6,8,19,7,21,0,5,0,17,16,0,15,21,0,4,17,17,25,21,0,1,21,1,13,16,21,1,164,16,14,21,0,1,0,12,16,21,1,21,0,22,17,25,21,0,1,0,12,16,21,1,7,0,7,7,0,23,17,22,0,3,11,14,21,0,1,0,14,16,22,0,4,11,14,21,0,4,0,16,21,0,3,17,22,0,5,11,14,21,0,3,0,17,16,0,18,21,0,4,21,1,11,0,16,8,7,16,22,0,6,11,14,21,0,6,21,1,28,0,8,7,0,23,17,0,17,16,0,15,21,0,6,17,0,18,21,1,6,21,0,1,0,15,16,7,0,16,0,8,21,1,10,21,0,5,8,21,1,11,0,6,8,19,7,21,0,5,0,17,16,17,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,87,17,14,21,0,1,21,1,26,16,22,0,3,11,14,21,0,1,21,1,33,21,0,3,0,17,16,0,18,0,7,21,1,10,0,23,0,7,21,0,3,17,8,7,16,17,25,21,0,2,21,1,14,16,0,5,0,88,17,14,21,0,1,21,1,26,16,22,0,3,11,14,21,0,3,0,9,21,0,2,17,21,1,23,16,0,8,21,0,3,17,0,7,22,0,2,13,14,21,0,1,21,1,33,21,0,3,0,17,16,0,18,21,1,4,0,13,21,0,2,0,7,21,0,3,17,19,0,8,21,0,3,19,0,7,21,1,4,19,0,6,21,0,2,19,7,16,17,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,89,17,14,21,0,1,21,1,26,16,0,6,0,23,17,0,17,16,0,18,21,0,1,21,1,11,21,1,33,21,1,10,0,17,8,8,7,16,0,1,21,1,10,0,16,21,1,10,0,22,8,8,16,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,90,17,14,21,0,1,21,1,26,16,22,0,3,11,14,21,0,3,0,6,0,23,17,0,17,16,0,18,21,0,1,21,1,11,21,1,33,21,1,10,15,155,8,8,7,16,0,1,21,1,10,0,16,21,1,10,21,0,3,8,8,16,25,21,1,33,21,1,10,21,0,1,21,1,39,21,1,38,21,1,7,21,1,38,7,3,2,0,16,21,0,1,17,8,8,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,91,17,14,21,0,1,21,1,26,16,21,1,21,0,22,17,0,5,0,92,17,14,21,0,1,21,1,32,0,22,21,1,21,16,17,25,21,0,2,21,1,13,16,0,5,0,93,17,14,21,0,2,0,18,21,1,14,7,16,0,15,16,21,1,28,0,8,7,0,23,17,0,5,0,94,17,14,21,0,1,21,1,26,16,22,0,3,11,14,21,0,2,0,18,21,1,22,21,1,10,21,0,3,8,0,8,0,13,21,1,10,21,0,3,0,7,16,8,19,7,16,0,15,16,21,1,28,0,8,7,0,23,17,0,5,0,95,17,14,21,0,1,21,1,33,21,1,10,0,18,21,1,4,21,1,22,0,22,19,0,8,21,0,3,19,0,6,21,1,4,19,7,8,21,0,2,17,25,21,0,1,21,1,0,16,22,0,3,11,14,21,0,3,0,16,0,22,17,0,22,21,1,11,0,13,8,21,0,3,21,1,8,21,1,26,8,21,1,7,0,7,7,0,23,19,0,17,9,21,1,28,0,8,21,1,10,0,6,21,1,10,0,23,8,21,1,7,0,16,7,21,0,3,19,21,0,0,9,8,7,0,23,19,3,2,21,1,3,0,13,21,1,10,0,24,8,8,16,25,21,0,1,15,156,21,1,5,21,1,51,9,21,1,12,15,157,8,3,2,21,1,3,21,1,5,21,1,8,0,0,8,0,13,0,26,19,8,21,0,2,17,25,21,0,1,21,1,19,21,1,9,21,0,4,21,1,52,21,1,34,21,0,4,7,0,21,0,18,21,0,4,7,8,8,8,21,0,2,17,25,21,0,1,25,21,0,1,21,0,5,21,1,9,21,0,4,8,21,0,2,17,22,0,6,11,14,21,0,1,21,1,58,21,0,5,7,16,22,0,7,22,0,8,4,2,11,14,21,1,4,21,1,8,21,1,55,8,0,7,0,23,19,21,1,12,15,158,8,22,0,9,11,14,21,1,4,0,20,15,159,8,22,0,10,11,14,21,0,8,21,0,9,21,0,6,17,21,1,6,21,0,1,7,21,1,11,21,0,10,8,21,1,6,21,0,5,7,21,1,178,9,15,160,9,3,2,21,1,3,21,1,55,8,16,25,21,0,1,21,0,2,9,25,21,0,1,22,0,3,22,0,4,22,0,5,4,3,11,14,21,0,5,21,0,4,21,0,3,19,25,21,0,1,22,0,3,22,0,4,4,2,11,14,21,0,4,21,0,3,7,25,21,0,1,22,0,3,22,0,4,22,0,5,4,3,11,14,21,0,5,21,0,4,21,0,3,8,25,21,1,6,21,1,54,7,22,0,5,11,14,21,1,43,21,1,28,21,1,4,21,1,13,9,21,1,12,0,15,21,1,11,0,16,8,8,7,21,0,1,19,0,22,0,14,21,1,4,21,1,28,0,8,7,0,23,19,0,17,9,21,1,11,0,15,8,9,3,2,21,1,3,21,1,13,8,9,22,0,6,11,14,15,161,22,0,7,11,14,21,1,0,0,22,0,16,21,1,10,0,24,8,0,12,21,1,6,21,0,7,7,19,3,2,21,1,3,0,16,21,1,10,0,22,8,0,12,0,29,19,8,9,22,0,8,11,14,15,162,22,0,9,11,14,21,0,9,0,23,7,22,0,10,11,14,21,0,9,0,22,7,22,0,11,11,14,15,163,22,0,12,11,14,15,164,22,0,13,11,14,15,165,22,0,14,11,14,0,0,21,1,20,0,26,19,21,1,12,21,0,14,21,1,55,7,8,22,0,15,11,14,21,0,14,21,0,8,7,22,0,16,11,14,21,1,6,21,1,4,21,0,11,21,1,10,0,23,8,21,0,12,9,21,0,10,21,1,10,0,22,8,21,0,12,9,21,0,10,21,1,10,0,23,8,21,0,12,9,21,0,10,21,1,10,0,23,8,21,0,13,9,21,0,10,21,1,10,0,23,8,21,0,16,15,166,15,167,3,3,21,1,3,21,1,6,0,26,7,0,7,0,0,19,8,3,7,7,0,16,21,1,180,19,15,168,21,1,4,19,22,0,17,11,14,21,1,0,21,1,72,21,1,10,0,23,8,21,1,4,0,16,0,22,19,21,0,17,9,21,0,15,9,21,1,6,21,0,5,7,15,169,21,1,11,21,1,57,8,21,1,4,0,16,0,22,19,21,0,15,9,3,4,21,1,3,21,1,5,21,1,8,0,26,21,1,4,0,24,3,2,21,1,3,0,13,21,1,10,0,24,8,8,3,2,21,1,3,0,13,21,1,10,0,22,8,8,8,8,0,16,21,1,10,0,22,8,19,9,22,0,18,11,14,21,0,4,21,0,18,16,0,22,21,0,7,0,28,8,3,2,21,1,28,15,170,7,16,0,22,21,1,54,3,2,21,1,0,21,1,33,0,23,0,26,3,2,19,3,2,21,1,3,21,0,8,8,16,25,21,0,1,21,1,53,21,1,59,7,21,0,2,17,0,15,16,21,1,28,0,8,7,0,23,17,25,21,0,2,0,16,0,23,17,21,0,1,3,2,21,1,3,21,0,2,0,16,0,22,17,8,25,21,0,1,0,15,16,0,18,21,1,60,7,16,21,1,28,0,7,0,8,0,13,19,0,7,21,1,5,19,7,0,22,17,0,6,0,23,17,25,0,1,21,1,11,21,1,4,0,20,21,1,6,3,0,7,0,15,21,1,62,21,1,9,21,0,2,8,19,8,8,21,1,64,21,1,4,0,20,21,1,5,8,21,0,1,19,3,2,21,1,3,0,15,21,1,8,21,1,26,8,21,1,21,0,22,19,8,25,21,0,1,0,15,16,0,16,0,22,17,21,1,62,16,22,0,3,11,14,21,0,1,0,15,16,0,18,21,1,62,21,1,61,21,0,3,19,7,16,21,1,28,0,8,7,0,23,17,0,5,0,97,17,14,21,0,3,21,1,28,0,8,7,0,23,17,0,17,16,0,15,21,0,3,17,0,18,21,1,7,21,1,16,21,1,11,0,16,8,7,7,21,0,1,17,25,0,28,22,0,3,11,22,0,4,11,14,3,0,22,0,5,11,14,21,0,1,22,0,6,11,14,21,0,1,0,18,21,1,26,7,16,21,1,40,16,0,18,15,171,7,16,25,21,0,1,0,15,16,22,0,3,11,21,1,26,16,22,0,4,11,14,21,0,3,0,18,21,1,62,7,16,22,0,5,11,14,21,0,5,0,16,0,22,17,21,1,26,16,22,0,6,11,14,21,0,1,0,12,16,22,0,7,11,14,21,0,5,0,18,21,1,26,0,12,21,0,6,19,7,16,21,1,28,0,8,7,0,23,17,0,5,0,98,17,14,21,0,7,21,1,20,21,0,6,17,0,5,0,99,17,14,15,172,22,0,8,11,14,21,0,1,21,1,62,16,22,0,9,11,14,0,23,22,0,10,11,14,0,22,21,1,21,16,22,0,11,11,22,0,12,11,14,21,0,7,0,17,16,21,1,53,15,173,7,21,0,9,21,1,43,16,21,0,8,0,8,7,0,23,17,21,1,43,16,17,14,21,1,53,15,174,21,0,3,0,18,0,15,7,16,7,7,22,0,13,11,14,21,0,11,21,0,13,15,175,3,2,21,1,3,21,0,6,21,1,21,21,0,7,17,8,21,0,12,17,25,21,0,2,21,1,26,16,22,0,3,11,14,21,0,1,21,1,26,16,22,0,4,11,14,21,0,3,21,1,20,21,0,4,17,0,5,0,102,17,14,21,0,4,0,17,16,0,18,21,0,1,21,1,11,0,16,8,21,1,11,0,8,21,1,10,21,0,2,21,1,11,0,16,8,8,21,1,4,3,2,21,1,3,21,1,5,0,13,21,0,3,19,8,8,7,16,25,21,0,1,22,0,2,22,0,3,22,0,4,4,3,11,14,0,105,21,1,31,21,0,2,17,21,1,31,0,104,17,22,0,5,11,14,0,106,22,0,6,11,14,0,107,22,0,7,11,14,15,176,25,21,0,1,21,1,25,16,22,0,5,11,21,1,21,21,1,10,21,0,2,8,21,1,12,21,0,4,8,16,14,21,0,5,0,17,16,0,18,21,0,1,0,6,21,0,2,17,21,1,11,0,6,8,7,0,18,0,22,21,1,11,21,1,21,8,21,1,12,0,30,8,7,9,0,18,0,13,21,1,10,21,0,2,8,21,1,12,0,30,8,7,3,2,21,1,3,21,0,1,21,1,21,0,22,17,8,16,25,21,0,1,14,0,6,21,1,24,0,22,19,0,17,9,0,7,21,1,24,0,22,19,0,17,9,0,18,0,6,7,21,1,4,21,1,8,21,1,21,8,19,3,2,21,1,3,21,1,21,21,1,10,0,22,8,8,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,110,17,14,21,0,2,0,12,21,1,9,0,7,8,21,0,1,17,22,0,3,11,14,21,0,3,0,13,0,22,17,0,5,0,111,17,14,21,0,3,21,1,20,0,23,17,0,5,0,112,17,14,21,0,1,21,1,30,0,23,17,22,0,4,11,14,21,0,4,21,1,26,16,0,17,16,0,18,21,1,6,21,0,2,21,1,62,16,7,0,16,21,0,3,0,7,0,23,17,21,1,11,0,6,8,19,0,12,21,0,4,21,1,11,0,16,8,19,7,16,21,1,28,0,8,7,0,23,17,0,5,0,113,17,14,21,0,4,21,1,28,0,8,7,0,23,17,25,21,0,1,21,1,73,21,0,2,17,22,0,3,11,14,21,0,2,0,23,21,1,26,3,2,21,1,3,21,1,4,0,12,21,1,9,0,13,8,21,0,1,19,8,16,0,8,21,0,3,17,22,0,4,11,14,21,0,1,21,1,26,16,0,8,21,0,3,17,0,17,16,0,18,21,0,2,21,1,16,16,21,1,11,0,16,8,21,1,6,21,0,1,0,15,16,7,0,16,21,0,4,21,1,11,0,7,8,19,3,2,21,1,3,0,13,21,1,10,21,0,4,8,8,7,16,0,15,21,0,1,21,1,62,16,17,25,21,0,1,21,1,73,21,0,2,17,22,0,3,11,14,21,0,1,21,1,26,16,0,8,21,0,3,17,22,0,4,11,14,21,0,2,0,23,21,1,26,3,2,21,1,3,21,1,4,0,12,21,1,9,0,13,8,21,0,1,19,8,16,0,8,21,0,3,17,22,0,5,11,14,21,0,5,0,7,21,0,4,17,22,0,6,11,14,21,0,4,0,17,16,0,18,21,1,6,21,0,1,0,15,16,7,0,16,21,0,5,21,1,11,0,6,8,19,21,1,6,21,0,2,21,1,16,16,7,0,16,21,0,6,21,1,11,0,7,8,19,3,2,21,1,3,0,13,21,1,10,21,0,6,8,8,7,16,0,15,21,0,1,21,1,62,16,17,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,110,17,14,21,0,1,21,1,30,0,23,17,21,1,4,21,1,28,0,8,7,0,23,19,0,17,9,21,1,11,0,15,8,16,0,18,21,0,1,0,1,16,7,16,25,21,0,2,0,12,16,21,1,20,0,23,17,0,5,0,114,17,14,21,0,2,21,1,16,16,22,0,2,12,21,1,26,16,22,0,3,11,14,21,0,1,21,0,3,21,1,21,0,22,17,21,1,12,21,1,4,0,20,15,177,8,8,21,0,2,17,25,21,0,1,0,28,21,1,105,21,0,4,8,21,0,2,17,25,21,0,1,22,0,3,11,14,21,1,19,21,1,11,15,178,15,179,3,2,21,1,3,21,1,5,21,1,8,21,1,61,21,1,21,21,0,2,19,8,8,8,25,21,0,2,21,1,80,21,0,1,17,21,1,23,16,0,8,21,0,2,17,0,7,21,0,1,17,25,21,0,2,21,0,1,3,2,0,16,21,0,1,21,1,22,21,0,2,17,17,25,21,0,2,21,0,1,3,2,0,16,21,0,1,21,1,21,21,0,2,17,17,25,21,0,1,0,21,21,0,1,0,1,0,22,21,0,2,16,19,8,25,21,0,2,21,1,92,16,21,1,93,0,23,17,0,5,0,123,17,14,21,0,2,21,1,16,16,22,0,3,11,14,21,0,3,0,18,21,1,15,7,16,21,1,97,16,22,0,4,11,21,1,28,21,1,95,7,16,22,0,5,11,14,21,0,5,21,1,93,0,23,17,0,5,0,124,17,14,21,0,1,21,1,16,16,22,0,6,11,21,1,91,16,22,0,7,11,14,21,0,3,21,1,28,21,1,88,7,15,180,3,2,21,1,3,21,0,5,8,16,22,0,8,11,14,21,0,6,21,0,7,21,1,91,21,0,8,17,21,1,12,21,1,4,0,20,15,181,8,8,16,0,15,21,0,3,17,25,15,182,22,0,3,11,14,15,183,22,0,4,11,14,21,0,1,21,0,3,21,0,4,3,2,21,1,3,21,1,13,8,16,25,21,0,1,21,1,92,16,21,1,93,0,23,17,0,5,0,130,17,14,21,0,1,21,1,100,16,22,0,1,12,14,21,0,1,21,1,91,16,0,26,21,1,11,21,1,94,8,21,1,86,21,1,94,21,1,10,0,23,8,19,16,0,5,0,131,17,14,21,0,1,0,18,21,1,14,7,16,21,1,28,21,1,86,7,16,0,5,0,132,17,14,21,0,1,25,21,0,1,21,1,8,21,1,102,8,21,1,4,21,1,8,21,1,89,8,21,1,53,0,16,7,21,1,91,21,1,11,21,1,7,21,1,83,21,1,95,0,23,19,21,1,96,21,1,5,19,7,8,19,0,23,0,22,3,2,0,21,0,24,3,1,8,19,25,21,0,1,21,1,103,21,0,5,7,21,0,2,17,22,0,6,11,21,1,90,0,22,17,22,0,7,11,14,21,0,4,22,0,8,11,14,15,184,22,0,9,11,14,21,0,1,21,0,9,21,0,6,7,21,0,2,17,25,21,0,1,21,1,103,21,0,5,7,21,1,53,21,1,96,21,1,11,21,1,84,8,21,1,96,21,1,85,0,22,19,3,2,21,1,3,21,1,4,21,1,94,0,22,19,8,7,21,1,92,21,1,9,21,1,17,8,19,21,0,2,17,22,0,6,11,14,15,185,22,0,7,11,14,21,1,4,21,1,89,9,21,0,7,21,1,4,0,18,21,1,89,7,9,3,3,21,1,3,21,1,92,21,1,11,21,1,93,8,21,1,95,0,23,19,21,1,88,0,22,21,1,11,21,1,90,8,19,8,22,0,7,12,14,21,0,1,21,0,7,21,0,6,0,16,21,1,10,21,1,91,21,1,7,21,1,96,7,0,23,19,8,16,17,21,1,53,21,0,4,7,21,0,2,21,0,7,21,0,6,0,16,0,22,17,17,17,21,1,90,16,25,21,0,1,21,1,92,16,21,1,94,0,23,17,0,5,0,133,17,14,21,0,4,22,0,5,11,14,15,186,22,0,6,11,14,21,0,1,21,0,6,15,187,3,2,21,1,3,0,23,0,21,21,1,91,21,1,89,0,22,19,8,8,21,0,2,17,25,21,0,1,21,1,62,21,1,9,21,1,17,8,21,0,2,17,22,0,3,11,14,21,0,3,0,18,21,1,91,7,16,22,0,4,11,21,1,28,21,1,85,7,0,23,17,22,0,5,11,14,21,0,4,21,1,96,21,0,5,17,21,1,93,0,23,17,21,1,28,21,1,86,7,16,0,5,0,135,17,14,21,0,3,21,1,53,21,1,33,21,1,10,0,23,21,1,96,21,0,5,17,0,17,16,21,1,11,21,1,95,8,8,7,21,0,5,21,1,97,21,0,4,17,17,22,0,6,11,14,21,0,6,21,1,28,21,1,61,7,16,0,5,0,136,17,14,21,0,3,21,1,53,0,23,21,1,4,0,16,0,22,19,3,2,21,1,3,21,1,5,8,7,21,0,4,21,1,92,21,0,5,17,17,21,1,28,21,1,95,7,16,22,0,7,11,14,21,0,1,21,1,100,21,1,9,21,1,31,8,21,0,2,17,21,1,100,21,0,6,0,16,0,22,17,21,1,31,21,0,7,3,1,17,17,25,21,0,2,21,1,13,21,1,12,21,1,100,0,16,0,22,19,8,16,22,0,2,12,14,21,0,2,21,1,15,16,0,5,0,86,17,14,21,0,2,22,0,3,11,22,0,4,11,14,21,0,1,21,1,33,21,0,1,21,1,91,16,21,1,88,21,0,3,17,0,17,16,0,19,21,1,7,15,188,21,1,12,15,189,8,7,7,16,17,25,21,0,1,21,1,91,21,1,9,21,1,92,8,21,0,2,17,0,5,0,137,17,14,21,0,1,21,1,109,21,0,2,17,25,21,0,1,0,18,21,1,14,7,16,21,1,28,21,1,86,7,16,0,5,0,138,17,14,21,0,1,21,1,94,0,28,17,21,1,28,21,1,86,7,16,0,5,0,139,17,14,0,3,22,0,5,11,14,21,0,1,21,1,5,0,21,0,22,8,21,1,12,21,1,4,15,190,21,1,91,21,1,11,21,1,7,21,1,96,7,8,19,8,21,0,2,17,22,0,1,12,14,21,0,1,0,4,21,0,1,21,0,5,16,22,0,6,11,17,22,0,7,11,14,0,22,22,0,8,11,14,21,0,6,0,18,21,1,113,21,1,8,0,18,15,191,7,8,21,0,4,9,7,16,25,21,0,1,21,1,92,16,21,1,92,0,23,17,0,5,0,140,17,14,21,1,118,21,1,4,7,22,0,3,11,14,21,0,1,21,0,3,0,1,0,22,21,1,8,21,1,113,8,19,0,18,15,192,7,21,1,28,0,18,0,18,21,1,31,7,7,7,3,0,21,1,89,16,21,1,89,16,19,0,1,0,18,0,22,7,3,0,21,1,11,21,1,100,8,0,1,21,1,4,19,9,19,3,2,21,1,3,21,1,61,21,1,89,0,23,19,8,16,25,21,0,1,21,1,13,16,0,5,0,141,17,14,21,0,2,21,1,61,21,1,90,0,24,19,21,1,12,21,1,19,21,1,8,21,1,17,8,8,16,22,0,2,12,14,21,0,2,21,1,92,16,21,1,92,0,23,17,0,5,0,142,17,14,21,0,2,0,18,21,1,92,7,16,22,0,3,11,21,1,28,21,1,95,7,16,22,0,4,11,14,21,0,1,21,1,92,16,21,1,94,21,0,4,17,0,5,0,143,17,14,21,0,1,21,1,62,16,21,1,111,21,0,4,17,21,1,96,21,0,2,0,18,21,1,62,7,16,21,1,69,16,17,22,0,5,11,14,21,0,5,21,0,3,21,1,92,0,23,17,21,1,115,21,0,3,17,21,1,11,21,1,94,8,21,1,86,21,1,94,21,1,10,0,22,8,19,16,21,1,28,21,1,86,7,16,0,5,0,144,17,14,0,22,3,1,21,1,31,21,0,5,17,21,1,33,21,0,3,0,19,21,1,95,7,16,21,1,116,0,22,17,17,21,1,84,21,0,3,17,22,0,6,11,14,21,0,2,0,18,21,1,100,7,16,22,0,2,12,0,18,21,1,91,7,16,22,0,7,11,14,21,1,6,21,0,1,7,21,1,99,21,0,1,21,1,30,21,0,4,17,21,1,11,21,1,31,8,19,22,0,8,11,14,21,0,7,21,1,28,21,1,88,7,16,3,1,21,0,8,16,21,1,11,21,1,33,8,22,0,9,11,14,21,0,2,0,16,21,1,10,0,22,8,21,1,9,21,1,118,21,0,9,7,8,21,1,53,21,1,118,21,1,4,7,7,21,1,88,21,0,7,21,1,114,16,21,1,116,0,23,17,0,19,21,1,88,7,16,21,1,114,16,19,21,1,28,0,18,0,18,21,1,95,7,7,7,9,0,18,21,0,9,7,9,3,2,21,1,3,21,1,4,21,1,8,21,1,91,8,21,1,91,0,23,19,8,21,0,6,17,0,1,21,0,2,0,18,0,22,7,16,21,0,8,16,17,25,21,0,2,21,1,92,16,21,1,92,0,23,17,0,5,0,145,17,14,21,0,1,21,1,62,16,22,0,3,11,21,1,91,21,1,9,21,1,92,8,21,0,2,17,0,5,0,146,17,14,21,0,2,0,18,21,1,14,7,16,21,1,28,21,1,86,7,16,0,5,0,147,17,14,21,0,3,21,1,89,21,1,86,21,1,96,21,1,11,21,1,93,8,19,21,0,2,17,21,1,28,21,1,86,7,16,0,5,0,148,17,14,0,22,21,1,89,21,0,2,17,21,1,88,21,0,3,17,21,1,95,21,0,2,17,22,0,2,12,14,21,0,2,21,1,91,16,21,1,97,21,1,10,21,1,113,8,16,21,1,96,16,21,1,28,21,1,4,21,1,88,21,0,3,21,1,11,0,16,8,19,21,1,95,21,0,2,21,1,11,0,16,8,19,7,0,22,17,21,1,7,0,16,7,21,0,1,21,1,100,16,17,25,21,0,2,0,18,21,0,1,21,1,11,21,1,122,8,7,16,25,21,0,1,21,1,92,21,1,10,0,22,8,21,1,28,21,1,87,7,9,21,1,9,21,1,7,21,1,96,7,8,21,0,2,17,22,0,3,11,14,21,0,1,0,22,21,0,3,3,2,15,193,3,2,21,1,3,0,22,21,1,92,21,0,3,17,8,21,0,2,17,25,21,0,4,22,0,5,11,14,21,0,2,22,0,6,11,14,21,0,1,22,0,7,11,14,15,194,22,0,8,11,14,21,0,4,21,1,92,21,1,10,0,22,8,21,1,12,21,0,1,8,9,21,0,8,3,2,0,16,21,0,6,21,1,91,0,23,17,17,25,21,0,1,22,0,2,11,14,21,1,89,21,1,10,0,22,8,21,1,12,15,195,8,25,21,0,2,21,1,92,16,21,1,7,21,1,96,7,0,23,17,22,0,5,11,14,21,0,5,21,1,94,0,22,17,0,5,0,149,17,14,21,0,1,21,1,92,16,21,1,94,21,0,5,17,0,5,0,150,17,14,21,0,2,21,1,30,0,23,17,22,0,6,11,21,1,28,21,1,88,7,16,22,0,7,11,14,0,22,21,1,125,21,0,2,21,1,100,16,21,1,11,0,16,8,21,1,9,21,0,4,8,7,21,0,7,17,22,0,8,11,14,21,0,2,21,1,91,16,0,23,0,23,21,1,11,21,1,96,21,1,8,21,1,113,8,8,21,1,88,21,0,7,19,0,18,21,1,95,21,1,10,21,0,7,8,21,1,11,21,0,8,8,7,9,21,1,7,21,1,94,7,0,22,19,21,1,28,21,1,86,7,9,3,2,21,1,3,21,1,89,21,1,10,0,22,8,8,16,0,5,0,151,17,14,21,0,1,21,1,92,16,21,1,7,21,1,96,7,21,0,5,17,22,0,9,11,14,21,0,1,21,1,19,16,21,1,30,21,0,9,17,22,0,10,11,14,21,0,10,21,1,124,21,0,6,17,22,0,11,11,14,21,0,11,21,1,28,21,1,125,21,0,1,21,1,100,16,21,1,11,0,16,8,21,1,11,21,0,4,21,1,10,21,0,2,21,1,100,16,21,1,11,0,16,8,8,8,7,7,16,22,0,12,11,14,21,1,7,0,22,7,21,1,94,21,0,12,21,1,10,21,1,88,21,1,10,21,0,6,21,1,28,21,1,88,7,16,8,8,19,22,0,13,11,14,21,0,9,21,1,113,16,0,18,21,0,1,21,1,62,16,21,1,11,0,16,8,7,16,21,1,28,21,1,88,7,21,1,113,9,21,1,11,21,1,100,8,16,21,1,88,21,0,10,21,1,28,21,1,88,7,16,17,0,18,15,196,21,1,10,21,0,2,21,1,91,16,8,7,16,0,1,0,22,17,25,21,0,1,22,0,2,11,14,21,1,107,21,1,86,7,21,1,97,9,0,19,21,1,86,7,21,1,107,21,1,95,7,9,3,2,0,16,21,0,1,17,22,0,3,11,14,15,197,0,1,0,22,19,25,21,0,1,21,1,92,16,21,1,94,0,23,17,0,5,0,154,17,14,21,0,1,21,1,130,16,22,0,5,11,14,21,0,1,21,1,91,16,21,1,113,16,0,18,0,23,21,1,4,21,0,1,21,1,92,21,1,89,0,23,19,21,1,12,21,1,78,21,1,89,7,8,16,21,1,33,21,0,5,17,21,1,11,0,16,8,21,1,9,21,1,62,8,0,23,21,1,11,21,1,96,8,19,3,2,21,1,3,21,1,89,21,1,10,0,22,8,8,7,16,21,0,4,21,0,5,17,21,1,33,21,0,5,21,1,133,16,17,0,1,0,22,17,25,21,0,2,21,1,92,16,22,0,3,11,14,21,0,1,21,1,92,16,21,1,94,21,0,3,17,0,5,0,155,17,14,21,0,1,21,0,3,21,1,129,21,1,113,21,1,10,21,0,2,21,1,62,16,21,1,84,21,0,1,21,1,62,16,21,1,111,21,1,10,21,1,96,8,21,0,3,17,21,1,95,0,23,17,17,8,8,16,21,0,3,21,1,129,21,1,61,8,21,0,2,17,0,1,0,22,17,25,21,0,2,21,1,92,16,21,1,93,0,23,17,0,5,0,156,17,14,21,0,1,21,1,62,16,21,1,91,21,1,9,21,1,94,8,21,0,2,17,0,5,0,157,17,14,21,0,2,21,1,100,16,0,18,21,1,15,7,16,21,1,28,21,1,86,7,16,0,5,0,158,17,25,21,0,1,21,1,62,16,21,1,139,21,0,2,17,0,18,21,1,28,21,1,84,7,7,16,21,1,113,16,0,18,21,1,6,21,0,1,7,21,1,123,21,1,33,21,1,10,21,0,2,8,19,7,16,25,21,0,1,21,1,142,21,0,2,17,14,21,0,2,21,1,100,16,22,0,2,12,14,21,0,2,21,1,141,16,21,1,97,16,21,1,28,21,1,95,7,16,21,1,96,21,0,1,21,1,92,16,17,22,0,3,11,14,21,0,3,21,1,89,21,0,2,17,21,1,28,21,1,86,7,16,0,5,0,159,17,14,21,0,1,21,1,143,21,0,3,21,1,113,16,21,1,4,21,1,115,21,1,7,21,1,141,21,1,8,21,1,97,8,7,19,21,0,2,17,21,1,138,21,0,2,17,17,25,21,0,1,21,1,142,21,0,2,17,14,21,0,2,21,1,100,16,22,0,2,12,14,21,0,1,21,1,92,16,22,0,3,11,14,21,0,2,21,0,3,21,1,11,21,1,89,8,21,1,86,21,1,141,19,16,21,1,28,21,1,86,7,16,21,1,163,16,14,21,0,1,21,1,143,21,0,3,21,1,113,16,21,1,4,21,1,115,21,1,7,21,1,141,21,1,8,21,1,97,8,7,19,21,0,2,17,21,1,138,21,0,2,17,21,1,133,16,17,25,21,0,2,21,1,92,16,21,1,7,21,1,96,7,0,23,17,22,0,3,11,14,21,0,3,21,1,94,0,22,17,0,5,0,160,17,14,21,0,1,21,1,92,16,21,1,94,21,0,3,17,0,5,0,161,17,14,21,0,1,21,1,140,21,1,10,21,0,2,8,21,1,100,21,1,8,21,1,147,21,1,11,21,1,78,21,1,137,7,8,8,21,1,100,21,1,6,0,24,7,21,1,138,21,1,62,19,19,9,21,1,9,21,1,140,8,21,0,2,17,25,21,0,1,15,198,21,0,5,21,1,150,21,0,1,21,0,4,21,0,2,17,17,7,21,0,2,17,25,21,0,1,21,1,178,16,25,21,0,1,21,0,5,21,0,2,17,22,0,6,11,14,0,22,22,0,7,11,22,0,8,11,14,21,0,6,0,22,21,1,128,15,199,8,16,14,0,22,15,200,0,21,21,1,6,15,201,7,8,21,0,2,17,22,0,9,11,14,21,0,1,3,1,22,0,10,11,14,15,202,21,1,10,21,0,9,8,22,0,11,11,14,21,0,7,21,0,11,21,0,4,17,22,0,12,11,14,21,0,8,21,1,96,16,21,0,10,21,0,11,21,1,10,21,1,178,8,3,2,21,1,151,21,1,89,21,1,10,0,22,8,8,21,0,4,17,22,0,13,11,14,21,0,6,0,22,21,1,128,21,1,6,21,0,12,21,0,13,3,2,7,21,1,150,0,22,21,1,11,21,1,89,8,19,21,1,150,21,1,83,19,8,16,25,0,24,21,1,80,21,0,2,21,1,91,16,17,21,1,113,16,21,1,88,0,24,17,22,0,3,11,14,21,0,1,21,1,89,16,21,1,138,21,0,2,21,1,149,21,0,3,21,1,95,0,23,17,17,17,21,1,29,21,0,2,21,1,149,21,0,3,17,8,25,0,22,21,0,1,16,25,21,0,1,21,0,4,21,0,2,17,22,0,6,11,14,21,0,6,21,0,5,21,0,2,17,21,1,61,21,0,1,17,21,1,164,16,14,21,0,6,25,21,0,1,21,1,92,16,21,1,92,0,23,17,21,1,163,16,14,21,0,1,21,1,138,16,22,0,3,11,14,21,0,3,0,18,21,1,15,7,16,21,1,28,21,1,86,7,16,21,1,163,16,14,21,0,3,0,3,16,22,0,4,11,14,0,23,21,1,94,21,0,4,17,21,1,28,21,1,86,7,16,21,1,164,16,14,21,0,4,21,1,97,16,21,1,115,16,22,0,5,11,14,21,0,5,21,1,53,0,28,7,16,21,1,138,21,0,1,21,1,53,21,1,91,7,16,21,1,115,16,17,21,1,149,21,0,5,21,1,138,21,0,3,17,21,1,130,16,17,25,21,0,2,21,1,92,16,21,1,92,0,23,17,21,1,163,16,14,21,0,2,0,18,21,1,15,7,16,21,1,28,21,1,86,7,16,21,1,163,16,14,21,0,1,21,1,138,21,1,9,21,1,149,21,1,10,21,1,130,8,8,21,0,2,21,1,139,16,17,25,21,0,1,21,1,13,16,21,1,164,16,14,21,0,1,21,1,92,16,21,1,92,0,22,17,21,1,164,16,14,21,0,1,21,1,150,16,25,21,0,2,21,1,92,21,1,9,21,1,96,8,21,0,1,17,22,0,3,11,14,21,0,3,0,23,21,1,11,21,1,94,8,21,1,86,21,1,94,21,1,10,0,22,8,19,16,21,1,164,16,14,21,0,2,0,23,21,1,91,3,2,21,1,151,21,0,3,8,16,22,0,4,11,14,21,0,1,21,1,91,16,21,1,94,21,0,4,17,21,1,164,16,14,21,0,1,21,1,149,21,1,111,21,1,10,21,0,4,8,3,2,21,1,151,21,0,3,8,16,21,1,61,21,0,2,17,21,1,164,16,14,21,0,1,21,1,112,21,0,4,17,25,21,0,1,21,1,91,16,21,1,92,0,24,17,21,1,164,16,14,21,0,1,21,1,149,16,21,1,61,21,0,2,17,21,1,164,16,14,21,0,1,21,1,149,0,23,17,25,21,0,1,21,1,91,16,21,1,92,0,23,17,21,1,164,16,14,21,0,1,21,1,149,16,25,21,0,1,21,1,92,16,21,1,92,0,23,17,21,1,163,16,14,21,0,1,0,18,21,1,15,7,16,21,1,28,21,1,86,7,16,21,1,163,16,14,21,0,1,21,1,112,21,1,10,0,23,8,21,1,94,21,1,112,21,1,10,0,28,8,19,21,1,28,21,1,86,7,9,16,21,1,164,16,14,21,0,1,0,3,16,25,21,0,1,21,1,19,21,1,9,21,0,4,21,1,52,0,18,21,0,4,7,8,8,21,0,2,17,25,21,0,5,14,21,0,1,21,0,4,21,0,2,17,25,21,0,1,21,1,178,16,25,21,0,2,21,1,11,21,0,1,8,0,21,21,0,2,21,0,1,9,8,25,21,1,150,21,1,10,0,23,8,21,0,1,21,1,11,15,203,8,21,1,150,21,1,10,0,22,8,19,25,21,1,4,21,1,8,21,1,61,8,21,1,89,0,22,19,21,1,164,9,21,1,5,21,1,53,21,1,152,21,0,1,7,7,19,25,21,1,4,21,1,8,21,1,61,8,21,1,89,0,22,19,21,1,164,9,21,1,5,0,22,21,1,8,21,1,163,8,0,21,21,1,170,21,1,152,21,0,1,7,7,8,19,25,21,1,4,21,1,8,21,1,92,8,21,1,89,0,22,19,21,1,164,9,21,1,5,21,1,78,21,1,152,21,0,1,7,21,1,4,21,1,10,21,1,13,21,1,8,21,1,164,8,8,9,7,19,25,21,1,53,21,1,152,21,0,1,7,7,25,21,1,4,21,1,8,21,1,92,8,21,1,89,0,22,19,21,1,164,9,21,1,5,21,1,4,21,0,1,21,1,116,19,0,21,21,1,91,21,1,89,0,23,19,21,1,156,21,1,112,21,1,10,0,23,8,21,0,1,21,1,112,21,1,10,0,28,8,19,21,1,138,21,1,149,19,8,8,19,25,21,0,1,21,1,0,16,25,21,1,150,21,1,10,0,23,8,21,0,1,21,1,11,15,204,8,21,1,149,21,1,10,0,22,0,24,3,2,8,19,25,21,0,1,21,1,6,15,205,7,3,2,21,1,151,21,1,92,21,1,10,21,1,6,21,1,171,7,8,8,25,21,1,152,21,0,2,7,22,0,3,11,14,21,0,3,21,1,10,21,0,1,8,0,21,21,0,3,8,21,1,152,21,0,1,7,9,25,21,0,1,21,1,158,21,1,152,21,0,2,7,8,25,21,0,1,21,1,156,21,0,2,8,21,1,166,21,0,1,21,1,96,16,21,1,156,21,0,2,8,8,25,21,0,1,21,1,96,16,21,1,156,21,0,2,8,25,21,1,152,21,0,1,7,0,21,21,1,152,21,0,2,7,8,25,21,1,152,21,0,1,7,21,1,10,21,0,2,8,25,21,0,1,0,21,21,1,165,8,25,21,1,152,21,0,2,7,21,1,152,21,0,1,7,9,0,21,21,0,1,21,1,6,0,22,21,1,8,21,1,163,8,7,15,206,3,2,21,1,151,21,1,4,21,1,8,21,1,174,8,8,21,0,2,17,8,25,21,0,1,22,0,3,22,0,4,22,0,5,4,3,11,14,21,1,174,21,1,97,9,22,0,6,11,14,21,0,5,15,207,15,208,21,1,6,21,1,165,7,3,2,21,1,151,21,1,4,21,1,8,21,0,6,8,8,3,2,21,1,151,21,1,5,21,1,8,21,0,6,8,8,21,0,3,17,25,21,0,1,21,1,0,16,25,21,1,4,21,1,61,21,1,8,21,1,164,8,21,0,1,19,21,1,5,21,1,4,19,25,21,0,1,21,1,178,16,21,1,4,15,209,3,2,21,1,151,0,22,21,1,4,21,1,8,21,1,0,8,21,1,149,0,22,0,33,3,2,19,21,1,62,0,29,21,1,171,3,2,19,3,2,21,1,151,21,1,62,21,1,10,21,1,6,21,1,165,7,8,21,1,86,21,1,62,19,8,8,21,0,1,17,25,21,0,1,21,1,53,21,1,91,7,16,21,1,91,21,1,138,21,1,115,19,16,21,1,29,21,0,1,21,1,138,16,8,25,21,0,1,25,21,0,1,25,21,0,1,14,21,1,7,21,2,162,16,25,0,23,0,7,21,1,6,17,22,1,6,12,14,21,0,1,0,16,21,1,6,17,25,21,1,8,21,1,7,21,1,5,0,16,21,0,1,17,17,22,1,8,12,25,21,0,1,21,2,1,16,25,21,0,2,0,14,16,22,0,5,11,14,21,0,2,0,12,16,0,17,16,21,2,28,0,8,21,2,10,21,0,1,0,14,16,21,2,11,0,16,8,0,12,21,0,5,21,2,11,0,16,8,19,8,7,0,23,17,0,5,0,82,17,14,21,0,5,21,2,28,0,8,7,0,23,17,0,17,16,0,18,21,0,1,0,15,16,21,2,11,0,16,8,21,0,4,21,0,2,0,15,16,21,2,11,0,16,8,19,7,16,0,15,21,0,5,17,25,21,0,2,0,14,16,22,0,5,11,14,21,0,2,0,12,16,22,0,6,11,14,21,0,1,0,14,16,22,0,7,11,14,21,0,6,0,17,16,21,2,28,0,8,21,2,10,21,0,7,21,2,11,0,16,8,0,12,21,0,5,21,2,11,0,16,8,19,8,7,0,23,17,0,5,0,83,17,14,21,0,6,0,7,21,0,1,0,12,16,17,0,17,16,21,2,28,0,8,21,2,10,0,6,21,2,10,21,0,6,8,21,2,7,0,16,7,21,0,7,19,8,7,0,23,17,22,0,8,11,14,21,0,2,0,15,16,22,0,9,11,14,21,0,1,0,15,16,22,0,10,11,14,21,0,8,0,17,21,2,9,0,18,21,2,6,21,0,10,7,0,16,0,6,21,2,10,0,8,21,2,10,21,0,8,8,8,19,21,0,4,21,0,9,21,2,11,0,16,8,19,7,8,21,0,9,21,2,26,16,17,0,15,16,0,15,21,0,7,17,25,21,0,1,21,2,35,21,0,4,7,21,0,2,17,25,21,0,1,0,18,15,210,21,0,2,7,7,16,25,21,0,2,0,18,15,211,21,0,1,7,7,16,25,21,1,6,0,8,0,24,17,0,13,21,0,1,21,2,28,21,2,23,7,16,22,1,10,12,0,7,21,0,1,21,2,28,21,2,24,7,16,22,1,9,12,17,17,25,21,0,1,14,21,2,7,0,22,7,21,2,22,0,22,21,2,125,21,1,8,21,2,11,0,16,8,21,2,9,21,0,4,8,7,21,1,7,17,19,22,0,5,11,14,21,2,4,21,1,6,3,2,21,2,3,0,13,21,2,10,21,1,6,8,8,22,0,6,11,14,0,22,0,12,21,1,6,17,0,6,21,1,6,17,0,2,0,24,17,21,2,24,16,22,0,7,11,0,17,16,0,18,21,2,4,0,6,0,23,19,0,7,21,0,7,19,0,10,0,24,19,7,16,21,2,28,15,212,7,21,1,6,0,17,16,17,25,21,0,1,0,18,21,2,15,7,16,21,2,28,0,8,7,0,23,17,0,5,0,86,17,14,0,23,0,7,21,1,3,17,22,0,3,11,14,21,2,4,0,7,21,0,3,19,21,2,7,0,16,7,21,1,3,0,17,16,0,18,0,7,21,2,10,21,0,3,8,7,16,0,19,21,2,4,21,2,7,0,16,7,21,0,1,19,0,12,0,22,19,0,8,0,7,19,0,6,21,2,4,19,7,16,19,22,0,4,11,14,21,0,1,0,19,0,6,7,16,21,2,11,0,16,8,22,0,5,11,14,0,22,21,0,4,16,22,0,6,11,21,0,5,16,22,0,7,11,14,21,0,3,21,0,5,16,0,17,16,0,18,15,213,7,16,25,21,0,1,0,7,21,1,3,17,0,17,16,0,18,0,6,21,2,10,21,0,1,8,7,16,25,21,0,1,0,1,21,0,2,19,25,21,0,2,0,20,21,0,1,21,2,98,21,0,2,17,8,25,21,2,4,21,2,13,9,0,12,21,2,9,0,12,8,0,14,21,2,9,21,2,53,0,12,7,8,21,2,28,0,8,7,0,23,19,3,3,21,2,28,15,214,7,16,22,0,3,11,14,15,215,22,0,4,11,14,21,2,17,21,0,4,15,216,3,2,21,2,3,21,2,4,21,2,8,21,2,28,21,0,3,7,8,8,3,2,21,2,3,21,2,4,0,16,0,22,19,21,2,13,9,8,22,0,5,11,14,0,22,22,0,6,11,14,21,0,1,15,217,16,14,21,0,1,21,0,2,3,2,21,0,5,0,22,17,22,0,7,11,14,21,0,6,0,17,16,0,18,15,218,7,16,22,0,8,11,14,21,0,8,21,0,4,0,12,21,0,7,17,21,2,12,21,2,6,21,2,54,7,8,16,25,15,219,21,2,10,21,0,2,8,22,0,3,11,14,15,220,22,0,4,11,14,15,221,21,2,10,0,22,8,22,0,5,11,14,21,0,1,21,2,6,21,0,2,7,0,16,0,22,19,0,16,0,23,19,21,0,5,3,2,21,2,3,21,1,7,21,2,8,21,2,13,8,8,16,25,21,1,6,21,0,1,16,25,21,0,4,22,0,6,11,14,21,0,1,22,0,7,22,0,8,22,0,9,4,3,11,14,21,0,5,21,2,13,21,2,22,21,0,8,19,21,2,12,15,222,21,2,8,21,1,6,8,8,16,21,0,7,21,0,2,17,22,0,10,11,14,21,0,10,21,0,9,21,2,12,15,223,8,16,25,21,0,1,15,224,21,0,1,21,0,2,21,0,4,3,3,7,3,2,21,2,3,21,2,4,21,1,8,9,8,25,21,1,5,0,21,21,0,1,8,25,21,0,1,0,21,21,1,5,8,25,21,1,5,21,0,1,3,2,21,2,3,21,0,4,0,7,0,23,19,21,2,9,0,8,0,21,21,2,4,8,8,8,25,21,0,1,22,0,3,11,14,15,225,25,21,0,1,22,0,3,11,14,15,226,25,21,0,2,21,0,1,16,25,21,0,1,21,2,53,21,1,18,7,16,25,21,0,1,21,0,2,16,25,21,0,1,0,12,21,2,10,21,1,4,8,0,7,0,23,19,21,2,12,15,227,8,16,14,21,1,5,0,16,0,23,0,6,21,1,3,17,22,1,3,12,17,25,21,0,2,22,0,5,11,14,21,0,4,22,0,6,11,14,21,0,1,0,18,15,228,7,16,25,21,0,2,22,0,3,11,14,21,1,9,0,16,21,0,1,17,22,0,4,11,14,21,1,5,0,18,0,16,21,2,10,21,0,1,8,7,16,22,0,5,11,14,21,0,4,0,17,16,0,18,21,2,6,21,0,5,7,0,16,0,8,21,2,10,21,0,3,8,19,7,16,22,0,6,11,14,21,0,3,0,17,16,0,18,21,2,5,7,21,0,6,17,0,18,21,2,4,7,21,1,10,0,17,16,17,0,15,16,21,2,53,0,12,7,21,0,5,17,21,2,28,0,8,7,0,23,17,0,5,0,100,17,14,21,0,6,21,2,40,16,22,0,7,11,14,21,0,7,21,2,26,16,0,17,16,0,18,21,0,6,21,1,8,0,6,7,0,22,17,21,2,33,21,0,7,17,21,2,11,0,16,8,21,2,11,0,7,8,7,16,22,0,8,11,14,21,0,8,0,18,21,2,4,7,21,1,12,17,21,2,53,0,6,7,21,0,7,0,18,21,0,6,21,2,11,0,16,8,21,2,11,0,8,8,7,21,1,12,17,17,22,1,12,12,14,21,0,7,0,18,0,6,21,2,10,21,0,4,21,2,11,0,8,8,8,7,21,1,11,17,22,1,11,12,14,21,0,4,0,8,22,1,10,13,25,21,0,4,0,16,21,0,1,17,0,16,21,0,2,17,25,21,2,33,21,2,10,21,1,7,0,7,21,1,6,17,0,17,16,0,18,0,6,21,2,10,21,1,7,8,7,16,8,22,0,3,11,14,21,1,5,0,16,0,22,17,21,0,3,16,22,0,4,11,14,21,1,5,0,18,21,0,3,21,2,53,0,12,7,21,0,4,19,21,2,28,0,8,7,9,7,16,21,2,28,0,8,7,0,23,17,0,5,0,101,17,14,21,0,4,21,2,28,0,8,7,16,22,0,5,11,0,17,16,0,15,21,0,4,17,22,0,6,11,14,21,0,6,0,18,21,2,5,7,21,0,1,17,21,1,13,21,0,6,0,18,0,6,21,2,10,0,8,21,2,10,21,0,5,8,8,7,21,0,2,17,17,25,21,0,2,0,12,16,21,2,20,0,23,17,0,5,21,1,6,17,14,21,0,2,21,2,16,16,22,0,2,12,14,21,0,2,0,18,21,2,14,7,16,21,2,28,0,8,7,0,23,17,0,5,21,1,7,17,14,21,0,2,21,2,26,16,22,0,3,11,14,21,0,1,21,2,62,16,21,2,26,21,2,11,21,2,22,8,21,2,12,15,229,8,21,0,3,17,22,0,4,11,14,15,230,22,0,5,11,14,0,22,21,2,21,16,22,0,6,11,14,0,23,22,0,7,11,14,15,231,22,0,8,11,14,0,22,22,0,9,11,14,21,0,3,0,17,16,0,18,21,0,2,21,2,11,0,16,8,15,232,21,1,4,15,233,7,21,0,8,21,2,5,19,3,2,21,2,3,21,1,3,8,21,0,4,21,2,11,0,16,8,19,7,16,22,0,10,11,14,21,0,1,21,2,19,16,21,2,4,0,20,0,15,21,2,10,21,0,4,8,15,234,3,2,21,2,3,21,0,6,0,12,16,21,2,21,0,22,17,8,8,16,25,21,0,1,0,12,16,0,13,21,1,3,17,0,5,0,115,17,14,21,0,2,0,18,21,2,15,7,16,21,2,28,0,8,7,16,0,5,0,116,17,14,21,0,1,21,2,62,16,22,0,3,11,14,21,1,3,0,17,16,0,18,21,0,2,21,2,11,0,16,8,0,7,21,0,3,21,2,11,0,16,8,19,0,6,0,23,19,7,16,22,0,4,11,14,21,0,4,0,18,0,13,21,2,10,0,22,8,7,16,21,2,28,0,8,7,16,0,5,0,117,17,14,21,0,3,21,2,33,21,1,3,0,7,21,2,10,21,2,26,8,21,0,3,17,0,17,16,0,18,0,6,21,2,10,21,1,3,8,7,16,17,22,0,5,11,21,2,28,0,8,7,0,23,17,22,0,6,11,14,0,23,0,7,21,1,3,17,15,235,16,21,2,31,21,0,6,3,1,17,0,19,0,8,7,16,21,2,43,16,22,0,7,11,14,21,0,2,21,2,4,21,2,53,15,236,7,21,0,7,19,21,2,28,0,18,0,6,7,7,9,21,2,9,0,18,0,6,7,8,21,0,4,17,0,23,21,2,11,0,12,8,0,7,0,23,19,21,2,12,21,2,7,0,17,0,15,21,0,5,19,21,2,11,0,18,0,6,7,8,7,8,21,0,6,17,0,18,21,0,1,0,15,16,21,2,11,0,16,8,7,16,25,21,0,1,0,12,16,0,13,0,23,17,0,5,0,118,17,14,21,0,1,21,1,3,21,0,2,17,25,21,0,2,0,12,16,21,2,20,0,23,17,0,5,0,119,17,14,21,0,1,21,2,62,16,21,2,26,21,2,9,0,13,8,21,0,2,17,0,5,0,120,17,14,21,0,2,21,2,26,16,22,0,3,11,14,21,0,2,0,15,16,21,2,11,0,16,8,22,0,4,11,14,21,0,1,21,0,3,21,2,21,0,22,17,21,2,12,15,237,8,0,22,17,25,21,0,1,21,2,53,21,2,4,0,23,3,2,21,2,3,21,2,5,8,7,21,1,4,17,21,2,28,21,2,88,7,16,22,0,3,11,14,21,0,3,21,2,89,0,22,17,0,5,0,125,17,14,21,1,4,21,2,91,16,0,17,16,21,2,88,21,1,4,17,21,2,28,21,2,95,7,16,22,0,4,11,14,21,1,3,0,16,21,0,4,17,21,2,154,16,22,0,5,11,14,0,31,21,2,89,21,0,5,17,0,5,0,126,17,14,21,2,92,21,2,10,21,2,84,8,0,5,0,127,19,21,2,5,21,2,4,19,22,0,6,11,14,21,0,3,21,2,80,21,1,7,17,21,0,6,21,2,84,21,2,85,3,3,21,2,3,21,0,5,21,2,84,0,24,17,8,16,22,0,7,11,14,21,1,3,21,2,53,21,2,4,21,0,7,3,2,21,2,3,21,2,5,8,7,21,1,4,17,22,1,3,12,14,21,0,7,21,2,88,21,0,3,17,21,0,5,21,2,92,0,26,17,21,2,12,21,2,89,21,2,10,21,1,7,8,21,2,12,15,238,8,8,16,25,21,1,8,0,17,16,0,18,21,2,5,7,21,2,10,0,1,21,2,8,21,2,89,8,8,15,239,3,2,21,2,3,21,1,7,21,2,89,0,22,17,8,21,0,1,17,25,21,0,1,21,2,15,16,0,5,0,128,17,14,21,0,1,0,17,16,25,21,0,1,21,2,92,16,21,2,92,0,23,17,0,5,0,129,17,14,21,0,1,0,18,21,1,3,7,16,21,2,28,0,18,21,2,31,21,2,10,21,2,100,8,7,7,3,0,21,2,89,16,17,0,1,21,0,1,0,18,0,22,7,16,17,25,21,1,9,21,1,7,21,2,95,21,0,4,17,7,22,0,5,11,14,21,0,1,21,2,53,21,0,5,7,21,2,5,21,2,8,0,18,21,0,1,21,2,11,21,0,5,8,7,8,21,2,4,21,2,8,0,18,21,2,4,21,0,5,21,0,2,19,7,8,21,1,8,3,4,21,2,3,21,2,61,21,2,9,21,2,17,8,21,2,93,21,0,4,21,2,85,0,22,17,19,21,2,87,0,22,21,2,93,21,0,4,17,21,2,86,21,1,7,17,19,21,2,99,0,24,19,21,2,28,21,2,95,21,2,10,0,24,21,2,11,21,2,88,8,8,7,9,8,21,0,2,17,25,21,0,1,21,2,62,16,21,2,33,21,0,2,0,17,16,17,22,0,3,11,14,21,0,1,21,2,30,21,0,2,17,22,0,4,11,21,2,28,21,2,88,7,16,22,0,5,11,14,21,0,5,0,17,16,21,2,100,21,0,4,17,22,0,6,11,14,21,0,1,15,240,0,20,21,2,6,21,0,3,21,2,28,21,2,88,7,16,0,17,16,0,18,21,2,4,21,2,88,21,0,5,19,21,2,95,21,0,6,19,21,2,7,21,2,33,7,21,0,1,21,2,100,16,19,7,16,21,2,100,21,0,3,17,7,8,16,25,21,0,1,21,2,62,16,21,2,72,0,23,17,22,0,3,11,14,15,241,22,0,4,11,14,21,1,5,21,2,6,21,0,1,7,21,2,100,21,0,4,19,21,2,162,21,2,11,21,2,99,8,3,2,21,2,3,21,2,91,21,2,10,21,2,6,21,2,155,7,8,8,21,0,3,17,25,21,0,1,21,2,78,21,2,89,7,16,21,2,28,21,1,5,7,21,0,2,17,25,21,0,2,21,2,92,21,1,4,17,25,21,1,3,21,2,95,22,1,4,13,14,21,0,1,21,2,95,0,23,17,25,21,2,4,21,1,5,21,0,1,0,16,21,0,2,17,19,22,1,5,12,14,21,0,1,21,2,111,21,0,2,17,25,21,0,1,14,21,1,7,0,16,21,1,8,17,21,2,4,0,23,21,2,95,21,1,8,17,22,1,8,12,17,25,21,0,1,21,2,100,16,21,1,3,16,0,18,21,0,1,21,2,62,16,21,2,113,16,21,2,100,16,21,2,11,21,2,33,8,7,16,25,21,0,1,21,2,91,21,2,9,21,2,96,8,21,0,2,17,21,2,88,16,22,0,3,11,14,21,0,1,21,2,91,21,2,9,21,2,84,8,21,0,2,17,22,0,4,11,14,21,0,1,15,242,21,2,10,21,2,91,21,2,95,21,0,4,21,2,113,16,21,2,95,0,23,17,21,2,96,16,19,8,21,2,9,15,243,8,21,0,2,17,22,0,5,11,14,21,0,5,21,0,3,3,2,25,21,0,2,22,0,3,11,14,21,0,1,22,0,4,11,14,15,244,21,1,7,3,2,21,2,3,21,2,92,21,2,10,21,1,6,8,8,22,0,5,11,14,0,22,21,0,5,16,25,15,245,22,0,3,11,14,0,28,21,0,3,0,23,21,2,95,21,0,1,17,17,21,2,95,0,23,17,25,21,0,2,21,2,126,21,0,1,21,2,11,21,1,13,8,7,16,25,21,0,2,21,2,92,16,21,2,7,21,2,96,7,0,23,17,22,0,3,11,14,21,0,3,21,2,94,0,22,17,0,5,0,152,17,14,21,0,1,21,2,92,16,21,2,94,21,0,3,17,0,5,0,153,17,14,21,0,1,21,2,19,16,21,2,4,21,2,8,21,0,3,21,2,129,0,22,8,8,21,2,4,21,0,3,21,2,129,21,2,89,8,3,2,21,2,3,21,0,3,21,2,89,0,22,17,8,21,2,9,0,18,21,2,62,7,8,21,1,3,9,3,2,21,2,3,21,0,2,21,2,91,16,21,2,89,0,22,17,8,15,246,3,2,21,2,3,21,2,100,21,2,8,21,2,91,8,21,2,89,0,27,19,21,2,9,21,2,86,8,8,21,0,2,17,25,21,0,1,25,21,0,1,21,2,14,16,0,5,0,162,17,14,21,0,1,21,2,84,21,1,8,17,22,1,8,12,14,21,0,1,21,2,85,21,1,7,17,22,1,7,12,25,15,247,21,2,6,21,0,2,7,7,25,21,2,5,21,0,1,9,25,21,0,1,21,2,113,16,21,2,138,21,1,10,17,0,19,21,0,2,7,16,25,21,0,2,21,0,1,16,25,21,0,2,21,2,28,21,0,1,7,16,25,21,0,2,21,2,171,21,0,1,8,25,21,2,4,21,2,152,21,2,7,21,0,2,7,7,21,0,1,19,25,21,2,4,21,2,152,21,1,4,7,21,0,2,19,15,248,21,2,152,21,0,1,7,8,25,21,2,4,21,2,152,21,2,7,21,1,4,7,7,21,0,1,19,21,2,152,21,0,2,7,9,25,21,0,1,21,2,166,21,0,2,8,21,2,171,21,0,1,8,25,21,0,1,21,2,2,21,0,4,17,25,21,0,4,21,2,2,21,0,1,17,25,21,0,2,22,0,3,11,0,7,16,22,0,4,11,14,0,22,22,0,5,11,22,0,6,11,22,0,7,11,14,0,26,22,0,8,11,14,21,0,1,0,23,0,12,21,2,7,17,0,7,0,23,17,21,3,12,0,18,0,8,21,3,10,21,2,7,8,7,8,16,21,3,11,0,16,8,21,3,9,21,1,5,8,22,0,9,11,14,21,0,9,0,22,0,23,0,24,3,4,22,0,10,11,14,0,6,15,249,3,2,0,16,21,0,3,0,13,0,27,17,17,22,0,11,11,14,15,250,22,0,12,11,14,15,251,15,252,21,0,12,3,3,21,3,3,15,253,8,22,0,13,11,14,21,0,1,0,18,21,0,1,21,3,11,15,254,8,7,16,25,21,1,6,21,1,7,0,12,21,0,1,17,21,3,12,15,255,8,16,25,0,22,21,0,1,3,2,21,3,3,21,0,2,8,25,21,0,0,0,22,3,2,25,21,0,2,22,0,3,11,14,21,0,1,21,3,53,0,15,7,16,22,0,4,11,0,16,0,22,17,21,3,26,16,22,0,5,11,14,0,28,22,0,6,11,14,21,0,4,21,3,11,21,3,53,0,16,7,8,21,3,11,21,1,5,8,22,0,7,11,14,15,256,25,21,0,1,15,257,0,18,21,0,0,7,3,2,21,3,3,21,3,13,8,16,25,21,0,1,21,1,7,16,22,0,3,22,0,4,4,2,11,14,21,0,3,22,1,7,12,14,21,0,4,25,21,0,1,21,3,13,0,7,0,23,19,21,3,12,21,3,21,8,16,22,0,1,12,14,21,0,1,0,14,16,22,0,3,11,21,3,28,0,8,7,0,23,17,22,0,4,11,14,21,0,2,0,18,0,16,21,3,10,0,22,8,7,16,22,0,5,11,14,21,0,5,0,22,21,3,39,21,3,36,8,16,22,0,6,11,14,21,0,6,0,18,21,0,2,21,3,11,0,16,8,0,16,0,23,19,7,16,22,0,7,11,14,21,3,6,21,0,5,7,0,16,21,0,6,21,3,11,0,16,8,19,21,0,4,3,2,21,3,3,0,13,21,3,10,21,0,6,21,3,26,16,8,8,22,0,8,11,14,0,22,22,0,9,11,21,0,8,16,22,0,10,11,14,21,0,4,0,17,16,0,18,21,0,1,0,15,16,21,3,11,0,16,8,15,258,3,2,21,3,3,15,259,8,7,16,0,15,21,0,3,17,25,21,0,1,21,3,53,21,3,5,0,12,21,0,1,21,0,5,16,19,21,3,12,21,0,4,8,7,21,0,1,21,3,26,16,0,17,16,17,25,21,0,1,0,15,21,3,8,21,3,6,21,2,7,7,0,16,21,0,2,19,21,1,4,21,0,0,21,3,10,21,0,2,0,6,0,23,17,8,8,8,0,15,0,14,19,21,1,3,3,2,21,3,3,21,2,7,21,3,26,16,21,3,20,21,0,2,17,8,16,25,21,0,1,3,1,3,0,21,3,31,3,2,21,3,3,21,3,5,21,3,13,9,8,21,1,6,17,22,1,6,12,25,21,0,1,21,2,7,21,1,6,8,25,21,0,4,21,0,1,21,0,2,17,25,0,22,21,3,6,21,1,3,21,0,1,7,7,16,21,2,16,16,25,0,22,21,3,6,21,0,2,21,1,3,21,0,1,8,7,16,21,2,16,16,25,21,0,1,22,2,4,12,21,3,7,0,16,7,21,2,6,17,22,2,5,12,14,0,28,22,2,3,12,25,21,1,5,22,0,3,11,14,21,0,1,21,1,6,22,1,5,13,14,21,0,3,25,21,0,1,21,3,31,21,0,1,21,3,26,16,0,7,21,0,2,17,0,17,21,3,8,0,18,0,23,7,8,16,17,25,21,0,1,0,18,0,6,7,21,0,2,0,18,21,0,4,21,3,11,0,8,8,7,16,17,25,21,0,1,0,23,21,3,11,0,12,8,0,7,0,23,19,21,3,12,21,1,5,21,0,2,7,21,3,10,0,17,8,8,21,1,7,17,21,1,5,21,0,2,0,8,21,1,7,17,7,22,1,6,13,14,0,23,22,1,7,12,14,21,0,1,21,3,26,16,25,21,0,2,0,8,22,1,7,13,14,21,0,2,25,21,0,1,14,0,23,22,1,9,12,25,21,1,3,0,7,21,1,4,21,3,26,16,17,0,17,16,0,18,0,6,21,3,10,21,1,3,8,21,3,7,0,16,7,21,1,4,19,7,16,22,0,3,11,21,3,31,22,1,10,13,14,21,0,3,21,3,28,0,8,7,21,1,7,17,0,12,21,3,10,0,23,8,0,7,0,23,19,21,3,12,15,260,8,16,14,21,0,1,0,15,16,21,3,11,0,16,8,22,0,4,11,14,21,1,9,21,3,4,21,3,12,15,261,8,21,0,1,17,14,21,1,6,0,15,21,1,10,17,0,18,21,0,4,7,16,25,21,0,1,0,17,16,0,18,0,7,21,3,10,21,0,1,8,21,3,7,0,16,7,21,1,3,19,7,16,25,21,0,1,0,17,16,0,18,0,8,21,3,10,21,0,2,8,7,16,25,21,0,1,0,23,0,7,21,1,3,17,21,3,21,21,0,2,17,21,3,12,21,3,78,21,0,0,21,3,10,21,0,2,0,6,0,23,17,8,7,8,16,21,2,3,21,0,2,21,1,4,16,17,25,21,2,7,21,3,96,21,0,1,17,0,17,16,0,18,21,2,6,0,1,16,7,16,21,3,31,22,2,6,13,14,21,2,7,25,21,0,1,21,3,83,21,2,7,17,0,18,21,2,6,21,3,11,0,16,8,7,16,25,21,1,6,0,18,21,0,1,21,3,89,16,7,16,25,21,0,2,21,3,91,16,21,3,89,0,22,17,0,5,0,134,17,14,21,0,2,21,3,91,16,0,17,16,21,3,89,0,22,17,21,3,88,21,0,2,17,25,21,0,2,0,18,21,0,1,21,3,11,0,16,8,7,16,25,21,0,1,21,3,92,21,0,2,17,0,19,21,3,86,7,16,21,3,28,21,3,95,7,16,22,0,3,11,14,21,0,3,21,3,113,16,0,18,21,0,2,21,3,11,0,16,8,7,16,21,3,28,21,3,88,7,16,22,0,4,11,14,21,0,3,21,3,90,21,3,10,21,1,4,8,21,3,12,21,0,2,21,0,1,3,2,21,3,11,21,3,53,0,16,7,8,21,3,8,15,262,8,8,16,14,21,0,4,25,21,1,4,21,3,95,21,3,10,21,0,1,8,21,3,9,21,2,5,8,21,1,3,17,21,3,92,21,3,10,0,22,8,21,3,12,21,0,1,21,3,95,0,23,17,21,3,8,21,1,5,8,8,16,25,21,0,1,0,23,21,3,11,21,3,90,8,21,3,12,15,263,8,21,0,2,17,25,21,0,2,21,3,131,16,21,3,114,16,22,0,3,11,14,21,0,1,21,3,130,21,0,2,21,3,33,21,0,3,17,17,21,3,7,21,3,96,7,0,23,17,21,3,85,0,22,17,21,3,7,21,3,33,7,21,0,3,17,22,0,4,11,14,21,0,1,21,1,3,21,3,129,21,3,61,8,21,0,2,21,3,33,21,0,4,17,17,21,2,2,21,3,12,21,3,88,21,3,10,21,3,96,21,3,10,21,0,4,8,8,21,3,95,21,3,5,19,8,21,0,2,21,3,91,16,17,25,21,3,5,21,0,1,21,0,4,19,25,21,0,1,21,0,5,16,21,0,4,21,0,2,17,25,21,0,1,21,1,8,0,7,0,23,17,21,4,12,21,1,9,0,7,0,23,19,21,4,12,15,264,8,8,0,23,0,7,21,0,1,17,17,25,21,0,2,0,6,21,1,3,17,22,1,4,12,14,21,0,1,0,6,21,1,3,17,22,1,7,12,21,2,6,16,22,1,6,12,0,6,21,1,3,17,21,2,6,16,22,1,5,12,14,21,1,7,0,13,21,3,6,17,22,1,8,12,14,21,1,6,21,1,11,16,14,21,1,7,21,1,13,21,1,4,17,25,21,0,2,0,6,0,23,17,22,1,4,12,0,12,21,1,6,17,0,8,0,24,17,0,6,22,1,8,13,14,21,0,2,25,21,0,1,0,6,0,23,17,22,1,7,12,0,12,21,1,5,17,0,6,22,1,8,13,14,21,0,1,25,21,0,1,21,1,10,21,4,3,21,1,8,8,21,0,2,17,25,21,0,1,0,16,21,1,7,21,1,13,21,1,4,17,17,25,0,23,0,6,21,0,1,17,21,2,4,16,22,2,6,12,21,2,5,16,22,2,7,12,14,21,2,6,25,0,23,0,6,22,1,6,13,14,21,1,6,21,1,7,21,4,10,21,4,6,21,0,0,7,8,21,4,6,21,1,3,7,3,2,21,4,3,0,13,21,4,10,21,1,5,8,8,16,22,0,3,11,14,0,22,21,0,3,16,25,21,0,1,14,0,23,0,6,22,2,6,13,25,21,0,1,14,21,1,7,0,16,21,1,9,17,22,0,3,11,14,0,22,15,265,16,22,1,10,12,14,21,0,3,25,21,0,1,0,12,21,1,10,17,25,21,0,1,0,17,16,21,2,5,21,0,1,7,22,2,6,13,25,21,4,6,21,0,2,0,1,16,7,21,1,4,3,2,21,4,3,0,13,21,4,10,0,22,8,8,22,1,4,12,25,21,0,1,21,4,28,21,4,96,7,16,21,4,88,16,22,2,3,12,14,21,0,1,21,4,28,21,4,84,7,16,21,4,88,21,1,4,17,22,1,4,12,25,0,24,21,4,80,21,0,2,17,21,4,84,16,22,0,3,11,21,4,95,21,0,1,17,22,0,4,11,21,3,2,16,22,0,5,11,14,21,0,1,21,0,4,3,2,0,16,21,0,5,17,21,2,3,21,0,2,21,4,83,0,24,17,21,4,88,21,0,5,17,21,4,95,21,0,3,17,17,25,21,0,1,14,0,24,22,2,8,12,14,21,2,4,22,2,7,12,14,21,0,1,22,2,4,12,25,21,2,9,0,6,0,23,17,22,2,9,12,21,2,8,16,21,5,4,0,12,21,2,10,19,21,5,12,15,266,21,5,8,21,0,0,8,8,16,25,21,0,1,14,21,3,7,0,16,21,3,9,17,21,6,59,21,2,3,17,0,5,0,96,17,25] + ,provide.concat([0,1,2,32,3,8,-1,5,-Infinity,4,Infinity,-2,'+','-','×','÷','⋆','¬','⌊','⌈','∨','∧','≠','=','>','≥','√','<','⊢','⊣','∾','≍','↑','↓','↕','⌽','⍉','/','⊔','˜','¨','⌜','˘','`','∘','○','⌾','⍟','⊘','⊸','⟜','◶','≢','»','«','⥊','⊏','⊑',str("´: 𝕩 must be a list"),str("+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!˙˜˘¨⌜⁼´˝`∘○⊸⟜⌾⊘◶⎉⚇⍟%"),str("Mapping: Equal-rank argument shapes don\'t agree"),str("Mapping: Argument shape prefixes don\'t agree"),str("⍋𝕩: 𝕩 must have rank at least 1"),str("/: Replication argument must have rank 1"),str("/: Amounts to replicate must be natural numbers"),str("⌽𝕩: 𝕩 must have rank at least 1"),str("𝕨⌽𝕩: 𝕨 must consist of integers"),str("↑𝕩: 𝕩 must have rank at least 1"),str("↓𝕩: 𝕩 must have rank at least 1"),str("⊏𝕩: 𝕩 must have rank at least 1"),str("⊏𝕩: 𝕩 cannot have length 0"),str("𝕨⊏𝕩: 𝕨 must be an array"),str("𝕨⊏𝕩: Indices in 𝕨 must be integers"),str("𝕨⊏𝕩: Indices out of range"),str("⌾: Incompatible result elements in structural Under"),str(">𝕩: Elements of 𝕩 must have matching shapes"),str("∾𝕩: Elements of 𝕩 must all have the same rank"),str("∾𝕩: 𝕩 element rank must be at least argument rank"),str("∾𝕩: 𝕩 element shapes must be compatible"),str("∾𝕩: 𝕩 element trailing shapes must match"),str("∾𝕩: empty 𝕩 fill rank must be at least argument rank"),str("∾𝕩: 𝕩 must be an array"),str("𝕨"),str("𝕩: 𝕨 must "),str("have rank at most 1"),str("consist of integers"),str("↑"),str("↓"),str("« or »: 𝕩 must have rank at least 1"),str("« or »: 𝕨 must not have higher rank than 𝕩"),str("« or »: Rank of 𝕨 must be at least rank of 𝕩 minus 1"),str("« or »: 𝕨 must share 𝕩\'s major cell shape"),str("𝕨↕𝕩: 𝕨 must have rank at most 1"),str("𝕨↕𝕩: Length of 𝕨 must be at most rank of 𝕩"),str("𝕨↕𝕩: 𝕨 must consist of natural numbers"),str("𝕨↕𝕩: Window length 𝕨 must be at most axis length plus one"),str("First-axis primitive: 𝕩 must have rank at least 1"),str("Multi-axis primitive: 𝕨 must have rank at most 1"),str("Multi-axis primitive: Length of 𝕨 must be at most rank of 𝕩"),str("≥: No monadic form"),str("≤: No monadic form"),str("𝕨⥊𝕩: 𝕨 must have rank at most 1"),str("𝕨⥊𝕩: 𝕨 must consist of natural numbers"),str("𝕨⥊𝕩: Can\'t compute axis length when rest of shape is empty"),str("𝕨⥊𝕩: 𝕨 must consist of natural numbers or ∘ ⌊ ⌽ ↑"),str("𝕨⥊𝕩: Shape must be exact when reshaping with ∘"),str("↕𝕩: 𝕩 must consist of natural numbers"),str("↕𝕩: 𝕩 must be a number or list"),str("⎉ or ⚇: 𝔽 result must have rank at most 1"),str("⎉ or ⚇: 𝔽 result must have 1 to 3 elements"),str("⎉ or ⚇: 𝔽 result must consist of integers"),str("˝: 𝕩 must have rank at least 1"),str("˝: Identity does not exist"),str("𝕨∾𝕩: Rank of 𝕨 and 𝕩 must differ by at most 1"),str("𝕨∾𝕩: Cell shapes of 𝕨 and 𝕩 must match"),str("𝕨/𝕩: Lengths of components of 𝕨 must match 𝕩"),str("⊔: Grouping argument must consist of integers"),str("⊔: Grouping argument values cannot be less than ¯1"),str("⊔𝕩: 𝕩 must be a list"),str("𝕨⊔𝕩: 𝕩 must be an array"),str("𝕨⊔𝕩: Compound 𝕨 must be a list"),str("𝕨⊔𝕩: Total rank of 𝕨 must be at most rank of 𝕩"),str("𝕨⊔𝕩: Lengths of 𝕨 must equal to 𝕩, or one more only in a rank-1 component"),str("𝕨⊑𝕩: Indices in compound 𝕨 must be lists"),str("𝕨⊑𝕩: Index length in 𝕨 must match rank of 𝕩"),str("𝕨⊑𝕩: Indices in 𝕨 must consist of integers"),str("𝕨⊑𝕩: Index out of range"),str("⍋ or ⍒: Rank of 𝕨 must be at least 1"),str("⍋ or ⍒: Rank of 𝕩 must be at least cell rank of 𝕨"),str("⍋ or ⍒: 𝕨 must be sorted"),str("p⊐𝕩 or 𝕨∊p: p must have rank at least 1"),str("p⊐n or n∊p: Rank of n must be at least cell rank of p"),str("∊𝕩 or ⊐𝕩: 𝕩 must have rank at least 1"),str("⍷𝕩: Rank of 𝕨 cannot exceed rank of 𝕩"),str("𝕨⍉𝕩: 𝕨 must have rank at most 1"),str("𝕨⍉𝕩: Length of 𝕨 must not exceed rank of 𝕩"),str("𝕨⍉𝕩: 𝕨 must consist of natural numbers"),str("𝕨⍉𝕩: Skipped result axis"),str("⊒: Rank of 𝕨 must be at least 1"),str("⊒: Rank of 𝕩 must be at least cell rank of 𝕨"),str("⍟: Repetition numbers in 𝕨 must be integers"),str("´: Identity not found"),str("⁼: Inverse failed"),str("⁼: Inverse does not exist"),str("⁼: Inverse not found"),str("Cannot currently invert blocks"),str("Cannot invert modifier")]) + ,[[0,1,0,181],[0,0,4059,3],[0,0,4067,3],[0,0,4077,3],[2,0,4090,6],[0,0,4117,3],[0,0,4121,3],[0,0,4125,3],[1,0,4129,5],[1,0,4137,5],[2,0,4155,6],[2,0,4170,6],[2,0,4189,6],[2,0,4211,6],[2,0,4233,6],[0,0,4265,3],[0,0,4277,3],[0,0,4286,3],[0,0,4292,3],[0,0,4309,3],[0,0,4318,3],[1,0,4327,9],[2,1,4440,4],[0,0,4504,3],[0,0,4544,4],[0,0,4620,5],[0,0,4695,3],[1,1,4712,4],[1,1,4785,3],[0,0,4863,3],[0,0,4874,5],[2,0,4958,12],[0,0,5169,4],[0,0,5223,6],[0,0,5313,3],[0,0,5338,7],[0,0,5467,4],[0,0,5528,4],[0,0,5630,3],[0,0,5698,4],[1,1,5775,2],[0,0,5808,3],[0,0,5858,4],[0,0,6000,4],[2,1,6101,3],[1,0,6144,5],[0,0,6182,3],[2,0,6186,11],[0,0,6317,3],[0,0,6325,6],[0,0,6352,5],[0,0,6373,6],[1,0,6400,19],[0,0,6909,3],[0,0,6936,3],[0,0,6962,3],[2,1,7001,3],[0,0,7070,4],[0,0,7167,7],[0,0,7214,14],[0,0,7448,5],[1,1,7545,8],[1,0,7598,6],[1,1,7706,2],[0,0,7764,5],[0,0,7926,5],[0,0,8063,7],[0,0,8232,3],[0,0,8291,4],[1,0,8358,5],[2,1,8375,4],[0,0,8418,3],[0,0,8445,3],[0,0,8467,3],[0,0,8489,3],[0,0,8508,9],[0,0,8665,5],[0,0,8699,3],[1,1,8794,2],[2,0,8863,10],[2,0,8922,8],[1,0,9115,7],[0,0,9182,8],[0,0,9418,5],[0,0,9508,3],[1,0,9542,9],[0,0,9693,4],[0,0,9812,10],[0,0,10270,4],[0,0,10483,3],[0,0,10501,4],[1,0,10573,9],[1,1,10642,3],[1,0,10666,14],[1,1,11109,4],[1,0,11163,6],[0,0,11307,4],[0,0,11415,3],[0,0,11489,3],[0,0,11544,4],[0,0,11673,4],[0,0,11793,4],[2,0,11914,6],[1,1,11942,2],[2,0,11950,14],[2,1,12137,4],[0,0,12207,3],[2,0,12214,7],[0,0,12255,6],[0,0,12405,3],[0,0,12475,3],[0,0,12513,5],[0,0,12657,3],[0,0,12704,3],[0,0,12730,3],[1,0,12817,5],[2,0,12845,6],[0,0,12860,3],[0,0,12868,3],[1,1,12889,2],[0,0,12918,3],[0,0,12954,3],[0,0,13002,3],[0,0,13056,3],[0,0,13068,3],[0,0,13148,3],[1,1,13156,2],[1,1,13189,2],[0,0,13219,4],[0,0,13256,3],[0,0,13271,3],[0,0,13300,3],[0,0,13315,3],[0,0,13333,3],[0,0,13348,3],[0,0,13358,3],[0,0,13415,7],[0,0,13494,3],[0,0,13502,3],[1,1,13527,2],[0,0,13610,3],[1,1,13644,2],[1,1,13648,2],[0,0,13652,3],[0,0,13664,3],[0,0,13687,3],[0,0,13708,3],[1,0,13716,6],[1,0,13833,11],[1,0,14054,5],[0,0,14069,3],[0,0,14083,3],[0,0,14097,3],[1,0,14142,8],[0,0,14280,8],[0,0,14447,3],[0,0,14473,3],[0,0,14483,3],[0,0,14500,9],[0,0,14683,6],[0,0,14758,3],[2,0,14766,11],[1,0,14843,5],[0,0,14874,3],[0,0,14884,3],[1,0,14894,5],[0,0,14927,4],[0,0,14938,4],[0,0,14949,3],[0,0,14957,3],[0,0,14969,3],[0,0,14977,3],[1,0,15021,7],[0,0,15047,9],[1,0,15333,5],[0,0,15349,7],[0,0,15516,11],[0,0,15758,8],[0,0,16070,3],[0,0,16098,5],[0,0,16193,8],[0,0,16448,3],[0,0,16495,3],[0,0,16515,3],[1,0,16581,6],[0,0,16734,7],[0,0,16872,5],[0,0,16949,3],[0,0,16972,3],[0,0,16983,3],[0,0,17004,3],[0,0,17036,3],[0,0,17067,3],[0,0,17105,6],[0,0,17210,6],[0,0,17259,4],[0,0,17288,3],[0,0,17307,4],[1,1,17484,2],[0,0,17488,3],[0,0,17531,3],[0,0,17542,3],[0,0,17550,3],[0,0,17572,3],[0,0,17580,3],[0,0,17592,3],[0,0,17603,3],[0,0,17622,3],[0,0,17647,3],[0,0,17674,3],[1,0,17692,5],[1,0,17703,5],[0,0,17714,14],[0,0,17884,3],[0,0,17904,3],[0,0,17919,3],[0,0,17927,8],[0,0,17998,3],[0,0,18020,5],[0,0,18049,11],[2,0,18261,6],[0,0,18300,3],[0,0,18371,3],[0,0,18403,3],[1,0,18414,5],[1,1,18425,2],[2,1,18444,3],[0,0,18466,3],[0,0,18495,4],[0,0,18518,3],[1,0,18551,5],[0,0,18577,3],[0,0,18647,3],[0,0,18661,3],[0,0,18672,5],[0,0,18808,3],[0,0,18838,3],[0,0,18858,3],[0,0,18912,3],[0,0,18947,3],[0,0,18971,3],[0,0,18986,3],[0,0,19029,3],[0,0,19046,5],[0,0,19156,3],[0,0,19211,3],[0,0,19234,5],[1,0,19363,5],[2,0,19374,6],[0,0,19389,3],[0,0,19428,3],[0,0,19511,3],[0,0,19545,3],[0,0,19574,3],[0,0,19592,3],[0,0,19609,3],[0,0,19638,4],[0,0,19699,3],[0,0,19712,4],[0,0,19744,3],[0,0,19754,3],[0,0,19772,3],[0,0,19804,3],[0,0,19847,6],[0,0,19926,3],[0,0,19953,3],[0,0,19993,3]] ); let rtAssert = runtime[42] = assertFn("!"); -runtime.map((r,i) => { - let prims = "+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!˙˜˘¨⌜⁼´˝`∘○⊸⟜⌾⊘◶⎉⚇⍟"; - r.glyph = prims.charAt(i); // Used to format -}); -let decompose = x => list(!isfunc(x) ? [-1,x] - : x.glyph ? [0,x] : x.repr ? x.repr() : [1,x]); -let glyph = x => x.glyph; -setPrims(list([decompose, glyph])); +runtime.map((r,i) => { r.prim = i; }); +let decompose = x => list(!isfunc(x) ? [-1,x] : has(x.prim) ? [0,x] + : x.repr ? x.repr() : [1,x]); +setPrims(list([decompose, x=>has(x.prim)?x.prim:runtime.length])); +let glyph = x => "+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!˙˜˘¨⌜⁼´˝`∘○⊸⟜⌾⊘◶⎉⚇⍟"[x.prim]; // Compiler runtime[42] = assertFn("Compiler"); @@ -2,8 +2,8 @@ # Type Fill Log GroupLen GroupOrd _fillBy_ # !+-×÷⋆⌊=≤≢⥊⊑↕⌜`⊘ Decompose ← {0‿𝕩} -Glyph ← {𝕩⋄!0} -SetPrims ← {Decompose‿Glyph ↩ 𝕩} +PrimInd ← {𝕩⋄!0} +SetPrims ← {Decompose‿PrimInd ↩ 𝕩} ◶ ← {𝕨((𝕨𝔽𝕩)⊑𝕘){𝔽}𝕩} # LIMITED to number left operand result ⊢ ← {𝕩} @@ -42,6 +42,11 @@ _fold←{ } ´ ← _fold +_glyphLookup_ ← { + g←"+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!˙˜˘¨⌜⁼´˝`∘○⊸⟜⌾⊘◶⎉⚇⍟%" + {PrimInd𝕩} ⊑ ((𝕘⊑˜·+´·×`𝕗(1-=)⌜<)⌜g)˙ +} + Cell←{(𝕨⊸+⊑𝕩˙)⌜↕(≠𝕩)-𝕨}⟜≢ ∾ ← {k←≠𝕨⋄k⊸≤◶⟨⊑⟜𝕨⋄-⟜k⊑𝕩˜⟩⌜↕k+≠𝕩} # LIMITED to two vector arguments @@ -704,12 +709,9 @@ JoinPrim ← ∾ ⊒ ← OccurrenceCount⊘ ProgressiveIndexOf ⍷ ← ∊⊸/ ⊘ Find -_glyphLookup_ ← { - (0+´·∧`𝕗≠{Glyph𝕩})⊑(∾´𝕘)˙ -} _lookup_ ← { s ← 2×↕(≠𝕘)÷2 - (s⊏𝕘) _glyphLookup_ ((1+s)⊏𝕘)‿𝕗 + (s⊏𝕘) _glyphLookup_ (((1+s)⊏𝕘)∾<𝕗) } Identity ← {𝕏0} ("´: Identity not found"!0˙) _lookup_ ⟨ '+',0 , '-',0 @@ -812,7 +814,7 @@ FuncInverse ← (⊑ ⊣◶⟨ Inverse ← Type◶(3‿1‿2/{⊢⊣𝕩IX∘≡⊢}‿FuncInverse‿("Cannot invert modifier"!0˙)) ⁼ ↩ {𝕗 (≢∧INF˙⊸≢)◶0‿(5‿_inv_≢0‿¯2⊏Decompose∘⊢)◶⊢‿{𝕏_inv_(𝕎_invChk_𝕏)} Inverse 𝕗} -structPrimClass ← {(∾𝕩)_glyphLookup_((/≍○<≠)≠¨𝕩)} ⥊¨ ⟨ +structPrimClass ← {(∾𝕩)_glyphLookup_((/∾≠)≠¨𝕩)} ⥊¨ ⟨ '⊢'‿'⊣'‿'˜'‿'∘'‿'○'‿'⊸'‿'⟜'‿'⊘'‿'◶' '='‿'≠'‿'≢' '<' |
