retro.forth: rewrite a:index-of and a:index-of-string, removing a variable and making them much shorter

FossilOrigin-Name: 81de60c7784b0e9954c7d1ba6873a9279f250fd3b4f1182569540227e8915e96
This commit is contained in:
crc 2020-02-12 21:36:49 +00:00
parent 6a7b9988ca
commit df91d1bf04
3 changed files with 368 additions and 381 deletions

View file

@ -1425,29 +1425,6 @@ a flag.
#0 swap [ swap push over s:eq? pop or ] a:for-each nip ;
~~~
`a:index-of` builds on these to return the offset of a value in the
array.
~~~
{{
'Location var
:prepare swap #-1 !Location ;
:next @Location n:negative? [ &Location v:dec ] if ;
:match? over eq? dup [ drop @Location n:negative? ] if ;
:match-str? over s:eq? dup [ drop @Location n:negative? ] if ;
:update @Location n:abs n:dec !Location ;
---reveal---
:a:index-of (an-n)
prepare dup-pair a:contains? [ drop-pair #-1 ] -if;
[ match? &update if next ] a:for-each
drop @Location ;
:a:index-of-string (as-n)
prepare dup-pair a:contains-string? [ drop-pair #-1 ] -if;
[ match-str? &update if next ] a:for-each
drop @Location ;
}}
~~~
I implemented `a:map` to apply a quotation to each item in
an array and construct a new array from the returned values.
@ -1497,6 +1474,22 @@ and return a new value.
&swap dip a:for-each ;
~~~
`a:index-of` builds on these to return the offset of a value in the
array.
~~~
{{
:identify
#-1 swap #0
[ TRUE eq? [ over #-1 eq? [ nip dup ] if ] if n:inc ] a:reduce drop ;
---reveal---
:a:index-of (an-n)
&Heap [ &eq? curry a:map identify ] v:preserve ;
:a:index-of-string (as-n)
&Heap [ &s:eq? curry a:map identify ] v:preserve ;
}}
~~~
When making an array, I often want the values in the original
order. The `a:counted-results a:reverse` is a bit long, so
I'm defining a new `a:make` which wraps these.

BIN
ngaImage

Binary file not shown.

View file

@ -2,8 +2,8 @@
#ifndef CELL
#define CELL int32_t
#endif
CELL ngaImageCells = 14869;
CELL ngaImage[] = { 1793,14171,14715,14868,202004,0,10,1,10,2,10,3,10,4,10,5,10,6,10,
CELL ngaImageCells = 14759;
CELL ngaImage[] = { 1793,14061,14605,14758,202004,0,10,1,10,2,10,3,10,4,10,5,10,6,10,
7,10,8,10,9,10,10,11,10,12,10,13,10,14,10,15,10,16,10,17,
10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,10,68223234,1,2575,
85000450,1,656912,139,138,268505089,63,62,135205121,63,10,101384453,0,9,10,2049,56,25,459011,74,
@ -11,7 +11,7 @@ CELL ngaImage[] = { 1793,14171,14715,14868,202004,0,10,1,10,2,10,3,10,4,10,5,10,
84,524545,88,64,167838467,-1,134287105,3,59,659457,3,459023,105,2049,56,25,2049,105,1793,112,
2049,112,117506307,0,105,0,524545,25,110,168820993,0,124,1642241,124,134283523,7,110,1793,105,7,
524545,2049,105,1793,105,16846593,124,139,138,1793,64,16846593,124,110,138,1793,64,7,10,659713,
1,659713,2,659713,3,1793,14849,2,524559,105,2049,105,2049,105,2049,119,168820998,2,13264,1025,
1,659713,2,659713,3,1793,14739,2,524559,105,2049,105,2049,105,2049,119,168820998,2,13154,1025,
167841793,177,5,17826049,0,177,2,15,25,524546,162,134287105,178,93,2305,179,459023,187,134287361,178,
182,659201,177,2049,56,25,84152833,48,286458116,10,459014,202,184618754,45,25,16974851,-1,168886532,1,134284289,
1,211,134284289,0,202,660227,32,0,0,112,114,101,102,105,120,58,105,0,285278479,228,
@ -160,7 +160,7 @@ CELL ngaImage[] = { 1793,14171,14715,14868,202004,0,10,1,10,2,10,3,10,4,10,5,10,
2049,2106,4100,10,3055,3095,144,118,58,117,112,100,97,116,101,0,4,1793,3102,15,
4,8,10,1,3098,2049,2116,16,10,3083,3116,144,99,111,112,121,0,1793,3125,285278725,
1,33951492,268767489,1,6,10,1,3118,2049,2281,771,10,3108,3144,144,83,99,111,112,101,
76,105,115,116,0,14715,14715,10,3131,3153,144,123,123,0,2049,1570,2,1,3144,2049,
76,105,115,116,0,14605,14605,10,3131,3153,144,123,123,0,2049,1570,2,1,3144,2049,
59,16,10,3147,3178,144,45,45,45,114,101,118,101,97,108,45,45,45,0,2049,
1570,1,3144,2049,2880,16,10,3162,3192,144,125,125,0,1,3144,2049,56,4,15,11,
1793,3206,3841,3144,4097,2,10,1,3201,1793,3232,3841,3144,1793,3227,1,2,983567,1,3144,
@ -179,7 +179,7 @@ CELL ngaImage[] = { 1793,14171,14715,14868,202004,0,10,1,10,2,10,3,10,4,10,5,10,
4097,3255,10,3423,3477,131,84,101,109,112,83,116,114,105,110,103,115,0,32,3462,
3495,131,84,101,109,112,83,116,114,105,110,103,77,97,120,0,512,3478,3507,144,
83,84,82,73,78,71,83,0,2049,1543,3841,3477,3841,3495,19,18,10,3496,3527,131,
67,117,114,114,101,110,116,0,13,10,3516,3542,144,115,58,112,111,105,110,116,
67,117,114,114,101,110,116,0,11,10,3516,3542,144,115,58,112,111,105,110,116,
101,114,0,3841,3527,3841,3495,19,2049,3507,17,10,3529,3561,144,115,58,110,101,120,
116,0,1,3527,2049,2978,3841,3527,3841,3477,11,1793,3577,1,0,4097,3527,10,1,3572,
9,10,3496,3591,144,115,58,116,101,109,112,0,2,2049,79,2049,2880,2049,3542,4,
@ -394,356 +394,350 @@ CELL ngaImage[] = { 1793,14171,14715,14868,202004,0,10,1,10,2,10,3,10,4,10,5,10,
97,105,110,115,63,0,1,0,4,1793,7777,4,5,67502597,11,6,22,10,1,7770,
2049,7501,772,10,7750,7805,144,97,58,99,111,110,116,97,105,110,115,45,115,116,
114,105,110,103,63,0,1,0,4,1793,7818,4,5,67502597,2049,93,6,22,10,1,
7810,2049,7501,772,10,7783,7836,131,76,111,99,97,116,105,111,110,0,0,7824,7848,
144,112,114,101,112,97,114,101,0,4,1,-1,4097,7836,10,7837,7862,144,110,101,
120,116,0,3841,7836,2049,2568,1793,7873,1,7836,2049,2993,10,1,7868,9,10,7854,7887,
144,109,97,116,99,104,63,0,67502597,11,2,1793,7898,3,3841,7836,2049,2568,10,1,
7892,9,10,7877,7916,144,109,97,116,99,104,45,115,116,114,63,0,67502597,2049,93,
2,1793,7928,3,3841,7836,2049,2568,10,1,7922,9,10,7902,7942,144,117,112,100,97,
116,101,0,3841,7836,2049,2845,2049,2893,4097,7836,10,7783,7965,144,97,58,105,110,100,
101,120,45,111,102,0,2049,7848,2049,2096,2049,7765,1793,7977,771,1,-1,10,1,7973,
2049,2676,1793,7991,2049,7887,1,7942,9,2049,7862,10,1,7983,2049,7501,3,3841,7836,10,
7951,8020,144,97,58,105,110,100,101,120,45,111,102,45,115,116,114,105,110,103,
0,2049,7848,2049,2096,2049,7805,1793,8032,771,1,-1,10,1,8028,2049,2676,1793,8046,2049,
7916,1,7942,9,2049,7862,10,1,8038,2049,7501,3,3841,7836,10,7999,8063,144,97,58,
109,97,112,0,1793,8069,8,2049,105,10,1,8065,2049,7269,2049,1877,1793,8084,67502597,15,
2049,105,2049,7501,10,1,8077,2049,2106,10,8054,8102,144,97,58,114,101,118,101,114,
115,101,0,2049,1877,1793,8136,2049,56,1793,8114,17,2049,2893,10,1,8110,2049,2116,2,
2049,105,1793,8130,2,15,2049,105,2049,2893,10,1,8123,2049,2281,3,10,1,8106,2049,
2106,10,8089,8149,144,97,58,116,104,0,17,2049,2880,10,8141,8164,144,97,58,102,
101,116,99,104,0,2049,8149,15,10,8153,8179,144,97,58,115,116,111,114,101,0,
2049,8149,16,10,8168,8195,144,97,58,114,101,100,117,99,101,0,1,13,2049,2106,
2049,7501,10,8183,8212,144,97,58,109,97,107,101,0,2049,7433,2049,8102,10,8202,8222,
156,123,0,1,285,2049,156,1,1556,2049,144,1,285,2049,156,10,8217,8240,156,125,
0,1,301,2049,156,1,2106,2049,144,1,1556,2049,144,1,13,2049,150,1,40,2049,
150,1,2893,2049,144,1,301,2049,156,1,8212,2049,144,10,8235,8284,144,98,111,117,
110,100,115,63,0,67502597,2049,7410,67502597,13,10,8273,8298,144,99,111,112,121,0,2049,
56,2049,105,10,8290,8313,144,116,111,45,101,110,100,0,2,2049,7410,17,2049,2880,
10,8235,8330,144,97,58,108,101,102,116,0,2049,8284,1793,8338,771,1,-1,10,1,
8334,2049,2659,2049,1877,67502597,2049,105,1793,8359,1,2880,2049,2106,1,8298,2049,2281,3,10,
1,8349,2049,2106,10,8320,8375,144,97,58,114,105,103,104,116,0,2049,8284,1793,8383,
771,1,-1,10,1,8379,2049,2659,2049,1877,67502597,2049,105,1793,8406,4,2049,8313,67502597,18,
4,1,8298,2049,2281,3,10,1,8394,2049,2106,10,8364,8423,144,97,58,109,105,100,
100,108,101,0,1,2048,2049,2106,4,67502597,2049,8284,1793,8438,771,3,1,-1,10,1,
8433,2049,2659,771,2049,2096,4,18,2049,2880,2049,1877,67502597,2049,105,1793,8473,772,1793,8463,
17,2049,2880,10,1,8459,2049,2106,1,8298,2049,2281,3,10,1,8456,2049,2106,10,8411,
8486,131,70,108,97,103,0,0,8478,8498,144,99,111,109,112,97,114,101,0,67440386,
184946434,10,8487,8511,144,108,101,110,103,116,104,0,659202,10,8501,8521,144,110,101,120,
116,0,17043713,1,1,2577,10,8513,8539,144,110,111,116,45,101,113,117,97,108,0,
50529030,2561,0,10,8526,8551,144,108,111,111,112,0,524549,8521,2049,8498,18157313,8486,8486,16,
420610310,1,1,8551,7,10,8411,8574,144,97,58,101,113,63,0,1048833,-1,8486,2049,8498,
151066369,-1,8539,2049,8511,2049,8551,251724547,8486,10,8565,8599,144,97,58,45,101,113,63,0,
2049,8574,2049,2465,10,8589,8622,144,97,58,98,101,103,105,110,115,45,119,105,116,
104,63,0,1,3,1793,8638,2,2049,7410,1,13,2049,2106,2049,8330,2049,8574,10,1,
8626,2049,3069,10,8604,8659,144,97,58,101,110,100,115,45,119,105,116,104,63,0,
1,3,1793,8675,2,2049,7410,1,13,2049,2106,2049,8375,2049,8574,10,1,8663,2049,3069,
10,8643,8696,144,99,117,114,114,101,110,116,45,108,105,110,101,0,2049,3507,1,
1025,18,10,8680,8718,144,99,111,117,110,116,45,116,111,107,101,110,115,0,1793,
8724,1,32,11,10,1,8720,2049,4284,2049,79,10,8702,8749,144,112,114,111,99,101,
115,115,45,116,111,107,101,110,115,0,1793,8777,1,32,2049,6081,4,1793,8770,2,
2049,79,2049,2549,1,365,1,11,2049,64,10,1,8758,2049,2106,2049,2880,10,1,8751,
2049,2281,2049,365,10,8643,8798,144,115,58,101,118,97,108,117,97,116,101,0,2049,
8696,2049,4528,2049,8696,2,2049,8718,2049,8749,10,8784,8816,131,76,80,0,0,8810,8826,
131,73,110,100,101,120,0,0,10,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8817,
8866,144,110,101,120,116,0,3841,8816,1,8826,17,2049,2978,10,8858,8882,144,112,114,
101,112,0,1,8816,2049,2978,1,0,3841,8816,1,8826,17,16,10,8874,8903,144,100,
111,110,101,0,1,8816,2049,2993,10,8784,8913,144,73,0,3841,8816,1,8826,17,15,
10,8908,8925,144,74,0,3841,8816,1,8826,17,2049,2893,15,10,8920,8939,144,75,0,
3841,8816,1,8826,17,1,2,18,15,10,8934,8970,144,116,105,109,101,115,60,119,
105,116,104,45,105,110,100,101,120,62,0,2049,8882,4,1793,8986,25,33886721,1,2053,
1542,2049,8866,1,8975,7,10,1,8975,8,3,2049,8903,10,8949,9001,156,104,111,111,
107,0,2049,3636,108,105,106,117,46,46,46,46,0,1,9003,2049,412,2049,1877,2049,
2880,2049,105,10,8993,9035,144,115,101,116,45,104,111,111,107,0,2049,2880,16,10,
9023,9049,144,117,110,104,111,111,107,0,2049,2880,2,2049,2880,4,16,10,9039,9073,
144,105,111,58,101,110,117,109,101,114,97,116,101,0,27,10,9057,9087,144,105,
111,58,113,117,101,114,121,0,28,10,9075,9102,144,105,111,58,105,110,118,111,
107,101,0,29,10,9089,9112,131,83,108,111,116,0,9,9089,9128,144,105,111,58,
115,99,97,110,45,102,111,114,0,1,-1,4097,9112,2049,9073,1793,9154,2049,8913,2049,
9087,772,67502597,11,1793,9150,2049,8913,4097,9112,10,1,9145,9,10,1,9136,2049,8970,3,
3841,9112,10,9113,9171,144,99,58,112,117,116,0,1793,9173,1,0,2049,9102,10,9162,
9184,144,110,108,0,1,10,2049,9171,10,9178,9195,144,115,112,0,1,32,2049,9171,
10,9189,9207,144,116,97,98,0,1,9,2049,9171,10,9200,9221,144,115,58,112,117,
116,0,1,9171,2049,3860,10,9212,9235,144,110,58,112,117,116,0,2049,5920,2049,9221,
10,9226,9249,144,114,101,115,101,116,0,2049,1556,25,771,1,9249,7,10,9240,9271,
144,100,117,109,112,45,115,116,97,99,107,0,2049,1556,25,3,5,2049,9271,6,
2,2049,9235,2049,9195,10,9257,9293,144,70,82,69,69,0,2049,3507,1,1025,18,2049,
1877,18,10,9285,9311,131,70,105,108,101,115,0,0,9302,9324,144,105,100,101,110,
116,105,102,121,0,3841,9311,2049,2533,1793,9391,1,4,2049,9128,2,2049,2568,1793,9379,
3,2049,3636,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,
48,52,32,78,79,84,32,70,79,85,78,68,0,1,9342,2049,9221,2049,9184,10,
1,9339,1793,9386,4097,9311,10,1,9383,2049,64,10,1,9330,9,10,9285,9416,144,105,
111,58,102,105,108,101,45,111,112,101,114,97,116,105,111,110,0,2049,9324,3841,
9311,2049,9102,10,9395,0,131,102,105,108,101,58,82,0,9423,1,131,102,105,108,
101,58,87,0,9433,2,131,102,105,108,101,58,65,0,9443,3,131,102,105,108,
101,58,82,43,0,9453,9477,144,102,105,108,101,58,111,112,101,110,0,1,0,
2049,9416,10,9464,9496,144,102,105,108,101,58,99,108,111,115,101,0,1,1,2049,
9416,10,9482,9514,144,102,105,108,101,58,114,101,97,100,0,1,2,2049,9416,10,
9501,9533,144,102,105,108,101,58,119,114,105,116,101,0,1,3,2049,9416,10,9519,
9551,144,102,105,108,101,58,116,101,108,108,0,1,4,2049,9416,10,9538,9569,144,
102,105,108,101,58,115,101,101,107,0,1,5,2049,9416,10,9556,9587,144,102,105,
108,101,58,115,105,122,101,0,1,6,2049,9416,10,9574,9607,144,102,105,108,101,
58,100,101,108,101,116,101,0,1,7,2049,9416,10,9592,9626,144,102,105,108,101,
58,102,108,117,115,104,0,1,8,2049,9416,10,9612,9647,144,102,105,108,101,58,
101,120,105,115,116,115,63,0,1,0,2049,9477,2,2049,2549,1793,9661,2049,9496,2049,
2356,10,1,9656,1793,9669,3,2049,2368,10,1,9665,2049,64,10,9631,9700,144,102,105,
108,101,58,111,112,101,110,60,102,111,114,45,114,101,97,100,105,110,103,62,
0,1,0,2049,9477,2,2049,9587,4,10,9674,9734,144,102,105,108,101,58,111,112,
101,110,60,102,111,114,45,97,112,112,101,110,100,62,0,1,2,2049,9477,2,
2049,9587,4,10,9709,9769,144,102,105,108,101,58,111,112,101,110,60,102,111,114,
45,119,114,105,116,105,110,103,62,0,1,1,2049,9477,10,9743,9781,131,70,73,
68,0,0,9774,9790,131,83,105,122,101,0,0,9782,9801,131,65,99,116,105,111,
110,0,0,9791,9812,131,66,117,102,102,101,114,0,0,9802,9822,144,45,101,111,
102,63,0,3841,9781,2049,9551,3841,9790,13,10,9813,9842,144,112,114,101,115,101,114,
118,101,0,1,9781,1793,9853,1,9790,1,21,2049,3069,10,1,9846,2049,3069,10,9743,
9876,144,102,105,108,101,58,114,101,97,100,45,108,105,110,101,0,4097,9781,1793,
9933,2049,1877,2,4097,9812,2049,3418,1793,9925,3841,9781,2049,9514,2,2049,3326,1793,9902,1,
13,11,10,1,9898,1793,9910,1,10,11,10,1,9906,1793,9918,1,0,11,10,1,
9914,2049,2165,22,22,10,1,9889,2049,2256,2049,3350,3,10,1,9880,2049,3442,3841,9812,
10,9858,9962,144,102,105,108,101,58,102,111,114,45,101,97,99,104,45,108,105,
110,101,0,1793,9993,4097,9801,2049,9700,4097,9781,4097,9790,1793,9984,3841,9781,2049,9876,3841,
9801,8,2049,9822,10,1,9974,2049,2233,3841,9781,2049,9496,10,1,9964,2049,9842,10,9940,
10005,131,70,73,68,0,0,9940,10020,144,102,105,108,101,58,115,108,117,114,112,
0,1793,10047,4,2049,3418,2049,9700,4097,10005,1793,10038,3841,10005,2049,9514,2049,3326,10,1,
10031,2049,2281,3841,10005,2049,9496,10,1,10022,2049,3442,10,10006,10065,144,102,105,108,101,
58,115,112,101,119,0,2049,9769,4,1793,10074,67502597,2049,9533,10,1,10070,2049,3860,2049,
9496,10,10052,10088,131,70,80,85,0,0,10081,10101,144,105,100,101,110,116,105,102,
121,0,3841,10088,2049,2533,1793,10168,1,2,2049,9128,2,2049,2568,1793,10156,3,2049,3636,
73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,50,32,
78,79,84,32,70,79,85,78,68,0,1,10119,2049,9221,2049,9184,10,1,10116,1793,
10163,4097,10088,10,1,10160,2049,64,10,1,10107,9,10,10052,10194,144,105,111,58,102,
108,111,97,116,45,111,112,101,114,97,116,105,111,110,0,2049,10101,3841,10088,2049,
9102,10,10172,10215,144,110,58,116,111,45,102,108,111,97,116,0,1,0,2049,10194,
10,10201,10234,144,115,58,116,111,45,102,108,111,97,116,0,1,1,2049,10194,10,
10220,10254,144,102,58,116,111,45,110,117,109,98,101,114,0,1,2,2049,10194,10,
10239,10274,144,102,58,116,111,45,115,116,114,105,110,103,0,2049,3617,2,1,3,
2049,10194,10,10259,10289,144,102,58,43,0,1,4,2049,10194,10,10282,10301,144,102,58,
45,0,1,5,2049,10194,10,10294,10313,144,102,58,42,0,1,6,2049,10194,10,10306,
10325,144,102,58,47,0,1,7,2049,10194,10,10318,10341,144,102,58,102,108,111,111,
114,0,1,8,2049,10194,10,10330,10359,144,102,58,99,101,105,108,105,110,103,0,
1,9,2049,10194,10,10346,10374,144,102,58,115,113,114,116,0,1,10,2049,10194,10,
10364,10388,144,102,58,101,113,63,0,1,11,2049,10194,10,10379,10403,144,102,58,45,
101,113,63,0,1,12,2049,10194,10,10393,10417,144,102,58,108,116,63,0,1,13,
2049,10194,10,10408,10431,144,102,58,103,116,63,0,1,14,2049,10194,10,10422,10447,144,
102,58,100,101,112,116,104,0,1,15,2049,10194,10,10436,10461,144,102,58,100,117,
112,0,1,16,2049,10194,10,10452,10476,144,102,58,100,114,111,112,0,1,17,2049,
10194,10,10466,10491,144,102,58,115,119,97,112,0,1,18,2049,10194,10,10481,10505,144,
102,58,108,111,103,0,1,19,2049,10194,10,10496,10521,144,102,58,112,111,119,101,
114,0,1,20,2049,10194,10,10510,10535,144,102,58,115,105,110,0,1,21,2049,10194,
10,10526,10549,144,102,58,99,111,115,0,1,22,2049,10194,10,10540,10563,144,102,58,
116,97,110,0,1,23,2049,10194,10,10554,10578,144,102,58,97,115,105,110,0,1,
24,2049,10194,10,10568,10593,144,102,58,97,99,111,115,0,1,25,2049,10194,10,10583,
10608,144,102,58,97,116,97,110,0,1,26,2049,10194,10,10598,10623,144,102,58,112,
117,115,104,0,1,27,2049,10194,10,10613,10637,144,102,58,112,111,112,0,1,28,
2049,10194,10,10628,10654,144,102,58,97,100,101,112,116,104,0,1,29,2049,10194,10,
10642,10671,144,102,58,115,113,117,97,114,101,0,2049,10461,2049,10313,10,10659,10686,144,
102,58,111,118,101,114,0,2049,10623,2049,10461,2049,10637,2049,10491,10,10676,10705,144,102,
58,116,117,99,107,0,2049,10461,2049,10623,2049,10491,2049,10637,10,10695,10723,144,102,58,
110,105,112,0,2049,10491,2049,10476,10,10714,10743,144,102,58,100,114,111,112,45,112,
97,105,114,0,2049,10476,2049,10476,10,10728,10762,144,102,58,100,117,112,45,112,97,
105,114,0,2049,10686,2049,10686,10,10748,10776,144,102,58,114,111,116,0,2049,10623,2049,
10491,2049,10637,2049,10491,10,10767,10800,144,102,58,112,111,115,105,116,105,118,101,63,
0,1,0,2049,10215,2049,10431,10,10785,10822,144,102,58,110,101,103,97,116,105,118,
101,63,0,1,0,2049,10215,2049,10417,10,10807,10841,144,102,58,110,101,103,97,116,
101,0,1,-1,2049,10215,2049,10313,10,10829,10857,144,102,58,97,98,115,0,2049,10461,
2049,10822,1,10841,9,10,10848,10877,156,112,114,101,102,105,120,58,46,0,2049,1818,
1,3662,1,3591,2049,64,1,10234,2049,144,10,10865,10899,144,102,58,112,117,116,0,
2049,10274,2049,9221,10,10890,10912,144,102,58,80,73,0,2049,3636,51,46,49,52,49,
53,57,50,0,1,10914,2049,10234,10,10904,10935,144,102,58,69,0,2049,3636,50,46,
55,49,56,50,56,49,0,1,10937,2049,10234,10,10928,10960,144,102,58,78,65,78,
0,2049,3636,48,0,1,10962,2049,10234,2049,3636,48,0,1,10970,2049,10234,2049,10325,10,
10951,10988,144,102,58,73,78,70,0,2049,3636,49,46,48,0,1,10990,2049,10234,2049,
3636,48,0,1,11000,2049,10234,2049,10325,10,10979,11019,144,102,58,45,73,78,70,0,
2049,3636,45,49,46,48,0,1,11021,2049,10234,2049,3636,48,0,1,11032,2049,10234,2049,
10325,10,11009,11051,144,102,58,110,97,110,63,0,2049,10461,2049,10403,10,11041,11066,144,
102,58,105,110,102,63,0,2049,10988,2049,10388,10,11056,11082,144,102,58,45,105,110,
102,63,0,2049,11019,2049,10388,10,11071,11098,144,102,58,114,111,117,110,100,0,2049,
10461,2049,10822,1793,11119,2049,3636,48,46,53,0,1,11106,2049,10234,2049,10301,2049,10359,10,
1,11104,1793,11138,2049,3636,48,46,53,0,1,11125,2049,10234,2049,10289,2049,10341,10,1,
11123,2049,64,10,11087,11152,144,102,58,109,105,110,0,2049,10762,2049,10417,1,10476,1,
10723,2049,64,10,11143,11172,144,102,58,109,97,120,0,2049,10762,2049,10431,1,10476,1,
10723,2049,64,10,11163,11194,144,102,58,108,105,109,105,116,0,2049,10491,2049,10623,2049,
11152,2049,10637,2049,11172,10,11183,11219,144,102,58,98,101,116,119,101,101,110,63,0,
2049,10776,2049,10461,2049,10623,2049,10776,2049,10776,2049,11194,2049,10637,2049,10388,10,11205,11245,144,
102,58,105,110,99,0,2049,3636,49,0,1,11247,2049,10234,2049,10289,10,11236,11265,144,
102,58,100,101,99,0,2049,3636,49,0,1,11267,2049,10234,2049,10301,10,11256,11286,144,
102,58,99,97,115,101,0,2049,10686,2049,10388,1793,11298,2049,10476,8,1,-1,10,1,
11292,1793,11306,3,1,0,10,1,11302,2049,64,25,6,771,10,11276,11324,144,102,58,
115,105,103,110,0,2049,10461,2049,3636,48,0,1,11328,2049,10234,2049,10388,1793,11343,1,
0,2049,10476,10,1,11338,2049,2659,2049,3636,48,0,1,11349,2049,10234,2049,10431,1793,11362,
1,1,10,1,11359,1793,11369,1,-1,10,1,11366,2049,64,10,11314,2147483645,131,101,58,
77,65,88,0,11374,-2147483645,131,101,58,77,73,78,0,11383,-2147483647,131,101,58,78,65,
78,0,11392,2147483646,131,101,58,73,78,70,0,11401,-2147483646,131,101,58,45,73,78,70,
0,11410,11428,144,101,58,110,63,0,1,-2147483645,2049,2880,1,2147483645,2049,2893,2049,2911,10,
11420,11449,144,101,58,109,97,120,63,0,1,2147483645,11,10,11439,11463,144,101,58,109,
105,110,63,0,1,-2147483645,11,10,11453,11478,144,101,58,122,101,114,111,63,0,2049,
2533,10,11467,11491,144,101,58,110,97,110,63,0,1,-2147483647,11,10,11481,11505,144,101,
58,105,110,102,63,0,1,2147483646,11,10,11495,11520,144,101,58,45,105,110,102,63,
0,1,-2147483646,11,10,11509,11534,144,101,58,99,108,105,112,0,1,-2147483645,1,2147483645,2049,
2863,10,11524,11549,144,102,58,69,49,0,1793,11551,2049,3636,49,46,101,53,0,1,
11553,2049,10234,10,11541,11575,144,102,58,45,115,104,105,102,116,0,2049,11549,2049,10313,
10,11563,11592,144,102,58,43,115,104,105,102,116,0,2049,11549,2049,10325,10,11580,11614,
144,102,58,115,105,103,110,101,100,45,115,113,114,116,0,2049,10461,2049,11324,2049,
10857,2049,10374,2049,10215,2049,10313,10,11597,11640,144,102,58,43,101,110,99,111,100,101,
0,2049,11614,2049,11575,10,11627,11658,144,102,58,45,101,110,99,111,100,101,0,2049,
10461,2049,11324,2049,11592,2049,10461,2049,10313,2049,10215,2049,10313,10,11645,11692,144,102,58,115,
105,103,110,101,100,45,115,113,117,97,114,101,0,2049,10461,2049,11324,2049,10461,2049,
10313,2049,10215,2049,10313,10,11673,11715,144,102,58,116,111,45,101,0,2049,10461,2049,11051,
1793,11726,2049,10476,1,-2147483647,10,1,11721,2049,2659,2049,10461,2049,11066,1793,11741,2049,10476,1,
2147483646,10,1,11736,2049,2659,2049,10461,2049,11082,1793,11756,2049,10476,1,-2147483646,10,1,11751,2049,
2659,2049,11640,2049,11098,2049,10254,2049,11534,1,-2147483645,1793,11775,2049,10476,10,1,11772,2049,2379,
1,2147483645,1793,11786,2049,10476,10,1,11783,2049,2379,10,11705,11801,144,101,58,116,111,45,
102,0,1,-2147483647,1793,11808,2049,10960,10,1,11805,2049,2379,1,2147483646,1793,11819,2049,10988,10,
1,11816,2049,2379,1,-2147483646,1793,11830,2049,11019,10,1,11827,2049,2379,2049,10215,2049,11658,10,
11791,11850,144,102,58,115,116,111,114,101,0,1793,11855,2049,11715,10,1,11852,2049,2106,
16,10,11839,11872,144,102,58,102,101,116,99,104,0,15,2049,11801,10,11861,11892,144,
102,58,100,117,109,112,45,115,116,97,99,107,0,2049,10447,2,1,10623,2049,2281,
1793,11910,2049,10637,2049,10461,2049,10899,2049,9195,10,1,11901,2049,2281,10,11876,11932,144,102,
58,100,117,109,112,45,97,115,116,97,99,107,0,2049,10654,2,1,10637,2049,2281,
1793,11950,2049,10461,2049,10899,2049,9195,2049,10623,10,1,11941,2049,2281,10,11915,11964,144,101,
58,112,117,116,0,1,2147483645,1793,11981,2049,3636,101,58,77,65,88,0,1,11970,2049,
9221,10,1,11968,2049,2379,1,-2147483645,1793,12002,2049,3636,101,58,77,73,78,0,1,11991,
2049,9221,10,1,11989,2049,2379,1,0,1793,12021,2049,3636,101,58,48,0,1,12012,2049,
9221,10,1,12010,2049,2379,1,-2147483647,1793,12042,2049,3636,101,58,78,65,78,0,1,12031,
2049,9221,10,1,12029,2049,2379,1,2147483646,1793,12063,2049,3636,101,58,73,78,70,0,1,
12052,2049,9221,10,1,12050,2049,2379,1,-2147483646,1793,12085,2049,3636,101,58,45,73,78,70,
0,1,12073,2049,9221,10,1,12071,2049,2379,2049,11801,2049,10899,10,11955,12102,131,85,110,
105,120,0,0,12094,12115,144,105,100,101,110,116,105,102,121,0,3841,12102,2049,2533,
1793,12182,1,8,2049,9128,2,2049,2568,1793,12170,3,2049,3636,73,79,32,68,69,86,
73,67,69,32,84,89,80,69,32,48,48,48,56,32,78,79,84,32,70,79,
85,78,68,0,1,12133,2049,9221,2049,9184,10,1,12130,1793,12177,4097,12102,10,1,12174,
2049,64,10,1,12121,9,10,11955,12205,144,105,111,58,117,110,105,120,45,115,121,
115,99,97,108,108,0,2049,12115,3841,12102,2049,9102,10,12186,12227,144,117,110,105,120,
58,115,121,115,116,101,109,0,1,0,2049,12205,10,12212,12245,144,117,110,105,120,
58,102,111,114,107,0,1,1,2049,12205,10,12232,12264,144,117,110,105,120,58,101,
120,101,99,48,0,1,2,2049,12205,10,12250,12283,144,117,110,105,120,58,101,120,
101,99,49,0,1,3,2049,12205,10,12269,12302,144,117,110,105,120,58,101,120,101,
99,50,0,1,4,2049,12205,10,12288,12321,144,117,110,105,120,58,101,120,101,99,
51,0,1,5,2049,12205,10,12307,12339,144,117,110,105,120,58,101,120,105,116,0,
1,6,2049,12205,10,12326,12359,144,117,110,105,120,58,103,101,116,112,105,100,0,
1,7,2049,12205,10,12344,12377,144,117,110,105,120,58,119,97,105,116,0,1,8,
2049,12205,10,12364,12395,144,117,110,105,120,58,107,105,108,108,0,1,9,2049,12205,
10,12382,12414,144,117,110,105,120,58,112,111,112,101,110,0,1,10,2049,12205,10,
12400,12434,144,117,110,105,120,58,112,99,108,111,115,101,0,1,11,2049,12205,10,
12419,12453,144,117,110,105,120,58,99,104,100,105,114,0,1,13,2049,12205,10,12439,
12473,144,117,110,105,120,58,103,101,116,101,110,118,0,1,14,2049,12205,10,12458,
12493,144,117,110,105,120,58,112,117,116,101,110,118,0,1,15,2049,12205,10,12478,
12512,144,117,110,105,120,58,115,108,101,101,112,0,1,16,2049,12205,10,12498,12533,
144,117,110,105,120,58,103,101,116,45,99,119,100,0,2049,3636,112,119,100,0,
1,12535,1,0,2049,12414,2,2049,9876,2049,5870,4,2049,12434,2049,3636,47,0,1,12555,
2049,3842,10,12517,12589,144,117,110,105,120,58,99,111,117,110,116,45,102,105,108,
101,115,45,105,110,45,99,119,100,0,2049,3636,108,115,32,45,49,32,124,32,
119,99,32,45,108,0,1,12591,1,0,2049,12414,2,2049,9876,2049,5870,2049,218,4,
2049,12434,10,12562,12644,144,117,110,105,120,58,102,111,114,45,101,97,99,104,45,
102,105,108,101,0,2049,3636,108,115,32,45,49,32,45,112,0,1,12646,1,0,
2049,12414,2049,12589,1793,12679,1793,12674,2049,9876,2049,3591,67502597,8,10,1,12667,2049,2116,10,
1,12665,2049,2281,2049,12434,3,10,12622,12696,144,115,116,97,114,116,0,4,2049,3418,
1,0,2049,12414,10,12687,12712,144,114,101,97,100,0,2,2049,9514,2,2049,3326,2049,
2533,10,12704,12731,144,102,105,110,105,115,104,0,2049,12434,2049,3398,10,12622,12755,144,
117,110,105,120,58,115,108,117,114,112,45,112,105,112,101,0,1793,12771,2049,12696,
1793,12764,2049,12712,10,1,12761,2049,2256,2049,12731,10,1,12757,2049,3442,10,12736,12782,131,
105,111,0,0,12776,12795,144,105,100,101,110,116,105,102,121,0,3841,12782,2049,2533,
1793,12862,1,10,2049,9128,2,2049,2568,1793,12850,3,2049,3636,73,79,32,68,69,86,
73,67,69,32,84,89,80,69,32,48,48,49,48,32,78,79,84,32,70,79,
85,78,68,0,1,12813,2049,9221,2049,9184,10,1,12810,1793,12857,4097,12782,10,1,12854,
2049,64,10,1,12801,9,10,12736,12886,144,105,111,58,114,110,103,45,111,112,101,
114,97,116,105,111,110,0,2049,12795,3841,12782,2049,9102,10,12866,12905,144,110,58,114,
97,110,100,111,109,0,2049,12886,10,12893,12919,131,83,111,99,107,101,116,115,0,
0,12908,12932,144,105,100,101,110,116,105,102,121,0,3841,12919,2049,2533,1793,12999,1,
7,2049,9128,2,2049,2568,1793,12987,3,2049,3636,73,79,32,68,69,86,73,67,69,
32,84,89,80,69,32,48,48,48,52,32,78,79,84,32,70,79,85,78,68,
0,1,12950,2049,9221,2049,9184,10,1,12947,1793,12994,4097,12919,10,1,12991,2049,64,10,
1,12938,9,10,12893,13026,144,105,111,58,115,111,99,107,101,116,45,111,112,101,
114,97,116,105,111,110,0,2049,12932,3841,12919,2049,9102,10,13003,13057,144,115,111,99,
107,101,116,58,103,101,116,104,111,115,116,98,121,110,97,109,101,0,1,0,
2049,13026,10,13033,13079,144,115,111,99,107,101,116,58,99,114,101,97,116,101,0,
1,1,2049,13026,10,13062,13099,144,115,111,99,107,101,116,58,98,105,110,100,0,
1,2,2049,13026,10,13084,13121,144,115,111,99,107,101,116,58,108,105,115,116,101,
110,0,1,3,2049,13026,10,13104,13143,144,115,111,99,107,101,116,58,97,99,99,
101,112,116,0,1,4,2049,13026,10,13126,13166,144,115,111,99,107,101,116,58,99,
111,110,110,101,99,116,0,1,5,2049,13026,10,13148,13186,144,115,111,99,107,101,
116,58,115,101,110,100,0,1,6,2049,13026,10,13171,13206,144,115,111,99,107,101,
116,58,114,101,99,118,0,1,8,2049,13026,10,13191,13227,144,115,111,99,107,101,
116,58,99,108,111,115,101,0,1,10,2049,13026,10,13211,13252,144,115,111,99,107,
101,116,58,99,111,110,102,105,103,117,114,101,0,1,11,2049,13026,10,13232,1024,
131,84,73,66,0,13257,13278,144,105,109,97,103,101,58,115,97,118,101,0,1,
1000,2049,9128,2049,9102,10,13264,13297,131,75,101,121,98,111,97,114,100,0,0,13285,
13310,144,105,100,101,110,116,105,102,121,0,3841,13297,2049,2533,1793,13377,1,1,2049,
9128,2,2049,2568,1793,13365,3,2049,3636,73,79,32,68,69,86,73,67,69,32,84,
89,80,69,32,48,48,48,49,32,78,79,84,32,70,79,85,78,68,0,1,
13328,2049,9221,2049,9184,10,1,13325,1793,13372,4097,13297,10,1,13369,2049,64,10,1,13316,
9,10,13264,13390,144,99,58,103,101,116,0,2049,13310,3841,13297,2049,9102,10,13381,13407,
144,103,97,116,104,101,114,0,2,1793,13414,1,8,11,10,1,13410,1793,13422,1,
127,11,10,1,13418,2049,2128,22,1,11,1,3326,2049,64,10,13397,13443,144,99,121,
99,108,101,0,2049,13390,2049,2096,4,8,2049,2465,25,3,2049,13407,1,13443,7,10,
13381,13474,144,112,97,114,115,101,45,117,110,116,105,108,0,1793,13486,2049,3617,2049,
3418,2049,13443,771,2049,3292,10,1,13476,2049,3442,10,13459,13500,144,115,58,103,101,116,
0,1793,13522,1793,13508,1,10,11,10,1,13504,1793,13516,1,13,11,10,1,13512,2049,
2128,22,10,1,13502,2049,13474,10,13491,13541,144,115,58,103,101,116,45,119,111,114,
100,0,1,5472,2049,13474,10,13527,13559,131,83,99,114,105,112,116,105,110,103,0,
7,13546,13572,144,105,100,101,110,116,105,102,121,0,3841,13559,2049,2533,1793,13639,1,
9,2049,9128,2,2049,2568,1793,13627,3,2049,3636,73,79,32,68,69,86,73,67,69,
32,84,89,80,69,32,48,48,48,57,32,78,79,84,32,70,79,85,78,68,
0,1,13590,2049,9221,2049,9184,10,1,13587,1793,13634,4097,13559,10,1,13631,2049,64,10,
1,13578,9,10,13527,13655,144,115,121,115,58,97,114,103,99,0,2049,13572,1,0,
3841,13559,2049,9102,10,13643,13676,144,115,121,115,58,97,114,103,118,0,2049,3617,4,
2049,13572,1,1,3841,13559,2049,9102,10,13664,13699,144,105,110,99,108,117,100,101,0,
2049,13572,1,2,3841,13559,2049,9102,10,13688,13720,144,115,121,115,58,110,97,109,101,
0,2049,3617,2049,13572,1,3,3841,13559,2049,9102,10,13708,13740,144,99,108,101,97,114,
0,1,27,2049,9171,2049,3636,91,50,74,0,1,13746,2049,9221,1,27,2049,9171,2049,
3636,91,48,59,48,72,0,1,13760,2049,9221,10,13731,13781,131,78,111,69,99,104,
111,0,0,13771,13789,144,98,121,101,0,1,0,2049,12339,10,13782,13805,144,118,101,
114,115,105,111,110,0,3841,4,1,100,20,10,13794,13820,144,100,111,110,101,63,
0,1793,13826,1,13,11,10,1,13822,1793,13834,1,10,11,10,1,13830,1793,13842,1,
32,11,10,1,13838,2049,2165,22,22,10,13811,13859,144,118,97,108,105,100,63,0,
2,2049,79,2049,2615,10,13849,13878,144,99,104,101,99,107,45,101,111,102,0,2,
1793,13885,1,-1,11,10,1,13881,1793,13893,1,4,11,10,1,13889,2049,2128,22,1,
13789,9,10,13865,13908,144,98,115,0,2049,3350,2049,3350,771,10,13902,13926,144,99,104,
101,99,107,45,98,115,0,2,1793,13933,1,8,11,10,1,13929,1793,13941,1,127,
11,10,1,13937,2049,2128,22,1,13908,9,10,13914,13959,144,99,104,101,99,107,0,
2049,13878,2049,13926,10,13950,13977,144,99,104,97,114,97,99,116,101,114,0,2049,13390,
2,2049,3326,10,13964,13993,144,98,117,102,102,101,114,0,1793,14003,1,1024,2049,3418,
8,2049,3292,10,1,13995,2049,3442,10,13983,14022,144,114,101,97,100,45,116,111,107,
101,110,0,1793,14038,1793,14033,2049,13977,2049,13959,2049,13820,10,1,14026,2049,2256,10,1,
14024,2049,13993,2049,3714,10,14008,14054,144,105,110,112,117,116,0,2049,14022,2049,13859,10,
14045,14070,144,112,114,111,99,101,115,115,0,1,365,1,11,2049,64,10,13782,14087,
144,98,97,110,110,101,114,0,2049,13805,2049,3636,82,69,84,82,79,32,49,50,
32,40,37,110,46,37,110,41,92,110,0,1,14091,2049,7092,2049,9221,2049,1543,2049,
1877,18,2049,1877,2049,1543,2049,3636,37,110,32,77,97,120,44,32,37,110,32,85,
115,101,100,44,32,37,110,32,70,114,101,101,92,110,0,1,14127,2049,7092,2049,
9221,10,14077,14171,144,108,105,115,116,101,110,0,3841,13781,1793,14178,2049,14087,10,1,
14175,2049,70,2049,14054,2049,14070,1,14182,7,10,14161,14199,131,67,108,111,99,107,0,
0,14190,14212,144,105,100,101,110,116,105,102,121,0,3841,14199,2049,2533,1793,14279,1,
5,2049,9128,2,2049,2568,1793,14267,3,2049,3636,73,79,32,68,69,86,73,67,69,
32,84,89,80,69,32,48,48,48,53,32,78,79,84,32,70,79,85,78,68,
0,1,14230,2049,9221,2049,9184,10,1,14227,1793,14274,4097,14199,10,1,14271,2049,64,10,
1,14218,9,10,14161,14305,144,105,111,58,99,108,111,99,107,45,111,112,101,114,
97,116,105,111,110,0,2049,14212,3841,14199,2049,9102,10,14283,14331,144,99,108,111,99,
107,58,116,105,109,101,115,116,97,109,112,0,1,0,2049,14305,10,14312,14349,144,
99,108,111,99,107,58,100,97,121,0,1,1,2049,14305,10,14336,14369,144,99,108,
111,99,107,58,109,111,110,116,104,0,1,2,2049,14305,10,14354,14388,144,99,108,
111,99,107,58,121,101,97,114,0,1,3,2049,14305,10,14374,14407,144,99,108,111,
99,107,58,104,111,117,114,0,1,4,2049,14305,10,14393,14428,144,99,108,111,99,
107,58,109,105,110,117,116,101,0,1,5,2049,14305,10,14412,14449,144,99,108,111,
99,107,58,115,101,99,111,110,100,0,1,6,2049,14305,10,14433,14471,144,99,108,
111,99,107,58,117,116,99,58,100,97,121,0,1,7,2049,14305,10,14454,14495,144,
99,108,111,99,107,58,117,116,99,58,109,111,110,116,104,0,1,8,2049,14305,
10,14476,14518,144,99,108,111,99,107,58,117,116,99,58,121,101,97,114,0,1,
9,2049,14305,10,14500,14541,144,99,108,111,99,107,58,117,116,99,58,104,111,117,
114,0,1,10,2049,14305,10,14523,14566,144,99,108,111,99,107,58,117,116,99,58,
109,105,110,117,116,101,0,1,11,2049,14305,10,14546,14591,144,99,108,111,99,107,
58,117,116,99,58,115,101,99,111,110,100,0,1,12,2049,14305,10,14571,14607,144,
100,58,119,111,114,100,115,0,1793,14616,2049,162,2049,9221,2049,9195,10,1,14609,2049,
7321,10,14596,14637,144,100,58,119,111,114,100,115,45,119,105,116,104,0,2049,1877,
2049,4528,1793,14668,2049,162,2,2049,1877,2049,4155,1793,14657,2049,9221,2049,9195,10,1,14652,
1793,14663,3,10,1,14661,2049,64,10,1,14643,2049,7321,10,14621,14692,144,100,105,115,
112,108,97,121,45,105,102,45,108,101,102,116,0,2,2049,1877,2049,4455,1793,14704,
2049,9221,2049,9195,10,1,14699,1793,14710,3,10,1,14708,2049,64,10,14621,14741,144,100,
58,119,111,114,100,115,45,98,101,103,105,110,110,105,110,103,45,119,105,116,
104,0,2049,1877,2049,4528,1793,14752,2049,162,2049,14692,10,1,14747,2049,7321,10,14715,14767,
144,102,105,101,108,100,115,0,3841,2,2049,105,2049,105,2049,105,10,14757,14793,144,
105,110,118,97,108,105,100,45,110,97,109,101,63,0,2,1,32,2049,3986,10,
14776,14810,144,114,101,119,114,105,116,101,0,1793,14824,1,32,1793,14819,1,95,10,
1,14816,2049,2379,10,1,14812,2049,4326,10,14799,14838,144,101,110,116,114,121,0,2049,
1877,1,21,2049,2106,4097,2,10,1793,14866,1793,14861,2049,14767,2049,14793,1,14810,9,2049,
119,10,1,14851,2049,14838,10,1,14849,0 };
7810,2049,7501,772,10,7783,7833,144,97,58,109,97,112,0,1793,7839,8,2049,105,10,
1,7835,2049,7269,2049,1877,1793,7854,67502597,15,2049,105,2049,7501,10,1,7847,2049,2106,10,
7824,7872,144,97,58,114,101,118,101,114,115,101,0,2049,1877,1793,7906,2049,56,1793,
7884,17,2049,2893,10,1,7880,2049,2116,2,2049,105,1793,7900,2,15,2049,105,2049,2893,
10,1,7893,2049,2281,3,10,1,7876,2049,2106,10,7859,7919,144,97,58,116,104,0,
17,2049,2880,10,7911,7934,144,97,58,102,101,116,99,104,0,2049,7919,15,10,7923,
7949,144,97,58,115,116,111,114,101,0,2049,7919,16,10,7938,7965,144,97,58,114,
101,100,117,99,101,0,1,13,2049,2106,2049,7501,10,7953,7984,144,105,100,101,110,
116,105,102,121,0,1,-1,4,1,0,1793,8015,2049,2356,11,1793,8009,67502597,1,-1,
11,1793,8005,772,2,10,1,8002,9,10,1,7996,9,2049,2880,10,1,7991,2049,7965,
3,10,7953,8035,144,97,58,105,110,100,101,120,45,111,102,0,1,3,1793,8048,
1,26,2049,7269,2049,7833,2049,7984,10,1,8039,2049,3069,10,8021,8074,144,97,58,105,
110,100,101,120,45,111,102,45,115,116,114,105,110,103,0,1,3,1793,8087,1,
93,2049,7269,2049,7833,2049,7984,10,1,8078,2049,3069,10,8053,8102,144,97,58,109,97,
107,101,0,2049,7433,2049,7872,10,8092,8112,156,123,0,1,285,2049,156,1,1556,2049,
144,1,285,2049,156,10,8107,8130,156,125,0,1,301,2049,156,1,2106,2049,144,1,
1556,2049,144,1,13,2049,150,1,40,2049,150,1,2893,2049,144,1,301,2049,156,1,
8102,2049,144,10,8125,8174,144,98,111,117,110,100,115,63,0,67502597,2049,7410,67502597,13,
10,8163,8188,144,99,111,112,121,0,2049,56,2049,105,10,8180,8203,144,116,111,45,
101,110,100,0,2,2049,7410,17,2049,2880,10,8125,8220,144,97,58,108,101,102,116,
0,2049,8174,1793,8228,771,1,-1,10,1,8224,2049,2659,2049,1877,67502597,2049,105,1793,8249,
1,2880,2049,2106,1,8188,2049,2281,3,10,1,8239,2049,2106,10,8210,8265,144,97,58,
114,105,103,104,116,0,2049,8174,1793,8273,771,1,-1,10,1,8269,2049,2659,2049,1877,
67502597,2049,105,1793,8296,4,2049,8203,67502597,18,4,1,8188,2049,2281,3,10,1,8284,2049,
2106,10,8254,8313,144,97,58,109,105,100,100,108,101,0,1,2048,2049,2106,4,67502597,
2049,8174,1793,8328,771,3,1,-1,10,1,8323,2049,2659,771,2049,2096,4,18,2049,2880,
2049,1877,67502597,2049,105,1793,8363,772,1793,8353,17,2049,2880,10,1,8349,2049,2106,1,8188,
2049,2281,3,10,1,8346,2049,2106,10,8301,8376,131,70,108,97,103,0,0,8368,8388,
144,99,111,109,112,97,114,101,0,67440386,184946434,10,8377,8401,144,108,101,110,103,116,
104,0,659202,10,8391,8411,144,110,101,120,116,0,17043713,1,1,2577,10,8403,8429,144,
110,111,116,45,101,113,117,97,108,0,50529030,2561,0,10,8416,8441,144,108,111,111,
112,0,524549,8411,2049,8388,18157313,8376,8376,16,420610310,1,1,8441,7,10,8301,8464,144,97,
58,101,113,63,0,1048833,-1,8376,2049,8388,151066369,-1,8429,2049,8401,2049,8441,251724547,8376,10,
8455,8489,144,97,58,45,101,113,63,0,2049,8464,2049,2465,10,8479,8512,144,97,58,
98,101,103,105,110,115,45,119,105,116,104,63,0,1,3,1793,8528,2,2049,7410,
1,13,2049,2106,2049,8220,2049,8464,10,1,8516,2049,3069,10,8494,8549,144,97,58,101,
110,100,115,45,119,105,116,104,63,0,1,3,1793,8565,2,2049,7410,1,13,2049,
2106,2049,8265,2049,8464,10,1,8553,2049,3069,10,8533,8586,144,99,117,114,114,101,110,
116,45,108,105,110,101,0,2049,3507,1,1025,18,10,8570,8608,144,99,111,117,110,
116,45,116,111,107,101,110,115,0,1793,8614,1,32,11,10,1,8610,2049,4284,2049,
79,10,8592,8639,144,112,114,111,99,101,115,115,45,116,111,107,101,110,115,0,
1793,8667,1,32,2049,6081,4,1793,8660,2,2049,79,2049,2549,1,365,1,11,2049,64,
10,1,8648,2049,2106,2049,2880,10,1,8641,2049,2281,2049,365,10,8533,8688,144,115,58,
101,118,97,108,117,97,116,101,0,2049,8586,2049,4528,2049,8586,2,2049,8608,2049,8639,
10,8674,8706,131,76,80,0,0,8700,8716,131,73,110,100,101,120,0,0,10,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,8707,8756,144,110,101,120,116,0,3841,8706,1,
8716,17,2049,2978,10,8748,8772,144,112,114,101,112,0,1,8706,2049,2978,1,0,3841,
8706,1,8716,17,16,10,8764,8793,144,100,111,110,101,0,1,8706,2049,2993,10,8674,
8803,144,73,0,3841,8706,1,8716,17,15,10,8798,8815,144,74,0,3841,8706,1,8716,
17,2049,2893,15,10,8810,8829,144,75,0,3841,8706,1,8716,17,1,2,18,15,10,
8824,8860,144,116,105,109,101,115,60,119,105,116,104,45,105,110,100,101,120,62,
0,2049,8772,4,1793,8876,25,33886721,1,2053,1542,2049,8756,1,8865,7,10,1,8865,8,
3,2049,8793,10,8839,8891,156,104,111,111,107,0,2049,3636,108,105,106,117,46,46,
46,46,0,1,8893,2049,412,2049,1877,2049,2880,2049,105,10,8883,8925,144,115,101,116,
45,104,111,111,107,0,2049,2880,16,10,8913,8939,144,117,110,104,111,111,107,0,
2049,2880,2,2049,2880,4,16,10,8929,8963,144,105,111,58,101,110,117,109,101,114,
97,116,101,0,27,10,8947,8977,144,105,111,58,113,117,101,114,121,0,28,10,
8965,8992,144,105,111,58,105,110,118,111,107,101,0,29,10,8979,9002,131,83,108,
111,116,0,9,8979,9018,144,105,111,58,115,99,97,110,45,102,111,114,0,1,
-1,4097,9002,2049,8963,1793,9044,2049,8803,2049,8977,772,67502597,11,1793,9040,2049,8803,4097,9002,
10,1,9035,9,10,1,9026,2049,8860,3,3841,9002,10,9003,9061,144,99,58,112,117,
116,0,1793,9063,1,0,2049,8992,10,9052,9074,144,110,108,0,1,10,2049,9061,10,
9068,9085,144,115,112,0,1,32,2049,9061,10,9079,9097,144,116,97,98,0,1,9,
2049,9061,10,9090,9111,144,115,58,112,117,116,0,1,9061,2049,3860,10,9102,9125,144,
110,58,112,117,116,0,2049,5920,2049,9111,10,9116,9139,144,114,101,115,101,116,0,
2049,1556,25,771,1,9139,7,10,9130,9161,144,100,117,109,112,45,115,116,97,99,
107,0,2049,1556,25,3,5,2049,9161,6,2,2049,9125,2049,9085,10,9147,9183,144,70,
82,69,69,0,2049,3507,1,1025,18,2049,1877,18,10,9175,9201,131,70,105,108,101,
115,0,0,9192,9214,144,105,100,101,110,116,105,102,121,0,3841,9201,2049,2533,1793,
9281,1,4,2049,9018,2,2049,2568,1793,9269,3,2049,3636,73,79,32,68,69,86,73,
67,69,32,84,89,80,69,32,48,48,48,52,32,78,79,84,32,70,79,85,
78,68,0,1,9232,2049,9111,2049,9074,10,1,9229,1793,9276,4097,9201,10,1,9273,2049,
64,10,1,9220,9,10,9175,9306,144,105,111,58,102,105,108,101,45,111,112,101,
114,97,116,105,111,110,0,2049,9214,3841,9201,2049,8992,10,9285,0,131,102,105,108,
101,58,82,0,9313,1,131,102,105,108,101,58,87,0,9323,2,131,102,105,108,
101,58,65,0,9333,3,131,102,105,108,101,58,82,43,0,9343,9367,144,102,105,
108,101,58,111,112,101,110,0,1,0,2049,9306,10,9354,9386,144,102,105,108,101,
58,99,108,111,115,101,0,1,1,2049,9306,10,9372,9404,144,102,105,108,101,58,
114,101,97,100,0,1,2,2049,9306,10,9391,9423,144,102,105,108,101,58,119,114,
105,116,101,0,1,3,2049,9306,10,9409,9441,144,102,105,108,101,58,116,101,108,
108,0,1,4,2049,9306,10,9428,9459,144,102,105,108,101,58,115,101,101,107,0,
1,5,2049,9306,10,9446,9477,144,102,105,108,101,58,115,105,122,101,0,1,6,
2049,9306,10,9464,9497,144,102,105,108,101,58,100,101,108,101,116,101,0,1,7,
2049,9306,10,9482,9516,144,102,105,108,101,58,102,108,117,115,104,0,1,8,2049,
9306,10,9502,9537,144,102,105,108,101,58,101,120,105,115,116,115,63,0,1,0,
2049,9367,2,2049,2549,1793,9551,2049,9386,2049,2356,10,1,9546,1793,9559,3,2049,2368,10,
1,9555,2049,64,10,9521,9590,144,102,105,108,101,58,111,112,101,110,60,102,111,
114,45,114,101,97,100,105,110,103,62,0,1,0,2049,9367,2,2049,9477,4,10,
9564,9624,144,102,105,108,101,58,111,112,101,110,60,102,111,114,45,97,112,112,
101,110,100,62,0,1,2,2049,9367,2,2049,9477,4,10,9599,9659,144,102,105,108,
101,58,111,112,101,110,60,102,111,114,45,119,114,105,116,105,110,103,62,0,
1,1,2049,9367,10,9633,9671,131,70,73,68,0,0,9664,9680,131,83,105,122,101,
0,0,9672,9691,131,65,99,116,105,111,110,0,0,9681,9702,131,66,117,102,102,
101,114,0,0,9692,9712,144,45,101,111,102,63,0,3841,9671,2049,9441,3841,9680,13,
10,9703,9732,144,112,114,101,115,101,114,118,101,0,1,9671,1793,9743,1,9680,1,
21,2049,3069,10,1,9736,2049,3069,10,9633,9766,144,102,105,108,101,58,114,101,97,
100,45,108,105,110,101,0,4097,9671,1793,9823,2049,1877,2,4097,9702,2049,3418,1793,9815,
3841,9671,2049,9404,2,2049,3326,1793,9792,1,13,11,10,1,9788,1793,9800,1,10,11,
10,1,9796,1793,9808,1,0,11,10,1,9804,2049,2165,22,22,10,1,9779,2049,2256,
2049,3350,3,10,1,9770,2049,3442,3841,9702,10,9748,9852,144,102,105,108,101,58,102,
111,114,45,101,97,99,104,45,108,105,110,101,0,1793,9883,4097,9691,2049,9590,4097,
9671,4097,9680,1793,9874,3841,9671,2049,9766,3841,9691,8,2049,9712,10,1,9864,2049,2233,3841,
9671,2049,9386,10,1,9854,2049,9732,10,9830,9895,131,70,73,68,0,0,9830,9910,144,
102,105,108,101,58,115,108,117,114,112,0,1793,9937,4,2049,3418,2049,9590,4097,9895,
1793,9928,3841,9895,2049,9404,2049,3326,10,1,9921,2049,2281,3841,9895,2049,9386,10,1,9912,
2049,3442,10,9896,9955,144,102,105,108,101,58,115,112,101,119,0,2049,9659,4,1793,
9964,67502597,2049,9423,10,1,9960,2049,3860,2049,9386,10,9942,9978,131,70,80,85,0,0,
9971,9991,144,105,100,101,110,116,105,102,121,0,3841,9978,2049,2533,1793,10058,1,2,
2049,9018,2,2049,2568,1793,10046,3,2049,3636,73,79,32,68,69,86,73,67,69,32,
84,89,80,69,32,48,48,48,50,32,78,79,84,32,70,79,85,78,68,0,
1,10009,2049,9111,2049,9074,10,1,10006,1793,10053,4097,9978,10,1,10050,2049,64,10,1,
9997,9,10,9942,10084,144,105,111,58,102,108,111,97,116,45,111,112,101,114,97,
116,105,111,110,0,2049,9991,3841,9978,2049,8992,10,10062,10105,144,110,58,116,111,45,
102,108,111,97,116,0,1,0,2049,10084,10,10091,10124,144,115,58,116,111,45,102,
108,111,97,116,0,1,1,2049,10084,10,10110,10144,144,102,58,116,111,45,110,117,
109,98,101,114,0,1,2,2049,10084,10,10129,10164,144,102,58,116,111,45,115,116,
114,105,110,103,0,2049,3617,2,1,3,2049,10084,10,10149,10179,144,102,58,43,0,
1,4,2049,10084,10,10172,10191,144,102,58,45,0,1,5,2049,10084,10,10184,10203,144,
102,58,42,0,1,6,2049,10084,10,10196,10215,144,102,58,47,0,1,7,2049,10084,
10,10208,10231,144,102,58,102,108,111,111,114,0,1,8,2049,10084,10,10220,10249,144,
102,58,99,101,105,108,105,110,103,0,1,9,2049,10084,10,10236,10264,144,102,58,
115,113,114,116,0,1,10,2049,10084,10,10254,10278,144,102,58,101,113,63,0,1,
11,2049,10084,10,10269,10293,144,102,58,45,101,113,63,0,1,12,2049,10084,10,10283,
10307,144,102,58,108,116,63,0,1,13,2049,10084,10,10298,10321,144,102,58,103,116,
63,0,1,14,2049,10084,10,10312,10337,144,102,58,100,101,112,116,104,0,1,15,
2049,10084,10,10326,10351,144,102,58,100,117,112,0,1,16,2049,10084,10,10342,10366,144,
102,58,100,114,111,112,0,1,17,2049,10084,10,10356,10381,144,102,58,115,119,97,
112,0,1,18,2049,10084,10,10371,10395,144,102,58,108,111,103,0,1,19,2049,10084,
10,10386,10411,144,102,58,112,111,119,101,114,0,1,20,2049,10084,10,10400,10425,144,
102,58,115,105,110,0,1,21,2049,10084,10,10416,10439,144,102,58,99,111,115,0,
1,22,2049,10084,10,10430,10453,144,102,58,116,97,110,0,1,23,2049,10084,10,10444,
10468,144,102,58,97,115,105,110,0,1,24,2049,10084,10,10458,10483,144,102,58,97,
99,111,115,0,1,25,2049,10084,10,10473,10498,144,102,58,97,116,97,110,0,1,
26,2049,10084,10,10488,10513,144,102,58,112,117,115,104,0,1,27,2049,10084,10,10503,
10527,144,102,58,112,111,112,0,1,28,2049,10084,10,10518,10544,144,102,58,97,100,
101,112,116,104,0,1,29,2049,10084,10,10532,10561,144,102,58,115,113,117,97,114,
101,0,2049,10351,2049,10203,10,10549,10576,144,102,58,111,118,101,114,0,2049,10513,2049,
10351,2049,10527,2049,10381,10,10566,10595,144,102,58,116,117,99,107,0,2049,10351,2049,10513,
2049,10381,2049,10527,10,10585,10613,144,102,58,110,105,112,0,2049,10381,2049,10366,10,10604,
10633,144,102,58,100,114,111,112,45,112,97,105,114,0,2049,10366,2049,10366,10,10618,
10652,144,102,58,100,117,112,45,112,97,105,114,0,2049,10576,2049,10576,10,10638,10666,
144,102,58,114,111,116,0,2049,10513,2049,10381,2049,10527,2049,10381,10,10657,10690,144,102,
58,112,111,115,105,116,105,118,101,63,0,1,0,2049,10105,2049,10321,10,10675,10712,
144,102,58,110,101,103,97,116,105,118,101,63,0,1,0,2049,10105,2049,10307,10,
10697,10731,144,102,58,110,101,103,97,116,101,0,1,-1,2049,10105,2049,10203,10,10719,
10747,144,102,58,97,98,115,0,2049,10351,2049,10712,1,10731,9,10,10738,10767,156,112,
114,101,102,105,120,58,46,0,2049,1818,1,3662,1,3591,2049,64,1,10124,2049,144,
10,10755,10789,144,102,58,112,117,116,0,2049,10164,2049,9111,10,10780,10802,144,102,58,
80,73,0,2049,3636,51,46,49,52,49,53,57,50,0,1,10804,2049,10124,10,10794,
10825,144,102,58,69,0,2049,3636,50,46,55,49,56,50,56,49,0,1,10827,2049,
10124,10,10818,10850,144,102,58,78,65,78,0,2049,3636,48,0,1,10852,2049,10124,2049,
3636,48,0,1,10860,2049,10124,2049,10215,10,10841,10878,144,102,58,73,78,70,0,2049,
3636,49,46,48,0,1,10880,2049,10124,2049,3636,48,0,1,10890,2049,10124,2049,10215,10,
10869,10909,144,102,58,45,73,78,70,0,2049,3636,45,49,46,48,0,1,10911,2049,
10124,2049,3636,48,0,1,10922,2049,10124,2049,10215,10,10899,10941,144,102,58,110,97,110,
63,0,2049,10351,2049,10293,10,10931,10956,144,102,58,105,110,102,63,0,2049,10878,2049,
10278,10,10946,10972,144,102,58,45,105,110,102,63,0,2049,10909,2049,10278,10,10961,10988,
144,102,58,114,111,117,110,100,0,2049,10351,2049,10712,1793,11009,2049,3636,48,46,53,
0,1,10996,2049,10124,2049,10191,2049,10249,10,1,10994,1793,11028,2049,3636,48,46,53,0,
1,11015,2049,10124,2049,10179,2049,10231,10,1,11013,2049,64,10,10977,11042,144,102,58,109,
105,110,0,2049,10652,2049,10307,1,10366,1,10613,2049,64,10,11033,11062,144,102,58,109,
97,120,0,2049,10652,2049,10321,1,10366,1,10613,2049,64,10,11053,11084,144,102,58,108,
105,109,105,116,0,2049,10381,2049,10513,2049,11042,2049,10527,2049,11062,10,11073,11109,144,102,
58,98,101,116,119,101,101,110,63,0,2049,10666,2049,10351,2049,10513,2049,10666,2049,10666,
2049,11084,2049,10527,2049,10278,10,11095,11135,144,102,58,105,110,99,0,2049,3636,49,0,
1,11137,2049,10124,2049,10179,10,11126,11155,144,102,58,100,101,99,0,2049,3636,49,0,
1,11157,2049,10124,2049,10191,10,11146,11176,144,102,58,99,97,115,101,0,2049,10576,2049,
10278,1793,11188,2049,10366,8,1,-1,10,1,11182,1793,11196,3,1,0,10,1,11192,2049,
64,25,6,771,10,11166,11214,144,102,58,115,105,103,110,0,2049,10351,2049,3636,48,
0,1,11218,2049,10124,2049,10278,1793,11233,1,0,2049,10366,10,1,11228,2049,2659,2049,3636,
48,0,1,11239,2049,10124,2049,10321,1793,11252,1,1,10,1,11249,1793,11259,1,-1,10,
1,11256,2049,64,10,11204,2147483645,131,101,58,77,65,88,0,11264,-2147483645,131,101,58,77,
73,78,0,11273,-2147483647,131,101,58,78,65,78,0,11282,2147483646,131,101,58,73,78,70,
0,11291,-2147483646,131,101,58,45,73,78,70,0,11300,11318,144,101,58,110,63,0,1,
-2147483645,2049,2880,1,2147483645,2049,2893,2049,2911,10,11310,11339,144,101,58,109,97,120,63,0,
1,2147483645,11,10,11329,11353,144,101,58,109,105,110,63,0,1,-2147483645,11,10,11343,11368,
144,101,58,122,101,114,111,63,0,2049,2533,10,11357,11381,144,101,58,110,97,110,
63,0,1,-2147483647,11,10,11371,11395,144,101,58,105,110,102,63,0,1,2147483646,11,10,
11385,11410,144,101,58,45,105,110,102,63,0,1,-2147483646,11,10,11399,11424,144,101,58,
99,108,105,112,0,1,-2147483645,1,2147483645,2049,2863,10,11414,11439,144,102,58,69,49,0,
1793,11441,2049,3636,49,46,101,53,0,1,11443,2049,10124,10,11431,11465,144,102,58,45,
115,104,105,102,116,0,2049,11439,2049,10203,10,11453,11482,144,102,58,43,115,104,105,
102,116,0,2049,11439,2049,10215,10,11470,11504,144,102,58,115,105,103,110,101,100,45,
115,113,114,116,0,2049,10351,2049,11214,2049,10747,2049,10264,2049,10105,2049,10203,10,11487,11530,
144,102,58,43,101,110,99,111,100,101,0,2049,11504,2049,11465,10,11517,11548,144,102,
58,45,101,110,99,111,100,101,0,2049,10351,2049,11214,2049,11482,2049,10351,2049,10203,2049,
10105,2049,10203,10,11535,11582,144,102,58,115,105,103,110,101,100,45,115,113,117,97,
114,101,0,2049,10351,2049,11214,2049,10351,2049,10203,2049,10105,2049,10203,10,11563,11605,144,102,
58,116,111,45,101,0,2049,10351,2049,10941,1793,11616,2049,10366,1,-2147483647,10,1,11611,2049,
2659,2049,10351,2049,10956,1793,11631,2049,10366,1,2147483646,10,1,11626,2049,2659,2049,10351,2049,10972,
1793,11646,2049,10366,1,-2147483646,10,1,11641,2049,2659,2049,11530,2049,10988,2049,10144,2049,11424,1,
-2147483645,1793,11665,2049,10366,10,1,11662,2049,2379,1,2147483645,1793,11676,2049,10366,10,1,11673,2049,
2379,10,11595,11691,144,101,58,116,111,45,102,0,1,-2147483647,1793,11698,2049,10850,10,1,
11695,2049,2379,1,2147483646,1793,11709,2049,10878,10,1,11706,2049,2379,1,-2147483646,1793,11720,2049,10909,
10,1,11717,2049,2379,2049,10105,2049,11548,10,11681,11740,144,102,58,115,116,111,114,101,
0,1793,11745,2049,11605,10,1,11742,2049,2106,16,10,11729,11762,144,102,58,102,101,116,
99,104,0,15,2049,11691,10,11751,11782,144,102,58,100,117,109,112,45,115,116,97,
99,107,0,2049,10337,2,1,10513,2049,2281,1793,11800,2049,10527,2049,10351,2049,10789,2049,9085,
10,1,11791,2049,2281,10,11766,11822,144,102,58,100,117,109,112,45,97,115,116,97,
99,107,0,2049,10544,2,1,10527,2049,2281,1793,11840,2049,10351,2049,10789,2049,9085,2049,10513,
10,1,11831,2049,2281,10,11805,11854,144,101,58,112,117,116,0,1,2147483645,1793,11871,2049,
3636,101,58,77,65,88,0,1,11860,2049,9111,10,1,11858,2049,2379,1,-2147483645,1793,11892,
2049,3636,101,58,77,73,78,0,1,11881,2049,9111,10,1,11879,2049,2379,1,0,1793,
11911,2049,3636,101,58,48,0,1,11902,2049,9111,10,1,11900,2049,2379,1,-2147483647,1793,11932,
2049,3636,101,58,78,65,78,0,1,11921,2049,9111,10,1,11919,2049,2379,1,2147483646,1793,
11953,2049,3636,101,58,73,78,70,0,1,11942,2049,9111,10,1,11940,2049,2379,1,-2147483646,
1793,11975,2049,3636,101,58,45,73,78,70,0,1,11963,2049,9111,10,1,11961,2049,2379,
2049,11691,2049,10789,10,11845,11992,131,85,110,105,120,0,0,11984,12005,144,105,100,101,
110,116,105,102,121,0,3841,11992,2049,2533,1793,12072,1,8,2049,9018,2,2049,2568,1793,
12060,3,2049,3636,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,
48,48,56,32,78,79,84,32,70,79,85,78,68,0,1,12023,2049,9111,2049,9074,
10,1,12020,1793,12067,4097,11992,10,1,12064,2049,64,10,1,12011,9,10,11845,12095,144,
105,111,58,117,110,105,120,45,115,121,115,99,97,108,108,0,2049,12005,3841,11992,
2049,8992,10,12076,12117,144,117,110,105,120,58,115,121,115,116,101,109,0,1,0,
2049,12095,10,12102,12135,144,117,110,105,120,58,102,111,114,107,0,1,1,2049,12095,
10,12122,12154,144,117,110,105,120,58,101,120,101,99,48,0,1,2,2049,12095,10,
12140,12173,144,117,110,105,120,58,101,120,101,99,49,0,1,3,2049,12095,10,12159,
12192,144,117,110,105,120,58,101,120,101,99,50,0,1,4,2049,12095,10,12178,12211,
144,117,110,105,120,58,101,120,101,99,51,0,1,5,2049,12095,10,12197,12229,144,
117,110,105,120,58,101,120,105,116,0,1,6,2049,12095,10,12216,12249,144,117,110,
105,120,58,103,101,116,112,105,100,0,1,7,2049,12095,10,12234,12267,144,117,110,
105,120,58,119,97,105,116,0,1,8,2049,12095,10,12254,12285,144,117,110,105,120,
58,107,105,108,108,0,1,9,2049,12095,10,12272,12304,144,117,110,105,120,58,112,
111,112,101,110,0,1,10,2049,12095,10,12290,12324,144,117,110,105,120,58,112,99,
108,111,115,101,0,1,11,2049,12095,10,12309,12343,144,117,110,105,120,58,99,104,
100,105,114,0,1,13,2049,12095,10,12329,12363,144,117,110,105,120,58,103,101,116,
101,110,118,0,1,14,2049,12095,10,12348,12383,144,117,110,105,120,58,112,117,116,
101,110,118,0,1,15,2049,12095,10,12368,12402,144,117,110,105,120,58,115,108,101,
101,112,0,1,16,2049,12095,10,12388,12423,144,117,110,105,120,58,103,101,116,45,
99,119,100,0,2049,3636,112,119,100,0,1,12425,1,0,2049,12304,2,2049,9766,2049,
5870,4,2049,12324,2049,3636,47,0,1,12445,2049,3842,10,12407,12479,144,117,110,105,120,
58,99,111,117,110,116,45,102,105,108,101,115,45,105,110,45,99,119,100,0,
2049,3636,108,115,32,45,49,32,124,32,119,99,32,45,108,0,1,12481,1,0,
2049,12304,2,2049,9766,2049,5870,2049,218,4,2049,12324,10,12452,12534,144,117,110,105,120,
58,102,111,114,45,101,97,99,104,45,102,105,108,101,0,2049,3636,108,115,32,
45,49,32,45,112,0,1,12536,1,0,2049,12304,2049,12479,1793,12569,1793,12564,2049,9766,
2049,3591,67502597,8,10,1,12557,2049,2116,10,1,12555,2049,2281,2049,12324,3,10,12512,12586,
144,115,116,97,114,116,0,4,2049,3418,1,0,2049,12304,10,12577,12602,144,114,101,
97,100,0,2,2049,9404,2,2049,3326,2049,2533,10,12594,12621,144,102,105,110,105,115,
104,0,2049,12324,2049,3398,10,12512,12645,144,117,110,105,120,58,115,108,117,114,112,
45,112,105,112,101,0,1793,12661,2049,12586,1793,12654,2049,12602,10,1,12651,2049,2256,2049,
12621,10,1,12647,2049,3442,10,12626,12672,131,105,111,0,0,12666,12685,144,105,100,101,
110,116,105,102,121,0,3841,12672,2049,2533,1793,12752,1,10,2049,9018,2,2049,2568,1793,
12740,3,2049,3636,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,
48,49,48,32,78,79,84,32,70,79,85,78,68,0,1,12703,2049,9111,2049,9074,
10,1,12700,1793,12747,4097,12672,10,1,12744,2049,64,10,1,12691,9,10,12626,12776,144,
105,111,58,114,110,103,45,111,112,101,114,97,116,105,111,110,0,2049,12685,3841,
12672,2049,8992,10,12756,12795,144,110,58,114,97,110,100,111,109,0,2049,12776,10,12783,
12809,131,83,111,99,107,101,116,115,0,0,12798,12822,144,105,100,101,110,116,105,
102,121,0,3841,12809,2049,2533,1793,12889,1,7,2049,9018,2,2049,2568,1793,12877,3,2049,
3636,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,52,
32,78,79,84,32,70,79,85,78,68,0,1,12840,2049,9111,2049,9074,10,1,12837,
1793,12884,4097,12809,10,1,12881,2049,64,10,1,12828,9,10,12783,12916,144,105,111,58,
115,111,99,107,101,116,45,111,112,101,114,97,116,105,111,110,0,2049,12822,3841,
12809,2049,8992,10,12893,12947,144,115,111,99,107,101,116,58,103,101,116,104,111,115,
116,98,121,110,97,109,101,0,1,0,2049,12916,10,12923,12969,144,115,111,99,107,
101,116,58,99,114,101,97,116,101,0,1,1,2049,12916,10,12952,12989,144,115,111,
99,107,101,116,58,98,105,110,100,0,1,2,2049,12916,10,12974,13011,144,115,111,
99,107,101,116,58,108,105,115,116,101,110,0,1,3,2049,12916,10,12994,13033,144,
115,111,99,107,101,116,58,97,99,99,101,112,116,0,1,4,2049,12916,10,13016,
13056,144,115,111,99,107,101,116,58,99,111,110,110,101,99,116,0,1,5,2049,
12916,10,13038,13076,144,115,111,99,107,101,116,58,115,101,110,100,0,1,6,2049,
12916,10,13061,13096,144,115,111,99,107,101,116,58,114,101,99,118,0,1,8,2049,
12916,10,13081,13117,144,115,111,99,107,101,116,58,99,108,111,115,101,0,1,10,
2049,12916,10,13101,13142,144,115,111,99,107,101,116,58,99,111,110,102,105,103,117,
114,101,0,1,11,2049,12916,10,13122,1024,131,84,73,66,0,13147,13168,144,105,109,
97,103,101,58,115,97,118,101,0,1,1000,2049,9018,2049,8992,10,13154,13187,131,75,
101,121,98,111,97,114,100,0,0,13175,13200,144,105,100,101,110,116,105,102,121,
0,3841,13187,2049,2533,1793,13267,1,1,2049,9018,2,2049,2568,1793,13255,3,2049,3636,73,
79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,49,32,78,
79,84,32,70,79,85,78,68,0,1,13218,2049,9111,2049,9074,10,1,13215,1793,13262,
4097,13187,10,1,13259,2049,64,10,1,13206,9,10,13154,13280,144,99,58,103,101,116,
0,2049,13200,3841,13187,2049,8992,10,13271,13297,144,103,97,116,104,101,114,0,2,1793,
13304,1,8,11,10,1,13300,1793,13312,1,127,11,10,1,13308,2049,2128,22,1,11,
1,3326,2049,64,10,13287,13333,144,99,121,99,108,101,0,2049,13280,2049,2096,4,8,
2049,2465,25,3,2049,13297,1,13333,7,10,13271,13364,144,112,97,114,115,101,45,117,
110,116,105,108,0,1793,13376,2049,3617,2049,3418,2049,13333,771,2049,3292,10,1,13366,2049,
3442,10,13349,13390,144,115,58,103,101,116,0,1793,13412,1793,13398,1,10,11,10,1,
13394,1793,13406,1,13,11,10,1,13402,2049,2128,22,10,1,13392,2049,13364,10,13381,13431,
144,115,58,103,101,116,45,119,111,114,100,0,1,5472,2049,13364,10,13417,13449,131,
83,99,114,105,112,116,105,110,103,0,7,13436,13462,144,105,100,101,110,116,105,
102,121,0,3841,13449,2049,2533,1793,13529,1,9,2049,9018,2,2049,2568,1793,13517,3,2049,
3636,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,57,
32,78,79,84,32,70,79,85,78,68,0,1,13480,2049,9111,2049,9074,10,1,13477,
1793,13524,4097,13449,10,1,13521,2049,64,10,1,13468,9,10,13417,13545,144,115,121,115,
58,97,114,103,99,0,2049,13462,1,0,3841,13449,2049,8992,10,13533,13566,144,115,121,
115,58,97,114,103,118,0,2049,3617,4,2049,13462,1,1,3841,13449,2049,8992,10,13554,
13589,144,105,110,99,108,117,100,101,0,2049,13462,1,2,3841,13449,2049,8992,10,13578,
13610,144,115,121,115,58,110,97,109,101,0,2049,3617,2049,13462,1,3,3841,13449,2049,
8992,10,13598,13630,144,99,108,101,97,114,0,1,27,2049,9061,2049,3636,91,50,74,
0,1,13636,2049,9111,1,27,2049,9061,2049,3636,91,48,59,48,72,0,1,13650,2049,
9111,10,13621,13671,131,78,111,69,99,104,111,0,0,13661,13679,144,98,121,101,0,
1,0,2049,12229,10,13672,13695,144,118,101,114,115,105,111,110,0,3841,4,1,100,
20,10,13684,13710,144,100,111,110,101,63,0,1793,13716,1,13,11,10,1,13712,1793,
13724,1,10,11,10,1,13720,1793,13732,1,32,11,10,1,13728,2049,2165,22,22,10,
13701,13749,144,118,97,108,105,100,63,0,2,2049,79,2049,2615,10,13739,13768,144,99,
104,101,99,107,45,101,111,102,0,2,1793,13775,1,-1,11,10,1,13771,1793,13783,
1,4,11,10,1,13779,2049,2128,22,1,13679,9,10,13755,13798,144,98,115,0,2049,
3350,2049,3350,771,10,13792,13816,144,99,104,101,99,107,45,98,115,0,2,1793,13823,
1,8,11,10,1,13819,1793,13831,1,127,11,10,1,13827,2049,2128,22,1,13798,9,
10,13804,13849,144,99,104,101,99,107,0,2049,13768,2049,13816,10,13840,13867,144,99,104,
97,114,97,99,116,101,114,0,2049,13280,2,2049,3326,10,13854,13883,144,98,117,102,
102,101,114,0,1793,13893,1,1024,2049,3418,8,2049,3292,10,1,13885,2049,3442,10,13873,
13912,144,114,101,97,100,45,116,111,107,101,110,0,1793,13928,1793,13923,2049,13867,2049,
13849,2049,13710,10,1,13916,2049,2256,10,1,13914,2049,13883,2049,3714,10,13898,13944,144,105,
110,112,117,116,0,2049,13912,2049,13749,10,13935,13960,144,112,114,111,99,101,115,115,
0,1,365,1,11,2049,64,10,13672,13977,144,98,97,110,110,101,114,0,2049,13695,
2049,3636,82,69,84,82,79,32,49,50,32,40,37,110,46,37,110,41,92,110,
0,1,13981,2049,7092,2049,9111,2049,1543,2049,1877,18,2049,1877,2049,1543,2049,3636,37,110,
32,77,97,120,44,32,37,110,32,85,115,101,100,44,32,37,110,32,70,114,
101,101,92,110,0,1,14017,2049,7092,2049,9111,10,13967,14061,144,108,105,115,116,101,
110,0,3841,13671,1793,14068,2049,13977,10,1,14065,2049,70,2049,13944,2049,13960,1,14072,7,
10,14051,14089,131,67,108,111,99,107,0,0,14080,14102,144,105,100,101,110,116,105,
102,121,0,3841,14089,2049,2533,1793,14169,1,5,2049,9018,2,2049,2568,1793,14157,3,2049,
3636,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,53,
32,78,79,84,32,70,79,85,78,68,0,1,14120,2049,9111,2049,9074,10,1,14117,
1793,14164,4097,14089,10,1,14161,2049,64,10,1,14108,9,10,14051,14195,144,105,111,58,
99,108,111,99,107,45,111,112,101,114,97,116,105,111,110,0,2049,14102,3841,14089,
2049,8992,10,14173,14221,144,99,108,111,99,107,58,116,105,109,101,115,116,97,109,
112,0,1,0,2049,14195,10,14202,14239,144,99,108,111,99,107,58,100,97,121,0,
1,1,2049,14195,10,14226,14259,144,99,108,111,99,107,58,109,111,110,116,104,0,
1,2,2049,14195,10,14244,14278,144,99,108,111,99,107,58,121,101,97,114,0,1,
3,2049,14195,10,14264,14297,144,99,108,111,99,107,58,104,111,117,114,0,1,4,
2049,14195,10,14283,14318,144,99,108,111,99,107,58,109,105,110,117,116,101,0,1,
5,2049,14195,10,14302,14339,144,99,108,111,99,107,58,115,101,99,111,110,100,0,
1,6,2049,14195,10,14323,14361,144,99,108,111,99,107,58,117,116,99,58,100,97,
121,0,1,7,2049,14195,10,14344,14385,144,99,108,111,99,107,58,117,116,99,58,
109,111,110,116,104,0,1,8,2049,14195,10,14366,14408,144,99,108,111,99,107,58,
117,116,99,58,121,101,97,114,0,1,9,2049,14195,10,14390,14431,144,99,108,111,
99,107,58,117,116,99,58,104,111,117,114,0,1,10,2049,14195,10,14413,14456,144,
99,108,111,99,107,58,117,116,99,58,109,105,110,117,116,101,0,1,11,2049,
14195,10,14436,14481,144,99,108,111,99,107,58,117,116,99,58,115,101,99,111,110,
100,0,1,12,2049,14195,10,14461,14497,144,100,58,119,111,114,100,115,0,1793,14506,
2049,162,2049,9111,2049,9085,10,1,14499,2049,7321,10,14486,14527,144,100,58,119,111,114,
100,115,45,119,105,116,104,0,2049,1877,2049,4528,1793,14558,2049,162,2,2049,1877,2049,
4155,1793,14547,2049,9111,2049,9085,10,1,14542,1793,14553,3,10,1,14551,2049,64,10,1,
14533,2049,7321,10,14511,14582,144,100,105,115,112,108,97,121,45,105,102,45,108,101,
102,116,0,2,2049,1877,2049,4455,1793,14594,2049,9111,2049,9085,10,1,14589,1793,14600,3,
10,1,14598,2049,64,10,14511,14631,144,100,58,119,111,114,100,115,45,98,101,103,
105,110,110,105,110,103,45,119,105,116,104,0,2049,1877,2049,4528,1793,14642,2049,162,
2049,14582,10,1,14637,2049,7321,10,14605,14657,144,102,105,101,108,100,115,0,3841,2,
2049,105,2049,105,2049,105,10,14647,14683,144,105,110,118,97,108,105,100,45,110,97,
109,101,63,0,2,1,32,2049,3986,10,14666,14700,144,114,101,119,114,105,116,101,
0,1793,14714,1,32,1793,14709,1,95,10,1,14706,2049,2379,10,1,14702,2049,4326,10,
14689,14728,144,101,110,116,114,121,0,2049,1877,1,21,2049,2106,4097,2,10,1793,14756,
1793,14751,2049,14657,2049,14683,1,14700,9,2049,119,10,1,14741,2049,14728,10,1,14739,0 };