diff --git a/include/pocketpy/_generated.h b/include/pocketpy/_generated.h index 9b418776..d1e0dc9e 100644 --- a/include/pocketpy/_generated.h +++ b/include/pocketpy/_generated.h @@ -2,7 +2,7 @@ // generated by prebuild.py namespace pkpy{ - inline const char kPythonLibs__long[] = {35,32,97,102,116,101,114,32,118,49,46,50,46,50,44,32,105,110,116,32,105,115,32,97,108,119,97,121,115,32,54,52,45,98,105,116,10,80,121,76,111,110,103,95,83,72,73,70,84,32,61,32,54,48,47,47,50,32,45,32,49,10,10,80,121,76,111,110,103,95,66,65,83,69,32,61,32,50,32,42,42,32,80,121,76,111,110,103,95,83,72,73,70,84,10,80,121,76,111,110,103,95,77,65,83,75,32,61,32,80,121,76,111,110,103,95,66,65,83,69,32,45,32,49,10,80,121,76,111,110,103,95,68,69,67,73,77,65,76,95,83,72,73,70,84,32,61,32,52,10,80,121,76,111,110,103,95,68,69,67,73,77,65,76,95,66,65,83,69,32,61,32,49,48,32,42,42,32,80,121,76,111,110,103,95,68,69,67,73,77,65,76,95,83,72,73,70,84,10,10,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,10,10,100,101,102,32,117,108,111,110,103,95,102,114,111,109,105,110,116,40,120,58,32,105,110,116,41,58,10,32,32,32,32,35,32,114,101,116,117,114,110,32,97,32,108,105,115,116,32,111,102,32,100,105,103,105,116,115,32,97,110,100,32,115,105,103,110,10,32,32,32,32,105,102,32,120,32,61,61,32,48,58,32,114,101,116,117,114,110,32,91,48,93,44,32,49,10,32,32,32,32,115,105,103,110,32,61,32,49,32,105,102,32,120,32,62,32,48,32,101,108,115,101,32,45,49,10,32,32,32,32,105,102,32,115,105,103,110,32,60,32,48,58,32,120,32,61,32,45,120,10,32,32,32,32,114,101,115,32,61,32,91,93,10,32,32,32,32,119,104,105,108,101,32,120,58,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,120,32,38,32,80,121,76,111,110,103,95,77,65,83,75,41,10,32,32,32,32,32,32,32,32,120,32,62,62,61,32,80,121,76,111,110,103,95,83,72,73,70,84,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,44,32,115,105,103,110,10,10,100,101,102,32,117,108,111,110,103,95,99,109,112,40,97,58,32,108,105,115,116,44,32,98,58,32,108,105,115,116,41,32,45,62,32,105,110,116,58,10,32,32,32,32,35,32,114,101,116,117,114,110,32,49,32,105,102,32,97,62,98,44,32,45,49,32,105,102,32,97,60,98,44,32,48,32,105,102,32,97,61,61,98,10,32,32,32,32,105,102,32,108,101,110,40,97,41,32,62,32,108,101,110,40,98,41,58,32,114,101,116,117,114,110,32,49,10,32,32,32,32,105,102,32,108,101,110,40,97,41,32,60,32,108,101,110,40,98,41,58,32,114,101,116,117,114,110,32,45,49,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,97,41,45,49,44,32,45,49,44,32,45,49,41,58,10,32,32,32,32,32,32,32,32,105,102,32,97,91,105,93,32,62,32,98,91,105,93,58,32,114,101,116,117,114,110,32,49,10,32,32,32,32,32,32,32,32,105,102,32,97,91,105,93,32,60,32,98,91,105,93,58,32,114,101,116,117,114,110,32,45,49,10,32,32,32,32,114,101,116,117,114,110,32,48,10,10,100,101,102,32,117,108,111,110,103,95,112,97,100,95,40,97,58,32,108,105,115,116,44,32,115,105,122,101,58,32,105,110,116,41,58,10,32,32,32,32,35,32,112,97,100,32,108,101,97,100,105,110,103,32,122,101,114,111,115,32,116,111,32,104,97,118,101,32,96,115,105,122,101,96,32,100,105,103,105,116,115,10,32,32,32,32,100,101,108,116,97,32,61,32,115,105,122,101,32,45,32,108,101,110,40,97,41,10,32,32,32,32,105,102,32,100,101,108,116,97,32,62,32,48,58,10,32,32,32,32,32,32,32,32,97,46,101,120,116,101,110,100,40,91,48,93,32,42,32,100,101,108,116,97,41,10,10,100,101,102,32,117,108,111,110,103,95,117,110,112,97,100,95,40,97,58,32,108,105,115,116,41,58,10,32,32,32,32,35,32,114,101,109,111,118,101,32,108,101,97,100,105,110,103,32,122,101,114,111,115,10,32,32,32,32,119,104,105,108,101,32,108,101,110,40,97,41,62,49,32,97,110,100,32,97,91,45,49,93,61,61,48,58,10,32,32,32,32,32,32,32,32,97,46,112,111,112,40,41,10,10,100,101,102,32,117,108,111,110,103,95,97,100,100,40,97,58,32,108,105,115,116,44,32,98,58,32,108,105,115,116,41,32,45,62,32,108,105,115,116,58,10,32,32,32,32,114,101,115,32,61,32,91,48,93,32,42,32,109,97,120,40,108,101,110,40,97,41,44,32,108,101,110,40,98,41,41,10,32,32,32,32,117,108,111,110,103,95,112,97,100,95,40,97,44,32,108,101,110,40,114,101,115,41,41,10,32,32,32,32,117,108,111,110,103,95,112,97,100,95,40,98,44,32,108,101,110,40,114,101,115,41,41,10,32,32,32,32,99,97,114,114,121,32,61,32,48,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,114,101,115,41,41,58,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,43,61,32,97,91,105,93,32,43,32,98,91,105,93,10,32,32,32,32,32,32,32,32,114,101,115,91,105,93,32,61,32,99,97,114,114,121,32,38,32,80,121,76,111,110,103,95,77,65,83,75,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,62,62,61,32,80,121,76,111,110,103,95,83,72,73,70,84,10,32,32,32,32,105,102,32,99,97,114,114,121,32,62,32,48,58,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,99,97,114,114,121,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,117,108,111,110,103,95,105,110,99,95,40,97,58,32,108,105,115,116,41,58,10,32,32,32,32,97,91,48,93,32,43,61,32,49,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,97,41,41,58,10,32,32,32,32,32,32,32,32,105,102,32,97,91,105,93,32,60,32,80,121,76,111,110,103,95,66,65,83,69,58,32,98,114,101,97,107,10,32,32,32,32,32,32,32,32,97,91,105,93,32,45,61,32,80,121,76,111,110,103,95,66,65,83,69,10,32,32,32,32,32,32,32,32,105,102,32,105,43,49,32,61,61,32,108,101,110,40,97,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,97,46,97,112,112,101,110,100,40,49,41,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,97,91,105,43,49,93,32,43,61,32,49,10,32,32,32,32,10,10,100,101,102,32,117,108,111,110,103,95,115,117,98,40,97,58,32,108,105,115,116,44,32,98,58,32,108,105,115,116,41,32,45,62,32,108,105,115,116,58,10,32,32,32,32,35,32,97,32,62,61,32,98,10,32,32,32,32,114,101,115,32,61,32,91,93,10,32,32,32,32,98,111,114,114,111,119,32,61,32,48,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,98,41,41,58,10,32,32,32,32,32,32,32,32,116,109,112,32,61,32,97,91,105,93,32,45,32,98,91,105,93,32,45,32,98,111,114,114,111,119,10,32,32,32,32,32,32,32,32,105,102,32,116,109,112,32,60,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,116,109,112,32,43,61,32,80,121,76,111,110,103,95,66,65,83,69,10,32,32,32,32,32,32,32,32,32,32,32,32,98,111,114,114,111,119,32,61,32,49,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,98,111,114,114,111,119,32,61,32,48,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,116,109,112,41,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,98,41,44,32,108,101,110,40,97,41,41,58,10,32,32,32,32,32,32,32,32,116,109,112,32,61,32,97,91,105,93,32,45,32,98,111,114,114,111,119,10,32,32,32,32,32,32,32,32,105,102,32,116,109,112,32,60,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,116,109,112,32,43,61,32,80,121,76,111,110,103,95,66,65,83,69,10,32,32,32,32,32,32,32,32,32,32,32,32,98,111,114,114,111,119,32,61,32,49,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,98,111,114,114,111,119,32,61,32,48,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,116,109,112,41,10,32,32,32,32,117,108,111,110,103,95,117,110,112,97,100,95,40,114,101,115,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,117,108,111,110,103,95,100,105,118,109,111,100,105,40,97,58,32,108,105,115,116,44,32,98,58,32,105,110,116,41,58,10,32,32,32,32,35,32,98,32,62,32,48,10,32,32,32,32,114,101,115,32,61,32,91,93,10,32,32,32,32,99,97,114,114,121,32,61,32,48,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,97,41,45,49,44,32,45,49,44,32,45,49,41,58,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,60,60,61,32,80,121,76,111,110,103,95,83,72,73,70,84,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,43,61,32,97,91,105,93,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,99,97,114,114,121,32,47,47,32,98,41,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,37,61,32,98,10,32,32,32,32,114,101,115,46,114,101,118,101,114,115,101,40,41,10,32,32,32,32,117,108,111,110,103,95,117,110,112,97,100,95,40,114,101,115,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,44,32,99,97,114,114,121,10,10,100,101,102,32,117,108,111,110,103,95,100,105,118,109,111,100,40,97,58,32,108,105,115,116,44,32,98,58,32,108,105,115,116,41,58,10,32,32,32,32,113,32,61,32,91,48,93,10,32,32,32,32,119,104,105,108,101,32,117,108,111,110,103,95,99,109,112,40,97,44,32,98,41,32,62,61,32,48,58,10,32,32,32,32,32,32,32,32,117,108,111,110,103,95,105,110,99,95,40,113,41,10,32,32,32,32,32,32,32,32,97,32,61,32,117,108,111,110,103,95,115,117,98,40,97,44,32,98,41,10,32,32,32,32,114,101,116,117,114,110,32,113,44,32,97,10,10,100,101,102,32,117,108,111,110,103,95,102,108,111,111,114,100,105,118,105,40,97,58,32,108,105,115,116,44,32,98,58,32,105,110,116,41,58,10,32,32,32,32,35,32,98,32,62,32,48,10,32,32,32,32,114,101,116,117,114,110,32,117,108,111,110,103,95,100,105,118,109,111,100,105,40,97,44,32,98,41,91,48,93,10,10,100,101,102,32,117,108,111,110,103,95,109,117,108,105,40,97,58,32,108,105,115,116,44,32,98,58,32,105,110,116,41,58,10,32,32,32,32,35,32,98,32,62,61,32,48,10,32,32,32,32,114,101,115,32,61,32,91,48,93,32,42,32,108,101,110,40,97,41,10,32,32,32,32,99,97,114,114,121,32,61,32,48,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,97,41,41,58,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,43,61,32,97,91,105,93,32,42,32,98,10,32,32,32,32,32,32,32,32,114,101,115,91,105,93,32,61,32,99,97,114,114,121,32,38,32,80,121,76,111,110,103,95,77,65,83,75,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,62,62,61,32,80,121,76,111,110,103,95,83,72,73,70,84,10,32,32,32,32,105,102,32,99,97,114,114,121,32,62,32,48,58,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,99,97,114,114,121,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,117,108,111,110,103,95,109,117,108,40,97,58,32,108,105,115,116,44,32,98,58,32,108,105,115,116,41,58,10,32,32,32,32,78,32,61,32,108,101,110,40,97,41,32,43,32,108,101,110,40,98,41,10,32,32,32,32,35,32,117,115,101,32,103,114,97,100,101,45,115,99,104,111,111,108,32,109,117,108,116,105,112,108,105,99,97,116,105,111,110,10,32,32,32,32,114,101,115,32,61,32,91,48,93,32,42,32,78,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,97,41,41,58,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,61,32,48,10,32,32,32,32,32,32,32,32,102,111,114,32,106,32,105,110,32,114,97,110,103,101,40,108,101,110,40,98,41,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,99,97,114,114,121,32,43,61,32,114,101,115,91,105,43,106,93,32,43,32,97,91,105,93,32,42,32,98,91,106,93,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,115,91,105,43,106,93,32,61,32,99,97,114,114,121,32,38,32,80,121,76,111,110,103,95,77,65,83,75,10,32,32,32,32,32,32,32,32,32,32,32,32,99,97,114,114,121,32,62,62,61,32,80,121,76,111,110,103,95,83,72,73,70,84,10,32,32,32,32,32,32,32,32,114,101,115,91,105,43,108,101,110,40,98,41,93,32,61,32,99,97,114,114,121,10,32,32,32,32,117,108,111,110,103,95,117,110,112,97,100,95,40,114,101,115,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,117,108,111,110,103,95,112,111,119,105,40,97,58,32,108,105,115,116,44,32,98,58,32,105,110,116,41,58,10,32,32,32,32,35,32,98,32,62,61,32,48,10,32,32,32,32,105,102,32,98,32,61,61,32,48,58,32,114,101,116,117,114,110,32,91,49,93,10,32,32,32,32,114,101,115,32,61,32,91,49,93,10,32,32,32,32,119,104,105,108,101,32,98,58,10,32,32,32,32,32,32,32,32,105,102,32,98,32,38,32,49,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,115,32,61,32,117,108,111,110,103,95,109,117,108,40,114,101,115,44,32,97,41,10,32,32,32,32,32,32,32,32,97,32,61,32,117,108,111,110,103,95,109,117,108,40,97,44,32,97,41,10,32,32,32,32,32,32,32,32,98,32,62,62,61,32,49,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,117,108,111,110,103,95,114,101,112,114,40,120,58,32,108,105,115,116,41,32,45,62,32,115,116,114,58,10,32,32,32,32,114,101,115,32,61,32,91,93,10,32,32,32,32,119,104,105,108,101,32,108,101,110,40,120,41,62,49,32,111,114,32,120,91,48,93,62,48,58,32,32,32,35,32,110,111,110,45,122,101,114,111,10,32,32,32,32,32,32,32,32,120,44,32,114,32,61,32,117,108,111,110,103,95,100,105,118,109,111,100,105,40,120,44,32,80,121,76,111,110,103,95,68,69,67,73,77,65,76,95,66,65,83,69,41,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,115,116,114,40,114,41,46,122,102,105,108,108,40,80,121,76,111,110,103,95,68,69,67,73,77,65,76,95,83,72,73,70,84,41,41,10,32,32,32,32,114,101,115,46,114,101,118,101,114,115,101,40,41,10,32,32,32,32,115,32,61,32,39,39,46,106,111,105,110,40,114,101,115,41,10,32,32,32,32,105,102,32,108,101,110,40,115,41,32,61,61,32,48,58,32,114,101,116,117,114,110,32,39,48,39,10,32,32,32,32,105,102,32,108,101,110,40,115,41,32,62,32,49,58,32,115,32,61,32,115,46,108,115,116,114,105,112,40,39,48,39,41,10,32,32,32,32,114,101,116,117,114,110,32,115,10,10,100,101,102,32,117,108,111,110,103,95,102,114,111,109,115,116,114,40,115,58,32,115,116,114,41,58,10,32,32,32,32,105,102,32,115,91,45,49,93,32,61,61,32,39,76,39,58,10,32,32,32,32,32,32,32,32,115,32,61,32,115,91,58,45,49,93,10,32,32,32,32,114,101,115,44,32,98,97,115,101,32,61,32,91,48,93,44,32,91,49,93,10,32,32,32,32,105,102,32,115,91,48,93,32,61,61,32,39,45,39,58,10,32,32,32,32,32,32,32,32,115,105,103,110,32,61,32,45,49,10,32,32,32,32,32,32,32,32,115,32,61,32,115,91,49,58,93,10,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,115,105,103,110,32,61,32,49,10,32,32,32,32,115,32,61,32,115,91,58,58,45,49,93,10,32,32,32,32,102,111,114,32,99,32,105,110,32,115,58,10,32,32,32,32,32,32,32,32,99,32,61,32,111,114,100,40,99,41,32,45,32,52,56,10,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,48,32,60,61,32,99,32,60,61,32,57,10,32,32,32,32,32,32,32,32,114,101,115,32,61,32,117,108,111,110,103,95,97,100,100,40,114,101,115,44,32,117,108,111,110,103,95,109,117,108,105,40,98,97,115,101,44,32,99,41,41,10,32,32,32,32,32,32,32,32,98,97,115,101,32,61,32,117,108,111,110,103,95,109,117,108,105,40,98,97,115,101,44,32,49,48,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,44,32,115,105,103,110,10,10,99,108,97,115,115,32,108,111,110,103,58,10,32,32,32,32,100,101,102,32,95,95,105,110,105,116,95,95,40,115,101,108,102,44,32,120,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,120,41,32,105,115,32,116,117,112,108,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,100,105,103,105,116,115,44,32,115,101,108,102,46,115,105,103,110,32,61,32,120,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,120,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,100,105,103,105,116,115,44,32,115,101,108,102,46,115,105,103,110,32,61,32,117,108,111,110,103,95,102,114,111,109,105,110,116,40,120,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,120,41,32,105,115,32,102,108,111,97,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,100,105,103,105,116,115,44,32,115,101,108,102,46,115,105,103,110,32,61,32,117,108,111,110,103,95,102,114,111,109,105,110,116,40,105,110,116,40,120,41,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,120,41,32,105,115,32,115,116,114,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,100,105,103,105,116,115,44,32,115,101,108,102,46,115,105,103,110,32,61,32,117,108,111,110,103,95,102,114,111,109,115,116,114,40,120,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,120,41,32,105,115,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,100,105,103,105,116,115,44,32,115,101,108,102,46,115,105,103,110,32,61,32,120,46,100,105,103,105,116,115,46,99,111,112,121,40,41,44,32,120,46,115,105,103,110,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,97,105,115,101,32,84,121,112,101,69,114,114,111,114,40,39,101,120,112,101,99,116,101,100,32,105,110,116,32,111,114,32,115,116,114,39,41,10,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,108,101,110,95,95,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,101,110,40,115,101,108,102,46,100,105,103,105,116,115,41,10,10,32,32,32,32,100,101,102,32,95,95,97,100,100,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,111,116,104,101,114,32,61,32,108,111,110,103,40,111,116,104,101,114,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,110,111,116,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,10,32,32,32,32,32,32,32,32,105,102,32,115,101,108,102,46,115,105,103,110,32,61,61,32,111,116,104,101,114,46,115,105,103,110,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,97,100,100,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,99,109,112,32,61,32,117,108,111,110,103,95,99,109,112,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,10,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,99,109,112,32,61,61,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,48,41,10,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,99,109,112,32,62,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,115,117,98,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,115,117,98,40,111,116,104,101,114,46,100,105,103,105,116,115,44,32,115,101,108,102,46,100,105,103,105,116,115,41,44,32,111,116,104,101,114,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,97,100,100,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,97,100,100,95,95,40,111,116,104,101,114,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,115,117,98,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,111,116,104,101,114,32,61,32,108,111,110,103,40,111,116,104,101,114,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,110,111,116,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,10,32,32,32,32,32,32,32,32,105,102,32,115,101,108,102,46,115,105,103,110,32,33,61,32,111,116,104,101,114,46,115,105,103,110,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,97,100,100,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,99,109,112,32,61,32,117,108,111,110,103,95,99,109,112,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,10,32,32,32,32,32,32,32,32,105,102,32,99,109,112,32,61,61,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,48,41,10,32,32,32,32,32,32,32,32,105,102,32,99,109,112,32,62,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,115,117,98,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,115,117,98,40,111,116,104,101,114,46,100,105,103,105,116,115,44,32,115,101,108,102,46,100,105,103,105,116,115,41,44,32,45,111,116,104,101,114,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,115,117,98,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,111,116,104,101,114,32,61,32,108,111,110,103,40,111,116,104,101,114,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,110,111,116,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,111,116,104,101,114,46,95,95,115,117,98,95,95,40,115,101,108,102,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,109,117,108,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,117,108,111,110,103,95,109,117,108,105,40,115,101,108,102,46,100,105,103,105,116,115,44,32,97,98,115,40,111,116,104,101,114,41,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,115,105,103,110,32,42,32,40,49,32,105,102,32,111,116,104,101,114,32,62,61,32,48,32,101,108,115,101,32,45,49,41,10,32,32,32,32,32,32,32,32,32,32,32,32,41,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,117,108,111,110,103,95,109,117,108,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,115,105,103,110,32,42,32,111,116,104,101,114,46,115,105,103,110,10,32,32,32,32,32,32,32,32,32,32,32,32,41,41,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,109,117,108,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,109,117,108,95,95,40,111,116,104,101,114,41,10,32,32,32,32,10,32,32,32,32,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,10,32,32,32,32,100,101,102,32,95,95,100,105,118,109,111,100,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,115,101,108,102,46,115,105,103,110,32,61,61,32,49,32,97,110,100,32,111,116,104,101,114,32,62,32,48,10,32,32,32,32,32,32,32,32,32,32,32,32,113,44,32,114,32,61,32,117,108,111,110,103,95,100,105,118,109,111,100,105,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,41,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,113,44,32,49,41,41,44,32,114,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,115,101,108,102,46,115,105,103,110,32,61,61,32,49,32,97,110,100,32,111,116,104,101,114,46,115,105,103,110,32,61,61,32,49,10,32,32,32,32,32,32,32,32,32,32,32,32,113,44,32,114,32,61,32,117,108,111,110,103,95,100,105,118,109,111,100,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,10,32,32,32,32,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,108,101,110,40,111,116,104,101,114,41,62,49,32,111,114,32,111,116,104,101,114,46,100,105,103,105,116,115,91,48,93,62,48,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,113,44,32,49,41,41,44,32,108,111,110,103,40,40,114,44,32,49,41,41,10,32,32,32,32,32,32,32,32,114,97,105,115,101,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,69,114,114,111,114,10,10,32,32,32,32,100,101,102,32,95,95,102,108,111,111,114,100,105,118,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,100,105,118,109,111,100,95,95,40,111,116,104,101,114,41,91,48,93,10,10,32,32,32,32,100,101,102,32,95,95,109,111,100,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,100,105,118,109,111,100,95,95,40,111,116,104,101,114,41,91,49,93,10,10,32,32,32,32,100,101,102,32,95,95,112,111,119,95,95,40,115,101,108,102,44,32,111,116,104,101,114,58,32,105,110,116,41,58,10,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,32,97,110,100,32,111,116,104,101,114,32,62,61,32,48,10,32,32,32,32,32,32,32,32,105,102,32,115,101,108,102,46,115,105,103,110,32,61,61,32,45,49,32,97,110,100,32,111,116,104,101,114,32,38,32,49,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,105,103,110,32,61,32,45,49,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,105,103,110,32,61,32,49,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,112,111,119,105,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,41,44,32,115,105,103,110,41,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,108,115,104,105,102,116,95,95,40,115,101,108,102,44,32,111,116,104,101,114,58,32,105,110,116,41,58,10,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,32,97,110,100,32,111,116,104,101,114,32,62,61,32,48,10,32,32,32,32,32,32,32,32,120,32,61,32,115,101,108,102,46,100,105,103,105,116,115,46,99,111,112,121,40,41,10,32,32,32,32,32,32,32,32,113,44,32,114,32,61,32,100,105,118,109,111,100,40,111,116,104,101,114,44,32,80,121,76,111,110,103,95,83,72,73,70,84,41,10,32,32,32,32,32,32,32,32,120,32,61,32,91,48,93,42,113,32,43,32,120,10,32,32,32,32,32,32,32,32,102,111,114,32,95,32,105,110,32,114,97,110,103,101,40,114,41,58,32,120,32,61,32,117,108,111,110,103,95,109,117,108,105,40,120,44,32,50,41,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,120,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,115,104,105,102,116,95,95,40,115,101,108,102,44,32,111,116,104,101,114,58,32,105,110,116,41,58,10,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,32,97,110,100,32,111,116,104,101,114,32,62,61,32,48,10,32,32,32,32,32,32,32,32,120,32,61,32,115,101,108,102,46,100,105,103,105,116,115,46,99,111,112,121,40,41,10,32,32,32,32,32,32,32,32,113,44,32,114,32,61,32,100,105,118,109,111,100,40,111,116,104,101,114,44,32,80,121,76,111,110,103,95,83,72,73,70,84,41,10,32,32,32,32,32,32,32,32,120,32,61,32,120,91,113,58,93,10,32,32,32,32,32,32,32,32,105,102,32,110,111,116,32,120,58,32,114,101,116,117,114,110,32,108,111,110,103,40,48,41,10,32,32,32,32,32,32,32,32,102,111,114,32,95,32,105,110,32,114,97,110,103,101,40,114,41,58,32,120,32,61,32,117,108,111,110,103,95,102,108,111,111,114,100,105,118,105,40,120,44,32,50,41,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,120,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,110,101,103,95,95,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,115,101,108,102,46,100,105,103,105,116,115,44,32,45,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,99,109,112,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,111,116,104,101,114,32,61,32,108,111,110,103,40,111,116,104,101,114,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,110,111,116,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,10,32,32,32,32,32,32,32,32,105,102,32,115,101,108,102,46,115,105,103,110,32,62,32,111,116,104,101,114,46,115,105,103,110,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,49,10,32,32,32,32,32,32,32,32,101,108,105,102,32,115,101,108,102,46,115,105,103,110,32,60,32,111,116,104,101,114,46,115,105,103,110,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,45,49,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,117,108,111,110,103,95,99,109,112,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,10,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,101,113,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,99,109,112,95,95,40,111,116,104,101,114,41,32,61,61,32,48,10,32,32,32,32,100,101,102,32,95,95,108,116,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,99,109,112,95,95,40,111,116,104,101,114,41,32,60,32,48,10,32,32,32,32,100,101,102,32,95,95,108,101,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,99,109,112,95,95,40,111,116,104,101,114,41,32,60,61,32,48,10,32,32,32,32,100,101,102,32,95,95,103,116,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,99,109,112,95,95,40,111,116,104,101,114,41,32,62,32,48,10,32,32,32,32,100,101,102,32,95,95,103,101,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,99,109,112,95,95,40,111,116,104,101,114,41,32,62,61,32,48,10,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,101,112,114,95,95,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,112,114,101,102,105,120,32,61,32,39,45,39,32,105,102,32,115,101,108,102,46,115,105,103,110,32,60,32,48,32,101,108,115,101,32,39,39,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,112,114,101,102,105,120,32,43,32,117,108,111,110,103,95,114,101,112,114,40,115,101,108,102,46,100,105,103,105,116,115,41,32,43,32,39,76,39,10,0}; + inline const char kPythonLibs__long[] = {35,32,97,102,116,101,114,32,118,49,46,50,46,50,44,32,105,110,116,32,105,115,32,97,108,119,97,121,115,32,54,52,45,98,105,116,10,80,121,76,111,110,103,95,83,72,73,70,84,32,61,32,54,48,47,47,50,32,45,32,49,10,10,80,121,76,111,110,103,95,66,65,83,69,32,61,32,50,32,42,42,32,80,121,76,111,110,103,95,83,72,73,70,84,10,80,121,76,111,110,103,95,77,65,83,75,32,61,32,80,121,76,111,110,103,95,66,65,83,69,32,45,32,49,10,80,121,76,111,110,103,95,68,69,67,73,77,65,76,95,83,72,73,70,84,32,61,32,52,10,80,121,76,111,110,103,95,68,69,67,73,77,65,76,95,66,65,83,69,32,61,32,49,48,32,42,42,32,80,121,76,111,110,103,95,68,69,67,73,77,65,76,95,83,72,73,70,84,10,10,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,10,10,100,101,102,32,117,108,111,110,103,95,102,114,111,109,105,110,116,40,120,58,32,105,110,116,41,58,10,32,32,32,32,35,32,114,101,116,117,114,110,32,97,32,108,105,115,116,32,111,102,32,100,105,103,105,116,115,32,97,110,100,32,115,105,103,110,10,32,32,32,32,105,102,32,120,32,61,61,32,48,58,32,114,101,116,117,114,110,32,91,48,93,44,32,49,10,32,32,32,32,115,105,103,110,32,61,32,49,32,105,102,32,120,32,62,32,48,32,101,108,115,101,32,45,49,10,32,32,32,32,105,102,32,115,105,103,110,32,60,32,48,58,32,120,32,61,32,45,120,10,32,32,32,32,114,101,115,32,61,32,91,93,10,32,32,32,32,119,104,105,108,101,32,120,58,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,120,32,38,32,80,121,76,111,110,103,95,77,65,83,75,41,10,32,32,32,32,32,32,32,32,120,32,62,62,61,32,80,121,76,111,110,103,95,83,72,73,70,84,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,44,32,115,105,103,110,10,10,100,101,102,32,117,108,111,110,103,95,99,109,112,40,97,58,32,108,105,115,116,44,32,98,58,32,108,105,115,116,41,32,45,62,32,105,110,116,58,10,32,32,32,32,35,32,114,101,116,117,114,110,32,49,32,105,102,32,97,62,98,44,32,45,49,32,105,102,32,97,60,98,44,32,48,32,105,102,32,97,61,61,98,10,32,32,32,32,105,102,32,108,101,110,40,97,41,32,62,32,108,101,110,40,98,41,58,32,114,101,116,117,114,110,32,49,10,32,32,32,32,105,102,32,108,101,110,40,97,41,32,60,32,108,101,110,40,98,41,58,32,114,101,116,117,114,110,32,45,49,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,97,41,45,49,44,32,45,49,44,32,45,49,41,58,10,32,32,32,32,32,32,32,32,105,102,32,97,91,105,93,32,62,32,98,91,105,93,58,32,114,101,116,117,114,110,32,49,10,32,32,32,32,32,32,32,32,105,102,32,97,91,105,93,32,60,32,98,91,105,93,58,32,114,101,116,117,114,110,32,45,49,10,32,32,32,32,114,101,116,117,114,110,32,48,10,10,100,101,102,32,117,108,111,110,103,95,112,97,100,95,40,97,58,32,108,105,115,116,44,32,115,105,122,101,58,32,105,110,116,41,58,10,32,32,32,32,35,32,112,97,100,32,108,101,97,100,105,110,103,32,122,101,114,111,115,32,116,111,32,104,97,118,101,32,96,115,105,122,101,96,32,100,105,103,105,116,115,10,32,32,32,32,100,101,108,116,97,32,61,32,115,105,122,101,32,45,32,108,101,110,40,97,41,10,32,32,32,32,105,102,32,100,101,108,116,97,32,62,32,48,58,10,32,32,32,32,32,32,32,32,97,46,101,120,116,101,110,100,40,91,48,93,32,42,32,100,101,108,116,97,41,10,10,100,101,102,32,117,108,111,110,103,95,117,110,112,97,100,95,40,97,58,32,108,105,115,116,41,58,10,32,32,32,32,35,32,114,101,109,111,118,101,32,108,101,97,100,105,110,103,32,122,101,114,111,115,10,32,32,32,32,119,104,105,108,101,32,108,101,110,40,97,41,62,49,32,97,110,100,32,97,91,45,49,93,61,61,48,58,10,32,32,32,32,32,32,32,32,97,46,112,111,112,40,41,10,10,100,101,102,32,117,108,111,110,103,95,97,100,100,40,97,58,32,108,105,115,116,44,32,98,58,32,108,105,115,116,41,32,45,62,32,108,105,115,116,58,10,32,32,32,32,114,101,115,32,61,32,91,48,93,32,42,32,109,97,120,40,108,101,110,40,97,41,44,32,108,101,110,40,98,41,41,10,32,32,32,32,117,108,111,110,103,95,112,97,100,95,40,97,44,32,108,101,110,40,114,101,115,41,41,10,32,32,32,32,117,108,111,110,103,95,112,97,100,95,40,98,44,32,108,101,110,40,114,101,115,41,41,10,32,32,32,32,99,97,114,114,121,32,61,32,48,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,114,101,115,41,41,58,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,43,61,32,97,91,105,93,32,43,32,98,91,105,93,10,32,32,32,32,32,32,32,32,114,101,115,91,105,93,32,61,32,99,97,114,114,121,32,38,32,80,121,76,111,110,103,95,77,65,83,75,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,62,62,61,32,80,121,76,111,110,103,95,83,72,73,70,84,10,32,32,32,32,105,102,32,99,97,114,114,121,32,62,32,48,58,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,99,97,114,114,121,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,117,108,111,110,103,95,105,110,99,95,40,97,58,32,108,105,115,116,41,58,10,32,32,32,32,97,91,48,93,32,43,61,32,49,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,97,41,41,58,10,32,32,32,32,32,32,32,32,105,102,32,97,91,105,93,32,60,32,80,121,76,111,110,103,95,66,65,83,69,58,32,98,114,101,97,107,10,32,32,32,32,32,32,32,32,97,91,105,93,32,45,61,32,80,121,76,111,110,103,95,66,65,83,69,10,32,32,32,32,32,32,32,32,105,102,32,105,43,49,32,61,61,32,108,101,110,40,97,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,97,46,97,112,112,101,110,100,40,49,41,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,97,91,105,43,49,93,32,43,61,32,49,10,32,32,32,32,10,10,100,101,102,32,117,108,111,110,103,95,115,117,98,40,97,58,32,108,105,115,116,44,32,98,58,32,108,105,115,116,41,32,45,62,32,108,105,115,116,58,10,32,32,32,32,35,32,97,32,62,61,32,98,10,32,32,32,32,114,101,115,32,61,32,91,93,10,32,32,32,32,98,111,114,114,111,119,32,61,32,48,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,98,41,41,58,10,32,32,32,32,32,32,32,32,116,109,112,32,61,32,97,91,105,93,32,45,32,98,91,105,93,32,45,32,98,111,114,114,111,119,10,32,32,32,32,32,32,32,32,105,102,32,116,109,112,32,60,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,116,109,112,32,43,61,32,80,121,76,111,110,103,95,66,65,83,69,10,32,32,32,32,32,32,32,32,32,32,32,32,98,111,114,114,111,119,32,61,32,49,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,98,111,114,114,111,119,32,61,32,48,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,116,109,112,41,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,98,41,44,32,108,101,110,40,97,41,41,58,10,32,32,32,32,32,32,32,32,116,109,112,32,61,32,97,91,105,93,32,45,32,98,111,114,114,111,119,10,32,32,32,32,32,32,32,32,105,102,32,116,109,112,32,60,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,116,109,112,32,43,61,32,80,121,76,111,110,103,95,66,65,83,69,10,32,32,32,32,32,32,32,32,32,32,32,32,98,111,114,114,111,119,32,61,32,49,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,98,111,114,114,111,119,32,61,32,48,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,116,109,112,41,10,32,32,32,32,117,108,111,110,103,95,117,110,112,97,100,95,40,114,101,115,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,117,108,111,110,103,95,100,105,118,109,111,100,105,40,97,58,32,108,105,115,116,44,32,98,58,32,105,110,116,41,58,10,32,32,32,32,35,32,98,32,62,32,48,10,32,32,32,32,114,101,115,32,61,32,91,93,10,32,32,32,32,99,97,114,114,121,32,61,32,48,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,97,41,45,49,44,32,45,49,44,32,45,49,41,58,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,60,60,61,32,80,121,76,111,110,103,95,83,72,73,70,84,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,43,61,32,97,91,105,93,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,99,97,114,114,121,32,47,47,32,98,41,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,37,61,32,98,10,32,32,32,32,114,101,115,46,114,101,118,101,114,115,101,40,41,10,32,32,32,32,117,108,111,110,103,95,117,110,112,97,100,95,40,114,101,115,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,44,32,99,97,114,114,121,10,10,10,100,101,102,32,117,108,111,110,103,95,100,105,118,109,111,100,40,97,58,32,108,105,115,116,44,32,98,58,32,108,105,115,116,41,58,10,10,32,32,32,32,105,102,32,117,108,111,110,103,95,99,109,112,40,97,44,32,98,41,32,60,32,48,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,91,48,93,44,32,97,10,10,32,32,32,32,105,102,32,108,101,110,40,98,41,32,61,61,32,49,58,10,32,32,32,32,32,32,32,32,113,44,32,114,32,61,32,117,108,111,110,103,95,100,105,118,109,111,100,105,40,97,44,32,98,91,48,93,41,10,32,32,32,32,32,32,32,32,114,44,32,95,32,61,32,117,108,111,110,103,95,102,114,111,109,105,110,116,40,114,41,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,113,44,32,114,10,10,32,32,32,32,109,97,120,32,61,32,40,108,101,110,40,97,41,32,45,32,108,101,110,40,98,41,41,32,42,32,80,121,76,111,110,103,95,83,72,73,70,84,32,43,32,92,10,32,32,32,32,32,32,32,32,40,97,91,45,49,93,46,98,105,116,95,108,101,110,103,116,104,40,41,32,45,32,98,91,45,49,93,46,98,105,116,95,108,101,110,103,116,104,40,41,41,10,10,32,32,32,32,108,111,119,32,61,32,91,48,93,10,10,32,32,32,32,104,105,103,104,32,61,32,40,109,97,120,32,47,47,32,80,121,76,111,110,103,95,83,72,73,70,84,41,32,42,32,91,48,93,32,43,32,92,10,32,32,32,32,32,32,32,32,91,40,50,42,42,40,109,97,120,32,37,32,80,121,76,111,110,103,95,83,72,73,70,84,41,41,32,38,32,80,121,76,111,110,103,95,77,65,83,75,93,10,10,32,32,32,32,119,104,105,108,101,32,117,108,111,110,103,95,99,109,112,40,108,111,119,44,32,104,105,103,104,41,32,60,32,48,58,10,32,32,32,32,32,32,32,32,117,108,111,110,103,95,105,110,99,95,40,104,105,103,104,41,10,32,32,32,32,32,32,32,32,109,105,100,44,32,114,32,61,32,117,108,111,110,103,95,100,105,118,109,111,100,105,40,117,108,111,110,103,95,97,100,100,40,108,111,119,44,32,104,105,103,104,41,44,32,50,41,10,32,32,32,32,32,32,32,32,105,102,32,117,108,111,110,103,95,99,109,112,40,97,44,32,117,108,111,110,103,95,109,117,108,40,98,44,32,109,105,100,41,41,32,62,61,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,108,111,119,32,61,32,109,105,100,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,104,105,103,104,32,61,32,117,108,111,110,103,95,115,117,98,40,109,105,100,44,32,91,49,93,41,10,10,32,32,32,32,113,32,61,32,91,48,93,32,42,32,40,108,101,110,40,97,41,32,45,32,108,101,110,40,98,41,32,43,32,49,41,10,32,32,32,32,119,104,105,108,101,32,117,108,111,110,103,95,99,109,112,40,97,44,32,117,108,111,110,103,95,109,117,108,40,98,44,32,108,111,119,41,41,32,62,61,32,48,58,10,32,32,32,32,32,32,32,32,113,32,61,32,117,108,111,110,103,95,97,100,100,40,113,44,32,108,111,119,41,10,32,32,32,32,32,32,32,32,97,32,61,32,117,108,111,110,103,95,115,117,98,40,97,44,32,117,108,111,110,103,95,109,117,108,40,98,44,32,108,111,119,41,41,10,32,32,32,32,117,108,111,110,103,95,117,110,112,97,100,95,40,113,41,10,32,32,32,32,114,101,116,117,114,110,32,113,44,32,97,10,10,100,101,102,32,117,108,111,110,103,95,102,108,111,111,114,100,105,118,105,40,97,58,32,108,105,115,116,44,32,98,58,32,105,110,116,41,58,10,32,32,32,32,35,32,98,32,62,32,48,10,32,32,32,32,114,101,116,117,114,110,32,117,108,111,110,103,95,100,105,118,109,111,100,105,40,97,44,32,98,41,91,48,93,10,10,100,101,102,32,117,108,111,110,103,95,109,117,108,105,40,97,58,32,108,105,115,116,44,32,98,58,32,105,110,116,41,58,10,32,32,32,32,35,32,98,32,62,61,32,48,10,32,32,32,32,114,101,115,32,61,32,91,48,93,32,42,32,108,101,110,40,97,41,10,32,32,32,32,99,97,114,114,121,32,61,32,48,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,97,41,41,58,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,43,61,32,97,91,105,93,32,42,32,98,10,32,32,32,32,32,32,32,32,114,101,115,91,105,93,32,61,32,99,97,114,114,121,32,38,32,80,121,76,111,110,103,95,77,65,83,75,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,62,62,61,32,80,121,76,111,110,103,95,83,72,73,70,84,10,32,32,32,32,105,102,32,99,97,114,114,121,32,62,32,48,58,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,99,97,114,114,121,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,117,108,111,110,103,95,109,117,108,40,97,58,32,108,105,115,116,44,32,98,58,32,108,105,115,116,41,58,10,32,32,32,32,78,32,61,32,108,101,110,40,97,41,32,43,32,108,101,110,40,98,41,10,32,32,32,32,35,32,117,115,101,32,103,114,97,100,101,45,115,99,104,111,111,108,32,109,117,108,116,105,112,108,105,99,97,116,105,111,110,10,32,32,32,32,114,101,115,32,61,32,91,48,93,32,42,32,78,10,32,32,32,32,102,111,114,32,105,32,105,110,32,114,97,110,103,101,40,108,101,110,40,97,41,41,58,10,32,32,32,32,32,32,32,32,99,97,114,114,121,32,61,32,48,10,32,32,32,32,32,32,32,32,102,111,114,32,106,32,105,110,32,114,97,110,103,101,40,108,101,110,40,98,41,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,99,97,114,114,121,32,43,61,32,114,101,115,91,105,43,106,93,32,43,32,97,91,105,93,32,42,32,98,91,106,93,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,115,91,105,43,106,93,32,61,32,99,97,114,114,121,32,38,32,80,121,76,111,110,103,95,77,65,83,75,10,32,32,32,32,32,32,32,32,32,32,32,32,99,97,114,114,121,32,62,62,61,32,80,121,76,111,110,103,95,83,72,73,70,84,10,32,32,32,32,32,32,32,32,114,101,115,91,105,43,108,101,110,40,98,41,93,32,61,32,99,97,114,114,121,10,32,32,32,32,117,108,111,110,103,95,117,110,112,97,100,95,40,114,101,115,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,117,108,111,110,103,95,112,111,119,105,40,97,58,32,108,105,115,116,44,32,98,58,32,105,110,116,41,58,10,32,32,32,32,35,32,98,32,62,61,32,48,10,32,32,32,32,105,102,32,98,32,61,61,32,48,58,32,114,101,116,117,114,110,32,91,49,93,10,32,32,32,32,114,101,115,32,61,32,91,49,93,10,32,32,32,32,119,104,105,108,101,32,98,58,10,32,32,32,32,32,32,32,32,105,102,32,98,32,38,32,49,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,115,32,61,32,117,108,111,110,103,95,109,117,108,40,114,101,115,44,32,97,41,10,32,32,32,32,32,32,32,32,97,32,61,32,117,108,111,110,103,95,109,117,108,40,97,44,32,97,41,10,32,32,32,32,32,32,32,32,98,32,62,62,61,32,49,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,117,108,111,110,103,95,114,101,112,114,40,120,58,32,108,105,115,116,41,32,45,62,32,115,116,114,58,10,32,32,32,32,114,101,115,32,61,32,91,93,10,32,32,32,32,119,104,105,108,101,32,108,101,110,40,120,41,62,49,32,111,114,32,120,91,48,93,62,48,58,32,32,32,35,32,110,111,110,45,122,101,114,111,10,32,32,32,32,32,32,32,32,120,44,32,114,32,61,32,117,108,111,110,103,95,100,105,118,109,111,100,105,40,120,44,32,80,121,76,111,110,103,95,68,69,67,73,77,65,76,95,66,65,83,69,41,10,32,32,32,32,32,32,32,32,114,101,115,46,97,112,112,101,110,100,40,115,116,114,40,114,41,46,122,102,105,108,108,40,80,121,76,111,110,103,95,68,69,67,73,77,65,76,95,83,72,73,70,84,41,41,10,32,32,32,32,114,101,115,46,114,101,118,101,114,115,101,40,41,10,32,32,32,32,115,32,61,32,39,39,46,106,111,105,110,40,114,101,115,41,10,32,32,32,32,105,102,32,108,101,110,40,115,41,32,61,61,32,48,58,32,114,101,116,117,114,110,32,39,48,39,10,32,32,32,32,105,102,32,108,101,110,40,115,41,32,62,32,49,58,32,115,32,61,32,115,46,108,115,116,114,105,112,40,39,48,39,41,10,32,32,32,32,114,101,116,117,114,110,32,115,10,10,100,101,102,32,117,108,111,110,103,95,102,114,111,109,115,116,114,40,115,58,32,115,116,114,41,58,10,32,32,32,32,105,102,32,115,91,45,49,93,32,61,61,32,39,76,39,58,10,32,32,32,32,32,32,32,32,115,32,61,32,115,91,58,45,49,93,10,32,32,32,32,114,101,115,44,32,98,97,115,101,32,61,32,91,48,93,44,32,91,49,93,10,32,32,32,32,105,102,32,115,91,48,93,32,61,61,32,39,45,39,58,10,32,32,32,32,32,32,32,32,115,105,103,110,32,61,32,45,49,10,32,32,32,32,32,32,32,32,115,32,61,32,115,91,49,58,93,10,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,115,105,103,110,32,61,32,49,10,32,32,32,32,115,32,61,32,115,91,58,58,45,49,93,10,32,32,32,32,102,111,114,32,99,32,105,110,32,115,58,10,32,32,32,32,32,32,32,32,99,32,61,32,111,114,100,40,99,41,32,45,32,52,56,10,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,48,32,60,61,32,99,32,60,61,32,57,10,32,32,32,32,32,32,32,32,114,101,115,32,61,32,117,108,111,110,103,95,97,100,100,40,114,101,115,44,32,117,108,111,110,103,95,109,117,108,105,40,98,97,115,101,44,32,99,41,41,10,32,32,32,32,32,32,32,32,98,97,115,101,32,61,32,117,108,111,110,103,95,109,117,108,105,40,98,97,115,101,44,32,49,48,41,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,44,32,115,105,103,110,10,10,99,108,97,115,115,32,108,111,110,103,58,10,32,32,32,32,100,101,102,32,95,95,105,110,105,116,95,95,40,115,101,108,102,44,32,120,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,120,41,32,105,115,32,116,117,112,108,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,100,105,103,105,116,115,44,32,115,101,108,102,46,115,105,103,110,32,61,32,120,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,120,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,100,105,103,105,116,115,44,32,115,101,108,102,46,115,105,103,110,32,61,32,117,108,111,110,103,95,102,114,111,109,105,110,116,40,120,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,120,41,32,105,115,32,102,108,111,97,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,100,105,103,105,116,115,44,32,115,101,108,102,46,115,105,103,110,32,61,32,117,108,111,110,103,95,102,114,111,109,105,110,116,40,105,110,116,40,120,41,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,120,41,32,105,115,32,115,116,114,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,100,105,103,105,116,115,44,32,115,101,108,102,46,115,105,103,110,32,61,32,117,108,111,110,103,95,102,114,111,109,115,116,114,40,120,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,120,41,32,105,115,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,100,105,103,105,116,115,44,32,115,101,108,102,46,115,105,103,110,32,61,32,120,46,100,105,103,105,116,115,46,99,111,112,121,40,41,44,32,120,46,115,105,103,110,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,97,105,115,101,32,84,121,112,101,69,114,114,111,114,40,39,101,120,112,101,99,116,101,100,32,105,110,116,32,111,114,32,115,116,114,39,41,10,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,108,101,110,95,95,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,101,110,40,115,101,108,102,46,100,105,103,105,116,115,41,10,10,32,32,32,32,100,101,102,32,95,95,97,100,100,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,111,116,104,101,114,32,61,32,108,111,110,103,40,111,116,104,101,114,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,110,111,116,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,10,32,32,32,32,32,32,32,32,105,102,32,115,101,108,102,46,115,105,103,110,32,61,61,32,111,116,104,101,114,46,115,105,103,110,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,97,100,100,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,99,109,112,32,61,32,117,108,111,110,103,95,99,109,112,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,10,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,99,109,112,32,61,61,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,48,41,10,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,99,109,112,32,62,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,115,117,98,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,115,117,98,40,111,116,104,101,114,46,100,105,103,105,116,115,44,32,115,101,108,102,46,100,105,103,105,116,115,41,44,32,111,116,104,101,114,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,97,100,100,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,97,100,100,95,95,40,111,116,104,101,114,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,115,117,98,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,111,116,104,101,114,32,61,32,108,111,110,103,40,111,116,104,101,114,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,110,111,116,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,10,32,32,32,32,32,32,32,32,105,102,32,115,101,108,102,46,115,105,103,110,32,33,61,32,111,116,104,101,114,46,115,105,103,110,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,97,100,100,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,99,109,112,32,61,32,117,108,111,110,103,95,99,109,112,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,10,32,32,32,32,32,32,32,32,105,102,32,99,109,112,32,61,61,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,48,41,10,32,32,32,32,32,32,32,32,105,102,32,99,109,112,32,62,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,115,117,98,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,115,117,98,40,111,116,104,101,114,46,100,105,103,105,116,115,44,32,115,101,108,102,46,100,105,103,105,116,115,41,44,32,45,111,116,104,101,114,46,115,105,103,110,41,41,10,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,115,117,98,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,111,116,104,101,114,32,61,32,108,111,110,103,40,111,116,104,101,114,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,110,111,116,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,111,116,104,101,114,46,95,95,115,117,98,95,95,40,115,101,108,102,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,109,117,108,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,117,108,111,110,103,95,109,117,108,105,40,115,101,108,102,46,100,105,103,105,116,115,44,32,97,98,115,40,111,116,104,101,114,41,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,115,105,103,110,32,42,32,40,49,32,105,102,32,111,116,104,101,114,32,62,61,32,48,32,101,108,115,101,32,45,49,41,10,32,32,32,32,32,32,32,32,32,32,32,32,41,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,117,108,111,110,103,95,109,117,108,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,44,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,115,105,103,110,32,42,32,111,116,104,101,114,46,115,105,103,110,10,32,32,32,32,32,32,32,32,32,32,32,32,41,41,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,109,117,108,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,109,117,108,95,95,40,111,116,104,101,114,41,10,32,32,32,32,10,32,32,32,32,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,10,32,32,32,32,100,101,102,32,95,95,100,105,118,109,111,100,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,115,101,108,102,46,115,105,103,110,32,61,61,32,49,32,97,110,100,32,111,116,104,101,114,32,62,32,48,10,32,32,32,32,32,32,32,32,32,32,32,32,113,44,32,114,32,61,32,117,108,111,110,103,95,100,105,118,109,111,100,105,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,41,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,113,44,32,49,41,41,44,32,114,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,115,101,108,102,46,115,105,103,110,32,61,61,32,49,32,97,110,100,32,111,116,104,101,114,46,115,105,103,110,32,61,61,32,49,10,32,32,32,32,32,32,32,32,32,32,32,32,113,44,32,114,32,61,32,117,108,111,110,103,95,100,105,118,109,111,100,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,10,32,32,32,32,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,108,101,110,40,111,116,104,101,114,41,62,49,32,111,114,32,111,116,104,101,114,46,100,105,103,105,116,115,91,48,93,62,48,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,113,44,32,49,41,41,44,32,108,111,110,103,40,40,114,44,32,49,41,41,10,32,32,32,32,32,32,32,32,114,97,105,115,101,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,69,114,114,111,114,10,10,32,32,32,32,100,101,102,32,95,95,102,108,111,111,114,100,105,118,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,100,105,118,109,111,100,95,95,40,111,116,104,101,114,41,91,48,93,10,10,32,32,32,32,100,101,102,32,95,95,109,111,100,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,100,105,118,109,111,100,95,95,40,111,116,104,101,114,41,91,49,93,10,10,32,32,32,32,100,101,102,32,95,95,112,111,119,95,95,40,115,101,108,102,44,32,111,116,104,101,114,58,32,105,110,116,41,58,10,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,32,97,110,100,32,111,116,104,101,114,32,62,61,32,48,10,32,32,32,32,32,32,32,32,105,102,32,115,101,108,102,46,115,105,103,110,32,61,61,32,45,49,32,97,110,100,32,111,116,104,101,114,32,38,32,49,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,105,103,110,32,61,32,45,49,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,105,103,110,32,61,32,49,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,117,108,111,110,103,95,112,111,119,105,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,41,44,32,115,105,103,110,41,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,108,115,104,105,102,116,95,95,40,115,101,108,102,44,32,111,116,104,101,114,58,32,105,110,116,41,58,10,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,32,97,110,100,32,111,116,104,101,114,32,62,61,32,48,10,32,32,32,32,32,32,32,32,120,32,61,32,115,101,108,102,46,100,105,103,105,116,115,46,99,111,112,121,40,41,10,32,32,32,32,32,32,32,32,113,44,32,114,32,61,32,100,105,118,109,111,100,40,111,116,104,101,114,44,32,80,121,76,111,110,103,95,83,72,73,70,84,41,10,32,32,32,32,32,32,32,32,120,32,61,32,91,48,93,42,113,32,43,32,120,10,32,32,32,32,32,32,32,32,102,111,114,32,95,32,105,110,32,114,97,110,103,101,40,114,41,58,32,120,32,61,32,117,108,111,110,103,95,109,117,108,105,40,120,44,32,50,41,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,120,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,115,104,105,102,116,95,95,40,115,101,108,102,44,32,111,116,104,101,114,58,32,105,110,116,41,58,10,32,32,32,32,32,32,32,32,97,115,115,101,114,116,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,32,97,110,100,32,111,116,104,101,114,32,62,61,32,48,10,32,32,32,32,32,32,32,32,120,32,61,32,115,101,108,102,46,100,105,103,105,116,115,46,99,111,112,121,40,41,10,32,32,32,32,32,32,32,32,113,44,32,114,32,61,32,100,105,118,109,111,100,40,111,116,104,101,114,44,32,80,121,76,111,110,103,95,83,72,73,70,84,41,10,32,32,32,32,32,32,32,32,120,32,61,32,120,91,113,58,93,10,32,32,32,32,32,32,32,32,105,102,32,110,111,116,32,120,58,32,114,101,116,117,114,110,32,108,111,110,103,40,48,41,10,32,32,32,32,32,32,32,32,102,111,114,32,95,32,105,110,32,114,97,110,103,101,40,114,41,58,32,120,32,61,32,117,108,111,110,103,95,102,108,111,111,114,100,105,118,105,40,120,44,32,50,41,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,120,44,32,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,110,101,103,95,95,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,111,110,103,40,40,115,101,108,102,46,100,105,103,105,116,115,44,32,45,115,101,108,102,46,115,105,103,110,41,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,99,109,112,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,105,110,116,58,10,32,32,32,32,32,32,32,32,32,32,32,32,111,116,104,101,114,32,61,32,108,111,110,103,40,111,116,104,101,114,41,10,32,32,32,32,32,32,32,32,101,108,105,102,32,116,121,112,101,40,111,116,104,101,114,41,32,105,115,32,110,111,116,32,108,111,110,103,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,10,32,32,32,32,32,32,32,32,105,102,32,115,101,108,102,46,115,105,103,110,32,62,32,111,116,104,101,114,46,115,105,103,110,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,49,10,32,32,32,32,32,32,32,32,101,108,105,102,32,115,101,108,102,46,115,105,103,110,32,60,32,111,116,104,101,114,46,115,105,103,110,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,45,49,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,117,108,111,110,103,95,99,109,112,40,115,101,108,102,46,100,105,103,105,116,115,44,32,111,116,104,101,114,46,100,105,103,105,116,115,41,10,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,101,113,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,99,109,112,95,95,40,111,116,104,101,114,41,32,61,61,32,48,10,32,32,32,32,100,101,102,32,95,95,108,116,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,99,109,112,95,95,40,111,116,104,101,114,41,32,60,32,48,10,32,32,32,32,100,101,102,32,95,95,108,101,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,99,109,112,95,95,40,111,116,104,101,114,41,32,60,61,32,48,10,32,32,32,32,100,101,102,32,95,95,103,116,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,99,109,112,95,95,40,111,116,104,101,114,41,32,62,32,48,10,32,32,32,32,100,101,102,32,95,95,103,101,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,46,95,95,99,109,112,95,95,40,111,116,104,101,114,41,32,62,61,32,48,10,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,101,112,114,95,95,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,112,114,101,102,105,120,32,61,32,39,45,39,32,105,102,32,115,101,108,102,46,115,105,103,110,32,60,32,48,32,101,108,115,101,32,39,39,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,112,114,101,102,105,120,32,43,32,117,108,111,110,103,95,114,101,112,114,40,115,101,108,102,46,100,105,103,105,116,115,41,32,43,32,39,76,39,10,0}; inline const char kPythonLibs__set[] = {99,108,97,115,115,32,115,101,116,58,10,32,32,32,32,100,101,102,32,95,95,105,110,105,116,95,95,40,115,101,108,102,44,32,105,116,101,114,97,98,108,101,61,78,111,110,101,41,58,10,32,32,32,32,32,32,32,32,105,116,101,114,97,98,108,101,32,61,32,105,116,101,114,97,98,108,101,32,111,114,32,91,93,10,32,32,32,32,32,32,32,32,115,101,108,102,46,95,97,32,61,32,123,125,10,32,32,32,32,32,32,32,32,115,101,108,102,46,117,112,100,97,116,101,40,105,116,101,114,97,98,108,101,41,10,10,32,32,32,32,100,101,102,32,97,100,100,40,115,101,108,102,44,32,101,108,101,109,41,58,10,32,32,32,32,32,32,32,32,115,101,108,102,46,95,97,91,101,108,101,109,93,32,61,32,78,111,110,101,10,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,100,105,115,99,97,114,100,40,115,101,108,102,44,32,101,108,101,109,41,58,10,32,32,32,32,32,32,32,32,115,101,108,102,46,95,97,46,112,111,112,40,101,108,101,109,44,32,78,111,110,101,41,10,10,32,32,32,32,100,101,102,32,114,101,109,111,118,101,40,115,101,108,102,44,32,101,108,101,109,41,58,10,32,32,32,32,32,32,32,32,100,101,108,32,115,101,108,102,46,95,97,91,101,108,101,109,93,10,32,32,32,32,32,32,32,32,10,32,32,32,32,100,101,102,32,99,108,101,97,114,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,115,101,108,102,46,95,97,46,99,108,101,97,114,40,41,10,10,32,32,32,32,100,101,102,32,117,112,100,97,116,101,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,102,111,114,32,101,108,101,109,32,105,110,32,111,116,104,101,114,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,46,97,100,100,40,101,108,101,109,41,10,10,32,32,32,32,100,101,102,32,95,95,108,101,110,95,95,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,101,110,40,115,101,108,102,46,95,97,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,99,111,112,121,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,116,40,115,101,108,102,46,95,97,46,107,101,121,115,40,41,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,97,110,100,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,123,101,108,101,109,32,102,111,114,32,101,108,101,109,32,105,110,32,115,101,108,102,32,105,102,32,101,108,101,109,32,105,110,32,111,116,104,101,114,125,10,10,32,32,32,32,100,101,102,32,95,95,115,117,98,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,123,101,108,101,109,32,102,111,114,32,101,108,101,109,32,105,110,32,115,101,108,102,32,105,102,32,101,108,101,109,32,110,111,116,32,105,110,32,111,116,104,101,114,125,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,111,114,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,32,61,32,115,101,108,102,46,99,111,112,121,40,41,10,32,32,32,32,32,32,32,32,114,101,116,46,117,112,100,97,116,101,40,111,116,104,101,114,41,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,114,101,116,10,10,32,32,32,32,100,101,102,32,95,95,120,111,114,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,32,10,32,32,32,32,32,32,32,32,95,48,32,61,32,115,101,108,102,32,45,32,111,116,104,101,114,10,32,32,32,32,32,32,32,32,95,49,32,61,32,111,116,104,101,114,32,45,32,115,101,108,102,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,95,48,32,124,32,95,49,10,10,32,32,32,32,100,101,102,32,117,110,105,111,110,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,32,124,32,111,116,104,101,114,10,10,32,32,32,32,100,101,102,32,105,110,116,101,114,115,101,99,116,105,111,110,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,32,38,32,111,116,104,101,114,10,10,32,32,32,32,100,101,102,32,100,105,102,102,101,114,101,110,99,101,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,32,45,32,111,116,104,101,114,10,10,32,32,32,32,100,101,102,32,115,121,109,109,101,116,114,105,99,95,100,105,102,102,101,114,101,110,99,101,40,115,101,108,102,44,32,111,116,104,101,114,41,58,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,101,108,102,32,94,32,111,116,104,101,114,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,101,113,95,95,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,105,102,32,110,111,116,32,105,115,105,110,115,116,97,110,99,101,40,111,116,104,101,114,44,32,115,101,116,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,101,110,40,115,101,108,102,32,94,32,111,116,104,101,114,41,32,61,61,32,48,10,10,32,32,32,32,100,101,102,32,105,115,100,105,115,106,111,105,110,116,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,101,110,40,115,101,108,102,32,38,32,111,116,104,101,114,41,32,61,61,32,48,10,32,32,32,32,10,32,32,32,32,100,101,102,32,105,115,115,117,98,115,101,116,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,101,110,40,115,101,108,102,32,45,32,111,116,104,101,114,41,32,61,61,32,48,10,32,32,32,32,10,32,32,32,32,100,101,102,32,105,115,115,117,112,101,114,115,101,116,40,115,101,108,102,44,32,111,116,104,101,114,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,108,101,110,40,111,116,104,101,114,32,45,32,115,101,108,102,41,32,61,61,32,48,10,10,32,32,32,32,100,101,102,32,95,95,99,111,110,116,97,105,110,115,95,95,40,115,101,108,102,44,32,101,108,101,109,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,101,108,101,109,32,105,110,32,115,101,108,102,46,95,97,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,101,112,114,95,95,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,105,102,32,108,101,110,40,115,101,108,102,41,32,61,61,32,48,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,39,115,101,116,40,41,39,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,39,123,39,43,32,39,44,32,39,46,106,111,105,110,40,91,114,101,112,114,40,105,41,32,102,111,114,32,105,32,105,110,32,115,101,108,102,46,95,97,46,107,101,121,115,40,41,93,41,32,43,32,39,125,39,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,105,116,101,114,95,95,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,105,116,101,114,40,115,101,108,102,46,95,97,46,107,101,121,115,40,41,41,0}; inline const char kPythonLibs_bisect[] = {34,34,34,66,105,115,101,99,116,105,111,110,32,97,108,103,111,114,105,116,104,109,115,46,34,34,34,10,10,100,101,102,32,105,110,115,111,114,116,95,114,105,103,104,116,40,97,44,32,120,44,32,108,111,61,48,44,32,104,105,61,78,111,110,101,41,58,10,32,32,32,32,34,34,34,73,110,115,101,114,116,32,105,116,101,109,32,120,32,105,110,32,108,105,115,116,32,97,44,32,97,110,100,32,107,101,101,112,32,105,116,32,115,111,114,116,101,100,32,97,115,115,117,109,105,110,103,32,97,32,105,115,32,115,111,114,116,101,100,46,10,10,32,32,32,32,73,102,32,120,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,97,44,32,105,110,115,101,114,116,32,105,116,32,116,111,32,116,104,101,32,114,105,103,104,116,32,111,102,32,116,104,101,32,114,105,103,104,116,109,111,115,116,32,120,46,10,10,32,32,32,32,79,112,116,105,111,110,97,108,32,97,114,103,115,32,108,111,32,40,100,101,102,97,117,108,116,32,48,41,32,97,110,100,32,104,105,32,40,100,101,102,97,117,108,116,32,108,101,110,40,97,41,41,32,98,111,117,110,100,32,116,104,101,10,32,32,32,32,115,108,105,99,101,32,111,102,32,97,32,116,111,32,98,101,32,115,101,97,114,99,104,101,100,46,10,32,32,32,32,34,34,34,10,10,32,32,32,32,108,111,32,61,32,98,105,115,101,99,116,95,114,105,103,104,116,40,97,44,32,120,44,32,108,111,44,32,104,105,41,10,32,32,32,32,97,46,105,110,115,101,114,116,40,108,111,44,32,120,41,10,10,100,101,102,32,98,105,115,101,99,116,95,114,105,103,104,116,40,97,44,32,120,44,32,108,111,61,48,44,32,104,105,61,78,111,110,101,41,58,10,32,32,32,32,34,34,34,82,101,116,117,114,110,32,116,104,101,32,105,110,100,101,120,32,119,104,101,114,101,32,116,111,32,105,110,115,101,114,116,32,105,116,101,109,32,120,32,105,110,32,108,105,115,116,32,97,44,32,97,115,115,117,109,105,110,103,32,97,32,105,115,32,115,111,114,116,101,100,46,10,10,32,32,32,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,32,105,115,32,115,117,99,104,32,116,104,97,116,32,97,108,108,32,101,32,105,110,32,97,91,58,105,93,32,104,97,118,101,32,101,32,60,61,32,120,44,32,97,110,100,32,97,108,108,32,101,32,105,110,10,32,32,32,32,97,91,105,58,93,32,104,97,118,101,32,101,32,62,32,120,46,32,32,83,111,32,105,102,32,120,32,97,108,114,101,97,100,121,32,97,112,112,101,97,114,115,32,105,110,32,116,104,101,32,108,105,115,116,44,32,97,46,105,110,115,101,114,116,40,120,41,32,119,105,108,108,10,32,32,32,32,105,110,115,101,114,116,32,106,117,115,116,32,97,102,116,101,114,32,116,104,101,32,114,105,103,104,116,109,111,115,116,32,120,32,97,108,114,101,97,100,121,32,116,104,101,114,101,46,10,10,32,32,32,32,79,112,116,105,111,110,97,108,32,97,114,103,115,32,108,111,32,40,100,101,102,97,117,108,116,32,48,41,32,97,110,100,32,104,105,32,40,100,101,102,97,117,108,116,32,108,101,110,40,97,41,41,32,98,111,117,110,100,32,116,104,101,10,32,32,32,32,115,108,105,99,101,32,111,102,32,97,32,116,111,32,98,101,32,115,101,97,114,99,104,101,100,46,10,32,32,32,32,34,34,34,10,10,32,32,32,32,105,102,32,108,111,32,60,32,48,58,10,32,32,32,32,32,32,32,32,114,97,105,115,101,32,86,97,108,117,101,69,114,114,111,114,40,39,108,111,32,109,117,115,116,32,98,101,32,110,111,110,45,110,101,103,97,116,105,118,101,39,41,10,32,32,32,32,105,102,32,104,105,32,105,115,32,78,111,110,101,58,10,32,32,32,32,32,32,32,32,104,105,32,61,32,108,101,110,40,97,41,10,32,32,32,32,119,104,105,108,101,32,108,111,32,60,32,104,105,58,10,32,32,32,32,32,32,32,32,109,105,100,32,61,32,40,108,111,43,104,105,41,47,47,50,10,32,32,32,32,32,32,32,32,105,102,32,120,32,60,32,97,91,109,105,100,93,58,32,104,105,32,61,32,109,105,100,10,32,32,32,32,32,32,32,32,101,108,115,101,58,32,108,111,32,61,32,109,105,100,43,49,10,32,32,32,32,114,101,116,117,114,110,32,108,111,10,10,100,101,102,32,105,110,115,111,114,116,95,108,101,102,116,40,97,44,32,120,44,32,108,111,61,48,44,32,104,105,61,78,111,110,101,41,58,10,32,32,32,32,34,34,34,73,110,115,101,114,116,32,105,116,101,109,32,120,32,105,110,32,108,105,115,116,32,97,44,32,97,110,100,32,107,101,101,112,32,105,116,32,115,111,114,116,101,100,32,97,115,115,117,109,105,110,103,32,97,32,105,115,32,115,111,114,116,101,100,46,10,10,32,32,32,32,73,102,32,120,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,97,44,32,105,110,115,101,114,116,32,105,116,32,116,111,32,116,104,101,32,108,101,102,116,32,111,102,32,116,104,101,32,108,101,102,116,109,111,115,116,32,120,46,10,10,32,32,32,32,79,112,116,105,111,110,97,108,32,97,114,103,115,32,108,111,32,40,100,101,102,97,117,108,116,32,48,41,32,97,110,100,32,104,105,32,40,100,101,102,97,117,108,116,32,108,101,110,40,97,41,41,32,98,111,117,110,100,32,116,104,101,10,32,32,32,32,115,108,105,99,101,32,111,102,32,97,32,116,111,32,98,101,32,115,101,97,114,99,104,101,100,46,10,32,32,32,32,34,34,34,10,10,32,32,32,32,108,111,32,61,32,98,105,115,101,99,116,95,108,101,102,116,40,97,44,32,120,44,32,108,111,44,32,104,105,41,10,32,32,32,32,97,46,105,110,115,101,114,116,40,108,111,44,32,120,41,10,10,10,100,101,102,32,98,105,115,101,99,116,95,108,101,102,116,40,97,44,32,120,44,32,108,111,61,48,44,32,104,105,61,78,111,110,101,41,58,10,32,32,32,32,34,34,34,82,101,116,117,114,110,32,116,104,101,32,105,110,100,101,120,32,119,104,101,114,101,32,116,111,32,105,110,115,101,114,116,32,105,116,101,109,32,120,32,105,110,32,108,105,115,116,32,97,44,32,97,115,115,117,109,105,110,103,32,97,32,105,115,32,115,111,114,116,101,100,46,10,10,32,32,32,32,84,104,101,32,114,101,116,117,114,110,32,118,97,108,117,101,32,105,32,105,115,32,115,117,99,104,32,116,104,97,116,32,97,108,108,32,101,32,105,110,32,97,91,58,105,93,32,104,97,118,101,32,101,32,60,32,120,44,32,97,110,100,32,97,108,108,32,101,32,105,110,10,32,32,32,32,97,91,105,58,93,32,104,97,118,101,32,101,32,62,61,32,120,46,32,32,83,111,32,105,102,32,120,32,97,108,114,101,97,100,121,32,97,112,112,101,97,114,115,32,105,110,32,116,104,101,32,108,105,115,116,44,32,97,46,105,110,115,101,114,116,40,120,41,32,119,105,108,108,10,32,32,32,32,105,110,115,101,114,116,32,106,117,115,116,32,98,101,102,111,114,101,32,116,104,101,32,108,101,102,116,109,111,115,116,32,120,32,97,108,114,101,97,100,121,32,116,104,101,114,101,46,10,10,32,32,32,32,79,112,116,105,111,110,97,108,32,97,114,103,115,32,108,111,32,40,100,101,102,97,117,108,116,32,48,41,32,97,110,100,32,104,105,32,40,100,101,102,97,117,108,116,32,108,101,110,40,97,41,41,32,98,111,117,110,100,32,116,104,101,10,32,32,32,32,115,108,105,99,101,32,111,102,32,97,32,116,111,32,98,101,32,115,101,97,114,99,104,101,100,46,10,32,32,32,32,34,34,34,10,10,32,32,32,32,105,102,32,108,111,32,60,32,48,58,10,32,32,32,32,32,32,32,32,114,97,105,115,101,32,86,97,108,117,101,69,114,114,111,114,40,39,108,111,32,109,117,115,116,32,98,101,32,110,111,110,45,110,101,103,97,116,105,118,101,39,41,10,32,32,32,32,105,102,32,104,105,32,105,115,32,78,111,110,101,58,10,32,32,32,32,32,32,32,32,104,105,32,61,32,108,101,110,40,97,41,10,32,32,32,32,119,104,105,108,101,32,108,111,32,60,32,104,105,58,10,32,32,32,32,32,32,32,32,109,105,100,32,61,32,40,108,111,43,104,105,41,47,47,50,10,32,32,32,32,32,32,32,32,105,102,32,97,91,109,105,100,93,32,60,32,120,58,32,108,111,32,61,32,109,105,100,43,49,10,32,32,32,32,32,32,32,32,101,108,115,101,58,32,104,105,32,61,32,109,105,100,10,32,32,32,32,114,101,116,117,114,110,32,108,111,10,10,35,32,67,114,101,97,116,101,32,97,108,105,97,115,101,115,10,98,105,115,101,99,116,32,61,32,98,105,115,101,99,116,95,114,105,103,104,116,10,105,110,115,111,114,116,32,61,32,105,110,115,111,114,116,95,114,105,103,104,116,10,0}; inline const char kPythonLibs_builtins[] = {105,109,112,111,114,116,32,115,121,115,32,97,115,32,95,115,121,115,10,105,109,112,111,114,116,32,111,112,101,114,97,116,111,114,32,97,115,32,95,111,112,101,114,97,116,111,114,10,10,100,101,102,32,112,114,105,110,116,40,42,97,114,103,115,44,32,115,101,112,61,39,32,39,44,32,101,110,100,61,39,92,110,39,41,58,10,32,32,32,32,115,32,61,32,115,101,112,46,106,111,105,110,40,91,115,116,114,40,105,41,32,102,111,114,32,105,32,105,110,32,97,114,103,115,93,41,10,32,32,32,32,95,115,121,115,46,115,116,100,111,117,116,46,119,114,105,116,101,40,115,32,43,32,101,110,100,41,10,10,100,101,102,32,95,109,105,110,109,97,120,95,114,101,100,117,99,101,40,111,112,44,32,97,114,103,115,44,32,107,101,121,41,58,10,32,32,32,32,105,102,32,107,101,121,32,105,115,32,78,111,110,101,58,32,10,32,32,32,32,32,32,32,32,105,102,32,108,101,110,40,97,114,103,115,41,32,61,61,32,50,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,97,114,103,115,91,48,93,32,105,102,32,111,112,40,97,114,103,115,91,48,93,44,32,97,114,103,115,91,49,93,41,32,101,108,115,101,32,97,114,103,115,91,49,93,10,32,32,32,32,32,32,32,32,107,101,121,32,61,32,108,97,109,98,100,97,32,120,58,32,120,10,32,32,32,32,105,102,32,108,101,110,40,97,114,103,115,41,32,61,61,32,48,58,10,32,32,32,32,32,32,32,32,114,97,105,115,101,32,84,121,112,101,69,114,114,111,114,40,39,101,120,112,101,99,116,101,100,32,49,32,97,114,103,117,109,101,110,116,115,44,32,103,111,116,32,48,39,41,10,32,32,32,32,105,102,32,108,101,110,40,97,114,103,115,41,32,61,61,32,49,58,10,32,32,32,32,32,32,32,32,97,114,103,115,32,61,32,97,114,103,115,91,48,93,10,32,32,32,32,97,114,103,115,32,61,32,105,116,101,114,40,97,114,103,115,41,10,32,32,32,32,114,101,115,32,61,32,110,101,120,116,40,97,114,103,115,41,10,32,32,32,32,105,102,32,114,101,115,32,105,115,32,83,116,111,112,73,116,101,114,97,116,105,111,110,58,10,32,32,32,32,32,32,32,32,114,97,105,115,101,32,86,97,108,117,101,69,114,114,111,114,40,39,97,114,103,115,32,105,115,32,97,110,32,101,109,112,116,121,32,115,101,113,117,101,110,99,101,39,41,10,32,32,32,32,119,104,105,108,101,32,84,114,117,101,58,10,32,32,32,32,32,32,32,32,105,32,61,32,110,101,120,116,40,97,114,103,115,41,10,32,32,32,32,32,32,32,32,105,102,32,105,32,105,115,32,83,116,111,112,73,116,101,114,97,116,105,111,110,58,10,32,32,32,32,32,32,32,32,32,32,32,32,98,114,101,97,107,10,32,32,32,32,32,32,32,32,105,102,32,111,112,40,107,101,121,40,105,41,44,32,107,101,121,40,114,101,115,41,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,115,32,61,32,105,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,109,105,110,40,42,97,114,103,115,44,32,107,101,121,61,78,111,110,101,41,58,10,32,32,32,32,114,101,116,117,114,110,32,95,109,105,110,109,97,120,95,114,101,100,117,99,101,40,95,111,112,101,114,97,116,111,114,46,108,116,44,32,97,114,103,115,44,32,107,101,121,41,10,10,100,101,102,32,109,97,120,40,42,97,114,103,115,44,32,107,101,121,61,78,111,110,101,41,58,10,32,32,32,32,114,101,116,117,114,110,32,95,109,105,110,109,97,120,95,114,101,100,117,99,101,40,95,111,112,101,114,97,116,111,114,46,103,116,44,32,97,114,103,115,44,32,107,101,121,41,10,10,100,101,102,32,97,108,108,40,105,116,101,114,97,98,108,101,41,58,10,32,32,32,32,102,111,114,32,105,32,105,110,32,105,116,101,114,97,98,108,101,58,10,32,32,32,32,32,32,32,32,105,102,32,110,111,116,32,105,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,70,97,108,115,101,10,32,32,32,32,114,101,116,117,114,110,32,84,114,117,101,10,10,100,101,102,32,97,110,121,40,105,116,101,114,97,98,108,101,41,58,10,32,32,32,32,102,111,114,32,105,32,105,110,32,105,116,101,114,97,98,108,101,58,10,32,32,32,32,32,32,32,32,105,102,32,105,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,84,114,117,101,10,32,32,32,32,114,101,116,117,114,110,32,70,97,108,115,101,10,10,100,101,102,32,101,110,117,109,101,114,97,116,101,40,105,116,101,114,97,98,108,101,44,32,115,116,97,114,116,61,48,41,58,10,32,32,32,32,110,32,61,32,115,116,97,114,116,10,32,32,32,32,102,111,114,32,101,108,101,109,32,105,110,32,105,116,101,114,97,98,108,101,58,10,32,32,32,32,32,32,32,32,121,105,101,108,100,32,110,44,32,101,108,101,109,10,32,32,32,32,32,32,32,32,43,43,110,10,10,100,101,102,32,115,117,109,40,105,116,101,114,97,98,108,101,41,58,10,32,32,32,32,114,101,115,32,61,32,48,10,32,32,32,32,102,111,114,32,105,32,105,110,32,105,116,101,114,97,98,108,101,58,10,32,32,32,32,32,32,32,32,114,101,115,32,43,61,32,105,10,32,32,32,32,114,101,116,117,114,110,32,114,101,115,10,10,100,101,102,32,109,97,112,40,102,44,32,105,116,101,114,97,98,108,101,41,58,10,32,32,32,32,102,111,114,32,105,32,105,110,32,105,116,101,114,97,98,108,101,58,10,32,32,32,32,32,32,32,32,121,105,101,108,100,32,102,40,105,41,10,10,100,101,102,32,102,105,108,116,101,114,40,102,44,32,105,116,101,114,97,98,108,101,41,58,10,32,32,32,32,102,111,114,32,105,32,105,110,32,105,116,101,114,97,98,108,101,58,10,32,32,32,32,32,32,32,32,105,102,32,102,40,105,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,121,105,101,108,100,32,105,10,10,100,101,102,32,122,105,112,40,97,44,32,98,41,58,10,32,32,32,32,97,32,61,32,105,116,101,114,40,97,41,10,32,32,32,32,98,32,61,32,105,116,101,114,40,98,41,10,32,32,32,32,119,104,105,108,101,32,84,114,117,101,58,10,32,32,32,32,32,32,32,32,97,105,32,61,32,110,101,120,116,40,97,41,10,32,32,32,32,32,32,32,32,98,105,32,61,32,110,101,120,116,40,98,41,10,32,32,32,32,32,32,32,32,105,102,32,97,105,32,105,115,32,83,116,111,112,73,116,101,114,97,116,105,111,110,32,111,114,32,98,105,32,105,115,32,83,116,111,112,73,116,101,114,97,116,105,111,110,58,10,32,32,32,32,32,32,32,32,32,32,32,32,98,114,101,97,107,10,32,32,32,32,32,32,32,32,121,105,101,108,100,32,97,105,44,32,98,105,10,10,100,101,102,32,114,101,118,101,114,115,101,100,40,105,116,101,114,97,98,108,101,41,58,10,32,32,32,32,97,32,61,32,108,105,115,116,40,105,116,101,114,97,98,108,101,41,10,32,32,32,32,97,46,114,101,118,101,114,115,101,40,41,10,32,32,32,32,114,101,116,117,114,110,32,97,10,10,100,101,102,32,115,111,114,116,101,100,40,105,116,101,114,97,98,108,101,44,32,107,101,121,61,78,111,110,101,44,32,114,101,118,101,114,115,101,61,70,97,108,115,101,41,58,10,32,32,32,32,97,32,61,32,108,105,115,116,40,105,116,101,114,97,98,108,101,41,10,32,32,32,32,97,46,115,111,114,116,40,107,101,121,61,107,101,121,44,32,114,101,118,101,114,115,101,61,114,101,118,101,114,115,101,41,10,32,32,32,32,114,101,116,117,114,110,32,97,10,10,35,35,35,35,35,32,115,116,114,32,35,35,35,35,35,10,100,101,102,32,95,95,102,111,114,109,97,116,95,115,116,114,105,110,103,40,115,101,108,102,58,32,115,116,114,44,32,42,97,114,103,115,44,32,42,42,107,119,97,114,103,115,41,32,45,62,32,115,116,114,58,10,32,32,32,32,100,101,102,32,116,111,107,101,110,105,122,101,83,116,114,105,110,103,40,115,58,32,115,116,114,41,58,10,32,32,32,32,32,32,32,32,116,111,107,101,110,115,32,61,32,91,93,10,32,32,32,32,32,32,32,32,76,44,32,82,32,61,32,48,44,48,10,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,109,111,100,101,32,61,32,78,111,110,101,10,32,32,32,32,32,32,32,32,99,117,114,65,114,103,32,61,32,48,10,32,32,32,32,32,32,32,32,35,32,108,111,111,107,105,110,103,70,111,114,75,119,111,114,100,32,61,32,70,97,108,115,101,10,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,119,104,105,108,101,40,82,60,108,101,110,40,115,41,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,99,117,114,67,104,97,114,32,61,32,115,91,82,93,10,32,32,32,32,32,32,32,32,32,32,32,32,110,101,120,116,67,104,97,114,32,61,32,115,91,82,43,49,93,32,105,102,32,82,43,49,60,108,101,110,40,115,41,32,101,108,115,101,32,39,39,10,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,35,32,73,110,118,97,108,105,100,32,99,97,115,101,32,49,58,32,115,116,114,97,121,32,39,125,39,32,101,110,99,111,117,110,116,101,114,101,100,44,32,101,120,97,109,112,108,101,58,32,34,65,66,67,68,32,69,70,71,72,32,123,110,97,109,101,125,32,73,74,75,76,125,34,44,32,34,72,101,108,108,111,32,123,118,118,125,125,34,44,32,34,72,69,76,76,79,32,123,48,125,32,87,79,82,76,68,125,34,10,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,99,117,114,67,104,97,114,32,61,61,32,39,125,39,32,97,110,100,32,110,101,120,116,67,104,97,114,32,33,61,32,39,125,39,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,97,105,115,101,32,86,97,108,117,101,69,114,114,111,114,40,34,83,105,110,103,108,101,32,39,125,39,32,101,110,99,111,117,110,116,101,114,101,100,32,105,110,32,102,111,114,109,97,116,32,115,116,114,105,110,103,34,41,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,35,32,86,97,108,105,100,32,67,97,115,101,32,49,58,32,69,115,99,97,112,105,110,103,32,99,97,115,101,44,32,119,101,32,101,115,99,97,112,101,32,34,123,123,32,111,114,32,34,125,125,34,32,116,111,32,98,101,32,34,123,34,32,111,114,32,34,125,34,44,32,101,120,97,109,112,108,101,58,32,34,123,123,125,125,34,44,32,34,123,123,77,121,32,78,97,109,101,32,105,115,32,123,48,125,125,125,34,10,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,40,99,117,114,67,104,97,114,32,61,61,32,39,123,39,32,97,110,100,32,110,101,120,116,67,104,97,114,32,61,61,32,39,123,39,41,32,111,114,32,40,99,117,114,67,104,97,114,32,61,61,32,39,125,39,32,97,110,100,32,110,101,120,116,67,104,97,114,32,61,61,32,39,125,39,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,40,76,60,82,41,58,32,35,32,86,97,108,105,100,32,67,97,115,101,32,49,46,49,58,32,109,97,107,101,32,115,117,114,101,32,119,101,32,97,114,101,32,110,111,116,32,97,100,100,105,110,103,32,101,109,112,116,121,32,115,116,114,105,110,103,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,116,111,107,101,110,115,46,97,112,112,101,110,100,40,115,91,76,58,82,93,41,32,35,32,97,100,100,32,116,104,101,32,115,116,114,105,110,103,32,98,101,102,111,114,101,32,116,104,101,32,101,115,99,97,112,101,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,116,111,107,101,110,115,46,97,112,112,101,110,100,40,99,117,114,67,104,97,114,41,32,35,32,86,97,108,105,100,32,67,97,115,101,32,49,46,50,58,32,97,100,100,32,116,104,101,32,101,115,99,97,112,101,32,99,104,97,114,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,76,32,61,32,82,43,50,32,35,32,109,111,118,101,32,116,104,101,32,108,101,102,116,32,112,111,105,110,116,101,114,32,116,111,32,116,104,101,32,110,101,120,116,32,99,104,97,114,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,82,32,61,32,82,43,50,32,35,32,109,111,118,101,32,116,104,101,32,114,105,103,104,116,32,112,111,105,110,116,101,114,32,116,111,32,116,104,101,32,110,101,120,116,32,99,104,97,114,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,99,111,110,116,105,110,117,101,10,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,35,32,86,97,108,105,100,32,67,97,115,101,32,50,58,32,82,101,103,117,108,97,114,32,99,111,109,109,97,110,100,32,108,105,110,101,32,97,114,103,32,99,97,115,101,58,32,101,120,97,109,112,108,101,58,32,32,34,65,66,67,68,32,69,70,71,72,32,123,125,32,73,74,75,76,34,44,32,34,123,125,34,44,32,34,72,69,76,76,79,32,123,125,32,87,79,82,76,68,34,10,32,32,32,32,32,32,32,32,32,32,32,32,101,108,105,102,32,99,117,114,67,104,97,114,32,61,61,32,39,123,39,32,97,110,100,32,110,101,120,116,67,104,97,114,32,61,61,32,39,125,39,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,109,111,100,101,32,105,115,32,110,111,116,32,78,111,110,101,32,97,110,100,32,109,111,100,101,32,33,61,32,39,97,117,116,111,39,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,73,110,118,97,108,105,100,32,99,97,115,101,32,50,58,32,109,105,120,105,110,103,32,97,117,116,111,109,97,116,105,99,32,97,110,100,32,109,97,110,117,97,108,32,102,105,101,108,100,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,32,45,45,32,101,120,97,109,112,108,101,58,32,34,65,66,67,68,32,69,70,71,72,32,123,110,97,109,101,125,32,73,74,75,76,32,123,125,34,44,32,34,72,101,108,108,111,32,123,118,118,125,32,123,125,34,44,32,34,72,69,76,76,79,32,123,48,125,32,87,79,82,76,68,32,123,125,34,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,97,105,115,101,32,86,97,108,117,101,69,114,114,111,114,40,34,67,97,110,110,111,116,32,115,119,105,116,99,104,32,102,114,111,109,32,109,97,110,117,97,108,32,102,105,101,108,100,32,110,117,109,98,101,114,105,110,103,32,116,111,32,97,117,116,111,109,97,116,105,99,32,102,105,101,108,100,32,115,112,101,99,105,102,105,99,97,116,105,111,110,34,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,109,111,100,101,32,61,32,39,97,117,116,111,39,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,40,76,60,82,41,58,32,35,32,86,97,108,105,100,32,67,97,115,101,32,50,46,49,58,32,109,97,107,101,32,115,117,114,101,32,119,101,32,97,114,101,32,110,111,116,32,97,100,100,105,110,103,32,101,109,112,116,121,32,115,116,114,105,110,103,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,116,111,107,101,110,115,46,97,112,112,101,110,100,40,115,91,76,58,82,93,41,32,35,32,97,100,100,32,116,104,101,32,115,116,114,105,110,103,32,98,101,102,111,114,101,32,116,104,101,32,115,112,101,99,105,97,108,32,109,97,114,107,101,114,32,102,111,114,32,116,104,101,32,97,114,103,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,116,111,107,101,110,115,46,97,112,112,101,110,100,40,34,123,34,43,115,116,114,40,99,117,114,65,114,103,41,43,34,125,34,41,32,35,32,86,97,108,105,100,32,67,97,115,101,32,50,46,50,58,32,97,100,100,32,116,104,101,32,115,112,101,99,105,97,108,32,109,97,114,107,101,114,32,102,111,114,32,116,104,101,32,97,114,103,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,99,117,114,65,114,103,43,61,49,32,35,32,105,110,99,114,101,109,101,110,116,32,116,104,101,32,97,114,103,32,112,111,115,105,116,105,111,110,44,32,116,104,105,115,32,119,105,108,108,32,98,101,32,117,115,101,100,32,102,111,114,32,114,101,102,101,114,101,110,99,105,110,103,32,116,104,101,32,97,114,103,32,108,97,116,101,114,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,76,32,61,32,82,43,50,32,35,32,109,111,118,101,32,116,104,101,32,108,101,102,116,32,112,111,105,110,116,101,114,32,116,111,32,116,104,101,32,110,101,120,116,32,99,104,97,114,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,82,32,61,32,82,43,50,32,35,32,109,111,118,101,32,116,104,101,32,114,105,103,104,116,32,112,111,105,110,116,101,114,32,116,111,32,116,104,101,32,110,101,120,116,32,99,104,97,114,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,99,111,110,116,105,110,117,101,10,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,35,32,86,97,108,105,100,32,67,97,115,101,32,51,58,32,75,101,121,45,119,111,114,100,32,97,114,103,32,99,97,115,101,58,32,101,120,97,109,112,108,101,58,32,34,65,66,67,68,32,69,70,71,72,32,123,110,97,109,101,125,32,73,74,75,76,34,44,32,34,72,101,108,108,111,32,123,118,118,125,34,44,32,34,72,69,76,76,79,32,123,110,97,109,101,125,32,87,79,82,76,68,34,10,32,32,32,32,32,32,32,32,32,32,32,32,101,108,105,102,32,40,99,117,114,67,104,97,114,32,61,61,32,39,123,39,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,109,111,100,101,32,105,115,32,110,111,116,32,78,111,110,101,32,97,110,100,32,109,111,100,101,32,33,61,32,39,109,97,110,117,97,108,39,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,35,32,73,110,118,97,108,105,100,32,99,97,115,101,32,50,58,32,109,105,120,105,110,103,32,97,117,116,111,109,97,116,105,99,32,97,110,100,32,109,97,110,117,97,108,32,102,105,101,108,100,32,115,112,101,99,105,102,105,99,97,116,105,111,110,115,32,45,45,32,101,120,97,109,112,108,101,58,32,34,65,66,67,68,32,69,70,71,72,32,123,125,32,73,74,75,76,32,123,110,97,109,101,125,34,44,32,34,72,101,108,108,111,32,123,125,32,123,49,125,34,44,32,34,72,69,76,76,79,32,123,125,32,87,79,82,76,68,32,123,110,97,109,101,125,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,97,105,115,101,32,86,97,108,117,101,69,114,114,111,114,40,34,67,97,110,110,111,116,32,115,119,105,116,99,104,32,102,114,111,109,32,97,117,116,111,109,97,116,105,99,32,102,105,101,108,100,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,116,111,32,109,97,110,117,97,108,32,102,105,101,108,100,32,110,117,109,98,101,114,105,110,103,34,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,109,111,100,101,32,61,32,39,109,97,110,117,97,108,39,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,40,76,60,82,41,58,32,35,32,86,97,108,105,100,32,99,97,115,101,32,51,46,49,58,32,109,97,107,101,32,115,117,114,101,32,119,101,32,97,114,101,32,110,111,116,32,97,100,100,105,110,103,32,101,109,112,116,121,32,115,116,114,105,110,103,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,116,111,107,101,110,115,46,97,112,112,101,110,100,40,115,91,76,58,82,93,41,32,35,32,97,100,100,32,116,104,101,32,115,116,114,105,110,103,32,98,101,102,111,114,101,32,116,104,101,32,115,112,101,99,105,97,108,32,109,97,114,107,101,114,32,102,111,114,32,116,104,101,32,97,114,103,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,87,101,32,108,111,111,107,32,102,111,114,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,107,101,121,119,111,114,100,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,107,119,76,32,61,32,82,32,35,32,75,101,121,119,111,114,100,32,108,101,102,116,32,112,111,105,110,116,101,114,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,107,119,82,32,61,32,82,43,49,32,35,32,75,101,121,119,111,114,100,32,114,105,103,104,116,32,112,111,105,110,116,101,114,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,119,104,105,108,101,40,107,119,82,60,108,101,110,40,115,41,32,97,110,100,32,115,91,107,119,82,93,33,61,39,125,39,41,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,115,91,107,119,82,93,32,61,61,32,39,123,39,58,32,35,32,73,110,118,97,108,105,100,32,99,97,115,101,32,51,58,32,115,116,114,97,121,32,39,123,39,32,101,110,99,111,117,110,116,101,114,101,100,44,32,101,120,97,109,112,108,101,58,32,34,65,66,67,68,32,69,70,71,72,32,123,110,123,97,109,101,125,32,73,74,75,76,32,123,34,44,32,34,72,101,108,108,111,32,123,118,118,123,125,125,34,44,32,34,72,69,76,76,79,32,123,48,125,32,87,79,82,123,76,68,125,34,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,97,105,115,101,32,86,97,108,117,101,69,114,114,111,114,40,34,85,110,101,120,112,101,99,116,101,100,32,39,123,39,32,105,110,32,102,105,101,108,100,32,110,97,109,101,34,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,107,119,82,32,43,61,32,49,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,86,97,108,105,100,32,99,97,115,101,32,51,46,50,58,32,87,101,32,104,97,118,101,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,111,117,110,100,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,107,101,121,119,111,114,100,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,107,119,82,60,108,101,110,40,115,41,32,97,110,100,32,115,91,107,119,82,93,32,61,61,32,39,125,39,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,116,111,107,101,110,115,46,97,112,112,101,110,100,40,115,91,107,119,76,58,107,119,82,43,49,93,41,32,35,32,97,100,100,32,116,104,101,32,115,112,101,99,105,97,108,32,109,97,114,107,101,114,32,102,111,114,32,116,104,101,32,97,114,103,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,76,32,61,32,107,119,82,43,49,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,82,32,61,32,107,119,82,43,49,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,73,110,118,97,108,105,100,32,99,97,115,101,32,52,58,32,87,101,32,100,105,100,110,39,116,32,102,105,110,100,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,107,101,121,119,111,114,100,44,32,116,104,114,111,119,32,101,114,114,111,114,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,97,105,115,101,32,86,97,108,117,101,69,114,114,111,114,40,34,69,120,112,101,99,116,101,100,32,39,125,39,32,98,101,102,111,114,101,32,101,110,100,32,111,102,32,115,116,114,105,110,103,34,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,99,111,110,116,105,110,117,101,10,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,82,32,61,32,82,43,49,10,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,35,32,86,97,108,105,100,32,99,97,115,101,32,52,58,32,87,101,32,104,97,118,101,32,114,101,97,99,104,101,100,32,116,104,101,32,101,110,100,32,111,102,32,116,104,101,32,115,116,114,105,110,103,44,32,97,100,100,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,115,116,114,105,110,103,32,116,111,32,116,104,101,32,116,111,107,101,110,115,32,10,32,32,32,32,32,32,32,32,105,102,32,76,60,82,58,10,32,32,32,32,32,32,32,32,32,32,32,32,116,111,107,101,110,115,46,97,112,112,101,110,100,40,115,91,76,58,82,93,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,35,32,112,114,105,110,116,40,116,111,107,101,110,115,41,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,116,111,107,101,110,115,10,10,32,32,32,32,116,111,107,101,110,115,32,61,32,116,111,107,101,110,105,122,101,83,116,114,105,110,103,40,115,101,108,102,41,10,32,32,32,32,97,114,103,77,97,112,32,61,32,123,125,10,32,32,32,32,102,111,114,32,105,44,32,97,32,105,110,32,101,110,117,109,101,114,97,116,101,40,97,114,103,115,41,58,10,32,32,32,32,32,32,32,32,97,114,103,77,97,112,91,115,116,114,40,105,41,93,32,61,32,97,10,32,32,32,32,102,105,110,97,108,95,116,111,107,101,110,115,32,61,32,91,93,10,32,32,32,32,102,111,114,32,116,32,105,110,32,116,111,107,101,110,115,58,10,32,32,32,32,32,32,32,32,105,102,32,116,91,48,93,32,61,61,32,39,123,39,32,97,110,100,32,116,91,45,49,93,32,61,61,32,39,125,39,58,10,32,32,32,32,32,32,32,32,32,32,32,32,107,101,121,32,61,32,116,91,49,58,45,49,93,10,32,32,32,32,32,32,32,32,32,32,32,32,97,114,103,77,97,112,86,97,108,32,61,32,97,114,103,77,97,112,46,103,101,116,40,107,101,121,44,32,78,111,110,101,41,10,32,32,32,32,32,32,32,32,32,32,32,32,107,119,97,114,103,115,86,97,108,32,61,32,107,119,97,114,103,115,46,103,101,116,40,107,101,121,44,32,78,111,110,101,41,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,97,114,103,77,97,112,86,97,108,32,105,115,32,78,111,110,101,32,97,110,100,32,107,119,97,114,103,115,86,97,108,32,105,115,32,78,111,110,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,97,105,115,101,32,86,97,108,117,101,69,114,114,111,114,40,34,78,111,32,97,114,103,32,102,111,117,110,100,32,102,111,114,32,116,111,107,101,110,58,32,34,43,116,41,10,32,32,32,32,32,32,32,32,32,32,32,32,101,108,105,102,32,97,114,103,77,97,112,86,97,108,32,105,115,32,110,111,116,32,78,111,110,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,102,105,110,97,108,95,116,111,107,101,110,115,46,97,112,112,101,110,100,40,115,116,114,40,97,114,103,77,97,112,86,97,108,41,41,10,32,32,32,32,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,102,105,110,97,108,95,116,111,107,101,110,115,46,97,112,112,101,110,100,40,115,116,114,40,107,119,97,114,103,115,86,97,108,41,41,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,102,105,110,97,108,95,116,111,107,101,110,115,46,97,112,112,101,110,100,40,116,41,10,32,32,32,32,10,32,32,32,32,114,101,116,117,114,110,32,39,39,46,106,111,105,110,40,102,105,110,97,108,95,116,111,107,101,110,115,41,10,10,115,116,114,46,102,111,114,109,97,116,32,61,32,95,95,102,111,114,109,97,116,95,115,116,114,105,110,103,10,100,101,108,32,95,95,102,111,114,109,97,116,95,115,116,114,105,110,103,10,10,10,100,101,102,32,104,101,108,112,40,111,98,106,41,58,10,32,32,32,32,105,102,32,104,97,115,97,116,116,114,40,111,98,106,44,32,39,95,95,102,117,110,99,95,95,39,41,58,10,32,32,32,32,32,32,32,32,111,98,106,32,61,32,111,98,106,46,95,95,102,117,110,99,95,95,10,32,32,32,32,112,114,105,110,116,40,111,98,106,46,95,95,115,105,103,110,97,116,117,114,101,95,95,41,10,32,32,32,32,112,114,105,110,116,40,111,98,106,46,95,95,100,111,99,95,95,41,10,10,100,101,102,32,99,111,109,112,108,101,120,40,42,97,114,103,115,44,32,42,42,107,119,97,114,103,115,41,58,10,32,32,32,32,105,109,112,111,114,116,32,99,109,97,116,104,10,32,32,32,32,114,101,116,117,114,110,32,99,109,97,116,104,46,99,111,109,112,108,101,120,40,42,97,114,103,115,44,32,42,42,107,119,97,114,103,115,41,10,10,100,101,102,32,108,111,110,103,40,42,97,114,103,115,44,32,42,42,107,119,97,114,103,115,41,58,10,32,32,32,32,105,109,112,111,114,116,32,95,108,111,110,103,10,32,32,32,32,114,101,116,117,114,110,32,95,108,111,110,103,46,108,111,110,103,40,42,97,114,103,115,44,32,42,42,107,119,97,114,103,115,41,10,10,10,35,32,98,117,105,108,116,105,110,32,101,120,99,101,112,116,105,111,110,115,10,99,108,97,115,115,32,83,116,97,99,107,79,118,101,114,102,108,111,119,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,73,79,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,84,121,112,101,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,73,110,100,101,120,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,86,97,108,117,101,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,82,117,110,116,105,109,101,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,90,101,114,111,68,105,118,105,115,105,111,110,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,78,97,109,101,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,85,110,98,111,117,110,100,76,111,99,97,108,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,65,116,116,114,105,98,117,116,101,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,73,109,112,111,114,116,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,99,108,97,115,115,32,65,115,115,101,114,116,105,111,110,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,32,112,97,115,115,10,10,99,108,97,115,115,32,75,101,121,69,114,114,111,114,40,69,120,99,101,112,116,105,111,110,41,58,10,32,32,32,32,100,101,102,32,95,95,105,110,105,116,95,95,40,115,101,108,102,44,32,107,101,121,61,46,46,46,41,58,10,32,32,32,32,32,32,32,32,115,101,108,102,46,107,101,121,32,61,32,107,101,121,10,32,32,32,32,32,32,32,32,105,102,32,107,101,121,32,105,115,32,46,46,46,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,117,112,101,114,40,41,46,95,95,105,110,105,116,95,95,40,41,10,32,32,32,32,32,32,32,32,101,108,115,101,58,10,32,32,32,32,32,32,32,32,32,32,32,32,115,117,112,101,114,40,41,46,95,95,105,110,105,116,95,95,40,114,101,112,114,40,107,101,121,41,41,10,10,32,32,32,32,100,101,102,32,95,95,115,116,114,95,95,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,105,102,32,115,101,108,102,46,107,101,121,32,105,115,32,46,46,46,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,39,39,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,115,116,114,40,115,101,108,102,46,107,101,121,41,10,32,32,32,32,10,32,32,32,32,100,101,102,32,95,95,114,101,112,114,95,95,40,115,101,108,102,41,58,10,32,32,32,32,32,32,32,32,105,102,32,115,101,108,102,46,107,101,121,32,105,115,32,46,46,46,58,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,39,75,101,121,69,114,114,111,114,40,41,39,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,102,39,75,101,121,69,114,114,111,114,40,123,115,101,108,102,46,107,101,121,33,114,125,41,39,10,0}; diff --git a/include/pocketpy/cffi.h b/include/pocketpy/cffi.h index 78e94a03..9d9893db 100644 --- a/include/pocketpy/cffi.h +++ b/include/pocketpy/cffi.h @@ -6,13 +6,13 @@ namespace pkpy { #define PY_CLASS(T, mod, name) \ - static Type _type(VM* vm) { return vm->_cxx_typeid_map[&typeid(T)]; } \ + static Type _type(VM* vm) { return vm->_cxx_typeid_map[typeid(T)]; } \ static PyObject* register_class(VM* vm, PyObject* mod, Type base=0) { \ std::string_view mod_name = PK_OBJ_GET(Str, mod->attr("__name__")).sv(); \ if(mod_name != #mod) throw std::runtime_error(_S("register_class() failed: ", mod_name, " != ", #mod).str()); \ PyObject* type = vm->new_type_object(mod, #name, base); \ mod->attr().set(#name, type); \ - vm->_cxx_typeid_map[&typeid(T)] = PK_OBJ_GET(Type, type); \ + vm->_cxx_typeid_map[typeid(T)] = PK_OBJ_GET(Type, type); \ T::_register(vm, mod, type); \ return type; \ } diff --git a/include/pocketpy/common.h b/include/pocketpy/common.h index c1ea3120..89aec77d 100644 --- a/include/pocketpy/common.h +++ b/include/pocketpy/common.h @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #define PK_VERSION "1.4.4" diff --git a/include/pocketpy/vm.h b/include/pocketpy/vm.h index 4edbdb19..ac385630 100644 --- a/include/pocketpy/vm.h +++ b/include/pocketpy/vm.h @@ -123,7 +123,7 @@ public: std::map _cached_codes; // typeid -> Type - std::map _cxx_typeid_map; + std::map _cxx_typeid_map; void (*_ceval_on_step)(VM*, Frame*, Bytecode bc) = nullptr; @@ -436,7 +436,7 @@ public: template Type _find_type_in_cxx_typeid_map(){ - auto it = _cxx_typeid_map.find(&typeid(T)); + auto it = _cxx_typeid_map.find(typeid(T)); if(it == _cxx_typeid_map.end()){ #if __GNUC__ || __clang__ throw std::runtime_error(__PRETTY_FUNCTION__ + std::string(" failed: T not found")); diff --git a/prebuild.py b/prebuild.py index 71c63de0..44bcb833 100644 --- a/prebuild.py +++ b/prebuild.py @@ -23,7 +23,8 @@ def generate_python_sources(): namespace pkpy{ ''' - for key, value in sources.items(): + for key in sorted(sources.keys()): + value = sources[key] header += f' inline const char kPythonLibs_{key}[] = {value};\n' header += '}\n' return header