aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-13 21:17:36 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-13 21:17:36 -0400
commited03290bd8bd2cd84e65d18508de22b4f39689c6 (patch)
treeb252b6948abd60072f8b6ee33d12f3e4e86fe36c
parent0c57c8756379e44b0f567b011da5a93f0a13de97 (diff)
Faster shift implementations with complete error checking
-rw-r--r--docs/bqn.js6
-rw-r--r--src/r.bqn35
2 files changed, 31 insertions, 10 deletions
diff --git a/docs/bqn.js b/docs/bqn.js
index 7ac4c263..b11477c3 100644
--- a/docs/bqn.js
+++ b/docs/bqn.js
@@ -169,9 +169,9 @@ let provide = [
];
let runtime = run(
- new Uint8Array([15,1,22,0,0,11,14,15,2,22,0,1,11,14,15,3,0,20,15,4,8,22,0,2,11,14,15,5,22,0,3,11,14,15,6,22,0,4,11,14,15,7,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,0,12,21,0,7,0,11,8,0,21,3,2,21,0,0,0,0,8,22,0,10,11,14,0,12,21,0,7,0,11,8,0,8,0,13,21,0,7,0,21,8,19,0,21,3,2,21,0,0,0,0,8,22,0,11,11,14,15,12,0,15,3,2,21,0,0,0,0,8,22,0,12,11,14,15,13,0,20,15,14,8,22,0,13,11,14,15,15,22,0,14,11,14,0,0,0,7,0,22,19,21,0,9,21,0,14,8,22,0,15,11,14,21,0,4,0,13,7,22,0,16,11,14,21,0,16,0,7,0,22,19,0,20,21,0,14,8,22,0,17,11,14,0,13,0,7,0,22,19,22,0,18,11,14,15,16,0,16,21,0,18,19,0,20,0,11,8,22,0,19,11,14,15,17,0,16,21,0,17,19,0,20,0,7,21,0,5,21,0,19,21,0,5,0,7,8,8,8,22,0,20,11,14,0,7,21,0,1,3,2,21,0,0,0,13,21,0,7,0,21,8,8,22,0,21,11,14,0,22,0,14,0,16,0,21,19,3,2,21,0,0,0,12,21,0,17,0,21,19,8,22,0,22,11,14,15,18,22,0,23,11,14,21,0,23,22,0,24,11,14,0,14,21,0,8,15,19,8,22,0,25,11,14,15,20,22,0,26,11,14,15,21,15,22,3,2,21,0,0,21,0,1,21,0,5,0,12,8,0,12,0,22,19,8,22,0,27,11,14,21,0,27,22,0,28,11,14,15,23,22,0,29,11,14,15,24,22,0,30,11,14,0,13,0,7,21,0,16,19,22,0,31,11,14,0,22,0,15,0,16,0,21,19,21,0,8,0,13,0,8,0,23,19,0,7,0,22,19,15,25,3,2,21,0,0,21,0,1,21,0,5,0,0,8,8,8,3,2,21,0,0,21,0,1,21,0,5,0,14,8,21,0,24,0,8,7,0,22,19,21,0,17,0,21,19,8,22,0,32,11,14,21,0,31,21,0,32,21,0,4,21,0,32,7,0,7,9,3,2,21,0,0,21,0,2,21,0,5,0,0,8,8,15,26,3,3,21,0,0,0,0,21,0,6,0,6,8,8,22,0,33,11,14,15,27,22,0,34,11,14,15,28,22,0,35,11,14,0,12,21,0,17,0,21,19,21,0,9,15,29,8,22,0,36,11,14,0,12,21,0,17,0,21,19,21,0,9,15,30,8,22,0,37,11,14,15,31,22,0,38,11,14,15,32,22,0,39,11,14,15,33,22,0,40,11,14,15,34,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,0,0,21,0,6,0,12,8,0,21,3,2,21,0,1,21,0,5,0,0,8,0,12,3,2,0,12,21,0,6,0,12,8,0,21,3,2,0,14,21,0,6,21,0,45,0,12,7,8,21,0,24,0,8,7,0,22,19,0,21,3,2,15,39,3,5,21,0,24,15,40,7,16,22,0,46,11,14,0,21,15,41,3,2,21,0,0,0,0,8,22,0,47,11,14,21,0,46,0,20,21,0,47,8,22,0,48,11,14,21,0,46,0,7,0,22,19,0,20,3,0,0,14,3,2,21,0,0,0,0,8,8,22,0,49,11,14,0,0,21,0,9,0,15,21,0,5,21,0,22,8,21,0,17,0,21,19,21,0,9,15,42,8,8,22,0,50,11,14,15,43,21,0,9,15,44,15,45,3,2,21,0,0,0,22,0,18,0,12,0,12,0,22,19,7,21,0,24,0,8,7,0,22,19,0,7,0,22,19,3,2,21,0,0,0,12,0,12,0,22,19,8,8,8,22,0,51,11,14,15,46,22,0,52,11,14,21,0,52,0,54,21,0,21,21,0,8,0,12,8,0,7,0,22,19,15,47,3,3,7,22,0,53,11,14,21,0,52,0,55,0,12,21,0,7,0,21,8,0,7,0,22,19,15,48,3,3,7,22,0,54,11,14,15,49,22,0,55,11,14,15,50,22,0,56,11,14,15,51,22,0,57,11,14,21,0,30,0,9,7,22,0,58,11,14,21,0,30,0,10,7,22,0,59,11,14,21,0,4,21,0,58,21,0,8,21,0,59,8,7,0,20,0,23,21,0,58,16,21,0,8,21,0,59,8,8,22,0,60,11,14,21,0,30,15,52,0,20,21,0,21,8,7,22,0,61,11,14,21,0,30,15,53,0,20,21,0,19,8,7,22,0,62,11,14,21,0,30,15,54,0,20,0,7,21,0,5,21,0,62,21,0,5,0,7,8,8,8,7,22,0,63,11,14,21,0,30,0,8,7,0,20,21,0,42,0,21,7,8,22,0,64,11,14,21,0,30,0,8,0,7,0,6,19,7,0,20,21,0,42,0,22,7,8,22,0,65,11,14,21,0,30,0,8,0,20,21,0,18,0,7,21,0,17,19,21,0,7,0,21,8,8,7,22,0,66,11,14,21,0,30,21,0,16,0,7,0,22,19,7,0,20,21,0,14,8,22,0,67,11,14,21,0,30,0,13,0,7,0,22,19,7,0,20,21,0,50,8,22,0,68,11,14,21,0,30,0,12,0,7,0,22,19,7,0,20,21,0,22,8,22,0,69,11,14,21,0,30,0,12,7,0,20,0,12,8,22,0,70,11,14,21,0,30,21,0,16,7,0,20,21,0,3,0,21,7,0,5,0,64,19,8,22,0,71,11,14,21,0,30,0,13,7,0,20,21,0,3,0,21,7,0,5,0,65,19,8,22,0,72,11,14,21,0,30,0,6,7,22,0,73,11,14,21,0,30,0,7,7,22,0,74,11,14,21,0,74,21,0,73,0,22,19,22,0,75,11,14,21,0,73,0,21,3,2,21,0,74,0,21,3,2,21,0,66,0,22,3,2,21,0,58,0,22,3,2,21,0,59,0,22,3,2,21,0,60,0,22,3,2,21,0,64,0,22,3,2,21,0,65,0,21,3,2,21,0,75,0,22,3,2,21,0,61,0,21,3,2,21,0,62,0,29,3,2,21,0,63,0,28,3,2,21,0,67,0,21,3,2,21,0,72,0,22,3,2,21,0,70,0,22,3,2,21,0,71,0,22,3,2,21,0,68,0,21,3,2,21,0,69,0,21,3,2,3,18,21,0,24,15,55,7,21,0,4,0,21,7,0,5,0,66,19,3,1,0,16,0,21,17,17,22,0,76,11,14,15,56,22,0,77,11,14,0,15,0,20,21,0,12,8,22,0,78,11,14,15,57,22,0,79,11,14,15,58,22,0,80,11,14,15,59,22,0,81,11,14,15,60,22,0,82,11,14,15,61,22,0,83,11,14,21,0,83,22,0,84,11,14,21,0,78,21,0,6,21,0,26,8,15,62,3,2,21,0,0,21,0,70,21,0,67,0,22,19,21,0,6,21,0,65,8,8,22,0,85,11,14,21,0,28,21,0,7,21,0,35,8,22,0,86,11,14,21,0,69,21,0,70,0,21,19,21,0,74,0,22,19,21,0,57,15,63,15,64,3,2,21,0,0,21,0,2,21,0,5,0,0,8,8,8,22,0,87,11,14,21,0,53,0,20,21,0,40,8,22,0,88,11,14,21,0,54,0,20,21,0,41,8,22,0,89,11,14,21,0,55,0,20,21,0,79,8,22,0,90,11,14,0,21,21,0,57,21,0,39,8,0,20,21,0,38,8,22,0,91,11,14,21,0,87,0,20,21,0,35,8,22,0,92,11,14,15,65,22,0,93,11,14,15,66,22,0,94,11,14,15,67,22,0,95,11,14,15,68,22,0,96,11,14,21,0,96,15,69,3,2,21,0,0,21,0,2,21,0,5,21,0,78,21,0,5,0,18,0,0,7,8,8,21,0,24,21,0,65,7,9,8,22,0,97,11,14,21,0,97,21,0,7,21,0,78,21,0,1,3,2,21,0,0,0,0,8,8,22,0,98,11,14,15,70,22,0,99,11,14,15,71,22,0,100,11,14,15,72,22,0,101,11,14,15,73,22,0,102,11,14,21,0,81,22,0,103,11,14,21,0,82,22,0,104,11,14,21,0,102,21,0,33,7,0,20,0,21,21,0,34,21,0,33,8,8,22,0,105,11,14,21,0,102,21,0,4,21,0,33,7,7,0,20,0,22,21,0,34,21,0,4,21,0,33,7,8,8,22,0,106,11,14,15,74,22,0,107,11,14,0,4,21,0,7,21,0,45,0,22,7,8,22,0,108,11,14,15,75,22,0,109,11,14,21,0,109,21,0,1,21,0,5,0,19,21,0,73,7,8,21,0,4,21,0,74,7,0,22,19,21,0,4,21,0,28,7,21,0,4,21,0,92,21,0,5,21,0,105,21,0,5,21,0,108,8,8,7,19,7,22,0,110,11,14,15,76,22,0,111,11,14,21,0,13,21,0,5,21,0,68,8,22,0,112,11,14,21,0,85,0,20,21,0,51,8,22,0,113,11,14,21,0,95,0,20,21,0,94,8,22,0,114,11,14,21,0,107,0,22,7,0,20,21,0,110,8,22,0,115,11,14,21,0,4,21,0,107,0,21,7,7,0,20,21,0,109,21,0,1,7,8,22,0,116,11,14,15,77,22,0,117,11,14,15,78,22,0,118,11,14,21,0,117,21,0,7,21,0,1,21,0,88,0,21,19,21,0,88,0,22,19,8,22,0,119,11,14,21,0,118,21,0,7,21,0,1,21,0,88,0,21,19,21,0,88,0,22,19,8,22,0,120,11,14,21,0,117,0,20,21,0,119,8,22,0,121,11,14,21,0,118,0,20,21,0,120,8,22,0,122,11,14,15,79,22,0,123,11,14,15,80,22,0,124,11,14,15,81,22,0,125,11,14,15,82,22,0,126,11,14,21,0,125,0,20,21,0,36,8,22,0,127,11,14,21,0,105,21,0,5,21,0,105,8,21,0,28,21,0,74,21,0,1,19,21,0,4,21,0,115,7,19,22,0,128,1,11,14,15,83,22,0,129,1,11,14,0,22,21,0,57,21,0,43,8,21,0,7,21,0,15,8,0,20,21,0,27,21,0,7,0,21,21,0,67,16,8,8,22,0,130,1,11,14,21,0,98,0,20,21,0,78,0,16,0,21,19,8,22,0,131,1,11,14,15,84,22,0,132,1,11,14,0,5,21,0,7,0,99,8,22,0,133,1,11,14,0,5,21,0,7,0,100,8,22,0,134,1,11,14,15,85,22,0,135,1,11,14,15,86,22,0,136,1,11,14,15,87,22,0,137,1,11,14,21,0,73,21,0,4,21,0,74,7,0,20,21,0,73,8,21,0,74,21,0,74,21,0,66,21,0,4,21,0,58,7,0,20,21,0,1,8,21,0,58,21,0,58,21,0,59,21,0,30,0,2,7,21,0,60,21,0,4,21,0,59,7,0,20,21,0,4,21,0,66,7,8,21,0,64,21,0,4,21,0,58,7,0,20,21,0,64,21,0,135,1,21,0,1,8,8,21,0,65,21,0,2,21,0,74,0,22,19,21,0,58,21,0,4,21,0,74,7,19,0,20,21,0,65,21,0,135,1,21,0,1,8,8,21,0,75,21,0,75,21,0,67,0,21,21,0,5,21,0,133,1,8,0,20,15,88,8,21,0,1,21,0,1,21,0,2,21,0,48,21,0,5,21,0,134,1,8,21,0,2,21,0,1,19,0,20,21,0,1,8,21,0,113,15,89,0,20,0,21,21,0,5,21,0,133,1,8,8,21,0,112,15,90,0,20,15,91,8,21,0,88,0,21,21,0,5,21,0,133,1,8,0,20,21,0,88,21,0,135,1,21,0,131,1,21,0,7,0,27,8,8,8,21,0,89,0,21,21,0,5,21,0,133,1,8,0,20,21,0,89,21,0,135,1,21,0,131,1,8,8,21,0,90,0,21,21,0,5,21,0,133,1,8,0,20,21,0,90,21,0,135,1,21,0,49,8,8,21,0,91,21,0,91,21,0,7,21,0,74,8,0,20,21,0,91,8,21,0,127,21,0,126,0,20,21,0,37,8,21,0,92,0,21,21,0,5,21,0,133,1,8,0,20,15,92,8,21,0,114,21,0,137,1,0,20,21,0,136,1,8,3,42,21,0,78,21,0,7,21,0,69,21,0,4,21,0,58,7,0,23,19,21,0,4,21,0,113,7,0,23,19,8,16,21,0,127,16,15,93,16,22,0,138,1,11,14,15,94,22,0,139,1,11,14,15,95,22,0,140,1,11,14,21,0,67,21,0,115,21,0,5,21,0,131,1,8,21,0,5,21,0,62,21,0,91,21,0,88,3,4,19,22,0,141,1,11,14,21,0,140,1,22,0,142,1,11,14,21,0,77,0,20,21,0,12,8,22,0,143,1,11,14,15,96,22,0,144,1,11,14,21,0,44,22,0,145,1,11,14,21,0,129,1,0,20,21,0,128,1,8,22,0,146,1,11,14,21,0,111,0,20,21,0,92,21,0,7,21,0,116,8,8,22,0,147,1,11,14,21,0,73,21,0,74,21,0,66,21,0,58,21,0,59,21,0,60,21,0,62,21,0,63,21,0,61,21,0,75,21,0,64,21,0,65,21,0,67,21,0,68,21,0,69,21,0,70,21,0,72,21,0,71,21,0,48,21,0,49,21,0,2,21,0,1,21,0,143,1,21,0,113,21,0,112,21,0,88,21,0,89,21,0,90,21,0,122,21,0,121,21,0,91,21,0,127,21,0,92,21,0,105,21,0,106,21,0,130,1,21,0,131,1,21,0,115,21,0,146,1,21,0,116,21,0,147,1,21,0,114,0,5,21,0,3,21,0,4,21,0,56,21,0,45,21,0,144,1,21,0,139,1,21,0,24,21,0,84,0,19,21,0,5,21,0,6,21,0,7,21,0,8,21,0,145,1,0,20,21,0,132,1,21,0,104,21,0,103,21,0,142,1,3,62,25,21,0,1,15,97,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,2,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,2,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,2,21,0,2,17,17,25,21,0,1,15,98,21,1,1,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,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,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,22,17,0,5,0,31,17,14,21,0,1,22,0,5,11,21,1,22,16,22,0,6,11,14,21,0,4,22,0,7,11,14,21,0,1,21,1,2,0,20,15,99,15,100,3,2,21,1,0,21,0,6,21,1,17,0,21,17,8,8,21,0,2,17,22,0,8,11,14,21,0,6,0,17,16,0,18,0,7,21,1,7,0,22,0,7,21,0,6,17,8,7,16,0,18,15,101,7,16,14,21,0,8,25,21,0,2,0,7,21,0,1,21,1,22,16,17,0,17,16,0,18,21,1,3,21,0,1,7,0,16,0,6,21,1,7,21,0,2,8,19,7,16,25,21,0,2,21,1,22,16,22,0,3,11,14,21,0,1,21,1,22,16,0,6,21,0,3,17,0,17,16,0,18,21,0,2,21,1,8,0,16,8,21,1,4,21,0,1,7,0,16,21,0,3,21,1,8,0,7,8,19,3,2,21,1,0,0,13,21,1,7,21,0,3,8,8,7,16,25,21,0,1,21,1,25,0,22,17,22,0,3,11,21,1,24,0,8,7,0,22,17,22,0,4,11,14,21,0,4,0,17,16,0,15,21,0,3,17,0,18,0,6,21,1,7,0,8,21,1,7,21,0,4,8,8,21,1,4,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,8,0,16,8,7,16,25,15,102,22,0,2,11,14,15,103,22,0,3,11,14,21,0,3,21,0,1,7,21,1,4,21,0,3,21,1,4,21,0,1,7,7,7,3,2,21,1,0,0,12,21,1,6,21,1,18,8,8,21,0,2,21,0,1,7,3,2,21,1,0,0,12,21,1,6,0,12,8,8,25,15,104,21,0,1,7,22,0,2,11,14,21,0,1,15,105,15,106,3,2,21,1,0,0,0,21,1,6,21,1,18,8,8,0,20,0,18,21,0,2,7,8,21,1,29,21,0,2,7,3,3,21,1,0,0,0,21,1,6,0,6,8,8,25,21,0,1,21,1,32,21,0,2,17,25,21,0,1,0,14,21,1,6,21,1,99,8,21,0,2,17,22,0,3,11,14,21,0,3,21,1,24,21,1,100,21,0,1,0,15,16,21,1,8,0,16,8,21,1,8,21,1,33,21,1,7,21,0,2,0,15,16,21,1,8,0,16,8,8,8,7,7,16,22,0,4,11,14,0,21,21,1,4,21,0,4,7,16,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,34,17,14,21,0,1,21,1,22,16,22,0,6,11,14,21,0,1,21,1,25,0,22,17,21,1,24,0,8,7,0,22,17,22,0,7,11,14,21,0,1,0,15,16,22,0,8,11,14,0,21,22,0,9,11,22,0,10,11,14,21,0,8,0,21,0,18,21,1,10,7,21,1,24,0,8,7,0,22,19,3,2,21,1,0,21,0,6,21,1,17,0,24,17,0,8,0,22,0,12,21,0,7,17,17,8,16,21,1,1,21,1,9,21,0,1,21,1,8,15,107,8,8,16,0,7,0,22,17,22,0,11,11,14,21,0,1,0,18,21,0,10,21,1,8,0,7,8,0,7,21,1,7,21,0,9,8,3,2,0,16,21,0,5,17,7,0,4,21,1,7,0,3,8,9,15,108,21,0,4,7,3,2,21,1,0,21,0,11,8,16,25,21,0,1,0,12,16,0,12,0,22,17,0,5,0,35,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,1,21,0,3,21,1,17,0,21,17,21,1,9,15,109,8,16,25,21,0,1,21,1,22,16,22,0,3,11,14,21,0,1,21,1,25,0,22,17,22,0,4,11,21,1,24,0,8,7,0,22,17,22,0,5,11,14,21,0,3,0,17,16,0,18,21,1,3,21,0,1,0,15,16,7,0,16,0,8,21,1,7,21,0,5,8,21,1,8,0,6,8,19,7,21,0,5,0,17,16,0,15,21,0,4,17,17,25,21,0,1,0,12,16,21,1,4,0,7,7,0,22,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,8,0,16,8,7,16,22,0,6,11,14,21,0,6,21,1,24,0,8,7,0,22,17,0,17,16,0,15,21,0,6,17,0,18,21,1,3,21,0,1,0,15,16,7,0,16,0,8,21,1,7,21,0,5,8,21,1,8,0,6,8,19,7,21,0,5,0,17,16,17,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,37,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,1,21,1,28,21,0,3,0,17,16,0,18,0,7,21,1,7,0,22,0,7,21,0,3,17,8,7,16,17,25,21,0,2,21,1,10,16,0,5,0,38,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,3,0,9,21,0,2,17,21,1,19,16,0,8,21,0,3,17,0,7,22,0,2,13,14,21,0,1,21,1,28,21,0,3,0,17,16,0,18,21,1,1,0,13,21,0,2,0,7,21,0,3,17,19,0,8,21,0,3,19,0,7,21,1,1,19,0,6,21,0,2,19,7,16,17,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,39,17,14,21,0,1,21,1,22,16,0,6,0,22,17,0,17,16,0,18,21,0,1,21,1,8,21,1,28,21,1,7,0,17,8,8,7,16,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,40,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,3,0,6,0,22,17,0,17,16,0,18,21,0,1,21,1,8,21,1,28,21,1,7,15,110,8,8,7,16,25,21,1,28,21,1,7,21,0,1,21,1,34,21,1,33,21,1,4,21,1,33,7,3,2,0,16,21,0,1,17,8,8,25,21,0,2,0,0,16,0,5,0,41,17,14,21,0,2,0,18,21,1,10,7,16,0,15,16,21,1,24,0,8,7,0,22,17,0,5,0,42,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,2,0,18,21,1,18,21,1,7,21,0,3,8,0,8,0,13,21,1,7,21,0,3,0,7,16,8,19,7,16,0,15,16,21,1,24,0,8,7,0,22,17,0,5,0,43,17,14,21,0,1,21,1,28,21,1,7,0,18,21,1,1,21,1,18,0,21,19,0,8,21,0,3,19,0,6,21,1,1,19,7,8,21,0,2,17,25,21,0,1,0,14,16,22,0,6,11,21,1,24,0,8,7,0,22,17,22,0,7,11,0,17,16,22,0,8,11,14,21,0,1,21,0,5,21,1,6,21,0,4,8,21,0,2,17,22,0,9,11,14,21,0,8,0,15,21,0,6,17,21,0,5,16,22,0,10,11,14,15,111,0,15,3,2,0,16,21,0,10,0,0,16,17,22,0,11,11,14,21,0,9,21,0,11,16,22,0,9,12,14,21,0,10,21,0,11,16,22,0,10,12,14,21,0,10,0,21,21,1,34,21,1,31,8,16,22,0,12,11,14,21,1,4,21,0,10,7,0,16,21,0,12,21,1,8,0,16,8,19,21,0,7,3,2,21,1,0,0,13,21,1,7,21,0,12,21,1,22,16,8,8,22,0,13,11,14,0,21,22,0,14,11,21,0,13,16,22,0,15,11,14,21,0,8,0,18,21,0,1,0,15,16,21,1,8,0,16,8,15,112,3,2,21,1,0,15,113,8,7,16,0,15,21,0,6,17,25,21,1,15,21,1,6,21,1,29,21,0,1,7,0,20,0,18,21,0,1,7,8,8,25,21,0,1,21,1,45,21,1,46,7,21,0,2,17,0,15,16,21,1,24,0,8,7,0,22,17,25,21,0,2,0,16,0,22,17,21,0,1,3,2,21,1,0,21,0,2,0,16,0,21,17,8,25,21,0,1,0,15,16,0,18,21,1,47,7,16,21,1,24,0,7,0,8,0,13,19,0,7,21,1,2,19,7,0,21,17,0,6,0,22,17,25,21,0,1,0,15,16,0,16,0,21,17,21,1,49,16,22,0,3,11,14,21,0,1,0,15,16,0,18,21,1,49,21,1,48,21,0,3,19,7,16,21,1,24,0,8,7,0,22,17,0,5,0,44,17,14,21,0,3,21,1,24,0,8,7,0,22,17,0,17,16,0,15,21,0,3,17,0,18,21,1,4,21,1,12,21,1,8,0,16,8,7,7,21,0,1,17,25,21,0,1,0,0,16,0,5,0,49,17,14,21,0,1,0,15,16,21,1,22,16,21,1,17,0,21,17,25,0,27,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,22,7,16,21,1,35,16,0,18,15,114,7,16,25,21,0,1,0,15,16,22,0,3,11,21,1,22,16,22,0,4,11,14,21,0,3,0,18,21,1,49,7,16,22,0,5,11,14,21,0,5,0,16,0,21,17,21,1,22,16,22,0,6,11,14,21,0,1,0,12,16,22,0,7,11,14,21,0,5,0,18,21,1,22,0,12,21,0,6,19,7,16,21,1,24,0,8,7,0,22,17,0,5,0,45,17,14,21,0,7,21,1,16,21,0,6,17,0,5,0,46,17,14,15,115,22,0,8,11,14,21,0,1,21,1,49,16,22,0,9,11,14,0,22,22,0,10,11,14,0,21,21,1,17,16,22,0,11,11,22,0,12,11,14,21,0,7,0,17,16,21,1,45,15,116,7,21,0,9,21,1,38,16,21,0,8,0,8,7,0,22,17,21,1,38,16,17,14,21,1,45,15,117,21,0,3,0,18,0,15,7,16,7,7,22,0,13,11,14,21,0,11,21,0,13,15,118,3,2,21,1,0,21,0,6,21,1,17,21,0,7,17,8,21,0,12,17,25,21,0,1,22,0,2,22,0,3,22,0,4,4,3,11,14,0,51,21,1,26,21,0,2,17,21,1,26,0,50,17,22,0,5,11,14,0,52,22,0,6,11,14,0,53,22,0,7,11,14,15,119,25,21,0,1,21,1,21,16,22,0,5,11,21,1,17,21,1,7,21,0,2,8,21,1,9,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,8,0,6,8,7,0,18,0,21,21,1,8,21,1,17,8,21,1,9,0,28,8,7,9,0,18,0,13,21,1,7,21,0,2,8,21,1,9,0,28,8,7,3,2,21,1,0,21,0,1,21,1,17,0,21,17,8,16,25,21,0,1,14,0,6,21,1,20,0,21,19,0,17,9,0,7,21,1,20,0,21,19,0,17,9,0,18,0,6,7,21,1,1,21,1,5,21,1,17,8,19,3,2,21,1,0,21,1,17,21,1,7,0,21,8,8,25,21,0,1,0,0,16,0,5,0,56,17,14,21,0,2,0,12,16,21,1,16,0,22,17,0,5,0,57,17,14,21,0,2,21,1,12,16,22,0,2,12,21,1,22,16,22,0,3,11,14,21,0,1,21,0,3,21,1,17,0,21,17,21,1,9,15,120,8,21,0,2,17,25,0,27,21,1,82,21,0,1,8,25,21,0,1,22,0,3,11,14,15,121,15,122,3,2,21,1,0,21,1,2,21,1,5,21,1,48,21,1,17,21,0,2,19,8,8,25,21,0,2,21,1,58,21,0,1,17,21,1,19,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,18,21,0,2,17,17,25,21,0,2,21,0,1,3,2,0,16,21,0,1,21,1,17,21,0,2,17,17,25,21,0,1,21,0,2,0,16,0,22,17,3,2,21,1,0,15,123,21,0,2,0,16,0,21,17,7,8,25,21,0,2,21,1,70,16,21,1,71,0,22,17,0,5,0,67,17,14,21,0,2,21,1,12,16,22,0,3,11,14,21,0,3,0,18,21,1,11,7,16,21,1,75,16,22,0,4,11,21,1,24,21,1,73,7,16,22,0,5,11,14,21,0,5,21,1,71,0,22,17,0,5,0,68,17,14,21,0,1,21,1,12,16,22,0,6,11,21,1,69,16,22,0,7,11,14,21,0,3,21,1,24,21,1,66,7,15,124,3,2,21,1,0,21,0,5,8,16,22,0,8,11,14,21,0,6,21,0,7,21,1,69,21,0,8,17,21,1,9,15,125,8,16,0,15,21,0,3,17,25,15,126,22,0,3,11,14,15,127,22,0,4,11,14,21,0,1,21,0,3,21,0,4,3,2,21,1,0,0,0,8,16,25,21,0,1,21,1,5,21,1,78,8,21,1,1,21,1,5,21,1,67,8,21,1,45,0,16,7,21,1,69,21,1,8,21,1,4,21,1,61,21,1,73,0,22,19,21,1,74,21,1,2,19,7,8,19,0,22,0,21,3,2,0,20,0,23,3,1,8,19,25,21,0,1,21,1,80,21,0,5,7,21,0,2,17,22,0,6,11,21,1,68,0,21,17,22,0,7,11,14,21,0,4,22,0,8,11,14,15,128,1,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,80,21,0,5,7,21,1,45,21,1,74,21,1,8,21,1,62,8,21,1,74,21,1,63,0,21,19,3,2,21,1,0,21,1,1,21,1,72,0,21,19,8,7,21,1,70,21,1,6,21,1,13,8,19,21,0,2,17,22,0,6,11,14,15,129,1,22,0,7,11,14,21,1,1,21,1,67,9,21,0,7,21,1,1,0,18,21,1,67,7,9,3,3,21,1,0,21,1,70,21,1,8,21,1,71,8,21,1,73,0,22,19,21,1,66,0,21,21,1,8,21,1,68,8,19,8,22,0,7,12,14,21,0,1,21,0,7,21,0,6,0,16,21,1,7,21,1,69,21,1,4,21,1,74,7,0,22,19,8,16,17,21,1,45,21,0,4,7,21,0,2,21,0,7,21,0,6,0,16,0,21,17,17,17,21,1,68,16,25,21,0,1,21,1,70,16,21,1,72,0,22,17,0,5,0,74,17,14,21,0,1,21,1,56,21,1,67,7,16,21,1,24,21,0,4,7,21,0,2,17,25,21,0,1,21,1,49,21,1,6,21,1,13,8,21,0,2,17,22,0,3,11,14,21,0,3,0,18,21,1,69,7,16,22,0,4,11,21,1,24,21,1,63,7,0,22,17,22,0,5,11,14,21,0,4,21,1,74,21,0,5,17,21,1,71,0,22,17,21,1,24,21,1,64,7,16,0,5,0,75,17,14,21,0,3,21,1,45,21,1,28,21,1,7,0,22,21,1,74,21,0,5,17,0,17,16,21,1,8,21,1,73,8,8,7,21,0,5,21,1,75,21,0,4,17,17,22,0,6,11,14,21,0,6,21,1,24,21,1,48,7,16,0,5,0,76,17,14,21,0,3,21,1,45,0,22,21,1,1,0,16,0,21,19,3,2,21,1,0,21,1,2,8,7,21,0,4,21,1,70,21,0,5,17,17,21,1,24,21,1,73,7,16,22,0,7,11,14,21,0,1,21,1,78,21,1,6,21,1,26,8,21,0,2,17,21,1,78,21,0,6,0,16,0,21,17,21,1,26,21,0,7,3,1,17,17,25,21,0,2,21,1,11,16,0,5,0,36,17,14,21,0,2,22,0,3,11,22,0,4,11,14,21,0,1,21,1,28,21,0,1,21,1,69,16,21,1,66,21,0,3,17,0,17,16,0,19,21,1,4,15,130,1,21,1,9,15,131,1,8,7,7,16,17,25,21,0,1,21,1,69,21,1,6,21,1,70,8,21,0,2,17,0,5,0,77,17,14,21,0,1,21,1,86,21,0,2,17,25,21,0,1,0,18,21,1,10,7,16,21,1,24,21,1,64,7,16,0,5,0,78,17,14,21,0,1,21,1,72,0,27,17,21,1,24,21,1,64,7,16,0,5,0,79,17,14,21,0,1,0,4,21,0,1,0,3,16,22,0,5,11,17,22,0,6,11,14,0,21,22,0,7,11,14,21,0,5,0,18,21,1,90,21,1,5,0,18,15,132,1,7,8,21,0,4,9,7,16,25,21,0,1,21,1,70,16,21,1,70,0,22,17,0,5,0,80,17,14,21,1,93,21,1,1,7,22,0,3,11,14,21,0,1,21,0,3,0,18,15,133,1,7,21,1,24,0,18,0,18,21,1,26,7,7,7,3,0,21,1,67,16,21,1,67,16,19,3,2,21,1,0,21,1,48,21,1,67,0,22,19,8,16,25,21,0,1,0,0,16,0,5,0,81,17,14,21,0,2,21,1,48,21,1,68,0,23,19,21,1,9,21,1,15,21,1,5,21,1,13,8,8,16,22,0,2,12,14,21,0,2,21,1,70,16,21,1,70,0,22,17,0,5,0,82,17,14,21,0,2,0,18,21,1,70,7,16,21,1,24,21,1,73,7,16,22,0,3,11,14,21,0,1,21,1,70,16,21,1,72,21,0,3,17,0,5,0,83,17,14,21,0,1,21,1,49,16,21,1,88,21,0,3,17,21,1,70,21,0,2,0,18,21,1,49,7,16,21,1,51,16,17,21,1,24,21,1,64,7,16,0,5,0,84,17,14,21,0,2,0,18,21,1,78,7,16,22,0,2,12,0,18,21,1,69,7,16,22,0,4,11,14,21,0,1,21,1,25,21,0,3,17,21,1,26,21,0,4,21,1,24,21,1,66,7,16,3,1,17,21,1,4,21,1,78,7,21,0,1,17,21,1,8,21,1,28,8,22,0,5,11,14,21,0,2,0,16,21,1,7,0,21,8,21,1,93,21,0,5,7,9,0,18,21,1,93,21,1,1,7,7,21,1,66,21,0,4,21,1,89,0,22,17,21,1,91,16,21,1,26,0,22,3,1,17,0,19,21,1,66,7,16,21,1,91,16,19,21,1,24,0,18,0,18,21,1,73,7,7,7,9,0,18,21,0,5,7,9,3,2,21,1,0,21,1,69,21,1,69,0,22,19,8,16,25,21,0,2,21,1,70,16,21,1,70,0,22,17,0,5,0,85,17,14,21,0,1,21,1,49,16,22,0,3,11,21,1,69,21,1,6,21,1,70,8,21,0,2,17,0,5,0,86,17,14,21,0,2,0,18,21,1,10,7,16,21,1,24,21,1,64,7,16,0,5,0,87,17,14,21,0,3,21,1,67,21,1,64,21,1,74,21,1,8,21,1,71,8,19,21,0,2,17,21,1,24,21,1,64,7,16,0,5,0,88,17,14,0,21,21,1,67,21,0,2,17,21,1,66,21,0,3,17,21,1,73,21,0,2,17,22,0,2,12,14,21,0,2,21,1,69,16,21,1,75,21,1,7,21,1,90,8,16,21,1,74,16,21,1,24,21,1,1,21,1,66,21,0,3,21,1,8,0,16,8,19,21,1,73,21,0,2,21,1,8,0,16,8,19,7,0,21,17,21,1,4,0,16,7,21,0,1,21,1,78,16,17,25,21,0,2,0,18,21,0,1,21,1,8,21,1,97,8,7,16,25,21,0,1,21,1,70,21,1,7,0,21,8,21,1,24,21,1,65,7,9,21,1,6,21,1,4,21,1,74,7,8,21,0,2,17,22,0,3,11,14,21,0,1,0,21,21,0,3,3,2,15,134,1,3,2,21,1,0,0,21,21,1,70,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,135,1,22,0,8,11,14,21,0,4,21,1,70,21,1,7,0,21,8,21,1,9,21,0,1,8,9,21,0,8,3,2,0,16,21,0,6,21,1,69,0,22,17,17,25,21,0,1,22,0,2,11,14,21,1,67,21,1,7,0,21,8,21,1,9,15,136,1,8,25,21,0,2,21,1,70,16,21,1,4,21,1,74,7,0,22,17,22,0,5,11,14,21,0,5,21,1,72,0,21,17,0,5,0,89,17,14,21,0,1,21,1,70,16,21,1,72,21,0,5,17,0,5,0,90,17,14,21,0,2,21,1,25,0,22,17,22,0,6,11,21,1,24,21,1,66,7,16,22,0,7,11,14,0,21,21,1,100,21,0,2,21,1,78,16,21,1,8,0,16,8,21,1,6,21,0,4,8,7,21,0,7,17,22,0,8,11,14,21,0,2,21,1,69,16,0,22,0,22,21,1,8,21,1,74,21,1,5,21,1,90,8,8,21,1,66,21,0,7,19,0,18,21,1,73,21,1,7,21,0,7,8,21,1,8,21,0,8,8,7,9,21,1,4,21,1,72,7,0,21,19,21,1,24,21,1,64,7,9,3,2,21,1,0,21,1,67,21,1,7,0,21,8,8,16,0,5,0,91,17,14,21,0,1,21,1,70,16,21,1,4,21,1,74,7,21,0,5,17,22,0,9,11,14,21,0,1,21,1,25,21,0,9,17,22,0,10,11,14,21,0,10,21,1,99,21,0,6,17,22,0,11,11,14,21,0,11,21,1,24,21,1,100,21,0,1,21,1,78,16,21,1,8,0,16,8,21,1,8,21,0,4,21,1,7,21,0,2,21,1,78,16,21,1,8,0,16,8,8,8,7,7,16,22,0,12,11,14,21,1,4,0,21,7,21,1,72,21,0,12,21,1,7,21,1,66,21,1,7,21,0,6,21,1,24,21,1,66,7,16,8,8,19,22,0,13,11,14,21,0,9,21,1,90,16,0,18,21,0,1,21,1,49,16,21,1,8,0,16,8,7,16,21,1,24,21,1,66,7,21,1,90,9,21,1,8,21,1,78,8,16,21,1,66,21,0,10,21,1,24,21,1,66,7,16,17,0,18,15,137,1,21,1,7,21,0,2,21,1,69,16,8,7,16,25,21,0,1,22,0,2,11,14,21,1,84,21,1,64,7,21,1,75,9,0,19,21,1,64,7,21,1,84,21,1,73,7,9,3,2,0,16,21,0,1,17,22,0,3,11,14,15,138,1,25,21,0,1,21,1,70,16,21,1,72,0,22,17,0,5,0,93,17,14,21,0,1,21,1,105,16,22,0,5,11,14,21,0,1,21,1,69,16,21,1,90,16,0,18,0,22,21,1,1,21,0,1,21,1,70,21,1,67,0,22,19,21,1,9,21,1,56,21,1,67,7,8,16,21,1,28,21,0,5,17,21,1,8,0,16,8,21,1,6,21,1,49,8,0,22,21,1,8,21,1,74,8,19,3,2,21,1,0,21,1,67,21,1,7,0,21,8,8,7,16,21,0,4,21,0,5,17,21,1,28,21,0,5,21,1,108,16,17,25,21,0,2,21,1,70,16,22,0,3,11,14,21,0,1,21,1,70,16,21,1,72,21,0,3,17,0,5,0,94,17,14,21,0,1,21,0,3,21,1,104,21,1,90,8,21,0,2,21,1,49,16,17,21,0,3,21,1,104,21,1,48,8,21,0,2,17,25,21,0,1,21,1,70,21,1,6,21,1,72,21,1,7,21,1,62,21,1,7,0,22,8,8,8,21,0,2,17,0,5,16,14,21,0,1,21,1,113,21,0,2,17,21,1,88,21,0,1,21,1,69,16,17,25,21,0,1,21,1,70,21,1,6,21,1,72,21,1,7,21,1,62,21,1,7,0,22,8,8,8,21,0,2,17,0,5,16,14,21,0,2,21,1,113,21,0,1,17,21,1,88,21,0,1,21,1,69,16,21,1,74,16,17,25,21,0,2,21,1,70,16,21,1,71,0,22,17,0,5,0,95,17,14,21,0,1,21,1,49,16,21,1,69,21,1,6,21,1,72,8,21,0,2,17,0,5,0,96,17,14,21,0,2,21,1,78,16,0,18,21,1,11,7,16,21,1,24,21,1,64,7,16,0,5,0,97,17,25,21,0,1,21,1,49,16,21,1,114,21,0,2,17,0,18,21,1,24,21,1,62,7,7,16,21,1,90,16,0,18,21,1,3,21,0,1,7,21,1,98,21,1,28,21,1,7,21,0,2,8,19,7,16,25,21,0,1,21,1,123,21,0,2,17,14,21,0,2,21,1,78,16,22,0,2,12,14,21,0,2,21,1,116,16,21,1,75,16,21,1,24,21,1,73,7,16,21,1,74,21,0,1,21,1,70,16,17,22,0,3,11,14,21,0,3,21,1,67,21,0,2,17,21,1,24,21,1,64,7,16,0,5,0,98,17,14,21,0,1,21,1,124,21,0,3,21,1,90,16,21,1,1,21,1,92,21,1,4,21,1,116,21,1,5,21,1,75,8,7,19,21,0,2,17,21,1,113,21,0,2,17,17,25,21,0,1,21,1,123,21,0,2,17,14,21,0,2,21,1,78,16,22,0,2,12,14,21,0,1,21,1,70,16,22,0,3,11,14,21,0,2,21,0,3,21,1,8,21,1,67,8,21,1,64,21,1,116,19,16,21,1,24,21,1,64,7,16,21,1,133,1,16,14,21,0,1,21,1,124,21,0,3,21,1,90,16,21,1,1,21,1,92,21,1,4,21,1,116,21,1,5,21,1,75,8,7,19,21,0,2,17,21,1,113,21,0,2,17,21,1,108,16,17,25,21,0,1,21,1,115,21,1,7,21,0,2,8,21,1,128,1,21,1,8,21,1,56,21,1,112,7,8,9,21,1,6,21,1,115,8,21,0,2,17,25,21,0,1,15,139,1,21,0,5,21,1,131,1,21,0,1,21,0,4,21,0,2,17,17,7,21,0,2,17,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,48,21,0,1,17,21,1,134,1,16,14,21,0,6,25,21,0,1,21,1,70,16,21,1,70,0,22,17,21,1,133,1,16,14,21,0,1,21,1,113,16,22,0,3,11,14,21,0,3,0,18,21,1,11,7,16,21,1,24,21,1,64,7,16,21,1,133,1,16,14,21,0,3,0,3,16,22,0,4,11,14,0,22,21,1,72,21,0,4,17,21,1,24,21,1,64,7,16,21,1,134,1,16,14,21,0,4,21,1,75,16,21,1,92,16,22,0,5,11,14,21,0,5,21,1,45,0,27,7,16,21,1,113,21,0,1,21,1,45,21,1,69,7,16,21,1,92,16,17,21,1,130,1,21,0,5,21,1,113,21,0,3,17,21,1,105,16,17,25,21,0,2,21,1,70,16,21,1,70,0,22,17,21,1,133,1,16,14,21,0,2,0,18,21,1,11,7,16,21,1,24,21,1,64,7,16,21,1,133,1,16,14,21,0,1,21,1,113,21,1,6,21,1,130,1,21,1,7,21,1,105,8,8,21,0,2,21,1,114,16,17,25,21,0,1,0,0,16,21,1,134,1,16,14,21,0,1,21,1,70,16,21,1,70,0,21,17,21,1,134,1,16,14,21,0,1,21,1,131,1,16,25,21,0,2,21,1,70,21,1,6,21,1,74,8,21,0,1,17,22,0,3,11,14,21,0,3,0,22,21,1,8,21,1,72,8,21,1,64,21,1,72,21,1,7,0,21,8,19,16,21,1,134,1,16,14,21,0,2,0,22,21,1,69,3,2,21,1,132,1,21,0,3,8,16,22,0,4,11,14,21,0,1,21,1,69,16,21,1,72,21,0,4,17,21,1,134,1,16,14,21,0,1,21,1,130,1,21,1,88,21,1,7,21,0,4,8,3,2,21,1,132,1,21,0,3,8,16,21,1,48,21,0,2,17,21,1,134,1,16,14,21,0,1,21,1,89,21,0,4,17,25,21,0,1,21,1,69,16,21,1,70,0,23,17,21,1,134,1,16,14,21,0,1,21,1,130,1,16,21,1,48,21,0,2,17,21,1,134,1,16,14,21,0,1,21,1,130,1,0,22,17,25,21,0,1,21,1,69,16,21,1,70,0,22,17,21,1,134,1,16,14,21,0,1,21,1,130,1,16,25,21,0,1,21,1,70,16,21,1,70,0,22,17,21,1,133,1,16,14,21,0,1,0,18,21,1,11,7,16,21,1,24,21,1,64,7,16,21,1,133,1,16,14,21,0,1,21,1,89,21,1,7,0,22,8,21,1,72,21,1,89,21,1,7,0,27,8,19,21,1,24,21,1,64,7,9,16,21,1,134,1,16,14,21,0,1,0,3,16,25,21,1,4,21,1,4,0,21,7,0,5,0,101,19,3,1,21,1,113,21,0,1,21,1,130,1,0,22,17,17,7,21,1,131,1,21,1,67,21,1,115,21,0,1,21,1,130,1,0,21,17,19,21,1,131,1,9,19,25,21,0,1,21,1,138,1,16,25,21,0,1,21,0,5,21,0,2,17,22,0,6,11,14,0,21,22,0,7,11,22,0,8,11,14,21,0,6,0,21,21,1,103,15,140,1,8,16,14,21,0,1,22,0,9,11,14,15,141,1,22,0,10,11,14,21,0,7,21,0,10,21,1,1,21,0,4,21,0,2,19,7,16,22,0,11,11,14,21,0,8,21,1,74,16,21,0,10,21,1,1,21,1,139,1,21,0,4,7,21,0,2,19,7,16,22,0,12,11,14,21,0,6,0,21,21,1,103,21,1,3,21,0,11,21,0,12,3,2,7,21,1,131,1,0,21,21,1,8,21,1,67,8,19,21,1,131,1,21,1,61,19,8,16,25,21,1,15,21,1,6,0,18,21,0,1,7,8,25,21,0,1,25,21,0,1,25,21,0,1,14,21,1,7,21,2,76,16,25,0,22,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,24,0,8,21,2,7,21,0,1,0,14,16,21,2,8,0,16,8,0,12,21,0,5,21,2,8,0,16,8,19,8,7,0,22,17,0,5,0,32,17,14,21,0,5,21,2,24,0,8,7,0,22,17,0,17,16,0,18,21,0,1,0,15,16,21,2,8,0,16,8,21,0,4,21,0,2,0,15,16,21,2,8,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,24,0,8,21,2,7,21,0,7,21,2,8,0,16,8,0,12,21,0,5,21,2,8,0,16,8,19,8,7,0,22,17,0,5,0,33,17,14,21,0,6,0,7,21,0,1,0,12,16,17,0,17,16,21,2,24,0,8,21,2,7,0,6,21,2,7,21,0,6,8,21,2,4,0,16,7,21,0,7,19,8,7,0,22,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,6,0,18,21,2,3,21,0,10,7,0,16,0,6,21,2,7,0,8,21,2,7,21,0,8,8,8,19,21,0,4,21,0,9,21,2,8,0,16,8,19,7,8,21,0,9,21,2,22,16,17,0,15,16,0,15,21,0,7,17,25,21,0,1,21,2,30,21,0,4,7,21,0,2,17,25,21,0,1,0,18,15,142,1,21,0,2,7,7,16,25,21,0,2,0,18,15,143,1,21,0,1,7,7,16,25,21,1,6,0,8,0,23,17,0,13,21,0,1,21,2,24,21,2,19,7,16,22,1,10,12,0,7,21,0,1,21,2,24,21,2,20,7,16,22,1,9,12,17,17,25,21,0,1,14,21,2,4,0,21,7,21,2,18,0,21,21,2,100,21,1,8,21,2,8,0,16,8,21,2,6,21,0,4,8,7,21,1,7,17,19,22,0,5,11,14,21,2,1,21,1,6,3,2,21,2,0,0,13,21,2,7,21,1,6,8,8,22,0,6,11,14,0,21,0,12,21,1,6,17,0,6,21,1,6,17,0,2,0,23,17,21,2,20,16,22,0,7,11,0,17,16,0,18,21,2,1,0,6,0,22,19,0,7,21,0,7,19,0,10,0,23,19,7,16,21,2,24,15,144,1,7,21,1,6,0,17,16,17,25,21,0,1,0,18,21,2,11,7,16,21,2,24,0,8,7,0,22,17,0,5,0,36,17,14,0,22,0,7,21,1,3,17,22,0,3,11,14,21,2,1,0,7,21,0,3,19,21,2,4,0,16,7,21,1,3,0,17,16,0,18,0,7,21,2,7,21,0,3,8,7,16,0,19,21,2,1,21,2,4,0,16,7,21,0,1,19,0,12,0,21,19,0,8,0,7,19,0,6,21,2,1,19,7,16,19,22,0,4,11,14,21,0,1,0,19,0,6,7,16,21,2,8,0,16,8,22,0,5,11,14,0,21,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,145,1,7,16,25,21,0,1,0,7,21,1,3,17,0,17,16,0,18,0,6,21,2,7,21,0,1,8,7,16,25,21,0,1,3,1,25,21,0,1,14,21,1,9,0,16,21,1,12,0,16,21,1,14,17,17,22,0,3,11,14,21,1,14,0,6,0,22,17,22,1,14,12,21,1,13,16,22,1,15,12,14,21,0,3,25,21,0,1,0,12,21,1,15,17,25,21,0,1,0,12,21,2,7,21,1,4,8,0,7,0,22,19,21,2,9,15,146,1,8,16,14,21,1,5,0,16,0,22,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,147,1,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,7,21,0,1,8,7,16,22,0,5,11,14,21,0,4,0,17,16,0,18,21,2,3,21,0,5,7,0,16,0,8,21,2,7,21,0,3,8,19,7,16,22,0,6,11,14,21,0,3,0,17,16,0,18,21,2,2,7,21,0,6,17,0,18,21,2,1,7,21,1,10,0,17,16,17,0,15,16,21,2,45,0,12,7,21,0,5,17,21,2,24,0,8,7,0,22,17,0,5,0,47,17,14,21,0,6,21,2,35,16,22,0,7,11,14,21,0,7,21,2,22,16,0,17,16,0,18,21,0,6,21,1,8,0,6,7,0,21,17,21,2,28,21,0,7,17,21,2,8,0,16,8,21,2,8,0,7,8,7,16,22,0,8,11,14,21,0,8,0,18,21,2,1,7,21,1,12,17,21,2,45,0,6,7,21,0,7,0,18,21,0,6,21,2,8,0,16,8,21,2,8,0,8,8,7,21,1,12,17,17,22,1,12,12,14,21,0,7,0,18,0,6,21,2,7,21,0,4,21,2,8,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,28,21,2,7,21,1,7,0,7,21,1,6,17,0,17,16,0,18,0,6,21,2,7,21,1,7,8,7,16,8,22,0,3,11,14,21,1,5,0,16,0,21,17,21,0,3,16,22,0,4,11,14,21,1,5,0,18,21,0,3,21,2,45,0,12,7,21,0,4,19,21,2,24,0,8,7,9,7,16,21,2,24,0,8,7,0,22,17,0,5,0,48,17,14,21,0,4,21,2,24,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,2,7,21,0,1,17,21,1,13,21,0,6,0,18,0,6,21,2,7,0,8,21,2,7,21,0,5,8,8,7,21,0,2,17,17,25,21,0,2,0,12,16,21,2,16,0,22,17,0,5,21,1,6,17,14,21,0,2,21,2,12,16,22,0,2,12,14,21,0,2,0,18,21,2,10,7,16,21,2,24,0,8,7,0,22,17,0,5,21,1,7,17,14,21,0,2,21,2,22,16,22,0,3,11,14,21,0,1,21,2,49,16,21,2,22,21,2,8,21,2,18,8,21,2,9,15,148,1,8,21,0,3,17,22,0,4,11,14,15,149,1,22,0,5,11,14,0,21,21,2,17,16,22,0,6,11,14,0,22,22,0,7,11,14,15,150,1,22,0,8,11,14,0,21,22,0,9,11,14,21,0,3,0,17,16,0,18,21,0,2,21,2,8,0,16,8,15,151,1,21,1,4,15,152,1,7,21,0,8,21,2,2,19,3,2,21,2,0,21,1,3,8,21,0,4,21,2,8,0,16,8,19,7,16,22,0,10,11,14,21,0,1,21,2,15,16,0,15,21,2,7,21,0,4,8,15,153,1,3,2,21,2,0,21,0,6,0,12,16,21,2,17,0,21,17,8,16,25,21,0,1,0,12,16,0,13,21,1,3,17,0,5,0,58,17,14,21,0,2,0,18,21,2,11,7,16,21,2,24,0,8,7,16,0,5,0,59,17,14,21,0,1,21,2,49,16,22,0,3,11,14,21,1,3,0,17,16,0,18,21,0,2,21,2,8,0,16,8,0,7,21,0,3,21,2,8,0,16,8,19,0,6,0,22,19,7,16,22,0,4,11,14,21,0,4,0,18,0,13,21,2,7,0,21,8,7,16,21,2,24,0,8,7,16,0,5,0,60,17,14,21,0,3,21,2,28,21,1,3,0,7,21,2,7,21,2,22,8,21,0,3,17,0,17,16,0,18,0,6,21,2,7,21,1,3,8,7,16,17,22,0,5,11,21,2,24,0,8,7,0,22,17,22,0,6,11,14,0,22,0,7,21,1,3,17,15,154,1,16,21,2,26,21,0,6,3,1,17,0,19,0,8,7,16,21,2,38,16,22,0,7,11,14,21,0,2,21,2,1,21,2,45,15,155,1,7,21,0,7,19,21,2,24,0,18,0,6,7,7,9,21,2,6,0,18,0,6,7,8,21,0,4,17,0,22,21,2,8,0,12,8,0,7,0,22,19,21,2,9,21,2,4,0,17,0,15,21,0,5,19,21,2,8,0,18,0,6,7,8,7,8,21,0,6,17,0,18,21,0,1,0,15,16,21,2,8,0,16,8,7,16,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,61,17,14,21,0,1,21,1,3,21,0,2,17,25,21,0,2,0,12,16,21,2,16,0,22,17,0,5,0,62,17,14,21,0,1,21,2,49,16,21,2,22,21,2,6,0,13,8,21,0,2,17,0,5,0,63,17,14,21,0,2,21,2,22,16,22,0,3,11,14,21,0,2,0,15,16,21,2,8,0,16,8,22,0,4,11,14,21,0,1,21,0,3,21,2,17,0,21,17,21,2,9,15,156,1,8,0,21,17,25,21,0,1,21,2,70,21,0,4,17,25,21,0,1,21,2,45,21,2,1,0,22,3,2,21,2,0,21,2,2,8,7,21,1,4,17,21,2,24,21,2,66,7,16,22,0,3,11,14,21,0,3,21,2,67,0,21,17,0,5,0,69,17,14,21,1,4,21,2,69,16,0,17,16,21,2,66,21,1,4,17,21,2,24,21,2,73,7,16,22,0,4,11,14,21,1,3,0,16,21,0,4,17,21,2,141,1,16,22,0,5,11,14,0,30,21,2,67,21,0,5,17,0,5,0,70,17,14,21,2,70,21,2,7,21,2,62,8,0,5,0,71,19,21,2,2,21,2,1,19,22,0,6,11,14,21,0,3,21,2,58,21,1,7,17,21,0,6,21,2,62,21,2,63,3,3,21,2,0,21,0,5,21,2,62,0,23,17,8,16,22,0,7,11,14,21,1,3,21,2,45,21,2,1,21,0,7,3,2,21,2,0,21,2,2,8,7,21,1,4,17,22,1,3,12,14,21,0,7,21,2,66,21,0,3,17,21,0,5,21,2,70,0,25,17,21,2,9,21,2,67,21,2,7,21,1,7,8,21,2,9,15,157,1,8,8,16,25,21,1,8,0,17,16,0,18,21,2,2,7,21,2,7,0,1,8,15,158,1,3,2,21,2,0,21,1,7,21,2,67,0,21,17,8,21,0,1,17,25,21,0,1,21,2,11,16,0,5,0,72,17,14,21,0,1,0,17,16,25,21,0,1,21,2,70,16,21,2,70,0,22,17,0,5,0,73,17,14,21,0,1,0,18,21,1,3,7,16,21,2,24,0,18,21,2,26,21,2,7,21,2,78,8,7,7,3,0,21,2,67,16,17,25,21,1,9,21,1,7,21,2,73,21,0,4,17,7,22,0,5,11,14,21,0,1,21,2,45,21,0,5,7,21,2,2,21,2,5,0,18,21,0,1,21,2,8,21,0,5,8,7,8,21,2,1,21,2,5,0,18,21,2,1,21,0,5,21,0,2,19,7,8,21,1,8,3,4,21,2,0,21,2,48,21,2,6,21,2,13,8,21,2,71,21,0,4,21,2,63,0,21,17,19,21,2,65,0,21,21,2,71,21,0,4,17,21,2,64,21,1,7,17,19,21,2,77,0,23,19,21,2,24,21,2,73,21,2,7,0,23,21,2,8,21,2,66,8,8,7,9,8,21,0,2,17,25,21,0,1,21,2,49,16,21,2,28,21,0,2,0,17,16,17,22,0,3,11,14,21,0,1,21,2,25,21,0,2,17,22,0,4,11,21,2,24,21,2,66,7,16,22,0,5,11,14,21,0,3,21,2,24,21,2,66,7,16,0,17,16,0,18,21,2,1,21,2,66,21,0,5,19,21,2,73,21,0,5,0,17,16,21,2,78,21,0,4,17,19,21,2,5,0,18,21,0,1,21,2,78,16,21,2,8,0,16,8,7,8,7,16,21,2,78,21,0,3,17,25,21,0,2,21,2,70,21,1,4,17,25,21,1,3,21,2,73,22,1,4,13,14,21,0,1,21,2,73,0,22,17,25,21,0,1,14,21,1,6,0,16,21,1,7,17,21,2,1,0,22,21,2,73,21,1,7,17,22,1,7,12,17,25,21,0,1,21,2,78,16,21,1,3,16,0,18,21,0,1,21,2,49,16,21,2,90,16,21,2,78,16,21,2,8,21,2,28,8,7,16,25,21,0,1,21,2,69,21,2,6,21,2,74,8,21,0,2,17,21,2,66,16,22,0,3,11,14,21,0,1,21,2,69,21,2,6,21,2,62,8,21,0,2,17,22,0,4,11,14,21,0,1,15,159,1,21,2,7,21,2,69,21,2,73,21,0,4,21,2,90,16,21,2,73,0,22,17,21,2,74,16,19,8,21,2,6,15,160,1,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,161,1,21,1,7,3,2,21,2,0,21,2,70,21,2,7,21,1,6,8,8,22,0,5,11,14,0,21,21,0,5,16,25,15,162,1,22,0,3,11,14,0,27,21,0,3,0,22,21,2,73,21,0,1,17,17,21,2,73,0,22,17,25,21,0,2,21,2,101,21,0,1,21,2,8,21,1,13,8,7,16,25,21,0,2,21,2,70,16,21,2,4,21,2,74,7,0,22,17,22,0,3,11,14,21,0,3,21,2,72,0,21,17,0,5,0,92,17,14,21,0,1,21,2,15,16,21,2,1,21,2,5,21,0,3,21,2,104,0,21,8,8,21,2,1,21,0,3,21,2,104,21,2,67,8,3,2,21,2,0,21,0,3,21,2,67,0,21,17,8,21,2,6,0,18,21,2,49,7,8,21,1,3,9,3,2,21,2,0,21,0,2,21,2,69,16,21,2,67,0,21,17,8,15,163,1,3,2,21,2,0,21,2,78,21,2,5,21,2,69,8,21,2,67,0,26,19,21,2,6,21,2,64,8,8,21,0,2,17,25,21,0,1,25,21,0,1,21,2,10,16,0,5,0,102,17,14,21,0,1,21,2,62,21,1,8,17,22,1,8,12,14,21,0,1,21,2,63,21,1,7,17,22,1,7,12,25,21,0,1,21,2,73,0,21,17,21,2,90,16,21,2,113,21,1,9,3,1,17,0,19,21,2,2,21,2,5,21,0,4,8,7,16,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,21,22,0,5,11,22,0,6,11,22,0,7,11,14,0,25,22,0,8,11,14,21,0,1,0,22,0,12,21,2,7,17,0,7,0,22,17,21,3,9,0,18,0,8,21,3,7,21,2,7,8,7,8,16,21,3,8,0,16,8,21,3,6,21,1,5,8,22,0,9,11,14,21,0,9,0,21,0,22,0,23,3,4,22,0,10,11,14,0,6,15,164,1,3,2,0,16,21,0,3,0,13,0,26,17,17,22,0,11,11,14,15,165,1,22,0,12,11,14,15,166,1,15,167,1,21,0,12,3,3,21,3,0,15,168,1,8,22,0,13,11,14,21,0,1,0,18,21,0,1,21,3,8,15,169,1,8,7,16,25,21,1,6,21,1,7,0,12,21,0,1,17,21,3,9,15,170,1,8,16,25,21,0,1,22,2,4,12,21,3,4,0,16,7,21,2,6,17,22,2,5,12,14,0,27,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,26,21,0,1,21,3,22,16,0,7,21,0,2,17,0,17,21,3,5,0,18,0,22,7,8,16,17,25,21,0,1,0,18,0,6,7,21,0,2,0,18,21,0,4,21,3,8,0,8,8,7,16,17,25,21,0,1,0,22,21,3,8,0,12,8,0,7,0,22,19,21,3,9,21,1,5,21,0,2,7,21,3,7,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,22,22,1,7,12,14,21,0,1,21,3,22,16,25,21,0,2,0,8,22,1,7,13,14,21,0,2,25,0,22,22,1,9,12,25,21,1,3,0,7,21,1,4,21,3,22,16,17,0,17,16,0,18,0,6,21,3,7,21,1,3,8,21,3,4,0,16,7,21,1,4,19,7,16,22,0,3,11,21,3,26,22,1,10,13,14,21,0,3,21,3,24,0,8,7,21,1,7,17,0,12,21,3,7,0,22,8,0,7,0,22,19,21,3,9,15,171,1,8,16,14,21,0,1,0,15,16,21,3,8,0,16,8,22,0,4,11,14,21,1,9,21,3,1,21,3,9,15,172,1,8,16,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,7,21,0,1,8,21,3,4,0,16,7,21,1,3,19,7,16,25,21,0,1,0,17,16,0,18,0,8,21,3,7,21,0,2,8,7,16,25,21,0,1,0,22,0,7,21,1,3,17,21,3,17,21,0,2,17,21,3,9,21,3,56,21,0,0,21,3,7,21,0,2,0,6,0,22,17,8,7,8,16,21,2,3,21,0,2,21,1,4,16,17,25,21,2,7,21,3,74,21,0,1,17,0,17,16,0,18,21,2,6,0,1,16,7,16,21,3,26,22,2,6,13,14,21,2,7,25,21,0,1,21,3,61,21,2,7,17,0,18,21,2,6,21,3,8,0,16,8,7,16,25,21,0,2,0,18,21,0,1,21,3,8,0,16,8,7,16,25,21,0,1,21,3,70,21,0,2,17,0,19,21,3,64,7,16,21,3,24,21,3,73,7,16,22,0,3,11,14,21,0,3,21,3,90,16,0,18,21,0,2,21,3,8,0,16,8,7,16,21,3,24,21,3,66,7,16,22,0,4,11,14,21,0,3,21,3,68,21,3,7,21,1,4,8,21,3,9,21,0,2,21,0,1,3,2,21,3,8,21,3,45,0,16,7,8,21,3,5,15,173,1,8,8,16,14,21,0,4,25,21,1,4,21,3,73,21,3,7,21,0,1,8,21,3,6,21,2,5,8,21,1,3,17,21,3,70,21,3,7,0,21,8,21,3,9,21,0,1,21,3,73,0,22,17,21,3,5,21,1,5,8,8,16,25,21,0,1,0,22,21,3,8,21,3,68,8,21,3,9,15,174,1,8,21,0,2,17,25,21,0,2,21,3,106,16,21,3,91,16,22,0,3,11,14,21,0,1,21,3,105,21,0,2,21,3,28,21,0,3,17,17,21,3,4,21,3,74,7,0,22,17,21,3,63,0,21,17,21,3,4,21,3,28,7,21,0,3,17,22,0,4,11,14,21,0,1,21,1,3,21,3,104,21,3,48,8,21,0,2,21,3,28,21,0,4,17,17,21,2,2,21,3,9,21,3,66,21,3,7,21,3,74,21,3,7,21,0,4,8,8,21,3,73,21,3,2,19,8,21,0,2,21,3,69,16,17,25,21,0,1,21,1,8,0,7,0,22,17,21,4,9,21,1,9,0,7,0,22,19,21,4,9,15,175,1,8,8,0,22,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,22,17,22,1,4,12,0,12,21,1,6,17,0,8,0,23,17,0,6,22,1,8,13,14,21,0,2,25,21,0,1,0,6,0,22,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,0,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,22,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,21,0,1,0,17,16,21,2,5,21,0,1,7,22,2,6,13,25,21,4,3,21,0,1,0,1,16,7,21,1,4,3,2,21,4,0,0,13,21,4,7,0,21,8,8,22,1,4,12,25,21,0,1,21,4,24,21,4,74,7,16,21,4,66,16,22,2,3,12,14,21,0,1,21,4,24,21,4,62,7,16,21,4,66,21,1,4,17,22,1,4,12,25,0,23,21,4,58,21,0,2,17,21,4,62,16,22,0,3,11,21,4,73,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,61,0,23,17,21,4,66,21,0,5,17,21,4,73,21,0,3,17,17,25,21,0,1,14,0,23,22,2,8,12,14,21,2,4,22,2,7,12,14,21,0,1,22,2,4,12,25])
- ,provide.concat([0,1,2,32,3,8,-1,-Infinity,Infinity,4,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 be an array"),str("π•¨βŠπ•©: Indices in 𝕨 must be integers"),str("π•¨βŠπ•©: Indices out of range"),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("βˆΎπ•©: 𝕩 must be an array"),str("𝕨"),str("𝕩: 𝕨 must "),str("have rank at most 1"),str("consist of integers"),str("↑"),str("↓"),str("𝕨↕𝕩: 𝕩 must be an array"),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("Β΄: Identity not found"),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("˝: 𝕩 must have rank at least 1"),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 components of 𝕨 must be compatible with 𝕩"),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("βˆŠπ•© 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("⁼: Inverse failed"),str("⁼: Inverse does not exist"),str("⁼: Inverse not found"),str("⍟: Repetition numbers in 𝕨 must be integers")])
- ,[[0,1,0,148],[2,0,3162,6],[0,0,3189,3],[0,0,3193,3],[0,0,3197,3],[1,0,3201,5],[1,0,3209,5],[2,0,3227,6],[2,0,3242,6],[2,0,3261,6],[2,0,3283,6],[2,0,3305,6],[0,0,3337,3],[0,0,3343,3],[0,0,3352,3],[0,0,3358,3],[0,0,3369,3],[0,0,3378,3],[1,0,3387,9],[0,0,3500,3],[0,0,3540,4],[0,0,3616,5],[0,0,3691,3],[1,1,3708,4],[1,1,3781,3],[0,0,3845,3],[0,0,3856,5],[2,0,3940,12],[0,0,4146,4],[0,0,4195,6],[0,0,4285,7],[0,0,4414,4],[0,0,4475,4],[0,0,4577,3],[0,0,4630,4],[1,1,4691,2],[0,0,4724,4],[2,0,4865,16],[1,1,5095,2],[0,0,5119,3],[0,0,5146,3],[0,0,5172,3],[0,0,5211,4],[0,0,5308,3],[0,0,5337,7],[0,0,5384,14],[1,1,5618,8],[1,0,5671,6],[1,1,5779,2],[0,0,5837,4],[1,1,5910,2],[2,1,5920,4],[0,0,5956,3],[0,0,5983,3],[0,0,6005,3],[0,0,6027,3],[0,0,6056,9],[0,0,6207,5],[1,1,6240,2],[2,0,6309,10],[2,0,6369,8],[1,0,6563,5],[0,0,6605,8],[0,0,6841,5],[0,0,6909,3],[1,0,6943,8],[0,0,7043,4],[0,0,7127,6],[0,0,7458,4],[0,0,7671,3],[0,0,7689,4],[1,0,7762,9],[1,1,7832,3],[1,0,7857,14],[1,1,8292,4],[1,0,8342,6],[0,0,8481,4],[0,0,8549,3],[0,0,8605,3],[0,0,8665,3],[0,0,8739,3],[0,0,8794,4],[0,0,8923,4],[0,0,9044,3],[2,0,9085,6],[2,0,9115,7],[0,0,9157,6],[0,0,9311,3],[0,0,9384,3],[0,0,9424,5],[0,0,9574,3],[0,0,9625,3],[0,0,9653,3],[0,0,9743,3],[1,1,9802,2],[2,0,9811,13],[1,1,9967,2],[1,1,9981,2],[1,1,9985,2],[0,0,9989,3],[0,0,10001,3],[0,0,10024,3],[1,0,10045,6],[1,0,10162,11],[1,0,10383,5],[0,0,10398,3],[0,0,10413,3],[0,0,10428,3],[1,0,10473,8],[0,0,10612,8],[0,0,10780,3],[0,0,10806,3],[0,0,10812,4],[0,0,10861,3],[0,0,10871,3],[1,0,10916,7],[0,0,10943,9],[1,0,11229,5],[0,0,11245,7],[0,0,11412,11],[0,0,11654,8],[0,0,11968,3],[0,0,11996,5],[1,0,12092,5],[0,0,12103,8],[0,0,12360,3],[0,0,12401,3],[0,0,12421,3],[1,0,12475,6],[0,0,12628,6],[0,0,12750,3],[0,0,12761,3],[0,0,12782,3],[0,0,12813,3],[0,0,12851,6],[0,0,12958,6],[0,0,13008,4],[0,0,13038,3],[0,0,13057,4],[1,1,13215,2],[0,0,13219,3],[1,0,13262,5],[1,0,13299,5],[1,0,13310,5],[0,0,13321,14],[0,0,13497,3],[0,0,13518,3],[0,0,13547,4],[0,0,13570,3],[1,0,13603,5],[0,0,13629,3],[0,0,13699,3],[0,1,13713,0],[0,0,13720,5],[0,0,13855,3],[0,0,13885,3],[0,0,13905,3],[0,0,13959,3],[0,0,13994,3],[0,0,14018,3],[0,0,14035,5],[0,0,14146,3],[0,0,14201,3],[0,0,14225,5],[0,0,14354,3],[0,0,14394,3],[0,0,14477,3],[0,0,14511,3],[0,0,14540,3],[0,0,14558,3],[0,0,14575,3],[0,0,14604,3],[0,0,14622,3],[0,0,14654,3],[0,0,14697,6],[0,0,14776,3]]
+ new Uint8Array([15,1,22,0,0,11,14,15,2,22,0,1,11,14,15,3,0,20,15,4,8,22,0,2,11,14,15,5,22,0,3,11,14,15,6,22,0,4,11,14,15,7,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,0,12,21,0,7,0,11,8,0,21,3,2,21,0,0,0,0,8,22,0,10,11,14,0,12,21,0,7,0,11,8,0,8,0,13,21,0,7,0,21,8,19,0,21,3,2,21,0,0,0,0,8,22,0,11,11,14,15,12,0,15,3,2,21,0,0,0,0,8,22,0,12,11,14,15,13,0,20,15,14,8,22,0,13,11,14,15,15,22,0,14,11,14,0,0,0,7,0,22,19,21,0,9,21,0,14,8,22,0,15,11,14,21,0,4,0,13,7,22,0,16,11,14,21,0,16,0,7,0,22,19,0,20,21,0,14,8,22,0,17,11,14,0,13,0,7,0,22,19,22,0,18,11,14,15,16,0,16,21,0,18,19,0,20,0,11,8,22,0,19,11,14,15,17,0,16,21,0,17,19,0,20,0,7,21,0,5,21,0,19,21,0,5,0,7,8,8,8,22,0,20,11,14,0,7,21,0,1,3,2,21,0,0,0,13,21,0,7,0,21,8,8,22,0,21,11,14,0,22,0,14,0,16,0,21,19,3,2,21,0,0,0,12,21,0,17,0,21,19,8,22,0,22,11,14,15,18,22,0,23,11,14,21,0,23,22,0,24,11,14,0,14,21,0,8,15,19,8,22,0,25,11,14,15,20,22,0,26,11,14,15,21,15,22,3,2,21,0,0,21,0,1,21,0,5,0,12,8,0,12,0,22,19,8,22,0,27,11,14,21,0,27,22,0,28,11,14,15,23,22,0,29,11,14,15,24,22,0,30,11,14,0,13,0,7,21,0,16,19,22,0,31,11,14,0,22,0,15,0,16,0,21,19,21,0,8,0,13,0,8,0,23,19,0,7,0,22,19,15,25,3,2,21,0,0,21,0,1,21,0,5,0,0,8,8,8,3,2,21,0,0,21,0,1,21,0,5,0,14,8,21,0,24,0,8,7,0,22,19,21,0,17,0,21,19,8,22,0,32,11,14,21,0,31,21,0,32,21,0,4,21,0,32,7,0,7,9,3,2,21,0,0,21,0,2,21,0,5,0,0,8,8,15,26,3,3,21,0,0,0,0,21,0,6,0,6,8,8,22,0,33,11,14,15,27,22,0,34,11,14,15,28,22,0,35,11,14,0,12,21,0,17,0,21,19,21,0,9,15,29,8,22,0,36,11,14,0,12,21,0,17,0,21,19,21,0,9,15,30,8,22,0,37,11,14,15,31,22,0,38,11,14,15,32,22,0,39,11,14,15,33,22,0,40,11,14,15,34,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,0,0,21,0,6,0,12,8,0,21,3,2,21,0,1,21,0,5,0,0,8,0,12,3,2,0,12,21,0,6,0,12,8,0,21,3,2,0,14,21,0,6,21,0,45,0,12,7,8,21,0,24,0,8,7,0,22,19,0,21,3,2,15,39,3,5,21,0,24,15,40,7,16,22,0,46,11,14,0,21,15,41,3,2,21,0,0,0,0,8,22,0,47,11,14,21,0,46,0,20,21,0,47,8,22,0,48,11,14,21,0,46,0,7,0,22,19,0,20,3,0,0,14,3,2,21,0,0,0,0,8,8,22,0,49,11,14,0,0,21,0,9,0,15,21,0,5,21,0,22,8,21,0,17,0,21,19,21,0,9,15,42,8,8,22,0,50,11,14,15,43,21,0,9,15,44,15,45,3,2,21,0,0,0,22,0,18,0,12,0,12,0,22,19,7,21,0,24,0,8,7,0,22,19,0,7,0,22,19,3,2,21,0,0,0,12,0,12,0,22,19,8,8,8,22,0,51,11,14,15,46,22,0,52,11,14,21,0,52,0,54,21,0,21,21,0,8,0,12,8,0,7,0,22,19,15,47,3,3,7,22,0,53,11,14,21,0,52,0,55,0,12,21,0,7,0,21,8,0,7,0,22,19,15,48,3,3,7,22,0,54,11,14,15,49,22,0,55,11,14,15,50,22,0,56,11,14,15,51,22,0,57,11,14,15,52,22,0,58,11,14,15,53,22,0,59,11,14,15,54,22,0,60,11,14,15,55,22,0,61,11,14,21,0,30,0,9,7,22,0,62,11,14,21,0,30,0,10,7,22,0,63,11,14,21,0,4,21,0,62,21,0,8,21,0,63,8,7,0,20,0,23,21,0,62,16,21,0,8,21,0,63,8,8,22,0,64,11,14,21,0,30,15,56,0,20,21,0,21,8,7,22,0,65,11,14,21,0,30,15,57,0,20,21,0,19,8,7,22,0,66,11,14,21,0,30,15,58,0,20,0,7,21,0,5,21,0,66,21,0,5,0,7,8,8,8,7,22,0,67,11,14,21,0,30,0,8,7,0,20,21,0,42,0,21,7,8,22,0,68,11,14,21,0,30,0,8,0,7,0,6,19,7,0,20,21,0,42,0,22,7,8,22,0,69,11,14,21,0,30,0,8,0,20,21,0,18,0,7,21,0,17,19,21,0,7,0,21,8,8,7,22,0,70,11,14,21,0,30,21,0,16,0,7,0,22,19,7,0,20,21,0,14,8,22,0,71,11,14,21,0,30,0,13,0,7,0,22,19,7,0,20,21,0,50,8,22,0,72,11,14,21,0,30,0,12,0,7,0,22,19,7,0,20,21,0,22,8,22,0,73,11,14,21,0,30,0,12,7,0,20,0,12,8,22,0,74,11,14,21,0,30,21,0,16,7,0,20,21,0,3,0,21,7,0,5,0,68,19,8,22,0,75,11,14,21,0,30,0,13,7,0,20,21,0,3,0,21,7,0,5,0,69,19,8,22,0,76,11,14,21,0,30,0,6,7,22,0,77,11,14,21,0,30,0,7,7,22,0,78,11,14,21,0,78,21,0,77,0,22,19,22,0,79,11,14,21,0,77,0,21,3,2,21,0,78,0,21,3,2,21,0,70,0,22,3,2,21,0,62,0,22,3,2,21,0,63,0,22,3,2,21,0,64,0,22,3,2,21,0,68,0,22,3,2,21,0,69,0,21,3,2,21,0,79,0,22,3,2,21,0,65,0,21,3,2,21,0,66,0,29,3,2,21,0,67,0,28,3,2,21,0,71,0,21,3,2,21,0,76,0,22,3,2,21,0,74,0,22,3,2,21,0,75,0,22,3,2,21,0,72,0,21,3,2,21,0,73,0,21,3,2,3,18,21,0,24,15,59,7,21,0,4,0,21,7,0,5,0,70,19,3,1,0,16,0,21,17,17,22,0,80,11,14,15,60,22,0,81,11,14,0,15,0,20,21,0,12,8,22,0,82,11,14,15,61,22,0,83,11,14,15,62,22,0,84,11,14,15,63,22,0,85,11,14,15,64,22,0,86,11,14,15,65,22,0,87,11,14,21,0,87,22,0,88,11,14,21,0,82,21,0,6,21,0,26,8,15,66,3,2,21,0,0,21,0,74,21,0,71,0,22,19,21,0,6,21,0,69,8,8,22,0,89,11,14,21,0,28,21,0,7,21,0,35,8,22,0,90,11,14,21,0,73,21,0,74,0,21,19,21,0,78,0,22,19,21,0,61,15,67,15,68,3,2,21,0,0,21,0,2,21,0,5,0,0,8,8,8,22,0,91,11,14,21,0,53,0,20,21,0,40,8,22,0,92,11,14,21,0,54,0,20,21,0,41,8,22,0,93,11,14,21,0,59,0,20,21,0,83,8,22,0,94,11,14,0,21,21,0,61,21,0,39,8,0,20,21,0,38,8,22,0,95,11,14,21,0,91,0,20,21,0,35,8,22,0,96,11,14,21,0,56,0,20,21,0,56,21,0,7,21,0,58,8,8,22,0,97,11,14,21,0,57,0,20,21,0,57,21,0,7,21,0,58,8,8,22,0,98,11,14,15,69,22,0,99,11,14,15,70,22,0,100,11,14,15,71,22,0,101,11,14,15,72,22,0,102,11,14,21,0,102,15,73,3,2,21,0,0,21,0,2,21,0,5,21,0,82,21,0,5,0,18,0,0,7,8,8,21,0,24,21,0,69,7,9,8,22,0,103,11,14,21,0,103,21,0,7,21,0,82,21,0,1,3,2,21,0,0,0,0,8,8,22,0,104,11,14,15,74,22,0,105,11,14,15,75,22,0,106,11,14,15,76,22,0,107,11,14,15,77,22,0,108,11,14,21,0,85,22,0,109,11,14,21,0,86,22,0,110,11,14,21,0,108,21,0,33,7,0,20,0,21,21,0,34,21,0,33,8,8,22,0,111,11,14,21,0,108,21,0,4,21,0,33,7,7,0,20,0,22,21,0,34,21,0,4,21,0,33,7,8,8,22,0,112,11,14,15,78,22,0,113,11,14,0,4,21,0,7,21,0,45,0,22,7,8,22,0,114,11,14,15,79,22,0,115,11,14,21,0,115,21,0,1,21,0,5,0,19,21,0,77,7,8,21,0,4,21,0,78,7,0,22,19,21,0,4,21,0,28,7,21,0,4,21,0,96,21,0,5,21,0,111,21,0,5,21,0,114,8,8,7,19,7,22,0,116,11,14,15,80,22,0,117,11,14,21,0,13,21,0,5,21,0,72,8,22,0,118,11,14,21,0,89,0,20,21,0,51,8,22,0,119,11,14,21,0,101,0,20,21,0,100,8,22,0,120,11,14,21,0,113,0,22,7,0,20,21,0,116,8,22,0,121,11,14,21,0,4,21,0,113,0,21,7,7,0,20,21,0,115,21,0,1,7,8,22,0,122,11,14,15,81,22,0,123,11,14,15,82,22,0,124,11,14,15,83,22,0,125,11,14,15,84,22,0,126,11,14,21,0,125,0,20,21,0,36,8,22,0,127,11,14,21,0,111,21,0,5,21,0,111,8,21,0,28,21,0,78,21,0,1,19,21,0,4,21,0,121,7,19,22,0,128,1,11,14,15,85,22,0,129,1,11,14,0,22,21,0,61,21,0,43,8,21,0,7,21,0,15,8,0,20,21,0,27,21,0,7,0,21,21,0,71,16,8,8,22,0,130,1,11,14,21,0,104,0,20,21,0,82,0,16,0,21,19,8,22,0,131,1,11,14,15,86,22,0,132,1,11,14,0,5,21,0,7,0,103,8,22,0,133,1,11,14,0,5,21,0,7,0,104,8,22,0,134,1,11,14,15,87,22,0,135,1,11,14,15,88,22,0,136,1,11,14,15,89,22,0,137,1,11,14,21,0,77,21,0,4,21,0,78,7,0,20,21,0,77,8,21,0,78,21,0,78,21,0,70,21,0,4,21,0,62,7,0,20,21,0,1,8,21,0,62,21,0,62,21,0,63,21,0,30,0,2,7,21,0,64,21,0,4,21,0,63,7,0,20,21,0,4,21,0,70,7,8,21,0,68,21,0,4,21,0,62,7,0,20,21,0,68,21,0,135,1,21,0,1,8,8,21,0,69,21,0,2,21,0,78,0,22,19,21,0,62,21,0,4,21,0,78,7,19,0,20,21,0,69,21,0,135,1,21,0,1,8,8,21,0,79,21,0,79,21,0,71,0,21,21,0,5,21,0,133,1,8,0,20,15,90,8,21,0,1,21,0,1,21,0,2,21,0,48,21,0,5,21,0,134,1,8,21,0,2,21,0,1,19,0,20,21,0,1,8,21,0,119,15,91,0,20,0,21,21,0,5,21,0,133,1,8,8,21,0,118,15,92,0,20,15,93,8,21,0,92,0,21,21,0,5,21,0,133,1,8,0,20,21,0,92,21,0,135,1,21,0,131,1,21,0,7,0,27,8,8,8,21,0,93,0,21,21,0,5,21,0,133,1,8,0,20,21,0,93,21,0,135,1,21,0,131,1,8,8,21,0,94,0,21,21,0,5,21,0,133,1,8,0,20,21,0,94,21,0,135,1,21,0,49,8,8,21,0,95,21,0,95,21,0,7,21,0,78,8,0,20,21,0,95,8,21,0,127,21,0,126,0,20,21,0,37,8,21,0,96,0,21,21,0,5,21,0,133,1,8,0,20,15,94,8,21,0,120,21,0,137,1,0,20,21,0,136,1,8,3,42,21,0,82,21,0,7,21,0,73,21,0,4,21,0,62,7,0,23,19,21,0,4,21,0,119,7,0,23,19,8,16,21,0,127,16,15,95,16,22,0,138,1,11,14,15,96,22,0,139,1,11,14,15,97,22,0,140,1,11,14,21,0,71,21,0,121,21,0,5,21,0,131,1,8,21,0,5,21,0,66,21,0,95,21,0,92,3,4,19,22,0,141,1,11,14,21,0,140,1,22,0,142,1,11,14,21,0,81,0,20,21,0,12,8,22,0,143,1,11,14,15,98,22,0,144,1,11,14,21,0,44,22,0,145,1,11,14,21,0,129,1,0,20,21,0,128,1,8,22,0,146,1,11,14,21,0,117,0,20,21,0,96,21,0,7,21,0,122,8,8,22,0,147,1,11,14,21,0,77,21,0,78,21,0,70,21,0,62,21,0,63,21,0,64,21,0,66,21,0,67,21,0,65,21,0,79,21,0,68,21,0,69,21,0,71,21,0,72,21,0,73,21,0,74,21,0,76,21,0,75,21,0,48,21,0,49,21,0,2,21,0,1,21,0,143,1,21,0,119,21,0,118,21,0,92,21,0,93,21,0,94,21,0,98,21,0,97,21,0,95,21,0,127,21,0,96,21,0,111,21,0,112,21,0,130,1,21,0,131,1,21,0,121,21,0,146,1,21,0,122,21,0,147,1,21,0,120,0,5,21,0,3,21,0,4,21,0,60,21,0,45,21,0,144,1,21,0,139,1,21,0,24,21,0,88,0,19,21,0,5,21,0,6,21,0,7,21,0,8,21,0,145,1,0,20,21,0,132,1,21,0,110,21,0,109,21,0,142,1,3,62,25,21,0,1,15,99,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,2,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,2,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,2,21,0,2,17,17,25,21,0,1,15,100,21,1,1,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,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,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,22,17,0,5,0,31,17,14,21,0,1,22,0,5,11,21,1,22,16,22,0,6,11,14,21,0,4,22,0,7,11,14,21,0,1,21,1,2,0,20,15,101,15,102,3,2,21,1,0,21,0,6,21,1,17,0,21,17,8,8,21,0,2,17,22,0,8,11,14,21,0,6,0,17,16,0,18,0,7,21,1,7,0,22,0,7,21,0,6,17,8,7,16,0,18,15,103,7,16,14,21,0,8,25,21,0,2,0,7,21,0,1,21,1,22,16,17,0,17,16,0,18,21,1,3,21,0,1,7,0,16,0,6,21,1,7,21,0,2,8,19,7,16,25,21,0,2,21,1,22,16,22,0,3,11,14,21,0,1,21,1,22,16,0,6,21,0,3,17,0,17,16,0,18,21,0,2,21,1,8,0,16,8,21,1,4,21,0,1,7,0,16,21,0,3,21,1,8,0,7,8,19,3,2,21,1,0,0,13,21,1,7,21,0,3,8,8,7,16,25,21,0,1,21,1,25,0,22,17,22,0,3,11,21,1,24,0,8,7,0,22,17,22,0,4,11,14,21,0,4,0,17,16,0,15,21,0,3,17,0,18,0,6,21,1,7,0,8,21,1,7,21,0,4,8,8,21,1,4,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,8,0,16,8,7,16,25,15,104,22,0,2,11,14,15,105,22,0,3,11,14,21,0,3,21,0,1,7,21,1,4,21,0,3,21,1,4,21,0,1,7,7,7,3,2,21,1,0,0,12,21,1,6,21,1,18,8,8,21,0,2,21,0,1,7,3,2,21,1,0,0,12,21,1,6,0,12,8,8,25,15,106,21,0,1,7,22,0,2,11,14,21,0,1,15,107,15,108,3,2,21,1,0,0,0,21,1,6,21,1,18,8,8,0,20,0,18,21,0,2,7,8,21,1,29,21,0,2,7,3,3,21,1,0,0,0,21,1,6,0,6,8,8,25,21,0,1,21,1,32,21,0,2,17,25,21,0,1,0,14,21,1,6,21,1,105,8,21,0,2,17,22,0,3,11,14,21,0,3,21,1,24,21,1,106,21,0,1,0,15,16,21,1,8,0,16,8,21,1,8,21,1,33,21,1,7,21,0,2,0,15,16,21,1,8,0,16,8,8,8,7,7,16,22,0,4,11,14,0,21,21,1,4,21,0,4,7,16,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,34,17,14,21,0,1,21,1,22,16,22,0,6,11,14,21,0,1,21,1,25,0,22,17,21,1,24,0,8,7,0,22,17,22,0,7,11,14,21,0,1,0,15,16,22,0,8,11,14,0,21,22,0,9,11,22,0,10,11,14,21,0,8,0,21,0,18,21,1,10,7,21,1,24,0,8,7,0,22,19,3,2,21,1,0,21,0,6,21,1,17,0,24,17,0,8,0,22,0,12,21,0,7,17,17,8,16,21,1,1,21,1,9,21,0,1,21,1,8,15,109,8,8,16,0,7,0,22,17,22,0,11,11,14,21,0,1,0,18,21,0,10,21,1,8,0,7,8,0,7,21,1,7,21,0,9,8,3,2,0,16,21,0,5,17,7,0,4,21,1,7,0,3,8,9,15,110,21,0,4,7,3,2,21,1,0,21,0,11,8,16,25,21,0,1,0,12,16,0,12,0,22,17,0,5,0,35,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,1,21,0,3,21,1,17,0,21,17,21,1,9,15,111,8,16,25,21,0,1,21,1,22,16,22,0,3,11,14,21,0,1,21,1,25,0,22,17,22,0,4,11,21,1,24,0,8,7,0,22,17,22,0,5,11,14,21,0,3,0,17,16,0,18,21,1,3,21,0,1,0,15,16,7,0,16,0,8,21,1,7,21,0,5,8,21,1,8,0,6,8,19,7,21,0,5,0,17,16,0,15,21,0,4,17,17,25,21,0,1,0,12,16,21,1,4,0,7,7,0,22,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,8,0,16,8,7,16,22,0,6,11,14,21,0,6,21,1,24,0,8,7,0,22,17,0,17,16,0,15,21,0,6,17,0,18,21,1,3,21,0,1,0,15,16,7,0,16,0,8,21,1,7,21,0,5,8,21,1,8,0,6,8,19,7,21,0,5,0,17,16,17,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,37,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,1,21,1,28,21,0,3,0,17,16,0,18,0,7,21,1,7,0,22,0,7,21,0,3,17,8,7,16,17,25,21,0,2,21,1,10,16,0,5,0,38,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,3,0,9,21,0,2,17,21,1,19,16,0,8,21,0,3,17,0,7,22,0,2,13,14,21,0,1,21,1,28,21,0,3,0,17,16,0,18,21,1,1,0,13,21,0,2,0,7,21,0,3,17,19,0,8,21,0,3,19,0,7,21,1,1,19,0,6,21,0,2,19,7,16,17,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,39,17,14,21,0,1,21,1,22,16,0,6,0,22,17,0,17,16,0,18,21,0,1,21,1,8,21,1,28,21,1,7,0,17,8,8,7,16,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,40,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,3,0,6,0,22,17,0,17,16,0,18,21,0,1,21,1,8,21,1,28,21,1,7,15,112,8,8,7,16,25,21,1,28,21,1,7,21,0,1,21,1,34,21,1,33,21,1,4,21,1,33,7,3,2,0,16,21,0,1,17,8,8,25,21,0,2,0,0,16,0,5,0,41,17,14,21,0,2,0,18,21,1,10,7,16,0,15,16,21,1,24,0,8,7,0,22,17,0,5,0,42,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,2,0,18,21,1,18,21,1,7,21,0,3,8,0,8,0,13,21,1,7,21,0,3,0,7,16,8,19,7,16,0,15,16,21,1,24,0,8,7,0,22,17,0,5,0,43,17,14,21,0,1,21,1,28,21,1,7,0,18,21,1,1,21,1,18,0,21,19,0,8,21,0,3,19,0,6,21,1,1,19,7,8,21,0,2,17,25,21,0,1,0,14,16,22,0,6,11,21,1,24,0,8,7,0,22,17,22,0,7,11,0,17,16,22,0,8,11,14,21,0,1,21,0,5,21,1,6,21,0,4,8,21,0,2,17,22,0,9,11,14,21,0,8,0,15,21,0,6,17,21,0,5,16,22,0,10,11,14,15,113,0,15,3,2,0,16,21,0,10,0,0,16,17,22,0,11,11,14,21,0,9,21,0,11,16,22,0,9,12,14,21,0,10,21,0,11,16,22,0,10,12,14,21,0,10,0,21,21,1,34,21,1,31,8,16,22,0,12,11,14,21,1,4,21,0,10,7,0,16,21,0,12,21,1,8,0,16,8,19,21,0,7,3,2,21,1,0,0,13,21,1,7,21,0,12,21,1,22,16,8,8,22,0,13,11,14,0,21,22,0,14,11,21,0,13,16,22,0,15,11,14,21,0,8,0,18,21,0,1,0,15,16,21,1,8,0,16,8,15,114,3,2,21,1,0,15,115,8,7,16,0,15,21,0,6,17,25,21,1,15,21,1,6,21,1,29,21,0,1,7,0,20,0,18,21,0,1,7,8,8,25,21,0,1,21,1,45,21,1,46,7,21,0,2,17,0,15,16,21,1,24,0,8,7,0,22,17,25,21,0,2,0,16,0,22,17,21,0,1,3,2,21,1,0,21,0,2,0,16,0,21,17,8,25,21,0,1,0,15,16,0,18,21,1,47,7,16,21,1,24,0,7,0,8,0,13,19,0,7,21,1,2,19,7,0,21,17,0,6,0,22,17,25,21,0,1,0,15,16,0,16,0,21,17,21,1,49,16,22,0,3,11,14,21,0,1,0,15,16,0,18,21,1,49,21,1,48,21,0,3,19,7,16,21,1,24,0,8,7,0,22,17,0,5,0,44,17,14,21,0,3,21,1,24,0,8,7,0,22,17,0,17,16,0,15,21,0,3,17,0,18,21,1,4,21,1,12,21,1,8,0,16,8,7,7,21,0,1,17,25,21,0,1,0,0,16,0,5,0,49,17,14,21,0,1,0,15,16,21,1,22,16,21,1,17,0,21,17,25,0,27,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,22,7,16,21,1,35,16,0,18,15,116,7,16,25,21,0,1,0,15,16,22,0,3,11,21,1,22,16,22,0,4,11,14,21,0,3,0,18,21,1,49,7,16,22,0,5,11,14,21,0,5,0,16,0,21,17,21,1,22,16,22,0,6,11,14,21,0,1,0,12,16,22,0,7,11,14,21,0,5,0,18,21,1,22,0,12,21,0,6,19,7,16,21,1,24,0,8,7,0,22,17,0,5,0,45,17,14,21,0,7,21,1,16,21,0,6,17,0,5,0,46,17,14,15,117,22,0,8,11,14,21,0,1,21,1,49,16,22,0,9,11,14,0,22,22,0,10,11,14,0,21,21,1,17,16,22,0,11,11,22,0,12,11,14,21,0,7,0,17,16,21,1,45,15,118,7,21,0,9,21,1,38,16,21,0,8,0,8,7,0,22,17,21,1,38,16,17,14,21,1,45,15,119,21,0,3,0,18,0,15,7,16,7,7,22,0,13,11,14,21,0,11,21,0,13,15,120,3,2,21,1,0,21,0,6,21,1,17,21,0,7,17,8,21,0,12,17,25,21,0,1,22,0,2,22,0,3,22,0,4,4,3,11,14,0,51,21,1,26,21,0,2,17,21,1,26,0,50,17,22,0,5,11,14,0,52,22,0,6,11,14,0,53,22,0,7,11,14,15,121,25,21,0,1,21,1,21,16,22,0,5,11,21,1,17,21,1,7,21,0,2,8,21,1,9,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,8,0,6,8,7,0,18,0,21,21,1,8,21,1,17,8,21,1,9,0,28,8,7,9,0,18,0,13,21,1,7,21,0,2,8,21,1,9,0,28,8,7,3,2,21,1,0,21,0,1,21,1,17,0,21,17,8,16,25,21,0,1,14,0,6,21,1,20,0,21,19,0,17,9,0,7,21,1,20,0,21,19,0,17,9,0,18,0,6,7,21,1,1,21,1,5,21,1,17,8,19,3,2,21,1,0,21,1,17,21,1,7,0,21,8,8,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,56,17,14,21,0,2,0,12,21,1,6,0,7,8,21,0,1,17,22,0,3,11,14,21,0,3,0,13,0,21,17,0,5,0,57,17,14,21,0,3,21,1,16,0,22,17,0,5,0,58,17,14,21,0,1,21,1,25,0,22,17,22,0,4,11,14,21,0,4,21,1,22,16,0,17,16,0,18,21,1,3,21,0,2,21,1,49,16,7,0,16,21,0,3,0,7,0,22,17,21,1,8,0,6,8,19,0,12,21,0,4,21,1,8,0,16,8,19,7,16,21,1,24,0,8,7,0,22,17,0,5,0,59,17,14,21,0,4,21,1,24,0,8,7,0,22,17,25,21,0,1,21,1,55,21,0,2,17,22,0,3,11,14,21,0,2,0,22,21,1,22,3,2,21,1,0,21,1,1,0,12,21,1,6,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,22,16,0,8,21,0,3,17,0,17,16,0,18,21,0,2,21,1,12,16,21,1,8,0,16,8,21,1,3,21,0,1,0,15,16,7,0,16,21,0,4,21,1,8,0,7,8,19,3,2,21,1,0,0,13,21,1,7,21,0,4,8,8,7,16,0,15,21,0,1,21,1,49,16,17,25,21,0,1,21,1,55,21,0,2,17,22,0,3,11,14,21,0,1,21,1,22,16,0,8,21,0,3,17,22,0,4,11,14,21,0,2,0,22,21,1,22,3,2,21,1,0,21,1,1,0,12,21,1,6,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,3,21,0,1,0,15,16,7,0,16,21,0,5,21,1,8,0,6,8,19,21,1,3,21,0,2,21,1,12,16,7,0,16,21,0,6,21,1,8,0,7,8,19,3,2,21,1,0,0,13,21,1,7,21,0,6,8,8,7,16,0,15,21,0,1,21,1,49,16,17,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,56,17,14,21,0,1,21,1,25,0,22,17,21,1,1,21,1,24,0,8,7,0,22,19,0,17,9,21,1,8,0,15,8,16,0,18,21,0,1,0,1,16,7,16,25,21,0,1,0,0,16,0,5,0,60,17,14,21,0,2,0,12,16,21,1,16,0,22,17,0,5,0,61,17,14,21,0,2,21,1,12,16,22,0,2,12,21,1,22,16,22,0,3,11,14,21,0,1,21,0,3,21,1,17,0,21,17,21,1,9,15,122,8,21,0,2,17,25,0,27,21,1,86,21,0,1,8,25,21,0,1,22,0,3,11,14,15,123,15,124,3,2,21,1,0,21,1,2,21,1,5,21,1,48,21,1,17,21,0,2,19,8,8,25,21,0,2,21,1,62,21,0,1,17,21,1,19,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,18,21,0,2,17,17,25,21,0,2,21,0,1,3,2,0,16,21,0,1,21,1,17,21,0,2,17,17,25,21,0,1,21,0,2,0,16,0,22,17,3,2,21,1,0,15,125,21,0,2,0,16,0,21,17,7,8,25,21,0,2,21,1,74,16,21,1,75,0,22,17,0,5,0,71,17,14,21,0,2,21,1,12,16,22,0,3,11,14,21,0,3,0,18,21,1,11,7,16,21,1,79,16,22,0,4,11,21,1,24,21,1,77,7,16,22,0,5,11,14,21,0,5,21,1,75,0,22,17,0,5,0,72,17,14,21,0,1,21,1,12,16,22,0,6,11,21,1,73,16,22,0,7,11,14,21,0,3,21,1,24,21,1,70,7,15,126,3,2,21,1,0,21,0,5,8,16,22,0,8,11,14,21,0,6,21,0,7,21,1,73,21,0,8,17,21,1,9,15,127,8,16,0,15,21,0,3,17,25,15,128,1,22,0,3,11,14,15,129,1,22,0,4,11,14,21,0,1,21,0,3,21,0,4,3,2,21,1,0,0,0,8,16,25,21,0,1,21,1,5,21,1,82,8,21,1,1,21,1,5,21,1,71,8,21,1,45,0,16,7,21,1,73,21,1,8,21,1,4,21,1,65,21,1,77,0,22,19,21,1,78,21,1,2,19,7,8,19,0,22,0,21,3,2,0,20,0,23,3,1,8,19,25,21,0,1,21,1,84,21,0,5,7,21,0,2,17,22,0,6,11,21,1,72,0,21,17,22,0,7,11,14,21,0,4,22,0,8,11,14,15,130,1,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,84,21,0,5,7,21,1,45,21,1,78,21,1,8,21,1,66,8,21,1,78,21,1,67,0,21,19,3,2,21,1,0,21,1,1,21,1,76,0,21,19,8,7,21,1,74,21,1,6,21,1,13,8,19,21,0,2,17,22,0,6,11,14,15,131,1,22,0,7,11,14,21,1,1,21,1,71,9,21,0,7,21,1,1,0,18,21,1,71,7,9,3,3,21,1,0,21,1,74,21,1,8,21,1,75,8,21,1,77,0,22,19,21,1,70,0,21,21,1,8,21,1,72,8,19,8,22,0,7,12,14,21,0,1,21,0,7,21,0,6,0,16,21,1,7,21,1,73,21,1,4,21,1,78,7,0,22,19,8,16,17,21,1,45,21,0,4,7,21,0,2,21,0,7,21,0,6,0,16,0,21,17,17,17,21,1,72,16,25,21,0,1,21,1,74,16,21,1,76,0,22,17,0,5,0,78,17,14,21,0,1,21,1,60,21,1,71,7,16,21,1,24,21,0,4,7,21,0,2,17,25,21,0,1,21,1,49,21,1,6,21,1,13,8,21,0,2,17,22,0,3,11,14,21,0,3,0,18,21,1,73,7,16,22,0,4,11,21,1,24,21,1,67,7,0,22,17,22,0,5,11,14,21,0,4,21,1,78,21,0,5,17,21,1,75,0,22,17,21,1,24,21,1,68,7,16,0,5,0,79,17,14,21,0,3,21,1,45,21,1,28,21,1,7,0,22,21,1,78,21,0,5,17,0,17,16,21,1,8,21,1,77,8,8,7,21,0,5,21,1,79,21,0,4,17,17,22,0,6,11,14,21,0,6,21,1,24,21,1,48,7,16,0,5,0,80,17,14,21,0,3,21,1,45,0,22,21,1,1,0,16,0,21,19,3,2,21,1,0,21,1,2,8,7,21,0,4,21,1,74,21,0,5,17,17,21,1,24,21,1,77,7,16,22,0,7,11,14,21,0,1,21,1,82,21,1,6,21,1,26,8,21,0,2,17,21,1,82,21,0,6,0,16,0,21,17,21,1,26,21,0,7,3,1,17,17,25,21,0,2,21,1,11,16,0,5,0,36,17,14,21,0,2,22,0,3,11,22,0,4,11,14,21,0,1,21,1,28,21,0,1,21,1,73,16,21,1,70,21,0,3,17,0,17,16,0,19,21,1,4,15,132,1,21,1,9,15,133,1,8,7,7,16,17,25,21,0,1,21,1,73,21,1,6,21,1,74,8,21,0,2,17,0,5,0,81,17,14,21,0,1,21,1,90,21,0,2,17,25,21,0,1,0,18,21,1,10,7,16,21,1,24,21,1,68,7,16,0,5,0,82,17,14,21,0,1,21,1,76,0,27,17,21,1,24,21,1,68,7,16,0,5,0,83,17,14,21,0,1,0,4,21,0,1,0,3,16,22,0,5,11,17,22,0,6,11,14,0,21,22,0,7,11,14,21,0,5,0,18,21,1,94,21,1,5,0,18,15,134,1,7,8,21,0,4,9,7,16,25,21,0,1,21,1,74,16,21,1,74,0,22,17,0,5,0,84,17,14,21,1,99,21,1,1,7,22,0,3,11,14,21,0,1,21,0,3,0,18,15,135,1,7,21,1,24,0,18,0,18,21,1,26,7,7,7,3,0,21,1,71,16,21,1,71,16,19,3,2,21,1,0,21,1,48,21,1,71,0,22,19,8,16,25,21,0,1,0,0,16,0,5,0,85,17,14,21,0,2,21,1,48,21,1,72,0,23,19,21,1,9,21,1,15,21,1,5,21,1,13,8,8,16,22,0,2,12,14,21,0,2,21,1,74,16,21,1,74,0,22,17,0,5,0,86,17,14,21,0,2,0,18,21,1,74,7,16,21,1,24,21,1,77,7,16,22,0,3,11,14,21,0,1,21,1,74,16,21,1,76,21,0,3,17,0,5,0,87,17,14,21,0,1,21,1,49,16,21,1,92,21,0,3,17,21,1,74,21,0,2,0,18,21,1,49,7,16,21,1,51,16,17,21,1,24,21,1,68,7,16,0,5,0,88,17,14,21,0,2,0,18,21,1,82,7,16,22,0,2,12,0,18,21,1,73,7,16,22,0,4,11,14,21,0,1,21,1,25,21,0,3,17,21,1,26,21,0,4,21,1,24,21,1,70,7,16,3,1,17,21,1,4,21,1,82,7,21,0,1,17,21,1,8,21,1,28,8,22,0,5,11,14,21,0,2,0,16,21,1,7,0,21,8,21,1,99,21,0,5,7,9,0,18,21,1,99,21,1,1,7,7,21,1,70,21,0,4,21,1,93,0,22,17,21,1,95,16,21,1,26,0,22,3,1,17,0,19,21,1,70,7,16,21,1,95,16,19,21,1,24,0,18,0,18,21,1,77,7,7,7,9,0,18,21,0,5,7,9,3,2,21,1,0,21,1,73,21,1,73,0,22,19,8,16,25,21,0,2,21,1,74,16,21,1,74,0,22,17,0,5,0,89,17,14,21,0,1,21,1,49,16,22,0,3,11,21,1,73,21,1,6,21,1,74,8,21,0,2,17,0,5,0,90,17,14,21,0,2,0,18,21,1,10,7,16,21,1,24,21,1,68,7,16,0,5,0,91,17,14,21,0,3,21,1,71,21,1,68,21,1,78,21,1,8,21,1,75,8,19,21,0,2,17,21,1,24,21,1,68,7,16,0,5,0,92,17,14,0,21,21,1,71,21,0,2,17,21,1,70,21,0,3,17,21,1,77,21,0,2,17,22,0,2,12,14,21,0,2,21,1,73,16,21,1,79,21,1,7,21,1,94,8,16,21,1,78,16,21,1,24,21,1,1,21,1,70,21,0,3,21,1,8,0,16,8,19,21,1,77,21,0,2,21,1,8,0,16,8,19,7,0,21,17,21,1,4,0,16,7,21,0,1,21,1,82,16,17,25,21,0,2,0,18,21,0,1,21,1,8,21,1,103,8,7,16,25,21,0,1,21,1,74,21,1,7,0,21,8,21,1,24,21,1,69,7,9,21,1,6,21,1,4,21,1,78,7,8,21,0,2,17,22,0,3,11,14,21,0,1,0,21,21,0,3,3,2,15,136,1,3,2,21,1,0,0,21,21,1,74,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,137,1,22,0,8,11,14,21,0,4,21,1,74,21,1,7,0,21,8,21,1,9,21,0,1,8,9,21,0,8,3,2,0,16,21,0,6,21,1,73,0,22,17,17,25,21,0,1,22,0,2,11,14,21,1,71,21,1,7,0,21,8,21,1,9,15,138,1,8,25,21,0,2,21,1,74,16,21,1,4,21,1,78,7,0,22,17,22,0,5,11,14,21,0,5,21,1,76,0,21,17,0,5,0,93,17,14,21,0,1,21,1,74,16,21,1,76,21,0,5,17,0,5,0,94,17,14,21,0,2,21,1,25,0,22,17,22,0,6,11,21,1,24,21,1,70,7,16,22,0,7,11,14,0,21,21,1,106,21,0,2,21,1,82,16,21,1,8,0,16,8,21,1,6,21,0,4,8,7,21,0,7,17,22,0,8,11,14,21,0,2,21,1,73,16,0,22,0,22,21,1,8,21,1,78,21,1,5,21,1,94,8,8,21,1,70,21,0,7,19,0,18,21,1,77,21,1,7,21,0,7,8,21,1,8,21,0,8,8,7,9,21,1,4,21,1,76,7,0,21,19,21,1,24,21,1,68,7,9,3,2,21,1,0,21,1,71,21,1,7,0,21,8,8,16,0,5,0,95,17,14,21,0,1,21,1,74,16,21,1,4,21,1,78,7,21,0,5,17,22,0,9,11,14,21,0,1,21,1,25,21,0,9,17,22,0,10,11,14,21,0,10,21,1,105,21,0,6,17,22,0,11,11,14,21,0,11,21,1,24,21,1,106,21,0,1,21,1,82,16,21,1,8,0,16,8,21,1,8,21,0,4,21,1,7,21,0,2,21,1,82,16,21,1,8,0,16,8,8,8,7,7,16,22,0,12,11,14,21,1,4,0,21,7,21,1,76,21,0,12,21,1,7,21,1,70,21,1,7,21,0,6,21,1,24,21,1,70,7,16,8,8,19,22,0,13,11,14,21,0,9,21,1,94,16,0,18,21,0,1,21,1,49,16,21,1,8,0,16,8,7,16,21,1,24,21,1,70,7,21,1,94,9,21,1,8,21,1,82,8,16,21,1,70,21,0,10,21,1,24,21,1,70,7,16,17,0,18,15,139,1,21,1,7,21,0,2,21,1,73,16,8,7,16,25,21,0,1,22,0,2,11,14,21,1,88,21,1,68,7,21,1,79,9,0,19,21,1,68,7,21,1,88,21,1,77,7,9,3,2,0,16,21,0,1,17,22,0,3,11,14,15,140,1,25,21,0,1,21,1,74,16,21,1,76,0,22,17,0,5,0,97,17,14,21,0,1,21,1,111,16,22,0,5,11,14,21,0,1,21,1,73,16,21,1,94,16,0,18,0,22,21,1,1,21,0,1,21,1,74,21,1,71,0,22,19,21,1,9,21,1,60,21,1,71,7,8,16,21,1,28,21,0,5,17,21,1,8,0,16,8,21,1,6,21,1,49,8,0,22,21,1,8,21,1,78,8,19,3,2,21,1,0,21,1,71,21,1,7,0,21,8,8,7,16,21,0,4,21,0,5,17,21,1,28,21,0,5,21,1,114,16,17,25,21,0,2,21,1,74,16,22,0,3,11,14,21,0,1,21,1,74,16,21,1,76,21,0,3,17,0,5,0,98,17,14,21,0,1,21,0,3,21,1,110,21,1,94,8,21,0,2,21,1,49,16,17,21,0,3,21,1,110,21,1,48,8,21,0,2,17,25,21,0,2,21,1,74,16,21,1,75,0,22,17,0,5,0,99,17,14,21,0,1,21,1,49,16,21,1,73,21,1,6,21,1,76,8,21,0,2,17,0,5,0,100,17,14,21,0,2,21,1,82,16,0,18,21,1,11,7,16,21,1,24,21,1,68,7,16,0,5,0,101,17,25,21,0,1,21,1,49,16,21,1,120,21,0,2,17,0,18,21,1,24,21,1,66,7,7,16,21,1,94,16,0,18,21,1,3,21,0,1,7,21,1,104,21,1,28,21,1,7,21,0,2,8,19,7,16,25,21,0,1,21,1,123,21,0,2,17,14,21,0,2,21,1,82,16,22,0,2,12,14,21,0,2,21,1,122,16,21,1,79,16,21,1,24,21,1,77,7,16,21,1,78,21,0,1,21,1,74,16,17,22,0,3,11,14,21,0,3,21,1,71,21,0,2,17,21,1,24,21,1,68,7,16,0,5,0,102,17,14,21,0,1,21,1,124,21,0,3,21,1,94,16,21,1,1,21,1,96,21,1,4,21,1,122,21,1,5,21,1,79,8,7,19,21,0,2,17,21,1,119,21,0,2,17,17,25,21,0,1,21,1,123,21,0,2,17,14,21,0,2,21,1,82,16,22,0,2,12,14,21,0,1,21,1,74,16,22,0,3,11,14,21,0,2,21,0,3,21,1,8,21,1,71,8,21,1,68,21,1,122,19,16,21,1,24,21,1,68,7,16,21,1,133,1,16,14,21,0,1,21,1,124,21,0,3,21,1,94,16,21,1,1,21,1,96,21,1,4,21,1,122,21,1,5,21,1,79,8,7,19,21,0,2,17,21,1,119,21,0,2,17,21,1,114,16,17,25,21,0,1,21,1,121,21,1,7,21,0,2,8,21,1,128,1,21,1,8,21,1,60,21,1,118,7,8,9,21,1,6,21,1,121,8,21,0,2,17,25,21,0,1,15,141,1,21,0,5,21,1,131,1,21,0,1,21,0,4,21,0,2,17,17,7,21,0,2,17,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,48,21,0,1,17,21,1,134,1,16,14,21,0,6,25,21,0,1,21,1,74,16,21,1,74,0,22,17,21,1,133,1,16,14,21,0,1,21,1,119,16,22,0,3,11,14,21,0,3,0,18,21,1,11,7,16,21,1,24,21,1,68,7,16,21,1,133,1,16,14,21,0,3,0,3,16,22,0,4,11,14,0,22,21,1,76,21,0,4,17,21,1,24,21,1,68,7,16,21,1,134,1,16,14,21,0,4,21,1,79,16,21,1,96,16,22,0,5,11,14,21,0,5,21,1,45,0,27,7,16,21,1,119,21,0,1,21,1,45,21,1,73,7,16,21,1,96,16,17,21,1,130,1,21,0,5,21,1,119,21,0,3,17,21,1,111,16,17,25,21,0,2,21,1,74,16,21,1,74,0,22,17,21,1,133,1,16,14,21,0,2,0,18,21,1,11,7,16,21,1,24,21,1,68,7,16,21,1,133,1,16,14,21,0,1,21,1,119,21,1,6,21,1,130,1,21,1,7,21,1,111,8,8,21,0,2,21,1,120,16,17,25,21,0,1,0,0,16,21,1,134,1,16,14,21,0,1,21,1,74,16,21,1,74,0,21,17,21,1,134,1,16,14,21,0,1,21,1,131,1,16,25,21,0,2,21,1,74,21,1,6,21,1,78,8,21,0,1,17,22,0,3,11,14,21,0,3,0,22,21,1,8,21,1,76,8,21,1,68,21,1,76,21,1,7,0,21,8,19,16,21,1,134,1,16,14,21,0,2,0,22,21,1,73,3,2,21,1,132,1,21,0,3,8,16,22,0,4,11,14,21,0,1,21,1,73,16,21,1,76,21,0,4,17,21,1,134,1,16,14,21,0,1,21,1,130,1,21,1,92,21,1,7,21,0,4,8,3,2,21,1,132,1,21,0,3,8,16,21,1,48,21,0,2,17,21,1,134,1,16,14,21,0,1,21,1,93,21,0,4,17,25,21,0,1,21,1,73,16,21,1,74,0,23,17,21,1,134,1,16,14,21,0,1,21,1,130,1,16,21,1,48,21,0,2,17,21,1,134,1,16,14,21,0,1,21,1,130,1,0,22,17,25,21,0,1,21,1,73,16,21,1,74,0,22,17,21,1,134,1,16,14,21,0,1,21,1,130,1,16,25,21,0,1,21,1,74,16,21,1,74,0,22,17,21,1,133,1,16,14,21,0,1,0,18,21,1,11,7,16,21,1,24,21,1,68,7,16,21,1,133,1,16,14,21,0,1,21,1,93,21,1,7,0,22,8,21,1,76,21,1,93,21,1,7,0,27,8,19,21,1,24,21,1,68,7,9,16,21,1,134,1,16,14,21,0,1,0,3,16,25,21,1,4,21,1,4,0,21,7,0,5,0,105,19,3,1,21,1,119,21,0,1,21,1,130,1,0,22,17,17,7,21,1,131,1,21,1,71,21,1,121,21,0,1,21,1,130,1,0,21,17,19,21,1,131,1,9,19,25,21,0,1,21,1,138,1,16,25,21,0,1,21,0,5,21,0,2,17,22,0,6,11,14,0,21,22,0,7,11,22,0,8,11,14,21,0,6,0,21,21,1,109,15,142,1,8,16,14,21,0,1,22,0,9,11,14,15,143,1,22,0,10,11,14,21,0,7,21,0,10,21,1,1,21,0,4,21,0,2,19,7,16,22,0,11,11,14,21,0,8,21,1,78,16,21,0,10,21,1,1,21,1,139,1,21,0,4,7,21,0,2,19,7,16,22,0,12,11,14,21,0,6,0,21,21,1,109,21,1,3,21,0,11,21,0,12,3,2,7,21,1,131,1,0,21,21,1,8,21,1,71,8,19,21,1,131,1,21,1,65,19,8,16,25,21,1,15,21,1,6,0,18,21,0,1,7,8,25,21,0,1,25,21,0,1,25,21,0,1,14,21,1,7,21,2,80,16,25,0,22,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,24,0,8,21,2,7,21,0,1,0,14,16,21,2,8,0,16,8,0,12,21,0,5,21,2,8,0,16,8,19,8,7,0,22,17,0,5,0,32,17,14,21,0,5,21,2,24,0,8,7,0,22,17,0,17,16,0,18,21,0,1,0,15,16,21,2,8,0,16,8,21,0,4,21,0,2,0,15,16,21,2,8,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,24,0,8,21,2,7,21,0,7,21,2,8,0,16,8,0,12,21,0,5,21,2,8,0,16,8,19,8,7,0,22,17,0,5,0,33,17,14,21,0,6,0,7,21,0,1,0,12,16,17,0,17,16,21,2,24,0,8,21,2,7,0,6,21,2,7,21,0,6,8,21,2,4,0,16,7,21,0,7,19,8,7,0,22,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,6,0,18,21,2,3,21,0,10,7,0,16,0,6,21,2,7,0,8,21,2,7,21,0,8,8,8,19,21,0,4,21,0,9,21,2,8,0,16,8,19,7,8,21,0,9,21,2,22,16,17,0,15,16,0,15,21,0,7,17,25,21,0,1,21,2,30,21,0,4,7,21,0,2,17,25,21,0,1,0,18,15,144,1,21,0,2,7,7,16,25,21,0,2,0,18,15,145,1,21,0,1,7,7,16,25,21,1,6,0,8,0,23,17,0,13,21,0,1,21,2,24,21,2,19,7,16,22,1,10,12,0,7,21,0,1,21,2,24,21,2,20,7,16,22,1,9,12,17,17,25,21,0,1,14,21,2,4,0,21,7,21,2,18,0,21,21,2,106,21,1,8,21,2,8,0,16,8,21,2,6,21,0,4,8,7,21,1,7,17,19,22,0,5,11,14,21,2,1,21,1,6,3,2,21,2,0,0,13,21,2,7,21,1,6,8,8,22,0,6,11,14,0,21,0,12,21,1,6,17,0,6,21,1,6,17,0,2,0,23,17,21,2,20,16,22,0,7,11,0,17,16,0,18,21,2,1,0,6,0,22,19,0,7,21,0,7,19,0,10,0,23,19,7,16,21,2,24,15,146,1,7,21,1,6,0,17,16,17,25,21,0,1,0,18,21,2,11,7,16,21,2,24,0,8,7,0,22,17,0,5,0,36,17,14,0,22,0,7,21,1,3,17,22,0,3,11,14,21,2,1,0,7,21,0,3,19,21,2,4,0,16,7,21,1,3,0,17,16,0,18,0,7,21,2,7,21,0,3,8,7,16,0,19,21,2,1,21,2,4,0,16,7,21,0,1,19,0,12,0,21,19,0,8,0,7,19,0,6,21,2,1,19,7,16,19,22,0,4,11,14,21,0,1,0,19,0,6,7,16,21,2,8,0,16,8,22,0,5,11,14,0,21,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,147,1,7,16,25,21,0,1,0,7,21,1,3,17,0,17,16,0,18,0,6,21,2,7,21,0,1,8,7,16,25,21,0,1,3,1,25,21,0,1,14,21,1,9,0,16,21,1,12,0,16,21,1,14,17,17,22,0,3,11,14,21,1,14,0,6,0,22,17,22,1,14,12,21,1,13,16,22,1,15,12,14,21,0,3,25,21,0,1,0,12,21,1,15,17,25,21,0,1,0,12,21,2,7,21,1,4,8,0,7,0,22,19,21,2,9,15,148,1,8,16,14,21,1,5,0,16,0,22,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,149,1,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,7,21,0,1,8,7,16,22,0,5,11,14,21,0,4,0,17,16,0,18,21,2,3,21,0,5,7,0,16,0,8,21,2,7,21,0,3,8,19,7,16,22,0,6,11,14,21,0,3,0,17,16,0,18,21,2,2,7,21,0,6,17,0,18,21,2,1,7,21,1,10,0,17,16,17,0,15,16,21,2,45,0,12,7,21,0,5,17,21,2,24,0,8,7,0,22,17,0,5,0,47,17,14,21,0,6,21,2,35,16,22,0,7,11,14,21,0,7,21,2,22,16,0,17,16,0,18,21,0,6,21,1,8,0,6,7,0,21,17,21,2,28,21,0,7,17,21,2,8,0,16,8,21,2,8,0,7,8,7,16,22,0,8,11,14,21,0,8,0,18,21,2,1,7,21,1,12,17,21,2,45,0,6,7,21,0,7,0,18,21,0,6,21,2,8,0,16,8,21,2,8,0,8,8,7,21,1,12,17,17,22,1,12,12,14,21,0,7,0,18,0,6,21,2,7,21,0,4,21,2,8,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,28,21,2,7,21,1,7,0,7,21,1,6,17,0,17,16,0,18,0,6,21,2,7,21,1,7,8,7,16,8,22,0,3,11,14,21,1,5,0,16,0,21,17,21,0,3,16,22,0,4,11,14,21,1,5,0,18,21,0,3,21,2,45,0,12,7,21,0,4,19,21,2,24,0,8,7,9,7,16,21,2,24,0,8,7,0,22,17,0,5,0,48,17,14,21,0,4,21,2,24,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,2,7,21,0,1,17,21,1,13,21,0,6,0,18,0,6,21,2,7,0,8,21,2,7,21,0,5,8,8,7,21,0,2,17,17,25,21,0,2,0,12,16,21,2,16,0,22,17,0,5,21,1,6,17,14,21,0,2,21,2,12,16,22,0,2,12,14,21,0,2,0,18,21,2,10,7,16,21,2,24,0,8,7,0,22,17,0,5,21,1,7,17,14,21,0,2,21,2,22,16,22,0,3,11,14,21,0,1,21,2,49,16,21,2,22,21,2,8,21,2,18,8,21,2,9,15,150,1,8,21,0,3,17,22,0,4,11,14,15,151,1,22,0,5,11,14,0,21,21,2,17,16,22,0,6,11,14,0,22,22,0,7,11,14,15,152,1,22,0,8,11,14,0,21,22,0,9,11,14,21,0,3,0,17,16,0,18,21,0,2,21,2,8,0,16,8,15,153,1,21,1,4,15,154,1,7,21,0,8,21,2,2,19,3,2,21,2,0,21,1,3,8,21,0,4,21,2,8,0,16,8,19,7,16,22,0,10,11,14,21,0,1,21,2,15,16,0,15,21,2,7,21,0,4,8,15,155,1,3,2,21,2,0,21,0,6,0,12,16,21,2,17,0,21,17,8,16,25,21,0,1,0,12,16,0,13,21,1,3,17,0,5,0,62,17,14,21,0,2,0,18,21,2,11,7,16,21,2,24,0,8,7,16,0,5,0,63,17,14,21,0,1,21,2,49,16,22,0,3,11,14,21,1,3,0,17,16,0,18,21,0,2,21,2,8,0,16,8,0,7,21,0,3,21,2,8,0,16,8,19,0,6,0,22,19,7,16,22,0,4,11,14,21,0,4,0,18,0,13,21,2,7,0,21,8,7,16,21,2,24,0,8,7,16,0,5,0,64,17,14,21,0,3,21,2,28,21,1,3,0,7,21,2,7,21,2,22,8,21,0,3,17,0,17,16,0,18,0,6,21,2,7,21,1,3,8,7,16,17,22,0,5,11,21,2,24,0,8,7,0,22,17,22,0,6,11,14,0,22,0,7,21,1,3,17,15,156,1,16,21,2,26,21,0,6,3,1,17,0,19,0,8,7,16,21,2,38,16,22,0,7,11,14,21,0,2,21,2,1,21,2,45,15,157,1,7,21,0,7,19,21,2,24,0,18,0,6,7,7,9,21,2,6,0,18,0,6,7,8,21,0,4,17,0,22,21,2,8,0,12,8,0,7,0,22,19,21,2,9,21,2,4,0,17,0,15,21,0,5,19,21,2,8,0,18,0,6,7,8,7,8,21,0,6,17,0,18,21,0,1,0,15,16,21,2,8,0,16,8,7,16,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,65,17,14,21,0,1,21,1,3,21,0,2,17,25,21,0,2,0,12,16,21,2,16,0,22,17,0,5,0,66,17,14,21,0,1,21,2,49,16,21,2,22,21,2,6,0,13,8,21,0,2,17,0,5,0,67,17,14,21,0,2,21,2,22,16,22,0,3,11,14,21,0,2,0,15,16,21,2,8,0,16,8,22,0,4,11,14,21,0,1,21,0,3,21,2,17,0,21,17,21,2,9,15,158,1,8,0,21,17,25,21,0,1,21,2,74,21,0,4,17,25,21,0,1,21,2,45,21,2,1,0,22,3,2,21,2,0,21,2,2,8,7,21,1,4,17,21,2,24,21,2,70,7,16,22,0,3,11,14,21,0,3,21,2,71,0,21,17,0,5,0,73,17,14,21,1,4,21,2,73,16,0,17,16,21,2,70,21,1,4,17,21,2,24,21,2,77,7,16,22,0,4,11,14,21,1,3,0,16,21,0,4,17,21,2,141,1,16,22,0,5,11,14,0,30,21,2,71,21,0,5,17,0,5,0,74,17,14,21,2,74,21,2,7,21,2,66,8,0,5,0,75,19,21,2,2,21,2,1,19,22,0,6,11,14,21,0,3,21,2,62,21,1,7,17,21,0,6,21,2,66,21,2,67,3,3,21,2,0,21,0,5,21,2,66,0,23,17,8,16,22,0,7,11,14,21,1,3,21,2,45,21,2,1,21,0,7,3,2,21,2,0,21,2,2,8,7,21,1,4,17,22,1,3,12,14,21,0,7,21,2,70,21,0,3,17,21,0,5,21,2,74,0,25,17,21,2,9,21,2,71,21,2,7,21,1,7,8,21,2,9,15,159,1,8,8,16,25,21,1,8,0,17,16,0,18,21,2,2,7,21,2,7,0,1,8,15,160,1,3,2,21,2,0,21,1,7,21,2,71,0,21,17,8,21,0,1,17,25,21,0,1,21,2,11,16,0,5,0,76,17,14,21,0,1,0,17,16,25,21,0,1,21,2,74,16,21,2,74,0,22,17,0,5,0,77,17,14,21,0,1,0,18,21,1,3,7,16,21,2,24,0,18,21,2,26,21,2,7,21,2,82,8,7,7,3,0,21,2,71,16,17,25,21,1,9,21,1,7,21,2,77,21,0,4,17,7,22,0,5,11,14,21,0,1,21,2,45,21,0,5,7,21,2,2,21,2,5,0,18,21,0,1,21,2,8,21,0,5,8,7,8,21,2,1,21,2,5,0,18,21,2,1,21,0,5,21,0,2,19,7,8,21,1,8,3,4,21,2,0,21,2,48,21,2,6,21,2,13,8,21,2,75,21,0,4,21,2,67,0,21,17,19,21,2,69,0,21,21,2,75,21,0,4,17,21,2,68,21,1,7,17,19,21,2,81,0,23,19,21,2,24,21,2,77,21,2,7,0,23,21,2,8,21,2,70,8,8,7,9,8,21,0,2,17,25,21,0,1,21,2,49,16,21,2,28,21,0,2,0,17,16,17,22,0,3,11,14,21,0,1,21,2,25,21,0,2,17,22,0,4,11,21,2,24,21,2,70,7,16,22,0,5,11,14,21,0,3,21,2,24,21,2,70,7,16,0,17,16,0,18,21,2,1,21,2,70,21,0,5,19,21,2,77,21,0,5,0,17,16,21,2,82,21,0,4,17,19,21,2,5,0,18,21,0,1,21,2,82,16,21,2,8,0,16,8,7,8,7,16,21,2,82,21,0,3,17,25,21,0,2,21,2,74,21,1,4,17,25,21,1,3,21,2,77,22,1,4,13,14,21,0,1,21,2,77,0,22,17,25,21,0,1,14,21,1,6,0,16,21,1,7,17,21,2,1,0,22,21,2,77,21,1,7,17,22,1,7,12,17,25,21,0,1,21,2,82,16,21,1,3,16,0,18,21,0,1,21,2,49,16,21,2,94,16,21,2,82,16,21,2,8,21,2,28,8,7,16,25,21,0,1,21,2,73,21,2,6,21,2,78,8,21,0,2,17,21,2,70,16,22,0,3,11,14,21,0,1,21,2,73,21,2,6,21,2,66,8,21,0,2,17,22,0,4,11,14,21,0,1,15,161,1,21,2,7,21,2,73,21,2,77,21,0,4,21,2,94,16,21,2,77,0,22,17,21,2,78,16,19,8,21,2,6,15,162,1,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,163,1,21,1,7,3,2,21,2,0,21,2,74,21,2,7,21,1,6,8,8,22,0,5,11,14,0,21,21,0,5,16,25,15,164,1,22,0,3,11,14,0,27,21,0,3,0,22,21,2,77,21,0,1,17,17,21,2,77,0,22,17,25,21,0,2,21,2,107,21,0,1,21,2,8,21,1,13,8,7,16,25,21,0,2,21,2,74,16,21,2,4,21,2,78,7,0,22,17,22,0,3,11,14,21,0,3,21,2,76,0,21,17,0,5,0,96,17,14,21,0,1,21,2,15,16,21,2,1,21,2,5,21,0,3,21,2,110,0,21,8,8,21,2,1,21,0,3,21,2,110,21,2,71,8,3,2,21,2,0,21,0,3,21,2,71,0,21,17,8,21,2,6,0,18,21,2,49,7,8,21,1,3,9,3,2,21,2,0,21,0,2,21,2,73,16,21,2,71,0,21,17,8,15,165,1,3,2,21,2,0,21,2,82,21,2,5,21,2,73,8,21,2,71,0,26,19,21,2,6,21,2,68,8,8,21,0,2,17,25,21,0,1,25,21,0,1,21,2,10,16,0,5,0,106,17,14,21,0,1,21,2,66,21,1,8,17,22,1,8,12,14,21,0,1,21,2,67,21,1,7,17,22,1,7,12,25,21,0,1,21,2,77,0,21,17,21,2,94,16,21,2,119,21,1,9,3,1,17,0,19,21,2,2,21,2,5,21,0,4,8,7,16,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,21,22,0,5,11,22,0,6,11,22,0,7,11,14,0,25,22,0,8,11,14,21,0,1,0,22,0,12,21,2,7,17,0,7,0,22,17,21,3,9,0,18,0,8,21,3,7,21,2,7,8,7,8,16,21,3,8,0,16,8,21,3,6,21,1,5,8,22,0,9,11,14,21,0,9,0,21,0,22,0,23,3,4,22,0,10,11,14,0,6,15,166,1,3,2,0,16,21,0,3,0,13,0,26,17,17,22,0,11,11,14,15,167,1,22,0,12,11,14,15,168,1,15,169,1,21,0,12,3,3,21,3,0,15,170,1,8,22,0,13,11,14,21,0,1,0,18,21,0,1,21,3,8,15,171,1,8,7,16,25,21,1,6,21,1,7,0,12,21,0,1,17,21,3,9,15,172,1,8,16,25,21,0,1,22,2,4,12,21,3,4,0,16,7,21,2,6,17,22,2,5,12,14,0,27,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,26,21,0,1,21,3,22,16,0,7,21,0,2,17,0,17,21,3,5,0,18,0,22,7,8,16,17,25,21,0,1,0,18,0,6,7,21,0,2,0,18,21,0,4,21,3,8,0,8,8,7,16,17,25,21,0,1,0,22,21,3,8,0,12,8,0,7,0,22,19,21,3,9,21,1,5,21,0,2,7,21,3,7,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,22,22,1,7,12,14,21,0,1,21,3,22,16,25,21,0,2,0,8,22,1,7,13,14,21,0,2,25,0,22,22,1,9,12,25,21,1,3,0,7,21,1,4,21,3,22,16,17,0,17,16,0,18,0,6,21,3,7,21,1,3,8,21,3,4,0,16,7,21,1,4,19,7,16,22,0,3,11,21,3,26,22,1,10,13,14,21,0,3,21,3,24,0,8,7,21,1,7,17,0,12,21,3,7,0,22,8,0,7,0,22,19,21,3,9,15,173,1,8,16,14,21,0,1,0,15,16,21,3,8,0,16,8,22,0,4,11,14,21,1,9,21,3,1,21,3,9,15,174,1,8,16,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,7,21,0,1,8,21,3,4,0,16,7,21,1,3,19,7,16,25,21,0,1,0,17,16,0,18,0,8,21,3,7,21,0,2,8,7,16,25,21,0,1,0,22,0,7,21,1,3,17,21,3,17,21,0,2,17,21,3,9,21,3,60,21,0,0,21,3,7,21,0,2,0,6,0,22,17,8,7,8,16,21,2,3,21,0,2,21,1,4,16,17,25,21,2,7,21,3,78,21,0,1,17,0,17,16,0,18,21,2,6,0,1,16,7,16,21,3,26,22,2,6,13,14,21,2,7,25,21,0,1,21,3,65,21,2,7,17,0,18,21,2,6,21,3,8,0,16,8,7,16,25,21,0,2,0,18,21,0,1,21,3,8,0,16,8,7,16,25,21,0,1,21,3,74,21,0,2,17,0,19,21,3,68,7,16,21,3,24,21,3,77,7,16,22,0,3,11,14,21,0,3,21,3,94,16,0,18,21,0,2,21,3,8,0,16,8,7,16,21,3,24,21,3,70,7,16,22,0,4,11,14,21,0,3,21,3,72,21,3,7,21,1,4,8,21,3,9,21,0,2,21,0,1,3,2,21,3,8,21,3,45,0,16,7,8,21,3,5,15,175,1,8,8,16,14,21,0,4,25,21,1,4,21,3,77,21,3,7,21,0,1,8,21,3,6,21,2,5,8,21,1,3,17,21,3,74,21,3,7,0,21,8,21,3,9,21,0,1,21,3,77,0,22,17,21,3,5,21,1,5,8,8,16,25,21,0,1,0,22,21,3,8,21,3,72,8,21,3,9,15,176,1,8,21,0,2,17,25,21,0,2,21,3,112,16,21,3,95,16,22,0,3,11,14,21,0,1,21,3,111,21,0,2,21,3,28,21,0,3,17,17,21,3,4,21,3,78,7,0,22,17,21,3,67,0,21,17,21,3,4,21,3,28,7,21,0,3,17,22,0,4,11,14,21,0,1,21,1,3,21,3,110,21,3,48,8,21,0,2,21,3,28,21,0,4,17,17,21,2,2,21,3,9,21,3,70,21,3,7,21,3,78,21,3,7,21,0,4,8,8,21,3,77,21,3,2,19,8,21,0,2,21,3,73,16,17,25,21,0,1,21,1,8,0,7,0,22,17,21,4,9,21,1,9,0,7,0,22,19,21,4,9,15,177,1,8,8,0,22,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,22,17,22,1,4,12,0,12,21,1,6,17,0,8,0,23,17,0,6,22,1,8,13,14,21,0,2,25,21,0,1,0,6,0,22,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,0,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,22,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,21,0,1,0,17,16,21,2,5,21,0,1,7,22,2,6,13,25,21,4,3,21,0,1,0,1,16,7,21,1,4,3,2,21,4,0,0,13,21,4,7,0,21,8,8,22,1,4,12,25,21,0,1,21,4,24,21,4,78,7,16,21,4,70,16,22,2,3,12,14,21,0,1,21,4,24,21,4,66,7,16,21,4,70,21,1,4,17,22,1,4,12,25,0,23,21,4,62,21,0,2,17,21,4,66,16,22,0,3,11,21,4,77,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,65,0,23,17,21,4,70,21,0,5,17,21,4,77,21,0,3,17,17,25,21,0,1,14,0,23,22,2,8,12,14,21,2,4,22,2,7,12,14,21,0,1,22,2,4,12,25])
+ ,provide.concat([0,1,2,32,3,8,-1,-Infinity,Infinity,4,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 be an array"),str("π•¨βŠπ•©: Indices in 𝕨 must be integers"),str("π•¨βŠπ•©: Indices out of range"),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("βˆΎπ•©: 𝕩 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 be an array"),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("Β΄: Identity not found"),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("˝: 𝕩 must have rank at least 1"),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 components of 𝕨 must be compatible with 𝕩"),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("βˆŠπ•© 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("⁼: Inverse failed"),str("⁼: Inverse does not exist"),str("⁼: Inverse not found"),str("⍟: Repetition numbers in 𝕨 must be integers")])
+ ,[[0,1,0,148],[2,0,3136,6],[0,0,3163,3],[0,0,3167,3],[0,0,3171,3],[1,0,3175,5],[1,0,3183,5],[2,0,3201,6],[2,0,3216,6],[2,0,3235,6],[2,0,3257,6],[2,0,3279,6],[0,0,3311,3],[0,0,3317,3],[0,0,3326,3],[0,0,3332,3],[0,0,3343,3],[0,0,3352,3],[1,0,3361,9],[0,0,3474,3],[0,0,3514,4],[0,0,3590,5],[0,0,3665,3],[1,1,3682,4],[1,1,3755,3],[0,0,3819,3],[0,0,3830,5],[2,0,3914,12],[0,0,4120,4],[0,0,4169,6],[0,0,4259,7],[0,0,4388,4],[0,0,4449,4],[0,0,4551,3],[0,0,4604,4],[1,1,4665,2],[0,0,4698,4],[2,0,4839,16],[1,1,5069,2],[0,0,5093,3],[0,0,5120,3],[0,0,5146,3],[0,0,5185,4],[0,0,5282,3],[0,0,5311,7],[0,0,5358,14],[1,1,5592,8],[1,0,5645,6],[1,1,5753,2],[0,0,5811,5],[0,0,5973,5],[0,0,6110,7],[0,0,6279,3],[0,0,6338,4],[1,1,6411,2],[2,1,6421,4],[0,0,6457,3],[0,0,6484,3],[0,0,6506,3],[0,0,6528,3],[0,0,6557,9],[0,0,6708,5],[1,1,6743,2],[2,0,6812,10],[2,0,6872,8],[1,0,7066,5],[0,0,7108,8],[0,0,7344,5],[0,0,7412,3],[1,0,7446,8],[0,0,7546,4],[0,0,7630,6],[0,0,7961,4],[0,0,8174,3],[0,0,8192,4],[1,0,8265,9],[1,1,8335,3],[1,0,8360,14],[1,1,8795,4],[1,0,8845,6],[0,0,8984,4],[0,0,9052,3],[0,0,9126,3],[0,0,9181,4],[0,0,9310,4],[0,0,9431,3],[2,0,9472,6],[2,0,9502,7],[0,0,9544,6],[0,0,9698,3],[0,0,9771,3],[0,0,9811,5],[0,0,9961,3],[0,0,10012,3],[0,0,10040,3],[0,0,10130,3],[1,1,10189,2],[2,0,10198,13],[1,1,10354,2],[1,1,10368,2],[1,1,10372,2],[0,0,10376,3],[0,0,10388,3],[0,0,10411,3],[1,0,10432,6],[1,0,10549,11],[1,0,10770,5],[0,0,10785,3],[0,0,10800,3],[0,0,10815,3],[1,0,10860,8],[0,0,10999,8],[0,0,11167,3],[0,0,11193,3],[0,0,11199,4],[0,0,11248,3],[0,0,11258,3],[1,0,11303,7],[0,0,11330,9],[1,0,11616,5],[0,0,11632,7],[0,0,11799,11],[0,0,12041,8],[0,0,12355,3],[0,0,12383,5],[1,0,12479,5],[0,0,12490,8],[0,0,12747,3],[0,0,12788,3],[0,0,12808,3],[1,0,12862,6],[0,0,13015,6],[0,0,13137,3],[0,0,13148,3],[0,0,13169,3],[0,0,13200,3],[0,0,13238,6],[0,0,13345,6],[0,0,13395,4],[0,0,13425,3],[0,0,13444,4],[1,1,13602,2],[0,0,13606,3],[1,0,13649,5],[1,0,13686,5],[1,0,13697,5],[0,0,13708,14],[0,0,13884,3],[0,0,13905,3],[0,0,13934,4],[0,0,13957,3],[1,0,13990,5],[0,0,14016,3],[0,0,14086,3],[0,1,14100,0],[0,0,14107,5],[0,0,14242,3],[0,0,14272,3],[0,0,14292,3],[0,0,14346,3],[0,0,14381,3],[0,0,14405,3],[0,0,14422,5],[0,0,14533,3],[0,0,14588,3],[0,0,14612,5],[0,0,14741,3],[0,0,14781,3],[0,0,14864,3],[0,0,14898,3],[0,0,14927,3],[0,0,14945,3],[0,0,14962,3],[0,0,14991,3],[0,0,15009,3],[0,0,15041,3],[0,0,15084,6],[0,0,15163,3]]
);
// Compiler
diff --git a/src/r.bqn b/src/r.bqn
index f98839b4..34d0dbf8 100644
--- a/src/r.bqn
+++ b/src/r.bqn
@@ -244,6 +244,32 @@ _takeDrop←{
Take ← ⟨"↑" β‹„ 1-=⟜| β‹„ { π”½βŸ(π•¨βŠΈ<)a←|𝕩 β‹„ (0<𝕩)β—ΆβŸ¨Β―βˆžβŸ(<⟜0)⌜+⟜(𝕨+𝕩)⌜, ¯∞⍟(π•¨βŠΈβ‰€)βŒœβŸ©β†•a }⟩_takeDrop
Drop ← ⟨"↓" β‹„ 1-0⊸= β‹„ { 𝔽 β‹„ 0⊸<β—ΆβŸ¨β†•0⌈+,<∘⊒+βŒœΒ·β†•0⌈-⟩ }⟩_takeDrop
+ShiftCheck←{
+ "Β« or Β»: 𝕩 must have rank at least 1" ! 1≀=𝕩
+ d←𝕩-β—‹=𝕨
+ "Β« or Β»: 𝕨 must not have higher rank than 𝕩" ! 0≀d
+ "Β« or Β»: Rank of 𝕨 must be at least rank of 𝕩 minus 1" ! 1β‰₯d
+ s←1 Cell 𝕩
+ "Β« or Β»: 𝕨 must share 𝕩's major cell shape" ! 1Γ—Β΄(βŠ‘βŸœs=+⟜(1-d)βŠ‘(≒𝕨)Λ™)βŒœβ†•β‰ s
+ 1Γ—Β΄s
+}
+ShiftBefore←{
+ c←𝕨 ShiftCheck 𝕩
+ n←cΓ—(𝕩≀○=⊒)β—Ά1‿≠𝕨
+ (≒𝕩)β₯ŠnβŠΈβ‰€β—ΆβŸ¨βŠ‘βŸœ(Deshape𝕨),-⟜nβŠ‘(β₯Šπ•©)Λ™βŸ©βŒœβ†•c×≠𝕩
+}
+ShiftAfter←{
+ c←𝕨 ShiftCheck 𝕩
+ l←c×≠𝕩
+ n←cΓ—(𝕩≀○=⊒)β—Ά1‿≠𝕨
+ m←l-n
+ (≒𝕩)β₯ŠmβŠΈβ‰€β—ΆβŸ¨+⟜nβŠ‘(β₯Šπ•©)Λ™,-⟜mβŠ‘(Deshape𝕨)Λ™βŸ©βŒœβ†•l
+}
+FC←{ # Fill cell
+ "Β« or Β»: 𝕩 must have rank at least 1" ! 1≀=𝕩
+ (Type 𝕩)⌜ β₯ŠβŸœ(↕1Γ—Β΄βŠ’) 1 Cell 𝕩
+}
+
Windows←{
"𝕨↕𝕩: 𝕩 must be an array" ! IsArray 𝕩
"𝕨↕𝕩: 𝕨 must have rank at most 1" ! 1β‰₯=𝕨
@@ -374,6 +400,8 @@ Replicate ← IsArrayβˆ˜βŠ£β—Ά{
↕ ↩ Range ⊘ Windows
⌽ ← Reverse ⊘ (Rot _onAxes_ 0)
/ ← Indices ⊘ Replicate
+Β» ← FC⊸ShiftBefore ⊘ ShiftBefore
+Β« ← FC⊸ShiftAfter ⊘ ShiftAfter
_group←{
"βŠ”: Grouping argument must consist of integers" ! ∧´IntβŒœπ•©
@@ -492,13 +520,6 @@ Find←{
⊐ ← SelfClas ⊘ (1 _search)
∊ ← ⊒_self ⊘ (0 _search˜)
-ShiftBefore ← {!𝕨1βŠΈβŒŠβŠΈβ‰€β—‹=𝕩 β‹„ ( ≠𝕩)β†‘π•¨βˆΎπ•©}
-ShiftAfter ← {!𝕨1βŠΈβŒŠβŠΈβ‰€β—‹=𝕩 β‹„ (-≠𝕩)β†‘π•©βˆΎπ•¨}
-Nudge ← (1↑0β†‘βŠ’)⊸ShiftBefore
-NudgeBack ← (1↑0β†‘βŠ’)⊸ShiftAfter
-Β» ← Nudge ⊘ ShiftBefore
-Β« ← NudgeBack ⊘ ShiftAfter
-
ReorderChk←{
"𝕨⍉𝕩: 𝕨 must have rank at most 1" ! 1β‰₯=𝕨
"𝕨⍉𝕩: Length of 𝕨 must not exceed rank of 𝕩" ! 𝕨≀○≠≒𝕩