diff --git a/adler32.json b/adler32.json new file mode 100644 index 000000000..7e5df3188 --- /dev/null +++ b/adler32.json @@ -0,0 +1,586 @@ +{ + "functions": [ + { + "instrs": [ + { + "dest": "size", + "op": "const", + "type": "int", + "value": 512 + }, + { + "args": [ + "size" + ], + "dest": "arr", + "op": "alloc", + "type": { + "ptr": "int" + } + }, + { + "args": [ + "arr", + "size" + ], + "funcs": [ + "fill_array" + ], + "op": "call" + }, + { + "args": [ + "arr", + "size" + ], + "dest": "checksum", + "funcs": [ + "adler32" + ], + "op": "call", + "type": "int" + }, + { + "args": [ + "checksum" + ], + "op": "print" + }, + { + "args": [ + "arr" + ], + "op": "free" + } + ], + "name": "main" + }, + { + "args": [ + { + "name": "r", + "type": "int" + }, + { + "name": "s", + "type": "int" + } + ], + "instrs": [ + { + "args": [ + "r", + "s" + ], + "dest": "x", + "op": "div", + "type": "int" + }, + { + "args": [ + "x", + "s" + ], + "dest": "y", + "op": "mul", + "type": "int" + }, + { + "args": [ + "r", + "y" + ], + "dest": "result", + "op": "sub", + "type": "int" + }, + { + "args": [ + "result" + ], + "op": "ret" + } + ], + "name": "mod", + "type": "int" + }, + { + "args": [ + { + "name": "arr", + "type": { + "ptr": "int" + } + }, + { + "name": "size", + "type": "int" + } + ], + "instrs": [ + { + "dest": "one", + "op": "const", + "type": "int", + "value": 1 + }, + { + "dest": "curr", + "op": "const", + "type": "int", + "value": 0 + }, + { + "args": [ + "arr" + ], + "dest": "loc", + "op": "id", + "type": { + "ptr": "int" + } + }, + { + "label": "loop" + }, + { + "args": [ + "loc", + "curr" + ], + "op": "store" + }, + { + "args": [ + "loc", + "one" + ], + "dest": "loc", + "op": "ptradd", + "type": { + "ptr": "int" + } + }, + { + "args": [ + "curr", + "one" + ], + "dest": "curr", + "op": "add", + "type": "int" + }, + { + "args": [ + "curr", + "size" + ], + "dest": "continue", + "op": "lt", + "type": "bool" + }, + { + "args": [ + "continue" + ], + "labels": [ + "loop", + "exit" + ], + "op": "br" + }, + { + "label": "exit" + }, + { + "op": "nop" + } + ], + "name": "fill_array" + }, + { + "args": [ + { + "name": "x", + "type": "int" + }, + { + "name": "y", + "type": "int" + } + ], + "instrs": [ + { + "dest": "one", + "op": "const", + "type": "int", + "value": 1 + }, + { + "dest": "two", + "op": "const", + "type": "int", + "value": 2 + }, + { + "dest": "val", + "op": "const", + "type": "int", + "value": 1 + }, + { + "dest": "zero", + "op": "const", + "type": "int", + "value": 0 + }, + { + "dest": "result", + "op": "const", + "type": "int", + "value": 0 + }, + { + "label": "loop" + }, + { + "args": [ + "x", + "two" + ], + "dest": "xmod2", + "funcs": [ + "mod" + ], + "op": "call", + "type": "int" + }, + { + "args": [ + "y", + "two" + ], + "dest": "ymod2", + "funcs": [ + "mod" + ], + "op": "call", + "type": "int" + }, + { + "args": [ + "xmod2", + "one" + ], + "dest": "xodd", + "op": "eq", + "type": "bool" + }, + { + "args": [ + "ymod2", + "one" + ], + "dest": "yodd", + "op": "eq", + "type": "bool" + }, + { + "args": [ + "xodd", + "yodd" + ], + "dest": "cond", + "op": "or", + "type": "bool" + }, + { + "args": [ + "cond" + ], + "labels": [ + "true", + "false" + ], + "op": "br" + }, + { + "label": "true" + }, + { + "args": [ + "result", + "val" + ], + "dest": "result", + "op": "add", + "type": "int" + }, + { + "label": "false" + }, + { + "args": [ + "x", + "two" + ], + "dest": "x", + "op": "div", + "type": "int" + }, + { + "args": [ + "y", + "two" + ], + "dest": "y", + "op": "div", + "type": "int" + }, + { + "args": [ + "x", + "zero" + ], + "dest": "xpos", + "op": "gt", + "type": "bool" + }, + { + "args": [ + "y", + "zero" + ], + "dest": "ypos", + "op": "gt", + "type": "bool" + }, + { + "args": [ + "val", + "two" + ], + "dest": "val", + "op": "mul", + "type": "int" + }, + { + "args": [ + "xpos", + "ypos" + ], + "dest": "continue", + "op": "or", + "type": "bool" + }, + { + "args": [ + "continue" + ], + "labels": [ + "loop", + "exit" + ], + "op": "br" + }, + { + "label": "exit" + }, + { + "args": [ + "result" + ], + "op": "ret" + } + ], + "name": "bitwise_or", + "type": "int" + }, + { + "args": [ + { + "name": "arr", + "type": { + "ptr": "int" + } + }, + { + "name": "size", + "type": "int" + } + ], + "instrs": [ + { + "dest": "a", + "op": "const", + "type": "int", + "value": 1 + }, + { + "dest": "b", + "op": "const", + "type": "int", + "value": 0 + }, + { + "dest": "one", + "op": "const", + "type": "int", + "value": 1 + }, + { + "dest": "curr", + "op": "const", + "type": "int", + "value": 0 + }, + { + "args": [ + "arr" + ], + "dest": "loc", + "op": "id", + "type": { + "ptr": "int" + } + }, + { + "dest": "adler", + "op": "const", + "type": "int", + "value": 65521 + }, + { + "dest": "two_raised_to_16", + "op": "const", + "type": "int", + "value": 65536 + }, + { + "label": "loop" + }, + { + "args": [ + "loc" + ], + "dest": "val", + "op": "load", + "type": "int" + }, + { + "args": [ + "a", + "val" + ], + "dest": "a", + "op": "add", + "type": "int" + }, + { + "args": [ + "b", + "a" + ], + "dest": "b", + "op": "add", + "type": "int" + }, + { + "args": [ + "loc", + "one" + ], + "dest": "loc", + "op": "ptradd", + "type": { + "ptr": "int" + } + }, + { + "args": [ + "curr", + "one" + ], + "dest": "curr", + "op": "add", + "type": "int" + }, + { + "args": [ + "curr", + "size" + ], + "dest": "continue", + "op": "lt", + "type": "bool" + }, + { + "args": [ + "continue" + ], + "labels": [ + "loop", + "exit" + ], + "op": "br" + }, + { + "label": "exit" + }, + { + "args": [ + "a", + "adler" + ], + "dest": "a", + "funcs": [ + "mod" + ], + "op": "call", + "type": "int" + }, + { + "args": [ + "b", + "adler" + ], + "dest": "b", + "funcs": [ + "mod" + ], + "op": "call", + "type": "int" + }, + { + "args": [ + "b", + "two_raised_to_16" + ], + "dest": "b", + "op": "mul", + "type": "int" + }, + { + "args": [ + "b", + "a" + ], + "dest": "result", + "funcs": [ + "bitwise_or" + ], + "op": "call", + "type": "int" + }, + { + "args": [ + "result" + ], + "op": "ret" + } + ], + "name": "adler32", + "type": "int" + } + ] +} diff --git a/after_gc.txt b/after_gc.txt new file mode 100644 index 000000000..24281557c --- /dev/null +++ b/after_gc.txt @@ -0,0 +1,9589 @@ +32 +255 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +7 +17 +25 +35 +46 +53 +60 +67 +73 +79 +89 +93 +99 +107 +116 +123 +131 +141 +146 +155 +164 +171 +178 +189 +197 +208 +216 +224 +230 +238 +246 +255 +0 +2 +4 +6 +18 +24 +26 +0 +2 +4 +8 +10 +14 +18 +22 +24 +30 +0 +4 +6 +8 +12 +14 +24 +30 +0 +2 +4 +6 +8 +10 +12 +16 +18 +24 +0 +2 +4 +12 +18 +20 +22 +24 +26 +28 +30 +0 +6 +8 +12 +16 +18 +26 +4 +8 +10 +18 +20 +28 +30 +6 +8 +10 +18 +20 +24 +30 +2 +8 +16 +22 +26 +28 +0 +8 +14 +22 +26 +30 +2 +6 +8 +10 +14 +16 +20 +24 +28 +30 +6 +20 +24 +28 +6 +10 +14 +18 +28 +30 +0 +4 +8 +10 +12 +18 +22 +28 +0 +2 +4 +6 +8 +18 +22 +24 +28 +0 +6 +12 +16 +22 +28 +30 +0 +2 +12 +14 +16 +20 +22 +28 +0 +2 +4 +6 +12 +14 +16 +22 +28 +30 +8 +12 +24 +28 +30 +2 +4 +6 +10 +12 +14 +18 +26 +28 +0 +2 +4 +8 +12 +16 +22 +24 +30 +2 +8 +10 +14 +18 +22 +26 +8 +12 +14 +20 +22 +28 +30 +0 +2 +4 +6 +8 +10 +12 +20 +24 +28 +30 +0 +2 +6 +12 +14 +16 +18 +24 +0 +4 +6 +8 +10 +14 +20 +22 +24 +26 +30 +0 +4 +8 +12 +16 +20 +26 +30 +0 +6 +12 +18 +20 +22 +26 +28 +0 +6 +8 +10 +12 +14 +0 +6 +10 +12 +16 +22 +26 +30 +0 +2 +4 +8 +10 +12 +14 +22 +2 +4 +6 +12 +16 +18 +20 +28 +30 +freeing 0 +freeing 1 +freeing 2 +freeing 3 +Reference graph at program exit: +Map(0) {} +1794899728 +freeing 0 +Reference graph at program exit: +Map(0) {} +3 +freeing 0 +Reference graph at program exit: +Map(0) {} +1 +3 +7 +9 +10 +freeing 0 +Reference graph at program exit: +Map(0) {} +freeing 3 +0 +5 +10 +15 +20 +25 +30 +35 +40 +45 +50 +55 +60 +65 +70 +75 +80 +85 +90 +95 +100 +105 +110 +115 +120 +125 +130 +135 +140 +145 +150 +155 +160 +165 +170 +175 +180 +185 +190 +195 +200 +205 +210 +215 +220 +225 +230 +235 +240 +245 +250 +0 +10 +20 +30 +40 +1 +11 +21 +31 +41 +2 +12 +22 +32 +42 +3 +13 +23 +33 +43 +4 +14 +24 +34 +44 +5 +15 +25 +35 +45 +6 +16 +26 +36 +46 +7 +17 +27 +37 +47 +8 +18 +28 +38 +48 +9 +19 +29 +39 +49 +10 +20 +30 +40 +0 +11 +21 +31 +41 +1 +12 +22 +32 +42 +2 +13 +23 +33 +43 +3 +14 +24 +34 +44 +4 +15 +25 +35 +45 +5 +16 +26 +36 +46 +6 +17 +27 +37 +47 +7 +18 +28 +38 +48 +8 +19 +29 +39 +49 +9 +20 +30 +40 +0 +10 +21 +31 +41 +1 +11 +22 +32 +42 +2 +12 +23 +33 +43 +3 +13 +24 +34 +44 +4 +14 +25 +35 +45 +5 +15 +26 +36 +46 +6 +16 +27 +37 +47 +7 +17 +28 +38 +48 +8 +18 +29 +39 +49 +9 +19 +30 +40 +0 +10 +20 +31 +41 +1 +11 +21 +32 +42 +2 +12 +22 +33 +43 +3 +13 +23 +34 +44 +4 +14 +24 +35 +45 +5 +15 +25 +36 +46 +6 +16 +26 +37 +47 +7 +17 +27 +38 +48 +8 +18 +28 +39 +49 +9 +19 +29 +40 +0 +10 +20 +30 +41 +1 +11 +21 +31 +42 +2 +12 +22 +32 +43 +3 +13 +23 +33 +44 +4 +14 +24 +34 +45 +5 +15 +25 +35 +46 +6 +16 +26 +36 +47 +7 +17 +27 +37 +48 +8 +18 +28 +38 +49 +9 +19 +29 +39 +5 +0 +1 +2 +5 +0 +1 +3 +6 +2 +5 +0 +1 +3 +6 +2 +4 +8 +6 +3 +7 +5 +0 +1 +3 +6 +3 +7 +5 +1 +3 +7 +5 +0 +0 +1 +-3 +0 +0 +0 +-5 +6 +3 +0 +0 +7 +-1 +5 +0 +0 +-6 +5 +-6 +5 +-6 +-1 +-1 +5 +-5 +7 +4 +-8 +0 +-6 +5 +-6 +5 +-6 +5 +-6 +-2 +3 +7 +-1 +4 +-7 +-4 +8 +6 +3 +6 +2 +-1 +-1 +-1 +5 +-6 +-1 +4 +-8 +-6 +-1 +-1 +-1 +-2 +-3 +1 +3 +0 +0 +6 +2 +4 +-7 +2 +-2 +2 +5 +-5 +-9 +-7 +2 +4 +9 +-7 +3 +0 +7 +-1 +-1 +-2 +-4 +-7 +2 +5 +1 +2 +-1 +4 +-7 +3 +-9 +9 +8 +-9 +-7 +-3 +0 +-5 +6 +3 +7 +-1 +4 +8 +0 +0 +-9 +-7 +3 +-9 +8 +7 +5 +-6 +-1 +-2 +2 +-1 +-2 +-3 +0 +1 +2 +4 +9 +-8 +0 +1 +2 +-1 +-2 +-3 +-5 +6 +2 +-1 +-1 +-2 +2 +-2 +-4 +-7 +3 +6 +-3 +1 +-3 +-6 +4 +-8 +0 +-5 +-9 +-8 +-5 +7 +-1 +-2 +-3 +1 +-4 +8 +-9 +-8 +-5 +7 +5 +0 +1 +-3 +-5 +-9 +-8 +1 +-4 +-7 +3 +0 +6 +3 +-9 +9 +-7 +2 +-2 +2 +4 +-7 +3 +7 +-1 +4 +-8 +1 +-3 +-6 +5 +0 +-5 +0 +7 +4 +9 +8 +-9 +-7 +2 +-2 +-3 +freeing 5 +3 +7 +5 +1 +2 +4 +8 +6 +3 +6 +3 +6 +3 +6 +2 +5 +0 +1 +2 +5 +0 +0 +0 +1 +2 +4 +9 +9 +8 +7 +5 +0 +0 +1 +2 +5 +-5 +7 +-2 +3 +6 +3 +0 +0 +-9 +8 +-9 +9 +-8 +-6 +55 +12 +25 +40 +-1 +100 +69 +3 +21 +72 +-36 +28 +37 +-43 +33 +49 +24 +-68 +-16 +1 +19 +-74 +24 +-4 +65 +-13 +55 +-108 +46 +27 +39 +2 +11 +17 +12 +-4 +44 +0 +-81 +-94 +-22 +64 +-52 +17 +-37 +-1 +-148 +-93 +85 +-1 +freeing 0 +freeing 1 +freeing 2 +freeing 4 +freeing 6 +Reference graph at program exit: +Map(0) {} +92 +freeing 0 +Reference graph at program exit: +Map(0) {} +34 +freeing 0 +Reference graph at program exit: +Map(0) {} +3 +freeing 0 +Reference graph at program exit: +Map(0) {} +493 +-964 +599 +-666 +-375 +-280 +-413 +866 +941 +44 +415 +862 +449 +632 +395 +266 +277 +-92 +967 +406 +-183 +-216 +339 +818 +845 +908 +-329 +-866 +-663 +520 +-605 +722 +-987 +-516 +127 +-602 +-303 +-408 +-685 +778 +149 +-188 +111 +526 +505 +-464 +299 +-6 +-499 +-68 +447 +150 +-343 +-288 +-701 +-894 +709 +-612 +-49 +238 +-111 +-472 +-277 +610 +-931 +740 +-833 +-970 +209 +-464 +739 +10 +141 +700 +-121 +-154 +-631 +-24 +499 +410 +757 +-268 +-569 +-90 +-903 +712 +-813 +690 +-195 +-428 +231 +-914 +561 +-416 +939 +346 +965 +-348 +983 +-186 +-815 +48 +995 +-622 +725 +380 +783 +998 +865 +-304 +291 +778 +877 +820 +-425 +-106 +-239 +-432 +219 +770 +-259 +-60 +191 +-946 +-783 +-168 +-125 +-918 +549 +396 +-737 +70 +73 +696 +-21 +-934 +-227 +780 +71 +-474 +-559 +648 +403 +-478 +653 +148 +-617 +766 +441 +-200 +-885 +50 +-891 +916 +-585 +894 +945 +40 +923 +386 +-291 +404 +487 +86 +121 +-864 +-181 +-574 +-731 +-244 +-929 +998 +385 +928 +779 +-590 +-307 +-404 +327 +630 +-815 +-296 +651 +442 +-43 +-748 +279 +998 +401 +800 +107 +-62 +621 +-596 +559 +654 +-887 +-528 +171 +-742 +-507 +676 +135 +710 +73 +-272 +-533 +-974 +-307 +-948 +-417 +-522 +-439 +-72 +-485 +-398 +621 +-668 +-265 +-290 +865 +-152 +-613 +-678 +-635 +-692 +-385 +46 +641 +-744 +507 +-846 +101 +-500 +47 +222 +-935 +-144 +443 +-182 +861 +-620 +199 +-314 +-119 +-712 +531 +474 +997 +-612 +63 +-546 +-55 +176 +-181 +-582 +285 +-284 +183 +766 +-159 +-264 +-805 +794 +493 +332 +847 +814 +289 +368 +-797 +530 +885 +820 +439 +-682 +665 +248 +-557 +-734 +-523 +820 +55 +566 +-503 +-328 +891 +-110 +-435 +484 +495 +-354 +249 +336 +947 +618 +453 +564 +903 +902 +49 +544 +-373 +-38 +-515 +716 +407 +-962 +-815 +-296 +-997 +-790 +-547 +116 +-833 +-122 +689 +-704 +803 +738 +-795 +-684 +-73 +-34 +689 +824 +531 +10 +-515 +-444 +495 +-818 +273 +-648 +-573 +-766 +-707 +-388 +623 +-418 +1 +-416 +459 +-182 +989 +252 +-89 +-434 +-527 +8 +-453 +-422 +429 +980 +-785 +486 +281 +-632 +-341 +674 +-955 +-284 +-449 +-74 +521 +8 +-725 +634 +477 +-12 +-617 +-602 +641 +-432 +-301 +-294 +213 +-436 +-529 +974 +-775 +-80 +-597 +-958 +-843 +-324 +55 +-626 +601 +-128 +107 +-198 +-811 +308 +-169 +-402 +-231 +-224 +979 +186 +-155 +804 +-337 +-994 +649 +-96 +-589 +722 +189 +636 +-913 +14 +49 +568 +299 +378 +53 +308 +-993 +510 +281 +-48 +643 +962 +-355 +-340 +-577 +-754 +761 +920 +-749 +-606 +253 +996 +151 +742 +209 +656 +-221 +-510 +541 +-716 +-369 +-370 +-375 +-520 +83 +-734 +397 +188 +279 +758 +537 +-496 +243 +754 +-603 +-844 +247 +934 +-703 +-848 +-765 +-230 +125 +-692 +543 +910 +-295 +800 +-461 +754 +29 +644 +-641 +-346 +-255 +-768 +659 +-422 +781 +-884 +-897 +46 +481 +536 +-229 +554 +445 +948 +903 +638 +-695 +104 +-773 +-366 +-915 +484 +527 +-306 +-615 +-376 +-869 +-46 +717 +676 +-457 +-426 +-943 +208 +-149 +-798 +125 +-676 +519 +286 +-543 +-32 +107 +-566 +-115 +420 +807 +-882 +-495 +952 +371 +914 +-363 +-12 +-905 +350 +89 +-304 +-349 +850 +-843 +300 +807 +438 +993 +40 +379 +498 +-947 +84 +-625 +766 +129 +-992 +427 +-390 +-83 +-196 +-609 +-466 +17 +224 +-765 +874 +-443 +-268 +511 +-274 +-639 +544 +771 +66 +381 +-148 +847 +390 +625 +-944 +875 +690 +-915 +-980 +-825 +-842 +-439 +-848 +739 +-310 +-731 +20 +-1 +574 +-255 +-464 +-357 +938 +-923 +-68 +-889 +838 +-223 +-128 +587 +714 +-803 +-948 +103 +750 +329 +-680 +-269 +674 +693 +644 +-641 +-722 +329 +-176 +-677 +354 +453 +-484 +-1 +-394 +329 +-16 +355 +970 +157 +-60 +95 +526 +257 +-672 +747 +-158 +629 +788 +95 +286 +1 +-256 +-453 +-366 +-235 +-804 +903 +998 +161 +264 +803 +-382 +-939 +-988 +407 +-978 +721 +400 +635 +-846 +365 +-644 +-217 +230 +-95 +344 +723 +-942 +509 +196 +183 +566 +-39 +568 +603 +890 +773 +-484 +943 +534 +417 +-976 +155 +-222 +613 +-940 +663 +-978 +-735 +-232 +251 +202 +-627 +-4 +-609 +-658 +577 +-752 +147 +946 +933 +52 +207 +-410 +809 +-240 +771 +-166 +325 +-468 +967 +-650 +721 +-632 +907 +-686 +509 +-52 +607 +-506 +-823 +-816 +555 +226 +-347 +-956 +551 +-506 +-391 +720 +667 +-902 +893 +996 +927 +-746 +-807 +936 +-205 +2 +-771 +316 +-185 +-90 +-279 +-968 +307 +-462 +-531 +-804 +-425 +-546 +225 +856 +91 +250 +-235 +92 +983 +-546 +393 +0 +51 +-382 +597 +-716 +-1 +566 +305 +768 +387 +-950 +845 +220 +-721 +-794 +-695 +232 +-253 +-302 +-707 +-756 +-273 +462 +337 +-848 +-845 +-366 +-131 +988 +463 +798 +929 +-96 +187 +-94 +517 +-628 +439 +502 +825 +-184 +-245 +-606 +613 +956 +695 +-434 +577 +904 +683 +674 +709 +292 +-817 +-466 +561 +-480 +-149 +298 +-763 +-116 +-425 +-370 +161 +24 +-509 +-462 +349 +436 +-33 +678 +873 +-752 +-213 +850 +-139 +-836 +-329 +-106 +849 +-56 +723 +346 +693 +-540 +-329 +998 +457 +-752 +883 +170 +-539 +-468 +-617 +-266 +537 +-64 +611 +890 +13 +660 +-913 +382 +561 +840 +-549 +2 +885 +484 +-481 +-898 +-423 +272 +267 +-726 +157 +-436 +983 +-746 +905 +656 +499 +962 +437 +-628 +-457 +-634 +889 +-920 +-893 +50 +813 +772 +143 +-298 +-439 +168 +227 +658 +533 +-36 +423 +686 +-807 +432 +-557 +986 +-355 +-316 +-273 +38 +561 +624 +-613 +-454 +645 +-444 +-41 +-330 +-311 +-472 +955 +66 +-203 +-588 +-545 +326 +-391 +360 +-405 +914 +-571 +-252 +-345 +62 +-183 +136 +-341 +706 +-171 +412 +-25 +374 +41 +56 +-589 +442 +-707 +732 +-777 +-834 +-655 +-792 +-221 +170 +-603 +-628 +-385 +534 +-407 +328 +307 +-726 +701 +852 +831 +-82 +177 +688 +323 +-62 +-451 +108 +-537 +654 +193 +616 +459 +530 +-523 +-892 +287 +-354 +-95 +-864 +-189 +306 +-883 +-300 +-633 +110 +-207 +-976 +-221 +-342 +389 +-652 +-961 +886 +-247 +856 +-349 +-606 +-35 +460 +-721 +934 +-311 +744 +-245 +-910 +397 +964 +607 +-138 +-167 +-176 +-733 +322 +437 +-636 +583 +-554 +-327 +144 +827 +154 +-27 +68 +999 +926 +-623 +744 +419 +626 +-659 +148 +943 +958 +673 +-368 +-349 +786 +-291 +-836 +-169 +118 +1 +-864 +-669 +842 +389 +-692 +167 +-746 +265 +768 +-693 +-622 +237 +252 +847 +22 +-439 +960 +91 +-342 +-739 +-124 +951 +206 +-423 +-240 +-389 +-486 +277 +-700 +175 +-434 +385 +-432 +171 +738 +101 +228 +303 +-154 +761 +160 +-405 +-894 +981 +-4 +79 +590 +529 +-280 +387 +-558 +-995 +316 +-609 +46 +49 +-576 +-485 +186 +189 +-412 +-25 +118 +-591 +944 +-117 +-406 +-739 +396 +103 +614 +-87 +944 +-589 +954 +-3 +-860 +-449 +518 +913 +120 +-149 +506 +-395 +-732 +119 +-90 +-39 +888 +91 +570 +109 +148 +-705 +318 +993 +-648 +931 +-790 +237 +388 +503 +-170 +361 +-88 +299 +-886 +677 +-412 +799 +-746 +-63 +-744 +611 +802 +533 +948 +-737 +574 +-255 +744 +483 +-182 +-827 +252 +-225 +-298 +129 +552 +363 +314 +213 +-668 +-65 +-482 +-39 +-392 +99 +786 +45 +-436 +-489 +-378 +-551 +-24 +547 +-446 +757 +868 +247 +870 +-255 +896 +-589 +-862 +597 +-44 +-305 +710 +-343 +-368 +739 +442 +853 +372 +-97 +-290 +-311 +-232 +-981 +-606 +-147 +-108 +-313 +-874 +257 +-456 +-133 +-254 +-75 +-780 +-9 +374 +-191 +-432 +-373 +-966 +-419 +356 +-225 +374 +-495 +568 +-885 +-414 +13 +-348 +-729 +-410 +-543 +472 +291 +-102 +197 +684 +-513 +-114 +33 +-968 +-693 +642 +-707 +348 +319 +-442 +-79 +-192 +307 +-374 +421 +76 +911 +-794 +289 +-248 +-101 +-742 +357 +-204 +-353 +766 +-151 +120 +427 +266 +-331 +-572 +-137 +-626 +545 +744 +715 +-366 +-339 +44 +791 +326 +-391 +328 +987 +-182 +-955 +-156 +23 +334 +-247 +-888 +-709 +610 +-979 +-404 +223 +-66 +-735 +-912 +-629 +954 +-915 +884 +247 +-498 +-943 +-64 +-901 +242 +-483 +-700 +-785 +14 +-983 +-624 +123 +-78 +-275 +-388 +-881 +342 +249 +-800 +723 +122 +-259 +572 +-97 +-458 +-543 +928 +-93 +474 +-715 +356 +-1 +478 +-943 +376 +-725 +-270 +-875 +884 +-673 +-666 +721 +-720 +-493 +-182 +149 +988 +-937 +-178 +753 +560 +411 +906 +501 +-572 +-553 +6 +97 +-656 +995 +-430 +165 +988 +311 +-234 +-663 +-672 +-861 +370 +701 +-620 +-905 +438 +-71 +-720 +-661 +-150 +-107 +-636 +783 +534 +761 +968 +971 +-574 +677 +876 +935 +550 +113 +832 +771 +762 +-283 +-724 +439 +622 +-783 +656 +539 +-334 +437 +292 +783 +182 +297 +656 +-93 +978 +525 +636 +399 +286 +-999 +-232 +491 +770 +101 +236 +-625 +406 +617 +600 +971 +-782 +-419 +580 +951 +-354 +-695 +-616 +-981 +-54 +173 +-132 +511 +534 +665 +-232 +107 +-958 +461 +220 +287 +-802 +-191 +856 +355 +-286 +-779 +-4 +311 +894 +9 +88 +-885 +834 +733 +940 +-825 +-250 +-783 +968 +163 +-118 +765 +-388 +-329 +-66 +-375 +-984 +979 +26 +701 +372 +-25 +-754 +-87 +-888 +459 +898 +-571 +-324 +927 +110 +-919 +-952 +771 +-198 +-595 +988 +887 +-954 +49 +-224 +251 +66 +-963 +420 +-849 +-74 +-775 +-848 +675 +474 +501 +588 +-433 +-522 +601 +408 +211 +-454 +141 +-748 +335 +-602 +-239 +664 +643 +290 +-523 +132 +-145 +-810 +905 +-784 +-205 +482 +957 +628 +-489 +958 +-895 +-864 +915 +-630 +149 +-284 +-377 +318 +-111 +-960 +299 +266 +765 +316 +543 +-130 +49 +-736 +675 +-294 +797 +-444 +-289 +918 +769 +792 +883 +722 +965 +332 +-817 +894 +-79 +-408 +155 +354 +485 +-324 +599 +542 +105 +-736 +835 +-198 +261 +-44 +-73 +710 +905 +504 +851 +602 +565 +-916 +-817 +198 +-567 +-816 +787 +-246 +-915 +-372 +-97 +438 +889 +280 +-229 +818 +621 +-668 +-225 +94 +-87 +-464 +267 +738 +125 +836 +751 +182 +-143 +-944 +-357 +-398 +-235 +-764 +-185 +262 +145 +-968 +-661 +-910 +685 +932 +-609 +-98 +-351 +-864 +835 +-390 +749 +-748 +927 +854 +873 +-920 +-893 +186 +213 +940 +-929 +638 +593 +-984 +555 +-998 +-835 +-132 +7 +-434 +-623 +0 +667 +538 +-939 +628 +-305 +-554 +-471 +-800 +155 +26 +741 +-68 +-945 +-410 +-711 +216 +-45 +242 +925 +-988 +871 +46 +841 +376 +131 +202 +-227 +564 +-137 +254 +121 +-864 +611 +-206 +5 +-860 +-89 +222 +569 +208 +-501 +42 +277 +-684 +-649 +142 +529 +896 +-909 +202 +669 +532 +-321 +-826 +-23 +-808 +339 +130 +-955 +644 +-113 +-10 +-879 +-864 +-541 +890 +981 +140 +-433 +902 +537 +232 +-541 +450 +13 +748 +535 +294 +601 +872 +51 +-606 +965 +116 +351 +-802 +857 +56 +-645 +-886 +237 +-12 +-545 +-834 +-679 +-160 +-757 +-350 +-995 +220 +-713 +-178 +985 +352 +-405 +-982 +589 +-468 +31 +-282 +-47 +448 +-949 +-46 +517 +-588 +-601 +-626 +449 +-416 +507 +2 +261 +-308 +919 +-490 +-599 +-176 +-613 +58 +-995 +68 +-409 +262 +-575 +472 +123 +-630 +-851 +516 +751 +478 +713 +552 +-357 +-310 +-795 +796 +-577 +790 +241 +-544 +307 +106 +589 +44 +767 +-458 +-559 +408 +99 +-54 +701 +-892 +191 +286 +73 +-984 +227 +-238 +165 +-148 +-273 +-946 +-247 +736 +-933 +482 +-923 +-492 +743 +-442 +297 +-280 +-173 +546 +-963 +204 +-649 +-794 +169 +448 +619 +-590 +-411 +-540 +175 +-322 +561 +168 +883 +-734 +653 +-444 +-89 +478 +-191 +744 +803 +770 +-987 +300 +15 +206 +873 +464 +-181 +-206 +-715 +-516 +359 +-178 +-943 +264 +-293 +-270 +285 +-980 +247 +782 +713 +904 +747 +754 +597 +-68 +-209 +150 +-879 +72 +-309 +-734 +-427 +-692 +-993 +142 +-199 +-688 +-877 +-350 +245 +460 +-641 +558 +-719 +944 +707 +178 +509 +-580 +-705 +-114 +-711 +752 +115 +514 +-395 +-324 +863 +-74 +313 +-840 +939 +-998 +269 +716 +239 +-778 +-439 +256 +843 +170 +885 +-628 +799 +-842 +-31 +-464 +-645 +-142 +773 +108 +-673 +966 +921 +248 +979 +-494 +-251 +180 +639 +502 +697 +40 +203 +482 +709 +-260 +-401 +822 +-223 +-528 +659 +962 +429 +-460 +-697 +-466 +281 +832 +-781 +402 +453 +-156 +15 +918 +673 +-560 +907 +-190 +-211 +-540 +415 +830 +-335 +-128 +427 +322 +-931 +-692 +535 +-914 +-631 +-64 +-501 +930 +-827 +-836 +-641 +-354 +681 +888 +387 +-78 +-459 +620 +15 +838 +9 +392 +-797 +-966 +-763 +436 +-49 +294 +-967 +88 +659 +586 +501 +-596 +351 +-642 +161 +840 +563 +-670 +269 +-172 +-105 +902 +-863 +632 +-837 +-62 +557 +380 +-169 +630 +353 +744 +-733 +-966 +149 +-316 +599 +790 +881 +800 +507 +866 +621 +-764 +-201 +-770 +425 +496 +-909 +-542 +125 +-364 +-937 +-122 +-519 +-792 +99 +250 +-667 +-28 +735 +478 +1 +-984 +331 +498 +-115 +-308 +999 +478 +-935 +-88 +99 +554 +117 +500 +615 +-194 +913 +504 +691 +618 +-819 +-540 +-905 +54 +353 +-432 +-957 +322 +77 +772 +-545 +926 +993 +248 +-949 +98 +61 +276 +-745 +-314 +-311 +-72 +59 +-142 +-219 +-276 +263 +-794 +545 +-368 +43 +-398 +421 +132 +-569 +-186 +-567 +328 +579 +-710 +-531 +268 +39 +134 +809 +800 +939 +2 +597 +-588 +519 +-298 +-623 +376 +267 +-614 +-899 +108 +-257 +662 +-823 +456 +755 +410 +205 +-876 +263 +926 +657 +624 +923 +-982 +-683 +180 +487 +-258 +-663 +-960 +219 +-46 +301 +-500 +-657 +-122 +321 +584 +731 +130 +213 +44 +-49 +-898 +649 +592 +435 +834 +-947 +948 +415 +-650 +-711 +760 +-37 +466 +525 +860 +-217 +-370 +-23 +-680 +-197 +-534 +453 +-668 +119 +-754 +249 +-464 +523 +82 +821 +-308 +575 +390 +-207 +464 +-389 +-126 +277 +772 +447 +838 +-119 +-984 +-501 +730 +-811 +164 +-345 +222 +425 +-312 +531 +514 +-291 +-884 +887 +662 +449 +-512 +451 +434 +941 +-956 +167 +-538 +-879 +-616 +763 +-270 +-523 +156 +567 +518 +-911 +464 +259 +-358 +-787 +476 +119 +782 +497 +-648 +-525 +-902 +189 +-580 +415 +-658 +-719 +856 +859 +-806 +-539 +52 +311 +582 +913 +-392 +-69 +730 +-275 +-436 +-857 +-570 +-183 +760 +19 +-926 +-123 +-948 +935 +-562 +321 +-88 +-717 +-854 +109 +956 +615 +390 +273 +-296 +507 +978 +869 +740 +-313 +686 +489 +-392 +147 +610 +-355 +972 +583 +382 +-663 +784 +683 +962 +13 +-644 +687 +-82 +633 +-592 +-69 +34 +373 +-716 +-545 +-498 +425 +-656 +171 +34 +45 +-716 +-705 +126 +873 +-272 +259 +-54 +-787 +780 +-121 +-546 +-415 +-744 +563 +-438 +413 +-812 +-345 +-170 +345 +-240 +-605 +922 +85 +-148 +543 +286 +-967 +-800 +-269 +-30 +-747 +-796 +199 +374 +897 +-728 +235 +-526 +389 +724 +111 +-434 +-943 +672 +-565 +-670 +725 +396 +215 +462 +-343 +-912 +787 +794 +525 +-820 +839 +758 +-343 +656 +571 +-726 +101 +244 +-193 +382 +-647 +384 +699 +186 +941 +812 +-913 +446 +-839 +808 +-773 +-118 +325 +36 +503 +-778 +345 +-392 +259 +-246 +165 +348 +911 +-794 +865 +664 +907 +-798 +-355 +548 +823 +958 +49 +-920 +611 +626 +221 +-580 +95 +446 +201 +-424 +-45 +546 +-443 +772 +-961 +-122 +-999 +224 +963 +778 +-35 +-908 +-433 +350 +273 +592 +-981 +170 +-891 +-724 +-9 +-634 +233 +-368 +-141 +242 +605 +-188 +951 +158 +569 +224 +-397 +-38 +165 +788 +-977 +-250 +41 +40 +435 +970 +549 +-916 +-153 +470 +953 +640 +-653 +-358 +-27 +-236 +319 +-594 +-23 +792 +403 +-374 +-51 +44 +-217 +-210 +97 +-8 +843 +146 +813 +-372 +-905 +-418 +-271 +688 +-493 +-102 +885 +724 +-297 +-18 +-735 +-376 +963 +-886 +-323 +-28 +-777 +-778 +585 +-816 +867 +-782 +861 +852 +295 +-442 +-39 +696 +827 +-142 +-171 +-300 +607 +46 +937 +832 +731 +-878 +-283 +-132 +255 +-330 +401 +608 +219 +-342 +189 +-652 +87 +182 +-311 +936 +83 +866 +149 +-420 +743 +526 +-159 +-632 +-277 +242 +469 +932 +703 +838 +-703 +-264 +-69 +618 +-347 +908 +239 +118 +-679 +560 +331 +-406 +-555 +-460 +-289 +454 +-863 +-640 +-165 +162 +-667 +92 +103 +526 +633 +976 +291 +-478 +133 +28 +-713 +590 +337 +-808 +355 +-422 +389 +948 +-129 +78 +-7 +544 +171 +562 +-979 +-532 +551 +30 +-47 +776 +307 +-430 +-731 +852 +327 +710 +353 +984 +739 +-406 +157 +404 +15 +126 +-927 +112 +115 +10 +-603 +612 +-753 +-994 +-911 +-96 +-189 +-366 +-755 +644 +-433 +-586 +745 +-520 +355 +-606 +-283 +-484 +-297 +-2 +529 +-288 +-293 +642 +-475 +-492 +119 +878 +-71 +-336 +603 +-30 +589 +884 +39 +534 +425 +-640 +-293 +226 +197 +700 +423 +166 +305 +-616 +107 +-334 +205 +-60 +-393 +-626 +-87 +-96 +563 +-126 +5 +540 +-1 +550 +-951 +600 +283 +434 +-955 +20 +-809 +-762 +-679 +-248 +451 +-758 +301 +380 +-985 +734 +-527 +-168 +-645 +-662 +-195 +676 +-41 +-450 +961 +824 +-885 +-166 +829 +-164 +-729 +70 +-279 +792 +371 +-510 +-99 +52 +-809 +150 +113 +352 +-53 +-390 +965 +-884 +383 +-578 +-559 +-752 +59 +426 +-763 +-996 +383 +-618 +385 +-944 +187 +658 +-611 +-444 +-785 +630 +-967 +16 +-829 +-486 +645 +836 +503 +726 +681 +-176 +739 +50 +-219 +-556 +855 +614 +-455 +736 +-45 +-70 +293 +-20 +535 +902 +-687 +328 +307 +-318 +381 +-524 +-577 +-450 +-919 +352 +859 +-710 +389 +532 +-705 +-162 +-591 +64 +-445 +986 +-979 +940 +-921 +-546 +865 +-952 +147 +-486 +245 +-4 +359 +670 +177 +952 +-181 +490 +661 +772 +-745 +350 +721 +304 +19 +242 +949 +-276 +-649 +406 +313 +-248 +-877 +154 +-803 +-252 +-1 +270 +-215 +-784 +931 +-534 +-243 +-740 +-273 +-762 +529 +944 +915 +-990 +509 +220 +-849 +838 +-375 +624 +-653 +-174 +-251 +628 +911 +-594 +953 +-936 +795 +-78 +477 +92 +71 +182 +361 +248 +259 +-302 +-91 +-404 +-305 +-474 +857 +504 +131 +-894 +-611 +-396 +783 +966 +-63 +-952 +-461 +-686 +157 +628 +663 +-866 +257 +-936 +355 +114 +-899 +12 +887 +-578 +337 +984 +683 +-70 +757 +732 +895 +222 +-167 +528 +411 +-686 +525 +-364 +-593 +-50 +865 +640 +603 +210 +741 +804 +127 +-618 +97 +-272 +347 +-918 +717 +-796 +-713 +142 +625 +544 +-621 +698 +317 +-844 +103 +966 +-63 +-88 +483 +762 +941 +524 +-353 +694 +-439 +800 +355 +-534 +-891 +-804 +-961 +278 +1 +-512 +-157 +370 +469 +364 +-617 +-178 +649 +160 +-445 +-422 +-419 +52 +535 +-850 +137 +-144 +147 +546 +-683 +236 +823 +446 +-447 +816 +-261 +-366 +-299 +-876 +-561 +-530 +-199 +440 +131 +-150 +597 +644 +447 +-938 +689 +-184 +-277 +-334 +149 +-36 +-769 +502 +-711 +-128 +-221 +-710 +-883 +724 +-129 +222 +-495 +-672 +-509 +482 +701 +740 +727 +-522 +-991 +232 +507 +322 +661 +-460 +-449 +-210 +273 +960 +-117 +874 +269 +-244 +943 +-458 +465 +-88 +467 +-278 +-83 +-28 +239 +934 +497 +528 +-869 +578 +-947 +172 +-889 +670 +-335 +-952 +75 +-758 +533 +708 +-993 +918 +601 +-224 +635 +482 +-11 +580 +615 +-154 +257 +-456 +-293 +2 +405 +-780 +-153 +726 +-903 +-448 +731 +18 +157 +708 +895 +-186 +-871 +24 +587 +-614 +-147 +-908 +159 +318 +81 +-8 +-13 +-814 +-283 +52 +895 +-722 +441 +688 +43 +906 +861 +420 +303 +478 +49 +72 +-957 +378 +333 +-676 +727 +-562 +281 +-48 +611 +762 +845 +-372 +-121 +966 +145 +-248 +-541 +34 +-915 +-540 +863 +502 +-599 +24 +-701 +730 +221 +276 +279 +-10 +537 +400 +91 +434 +-947 +628 +-65 +862 +-799 +720 +107 +-598 +-427 +-892 +535 +998 +-791 +680 +-485 +234 +717 +652 +-265 +-386 +881 +-416 +315 +834 +-915 +916 +703 +-74 +-407 +568 +-749 +-238 +533 +-196 +-745 +102 +-63 +-672 +459 +-606 +141 +308 +-705 +-594 +-431 +-368 +571 +-750 +-603 +-852 +-161 +742 +-815 +984 +435 +-846 +-347 +60 +391 +-186 +-607 +-392 +-741 +10 +-523 +532 +655 +-370 +793 +232 +-397 +-606 +-691 +620 +23 +798 +817 +-768 +-517 +-446 +-643 +-796 +975 +894 +705 +376 +-189 +10 +109 +100 +-249 +-194 +513 +248 +-165 +898 +-955 +348 +-857 +382 +-487 +200 +139 +-654 +-43 +476 +-673 +-322 +-87 +-432 +427 +-174 +-627 +-644 +143 +-290 +489 +-840 +171 +-302 +-507 +300 +-81 +774 +-679 +712 +-77 +794 +917 +636 +-585 +126 +481 +248 +-925 +-758 +-411 +-628 +791 +566 +-199 +672 +915 +274 +-235 +-332 +-161 +-698 +921 +728 +-429 +-158 +-171 +-372 +567 +950 +233 +-968 +667 +-454 +-699 +684 +-225 +822 +-111 +648 +395 +122 +781 +-628 +295 +830 +-903 +-656 +-77 +434 +949 +172 +127 +-682 +-343 +912 +-149 +-374 +749 +236 +799 +710 +-391 +928 +-645 +146 +717 +748 +-169 +-874 +569 +-824 +-365 +-822 +-771 +836 +367 +574 +129 +512 +899 +186 +461 +-420 +-281 +-506 +113 +-824 +203 +-182 +245 +-828 +775 +406 +105 +144 +-221 +-102 +109 +772 +991 +-394 +-703 +-416 +3 +2 +-851 +100 +-913 +-418 +297 +344 +267 +-190 +-971 +716 +-737 +838 +521 +200 +-333 +-46 +-555 +-580 +399 +30 +-399 +504 +-309 +-398 +509 +-412 +959 +-338 +353 +752 +-213 +410 +525 +-284 +-881 +6 +-743 +-168 +211 +290 +869 +380 +-545 +54 +-215 +-504 +-709 +2 +-731 +396 +639 +358 +-943 +-576 +427 +58 +-3 +612 +775 +630 +929 +-840 +-381 +282 +901 +556 +47 +-794 +297 +968 +-77 +98 +-563 +-228 +-233 +126 +-63 +720 +-709 +154 +-731 +804 +-185 +870 +129 +864 +499 +-318 +717 +180 +-265 +742 +201 +752 +59 +978 +-235 +604 +-289 +798 +-863 +-536 +11 +-246 +525 +-340 +807 +206 +-479 +520 +-285 +-150 +-499 +348 +-9 +-978 +-783 +-512 +-333 +-566 +749 +532 +-553 +742 +-975 +376 +163 +210 +-51 +-332 +783 +-18 +-775 +928 +-37 +458 +-275 +-324 +423 +758 +417 +832 +699 +-886 +-171 +372 +-73 +-114 +705 +696 +387 +834 +725 +-748 +703 +-674 +-855 +240 +-605 +-262 +685 +780 +-369 +454 +-383 +904 +235 +-494 +-955 +444 +63 +502 +313 +144 +-237 +-30 +-763 +12 +479 +926 +201 +-912 +555 +290 +549 +-676 +-9 +142 +713 +472 +747 +-478 +237 +-132 +-585 +-186 +857 +960 +27 +-606 +581 +-348 +-777 +-322 +305 +-880 +-557 +74 +629 +524 +-441 +550 +-751 +-952 +275 +-398 +677 +-764 +879 +-818 +-55 +-424 +-701 +-926 +813 +-988 +663 +622 +-815 +-176 +-445 +866 +-747 +-172 +-505 +-482 +457 +-968 +155 +706 +-235 +-908 +167 +-114 +-527 +8 +147 +250 +-187 +-860 +-297 +822 +-103 +-232 +11 +-14 +493 +-148 +-825 +-394 +121 +-176 +507 +-470 +181 +468 +327 +-26 +489 +584 +83 +-582 +277 +940 +-857 +86 +545 +-912 +955 +50 +973 +-692 +495 +974 +-647 +-976 +587 +-910 +-843 +-916 +-257 +518 +-775 +496 +35 +-782 +165 +620 +199 +-722 +-543 +-328 +451 +914 +-739 +-108 +423 +454 +801 +-624 +-909 +-70 +-435 +-636 +407 +734 +-607 +40 +-277 +-262 +205 +-996 +-481 +518 +697 +-344 +-357 +-542 +-43 +-996 +911 +-490 +-847 +936 +259 +466 +-147 +420 +175 +406 +801 +560 +723 +-174 +-635 +436 +63 +-802 +-743 +432 +-293 +554 +813 +180 +383 +-826 +905 +-552 +-733 +122 +541 +244 +-865 +-378 +905 +-496 +-221 +-942 +-931 +708 +-185 +-306 +105 +-832 +451 +-78 +-555 +492 +151 +934 +-263 +-464 +-245 +-598 +-363 +420 +23 +110 +441 +-984 +411 +-534 +-755 +860 +79 +-874 +161 +-912 +-237 +-342 +693 +388 +-697 +-66 +-7 +-440 +299 +-870 +-499 +468 +-393 +-282 +457 +200 +595 +42 +173 +-260 +919 +158 +697 +-160 +-805 +-558 +413 +-540 +-241 +582 +529 +-416 +-181 +98 +-11 +884 +327 +926 +241 +536 +-493 +-742 +-27 +676 +95 +14 +-255 +552 +387 +-246 +-115 +-932 +-209 +-762 +409 +192 +-581 +994 +477 +36 +943 +126 +-767 +-256 +779 +-638 +869 +-628 +951 +-314 +-967 +224 +67 +-894 +-307 +-276 +647 +-122 +-735 +-744 +451 +-694 +-611 +292 +919 +-722 +937 +416 +611 +-182 +-659 +-220 +391 +-890 +273 +-24 +923 +-334 +541 +684 +367 +-202 +393 +-200 +403 +-654 +885 +-444 +-873 +-738 +617 +776 +363 +-798 +-123 +-924 +-9 +54 +265 +920 +307 +754 +845 +524 +303 +-378 +937 +-720 +-461 +10 +-731 +116 +-417 +-986 +569 +616 +-957 +202 +757 +444 +-553 +-978 +545 +976 +923 +994 +-747 +828 +-273 +-122 +17 +992 +467 +-318 +925 +364 +-945 +-250 +-295 +840 +867 +90 +237 +676 +559 +78 +625 +912 +-941 +698 +789 +476 +143 +-578 +857 +-400 +675 +-222 +413 +628 +311 +-858 +601 +-608 +-621 +-174 +317 +564 +55 +566 +-495 +-680 +-269 +986 +653 +204 +247 +-922 +-519 +-256 +723 +202 +-483 +836 +983 +-818 +361 +928 +803 +-526 +397 +-36 +-425 +494 +617 +640 +507 +-470 +829 +-892 +231 +414 +-199 +-816 +139 +-598 +173 +-564 +47 +-290 +257 +-472 +-541 +10 +453 +-260 +87 +-474 +-671 +664 +763 +-366 +181 +612 +543 +-658 +-607 +-760 +-325 +-270 +789 +660 +167 +-858 +-471 +-56 +-173 +650 +533 +436 +823 +510 +881 +-352 +163 +258 +-811 +68 +-417 +678 +377 +88 +-645 +410 +-843 +860 +767 +950 +-119 +-496 +-341 +514 +-787 +-12 +-97 +-242 +-39 +-880 +-605 +-374 +661 +-868 +743 +-378 +-223 +-168 +-829 +402 +477 +404 +775 +-298 +-151 +64 +-93 +-358 +-563 +-596 +239 +214 +-383 +592 +555 +-678 +773 +-836 +-897 +-810 +-239 +-752 +259 +-6 +181 +-284 +303 +-690 +753 +904 +-597 +-502 +-691 +676 +-497 +446 +705 +-120 +-477 +698 +-307 +-132 +903 +-754 +-335 +-312 +-661 +74 +989 +-988 +-425 +782 +217 +-896 +-517 +-918 +-851 +244 +-481 +702 +-583 +-472 +-253 +-766 +253 +-108 +231 +-74 +-367 +376 +411 +-30 +-651 +-436 +-593 +70 +689 +104 +-117 +754 +-875 +524 +-561 +142 +-831 +-88 +-989 +210 +117 +852 +583 +-226 +-63 +696 +811 +-110 +133 +-428 +-169 +654 +761 +752 +339 +26 +933 +996 +887 +-18 +41 +-224 +483 +-486 +805 +892 +-385 +-242 +513 +176 +-493 +-870 +-507 +916 +127 +-250 +897 +88 +131 +362 +309 +116 +655 +846 +185 +192 +-205 +-678 +-963 +980 +-881 +-802 +-807 +904 +-877 +730 +405 +-644 +991 +-722 +-967 +-568 +403 +210 +-803 +84 +-113 +-658 +281 +864 +59 +738 +-795 +-908 +-41 +982 +785 +888 +-789 +-958 +741 +604 +887 +638 +905 +328 +-37 +-38 +-811 +-428 +351 +718 +-415 +496 +555 +-670 +-763 +-468 +-809 +966 +641 +72 +139 +282 +-747 +-204 +679 +958 +73 +-56 +427 +-878 +933 +-700 +879 +-746 +833 +-952 +259 +170 +-907 +924 +-177 +142 +-983 +-360 +795 +706 +-291 +-756 +447 +46 +-135 +432 +603 +938 +21 +-292 +247 +-714 +-383 +-824 +435 +-286 +-283 +-84 +423 +702 +433 +-240 +-901 +994 +77 +604 +-945 +-322 +537 +600 +-565 +-702 +869 +-572 +-361 +358 +409 +-704 +-493 +26 +-899 +500 +663 +-682 +-823 +-16 +547 +-854 +149 +868 +-377 +974 +-727 +-928 +-685 +-958 +85 +-428 +-801 +254 +-719 +-360 +-645 +26 +-491 +516 +-649 +-130 +-711 +608 +-605 +394 +-291 +404 +607 +-794 +-423 +400 +-621 +418 +757 +-740 +527 +150 +-295 +136 +155 +610 +-459 +-964 +647 +894 +-167 +-800 +979 +-526 +-507 +236 +367 +182 +593 +136 +635 +978 +-731 +356 +-689 +-298 +-647 +-544 +-429 +-590 +-523 +644 +-369 +-514 +-647 +464 +-213 +-550 +957 +-812 +703 +198 +849 +344 +963 +370 +-211 +-604 +799 +-474 +289 +640 +-309 +666 +-699 +-940 +-473 +-842 +-711 +72 +-85 +690 +621 +-652 +943 +-346 +489 +-560 +651 +-254 +141 +-260 +39 +350 +449 +520 +547 +962 +-683 +892 +847 +-698 +-791 +-440 +-221 +818 +197 +-172 +231 +118 +-143 +-920 +595 +34 +-979 +-468 +263 +-58 +945 +-704 +-413 +762 +949 +-36 +-697 +-434 +113 +392 +499 +-518 +-523 +28 +343 +-106 +-519 +-136 +-909 +746 +-603 +404 +-457 +-418 +-487 +264 +179 +578 +37 +188 +239 +702 +569 +-24 +307 +266 +-955 +-340 +263 +-594 +569 +-512 +3 +-278 +997 +212 +-729 +-290 +-887 +-776 +339 +570 +701 +220 +-305 +574 +-71 +-368 +-29 +210 +341 +92 +607 +-402 +-407 +208 +115 +58 +-979 +596 +543 +-874 +809 +984 +11 +922 +-603 +-788 +503 +-906 +-231 +448 +739 +970 +-483 +-148 +-625 +-362 +-671 +-16 +179 +-902 +941 +660 +991 +542 +513 +0 +811 +338 +-635 +-812 +359 +142 +65 +-72 +-893 +298 +957 +-676 +-169 +838 +729 +864 +443 +-654 +-731 +660 +-601 +-802 +-831 +712 +915 +362 +69 +44 +103 +430 +-775 +184 +563 +242 +-771 +620 +815 +-218 +-463 +-496 +-77 +-182 +965 +-276 +-417 +-746 +857 +928 +-29 +-158 +965 +68 +7 +782 +-79 +400 +-245 +914 +973 +-932 +599 +910 +953 +-488 +91 +530 +-427 +300 +-449 +-786 +801 +112 +571 +58 +213 +260 +-337 +-530 +937 +880 +563 +250 +645 +212 +895 +-978 +-487 +-664 +507 +-214 +-715 +-724 +895 +854 +-471 +-200 +-685 +98 +205 +-308 +191 +38 +65 +-320 +595 +58 +85 +588 +303 +254 +49 +-784 +123 +242 +-643 +-492 +527 +-866 +153 +-16 +-485 +154 +-611 +700 +423 +958 +-911 +-880 +-277 +-422 +-707 +-268 +119 +-258 +881 +440 +-157 +658 +-915 +-972 +-297 +-58 +-279 +208 +707 +234 +269 +-220 +151 +150 +-407 +216 +723 +-862 +805 +-388 +127 +-642 +-975 +608 +-485 +138 +173 +812 +-761 +286 +209 +224 +267 +-942 +109 +260 +383 +-146 +337 +-320 +291 +642 +309 +900 +-809 +-682 +-319 +-376 +219 +-614 +477 +-788 +335 +-314 +-423 +848 +531 +-126 +-771 +284 +-345 +462 +905 +-528 +51 +482 +5 +156 +-697 +134 +-551 +-16 +-509 +-982 +-187 +612 +-161 +-754 +697 +120 +-85 +434 +325 +212 +-689 +-826 +737 +872 +-453 +-294 +629 +-596 +-689 +942 +841 +-992 +-117 +658 +373 +-964 +-185 +-954 +-95 +-984 +-189 +266 +-611 +-476 +-473 +878 +449 +376 +-613 +-926 +205 +-332 +463 +-522 +393 +-576 +-301 +-158 +-243 +-828 +167 +-586 +201 +656 +-509 +186 +-3 +-844 +103 +-594 +193 +-880 +-469 +-542 +197 +940 +223 +-442 +865 +856 +923 +-446 +693 +388 +919 +302 +-719 +528 +931 +338 +-811 +-852 +967 +-250 +313 +-408 +611 +-126 +957 +-124 +271 +-802 +-831 +-408 +-813 +290 +-523 +708 +-489 +-82 +601 +-872 +851 +634 +309 +-28 +-241 +-10 +113 +664 +355 +818 +-571 +-748 +695 +950 +409 +752 +931 +-846 +-283 +-916 +-337 +70 +337 +-456 +-749 +922 +957 +372 +247 +-826 +-231 +-168 +-677 +-838 +597 +236 +143 +230 +145 +-784 +787 +10 +-155 +980 +343 +-442 +-111 +-488 +-125 +-598 +733 +-636 +271 +454 +361 +-416 +435 +-918 +-643 +684 +-1 +246 +209 +144 +195 +-438 +-107 +644 +71 +-426 +665 +-880 +979 +-590 +-419 +948 +-193 +-122 +-895 +888 +395 +618 +-639751 +-2064456 +2438091 +-228814 +2307157 +3526404 +1330191 +2675190 +-185799 +4620456 +-1612125 +-545422 +-1661043 +698668 +-784089 +-2343482 +-1619831 +3416872 +-1406789 +-1438702 +-2094939 +-16892 +2725863 +571606 +-737247 +863928 +112867 +-1681606 +486909 +2640420 +644983 +-1085946 +-2801727 +-1490744 +1425467 +4490130 +53541 +1591540 +1032223 +2690318 +1418305 +-585464 +2384683 +88522 +567941 +1145420 +4051607 +1975286 +-3740287 +1818552 +-1622687 +917532 +-540181 +651326 +726909 +-1923176 +-1331713 +-1743118 +3082593 +-2562852 +-888861 +-665410 +-2560315 +420816 +-2659081 +-414126 +-1487343 +859532 +1312331 +667278 +3201389 +400120 +-307737 +-1665598 +749337 +1182908 +-3354733 +2699414 +-3784699 +5967224 +577959 +3118594 +1902089 +-582020 +693211 +-1132146 +-2319843 +-1227512 +-2802945 +3311434 +-2700855 +-2165092 +-1229813 +199062 +4680957 +-4135296 +2727815 +-3275054 +-474119 +-142996 +259929 +3946960 +2108891 +1853722 +1425269 +-623428 +5056639 +502462 +-2418087 +-1804960 +4756915 +-2976294 +-3811443 +4182852 +2796119 +1323054 +-793111 +-3371072 +-1260565 +2302490 +-1207931 +-1713988 +-3211593 +-708546 +641825 +-1217584 +2009619 +-2552190 +-105123 +1945244 +1341031 +1564430 +-2045279 +1609216 +-1133109 +-2012838 +-4090267 +784684 +2045743 +-2279850 +-1607199 +6767360 +-1828613 +4650418 +-1539899 +2738116 +-2353145 +4608958 +-2157119 +-1981008 +998641 +-1126108 +963179 +-2967274 +1193101 +-1340096 +4623839 +1090346 +-1082895 +-5672444 +2428899 +607062 +1862581 +3266520 +1420887 +-30294 +907745 +-2753452 +-1521749 +3208518 +-3928067 +-2201376 +-522009 +2371034 +1319689 +-5834556 +-339213 +-2760306 +-1165291 +-2838496 +-260985 +1789626 +-915367 +1859044 +744411 +-4150650 +-5763123 +1438960 +1926463 +293250 +-2360871 +2931396 +-699445 +-1556178 +-3154835 +1020520 +4420775 +-1540470 +1230825 +2911508 +-23687 +711800 +-1196341 +-579534 +-1262827 +-1950588 +-2721393 +-2307658 +71801 +-1968600 +-3156253 +3068402 +359117 +2870380 +-2153113 +1656070 +-57783 +518440 +-1644997 +-1480750 +4943525 +-2594492 +63015 +-744490 +-30495 +2310072 +-2468445 +771258 +-1781443 +1386148 +-2316361 +1218246 +1381633 +-28472 +-1305413 +-4275054 +2110821 +376436 +307551 +2147534 +-1115135 +-1339448 +1883307 +1109962 +1060229 +1666956 +1052823 +-2974474 +1585537 +-411656 +-111655 +-3710292 +1584307 +-1942818 +5103125 +-1708536 +235943 +-1295054 +-1527399 +648876 +2018987 +-1911714 +1213981 +1112256 +-1657121 +-6881390 +3535049 +-2920420 +-3997869 +-1468754 +-1936891 +2004456 +-275249 +656258 +-1840815 +-646836 +73563 +1778550 +-2161379 +535016 +1277455 +1823362 +2179457 +-1700532 +2078691 +5334190 +-2497995 +-184072 +-1426137 +3752266 +4378369 +-5881044 +-583981 +-2933322 +-1334251 +-257680 +-2426449 +1448338 +2451441 +2382140 +-2771879 +-3899216 +-2204709 +-1054214 +-1825931 +-3181412 +-275201 +-332066 +-2078759 +59008 +776051 +420410 +-1154931 +-2171420 +-3182121 +2347662 +491369 +2500768 +-3761941 +-503942 +370821 +-3397412 +5536183 +4702 +-478943 +1014128 +-2347373 +336994 +-881251 +1953596 +1610215 +1781870 +-41503 +-3381152 +-4203253 +-2619910 +-2145499 +-2946676 +-899537 +-939530 +719009 +-2751264 +1950459 +-2044782 +-655483 +338020 +-526009 +2019614 +3358401 +-2842544 +-1397487 +-3700748 +1663211 +746886 +45805 +-1833904 +-728609 +-219750 +-145903 +4815508 +-985501 +2565958 +-2494507 +-1793816 +-1513001 +1441690 +2079809 +-3133084 +-448789 +1562870 +-1413283 +-2426896 +-1724697 +4309962 +-1432855 +796756 +-441869 +3935934 +-726475 +-1189136 +1126663 +2738986 +-2606471 +151540 +1983643 +-919370 +-503443 +316544 +-373697 +-1964174 +2450297 +-3188012 +1668939 +273630 +-305907 +-388168 +2102759 +-1785222 +729993 +-2862812 +-3213607 +-2952552 +-221909 +-3808558 +-1290891 +2122212 +4647919 +-1959594 +584857 +-954680 +-1913341 +1341778 +2066029 +3720396 +-285049 +-1391258 +2918761 +-1130872 +-324005 +-3382158 +1552197 +-2648732 +-3824057 +2004790 +824193 +2824408 +5157315 +1050522 +-1090403 +-1590460 +-1136681 +25446 +-965151 +1011368 +1680859 +2371122 +-1260347 +2575188 +1589439 +1291758 +-3119839 +-166360 +1101707 +2391338 +-1651739 +-32020 +949687 +442902 +-4534751 +2982872 +-105311 +-2018356 +3167499 +-2493170 +-4995267 +3495112 +-632545 +-4442942 +2475297 +-2235124 +3391171 +1623054 +-934523 +1811840 +-2584297 +448802 +3899985 +752380 +-307733 +-4340258 +3538733 +-3216856 +-1158201 +715154 +-242471 +1182636 +4749363 +3388774 +-491707 +-783960 +1859655 +653010 +2630217 +1600300 +1345595 +1246814 +1643165 +3365496 +210463 +1956506 +2477001 +-1512180 +-465429 +724070 +-924931 +5827632 +-1015641 +-4951646 +-97095 +901340 +-369143 +-264784 +695531 +2920282 +-84379 +124828 +1793551 +84926 +1734985 +-4372544 +-2665917 +385050 +-197251 +-834204 +-3974105 +1491950 +841305 +-3067616 +1094523 +3446682 +957173 +-1723044 +-1344313 +-2675714 +-1381231 +2312688 +2168995 +814658 +-3048563 +-3099076 +-671945 +832462 +-2037999 +644960 +521307 +-1849190 +-773227 +2172044 +-2107073 +-2542890 +2208081 +-872224 +-1809845 +885362 +-1305867 +1661604 +-4626729 +-4249730 +3723953 +-4975088 +469513 +-4361420 +884819 +-1516426 +-2228283 +2964080 +-2376793 +-368598 +-671671 +1507284 +-50421 +2542134 +528621 +-1046392 +-998241 +298090 +-3912839 +1166948 +1209491 +-101850 +1095093 +-3865136 +-1130065 +3627482 +-3045279 +305620 +1624859 +5330798 +-3231475 +-2523952 +-2640881 +-1362438 +426737 +-884812 +-1593533 +-3202906 +830917 +-2253664 +-1506169 +519682 +-37071 +-2441516 +-2288269 +1456206 +-938651 +2196888 +852143 +3608650 +-415871 +-1722460 +1634993 +-147656 +1609139 +2260578 +1433773 +-419996 +1256727 +3809158 +-1335183 +2173096 +-1160949 +-2117406 +1704357 +1451468 +2150191 +-5053738 +-1200383 +3287656 +-840541 +-3823486 +-1228483 +1205540 +-296401 +298278 +-5059495 +900536 +-810421 +-3507350 +2012629 +2383172 +-2434369 +-2666474 +1979577 +-4134776 +1002339 +3241154 +-418435 +-2119276 +3427943 +1057630 +-1476103 +-2757624 +3154899 +-3864006 +-329827 +-1104788 +620063 +1122694 +4035577 +2171128 +3883161 +2396844 +-77773 +-1282722 +3062933 +2429064 +-54809 +4230002 +-2039271 +416876 +-2149333 +-805346 +497693 +-2116224 +-2640417 +1807442 +-386167 +1134108 +-193645 +1095662 +1831557 +-3646104 +489871 +-294718 +-2182511 +1506764 +266907 +-206090 +-5299491 +1812968 +1340687 +-1759422 +-73727 +-4572468 +1037859 +3151534 +-1461643 +-1190664 +-1838425 +-4234934 +-1515327 +-4007252 +2161491 +-219530 +214293 +-2362768 +3188463 +2678418 +-2011151 +1668156 +1392777 +3880480 +664203 +2881770 +3832485 +-307252 +596015 +-3210610 +-1759607 +2525104 +1136739 +-2485590 +-2708419 +-256108 +-1902009 +1549950 +122137 +439952 +-1704165 +-350614 +1848821 +-1463540 +-295513 +-5482098 +765969 +63584 +-3811581 +-60334 +-3161715 +4106732 +4045335 +-1304162 +1115153 +-2146544 +2532027 +-2097750 +-2050667 +1431932 +1423263 +-8413722 +-470703 +-173168 +484203 +8076290 +2720821 +594004 +-279625 +400206 +-5701711 +1433920 +-877071 +397940 +712395 +1335302 +-2520179 +709840 +-2338753 +2037210 +1207217 +-1401836 +3624515 +-3080698 +-1684299 +137576 +-3544905 +524506 +-283743 +1340452 +-1852725 +2329526 +100477 +340912 +-294457 +-2768310 +-1747639 +-137836 +-1861933 +1925246 +-1442667 +5034480 +1413735 +3579050 +-2002471 +2465652 +587963 +809718 +-4246195 +-1758464 +-1517025 +-729486 +-5630567 +-1420908 +3930283 +-1412322 +1036461 +-1416328 +-1503289 +1217850 +-656599 +-1435676 +3113913 +-760728 +1924011 +4818498 +-3078699 +-1558220 +3881455 +3587142 +1917113 +-2670824 +2267267 +1898370 +-472627 +-1528036 +2872711 +-1747434 +2698697 +-1766888 +3615579 +-2002974 +-2523611 +-160588 +3506183 +11878 +-141215 +-857560 +2289283 +-5001846 +1095741 +1366100 +-293737 +-2335850 +-2508223 +-2006792 +-1758437 +3314914 +2180645 +-701852 +79999 +519262 +1434881 +3327672 +-3606197 +-4023270 +1023429 +1066940 +-382473 +-2440250 +2849345 +-4030936 +-2527991 +3973324 +3453443 +-379874 +-833147 +-4350616 +2103607 +4217266 +-1544247 +2758796 +1171899 +1482206 +-2421491 +4755680 +66735 +-2646510 +-1053639 +-1414916 +3188067 +2588206 +-3865035 +-1038456 +1495071 +-2658750 +7878401 +-1001300 +-4435093 +-3395082 +4982541 +2918472 +815647 +-586110 +-2750863 +3581420 +1106291 +1214958 +2635941 +-3860840 +-2798473 +-1721078 +808497 +-4897780 +-3014365 +-516426 +-3250107 +-5549424 +-2212801 +540626 +-2989727 +1793308 +1698697 +-3148912 +-152981 +2276794 +-2619291 +830012 +-706801 +554270 +2701257 +-177248 +368451 +539514 +188221 +-3490748 +-1299417 +119950 +-3555431 +377728 +-2450501 +-252742 +-1133451 +2008124 +1402887 +3182366 +-1734639 +-2519152 +-527325 +568546 +2256141 +-1873444 +-614793 +-1319954 +79953 +-1438720 +1661211 +-1332358 +-3666603 +2394092 +-531905 +-341770 +-938671 +1001472 +2453067 +-2297134 +1485109 +2362948 +925207 +1008030 +3344689 +429552 +911625 +261428 +-2122029 +-3926346 +-1444219 +1697136 +-229337 +-187734 +-2309687 +-2653292 +738635 +-5437194 +-265171 +-2230904 +-2736417 +1712362 +-1655047 +4384676 +764819 +2371366 +802549 +-829680 +-1178257 +387098 +-1399071 +-4293292 +2478107 +-2502930 +-2713779 +-2825584 +-939121 +755450 +2643313 +-483468 +-1886589 +-571738 +-1666747 +-911072 +3807303 +-973630 +-4621839 +1635156 +673331 +270158 +1810405 +976408 +1843375 +-194102 +56577 +304932 +842217 +-2861144 +-416517 +3165858 +-966331 +-2580236 +2807615 +1034214 +2888489 +-171816 +-1875501 +-1384478 +2481341 +-2627044 +59095 +-778698 +4908793 +-2294056 +36267 +292610 +-3586475 +3529076 +2400983 +-365626 +693009 +381224 +1388755 +106602 +-578579 +-1272620 +-108505 +2325430 +3241265 +2959928 +7114795 +-4002046 +1690197 +-314012 +-2257137 +168766 +3946481 +-3309640 +-270053 +946234 +3772981 +2750140 +-415097 +-5023770 +-2459535 +3579048 +1693441 +-694116 +2382475 +-332930 +-3295523 +588376 +-1139681 +296498 +2065729 +1528412 +-1554493 +2599806 +3814245 +517456 +1609559 +1511442 +1868785 +-820020 +1438891 +2061646 +-3422387 +-1488584 +2134023 +-286782 +1175737 +2382844 +-1046669 +-491754 +739109 +-1205064 +1048839 +1291010 +-558167 +3346684 +2271355 +-1340018 +199805 +-1205688 +1875231 +231370 +2170409 +4442140 +2098475 +1966550 +-2246051 +-759552 +2369127 +-600622 +1254873 +873964 +-1467871 +619248 +-355021 +-2096246 +1359389 +-974020 +-1231369 +342798 +-2642463 +-942656 +1012683 +-1792694 +815925 +-135868 +-5256497 +-3561538 +-37007 +-2017440 +-1504509 +1650058 +-476755 +4545660 +253999 +-873330 +-246935 +1973040 +-1052309 +-1488270 +-3425339 +1486428 +741215 +-1194082 +611497 +-220576 +-572893 +4505546 +-1181619 +-274452 +-2915353 +4797478 +-1473623 +-2126240 +-548461 +-1686814 +-3254419 +-4151932 +-1153217 +-783474 +-892407 +1423312 +417073 +759444 +1496715 +-3759706 +1027661 +-58832 +-105217 +825338 +-92943 +496052 +214019 +-2865306 +922101 +2682056 +-1358857 +-4822150 +1946849 +2994244 +-529205 +822550 +-2794435 +80848 +557191 +-1772502 +-2263351 +-1847628 +2023251 +-3133218 +-1513323 +5217680 +207079 +113354 +875033 +2406164 +1999547 +5190742 +-2199795 +1606688 +-214625 +3403538 +-1146983 +-1798860 +-61781 +-3916418 +281837 +-197800 +312711 +-458534 +-1964567 +3468036 +145497 +1736 +-527733 +1092578 +-492875 +533972 +-3122801 +-3252442 +-605799 +21816 +857635 +2814178 +1997805 +-1749508 +-530649 +-2211850 +-1758807 +1129400 +-879813 +-756798 +-1267451 +898708 +-2993753 +1684742 +1154305 +-4005624 +-4791005 +351594 +-276515 +774644 +-1968329 +-3634186 +4169313 +-698536 +1691899 +-2689662 +1523205 +-1678844 +-597729 +1105278 +-1781087 +-14696 +-1050901 +1455802 +3285925 +-1838628 +2477463 +1451622 +-1090527 +1432072 +645537 +-4348612 +523435 +2023518 +-5137155 +641656 +3970495 +-1214126 +202593 +1188220 +-1748637 +498398 +3108485 +1308336 +-1796937 +-983822 +1718609 +-82132 +2329291 +-772242 +-3568403 +-2323048 +2073767 +-2331614 +127193 +2348828 +430611 +2650358 +-1468859 +-4090600 +1937447 +-2040286 +-350007 +1207452 +1166939 +-942354 +850781 +-887704 +4677823 +-3848662 +4593225 +-1397892 +2182923 +5486838 +-2712195 +-249760 +152263 +1452530 +166777 +-177268 +-5724119 +4825104 +-3469557 +-278790 +-475387 +-116612 +-781393 +-2637794 +133737 +-223776 +-1957853 +-190534 +58653 +790596 +1500871 +-1922290 +-518471 +3725312 +-3013733 +3103418 +3141077 +1209084 +-4950553 +-583522 +3203889 +-695280 +-1124477 +-872478 +2424941 +-1585828 +-1914857 +-393298 +-896975 +1683328 +-113669 +2520634 +1966389 +2875244 +-2082145 +1761206 +-3040719 +1807360 +-215189 +-1282478 +422677 +-2941820 +-2482121 +2182238 +2881617 +1218864 +193409 +4805732 +-65253 +-3686346 +760349 +-3778432 +-3600241 +-70070 +-4362431 +1063620 +3258899 +-1563978 +-384891 +2204760 +-2564217 +-2721590 +352177 +-516460 +-303013 +6619942 +1012429 +-700704 +-1978601 +-189574 +4918361 +-1796924 +-6545373 +762478 +-2965275 +-824480 +98423 +1558298 +301929 +504548 +-3156789 +-2589594 +-1490595 +-954896 +-2189585 +3490082 +409897 +-3740476 +-190981 +-1271154 +652093 +-6680280 +-121385 +-4121302 +-1508167 +2174612 +332889 +2544168 +-303541 +1019330 +-573003 +-295500 +408463 +4658502 +-2613543 +552408 +3648099 +-1020350 +-1820819 +368988 +2047271 +2560534 +-850519 +-1418280 +-3501829 +4037794 +-76539 +570612 +988327 +-364186 +-4144255 +-196440 +492579 +2644042 +-267683 +-1732012 +3709687 +454102 +-126879 +-1754568 +-2472389 +-764830 +-2398459 +-2895260 +-3675361 +-666658 +-6252639 +7730680 +-1130709 +-3385766 +1029029 +2869564 +-2356201 +557126 +-977759 +-560984 +6448841 +2723644 +1656419 +-2131474 +-427131 +4799640 +-2179817 +-495294 +3121161 +-5520772 +455579 +1318126 +2603661 +-1936752 +1548943 +474146 +-259527 +-1207892 +2038211 +1123390 +-584139 +1825464 +1339519 +254738 +848449 +-2671652 +2087371 +4694470 +809101 +-1389000 +3175167 +204306 +3342833 +-743140 +-859437 +2195262 +-4395675 +-2759608 +192535 +-1253926 +-2329423 +-357252 +2008195 +-1302522 +3577413 +1392384 +3625439 +2491106 +4560161 +-3769076 +-5403295 +3453280 +-2002029 +504922 +-2095395 +-3423252 +2338775 +2302750 +-739295 +-1333328 +2830443 +-5889318 +-3440587 +2943092 +631407 +-489138 +-2739023 +2903248 +506723 +2675482 +-3006611 +-1078036 +-1285617 +-2880802 +-1958999 +-2663328 +-1502453 +425026 +-3113403 +5800780 +-1274753 +-695698 +-956567 +-952176 +-3841661 +-413542 +-394291 +1448412 +185863 +-190730 +-79127 +1110288 +-2323725 +1283570 +-427283 +-1212364 +-504097 +-2690914 +-1710007 +2400576 +-2489543 +-943100 +2110595 +-1441146 +623669 +-1159936 +2589207 +1692346 +-145863 +-592988 +-3257797 +349446 +2471709 +-2503848 +-2053169 +-1835014 +768873 +980084 +1875971 +639478 +-2916059 +-1540128 +2971679 +-501590 +-2964335 +-1024348 +-2138933 +3295806 +-1078211 +283616 +1957951 +56010 +2443873 +-500028 +1832051 +160246 +-691083 +-5145552 +1187959 +-3643822 +4002209 +-3754140 +-177757 +1649886 +2359381 +-327512 +1726239 +204186 +-3054799 +1311604 +-264407 +-1944104 +-1804325 +-1033550 +76613 +1165604 +-1351969 +-2782474 +-2064535 +2663176 +-6527629 +326706 +3188093 +-667572 +-2903305 +-3250106 +782393 +6276488 +673931 +-322222 +2526485 +-764124 +364471 +-1701546 +-3106095 +5041496 +-1947021 +555322 +-3540499 +-4018556 +422791 +1430982 +3273969 +2979176 +-590837 +-2005294 +3290709 +-3133356 +-3038033 +3376654 +-2361231 +-2917976 +-601541 +82250 +3944885 +-2780692 +2711975 +-600522 +4337 +-173608 +314489 +1823612 +1053107 +2421582 +-7299403 +1158232 +-437209 +74594 +652473 +-3585924 +3433067 +1691022 +-1577859 +-3530864 +487583 +4861826 +-750359 +740332 +5981715 +446046 +-1209947 +342456 +1665167 +-1222414 +-3738191 +-780580 +807323 +96166 +-1412611 +4446392 +638543 +2920050 +1204449 +1138396 +876771 +90334 +3150293 +-3431928 +3711527 +3314810 +-3514143 +4510588 +-2338029 +2976166 +-27723 +-1505472 +1903087 +-4651838 +4515793 +-2783156 +-822791 +-644176 +3556987 +3079546 +-2401963 +2357276 +-1704417 +2170398 +3277625 +678272 +-3579629 +2588538 +751469 +-2696860 +-2146953 +-1344498 +651977 +-2138656 +4144203 +481146 +-2541659 +2522716 +-1191145 +2964510 +956609 +-1696912 +2431667 +5229026 +-916803 +1591932 +2611207 +171822 +861761 +869856 +2833579 +5250938 +1723717 +-2103540 +-86705 +1807158 +2811841 +-3348384 +-351333 +2091474 +2378277 +-4159580 +3209895 +2169182 +906593 +289104 +-435199 +3352644 +-1737509 +386966 +456861 +2195680 +-2407921 +-3285910 +-1151935 +-2423004 +-1971821 +-1006698 +1092421 +2421368 +2770567 +245354 +1754481 +1124212 +-440933 +2416134 +-1079603 +-2091264 +-2266665 +-3907494 +2632985 +-449564 +-4170077 +318350 +-1444315 +4144896 +-231561 +2853306 +-852823 +1891524 +669899 +-2360378 +272285 +-1454128 +-1094865 +255682 +-2621655 +2697380 +2057083 +4089326 +-1728131 +-4297912 +1429911 +-455542 +232121 +-1143116 +-2102295 +-770024 +-2495269 +-4031630 +-1479419 +-987996 +1232799 +-1232266 +2530601 +-809976 +-1600717 +-2664718 +2088701 +-3672628 +-1476873 +5815750 +-2854279 +-1536632 +2208651 +3913874 +-2029803 +2201700 +2309879 +1475286 +-777711 +416088 +784691 +-1888006 +-1020499 +-4102396 +2317703 +1133830 +-293903 +2494696 +1235979 +-1309614 +1286933 +1319380 +-2621137 +-361650 +1176497 +1373288 +936123 +100874 +-1131083 +-2122004 +2306535 +-837834 +-757903 +2218264 +-2447495 +-1750260 +-1893997 +2008190 +-823755 +2511336 +1764231 +-1311662 +-433543 +2393164 +-6436277 +3463550 +3247613 +998112 +426239 +1450034 +-1747095 +-382084 +175411 +-1660146 +-10139 +-689976 +-1578961 +155426 +3272113 +4459116 +972987 +1687766 +1357501 +-4412280 +-2720273 +-3622814 +-366879 +1972460 +1235395 +-2414066 +4707029 +-1604904 +-84665 +-4454422 +4233889 +-1069684 +691187 +5677974 +-1597963 +-620592 +-487729 +3162482 +-6139439 +1101852 +1776249 +3820992 +-2232101 +895914 +-232107 +2797484 +-2074945 +-782514 +2233785 +-5457456 +425715 +3810602 +2431085 +-3779404 +-3098153 +3700222 +772041 +-947984 +-1249045 +1407594 +953125 +-2239700 +1100087 +-4084658 +-3016447 +329216 +206995 +-980078 +-990595 +3797132 +-1214617 +2321438 +608641 +1978416 +-2596213 +214506 +540293 +-2165924 +-1731921 +-86426 +-4989439 +2540080 +-389829 +798722 +72101 +2186676 +-598649 +-2283826 +297121 +-1323168 +895337 +3965924 +1023507 +-4130106 +7787813 +-233120 +-1199193 +69050 +-1606487 +3000836 +-502965 +2468422 +-1438643 +5929720 +-3234401 +-213958 +882265 +288404 +-3239213 +892534 +1049877 +-4330880 +1153263 +-2074838 +942593 +3831620 +157595 +369150 +1425261 +1992256 +3283535 +1174154 +672785 +2690980 +-1705405 +477430 +-87771 +-1298096 +-3623417 +942290 +-349935 +-2915260 +-1645901 +-1131618 +510341 +1390088 +-1717009 +1619802 +-6700895 +1404820 +-407663 +7184184 +-134829 +2169058 +3013837 +402276 +-2916873 +947014 +710481 +-1821976 +-257621 +2767202 +-1302523 +1225740 +-4563761 +773334 +-2510815 +882152 +766787 +4228930 +153437 +-2709660 +-3477233 +-2846618 +-274631 +-1151112 +-3819029 +1875178 +-1957707 +3454980 +-659361 +1103446 +-339239 +373000 +-4790909 +-1831230 +2263133 +-3445676 +-1725177 +-207714 +-3974055 +-1609144 +-2612045 +2957370 +-211843 +-1931028 +270975 +-3353338 +-82215 +-2658888 +3859873 +-872756 +-1299061 +-835250 +798845 +287944 +-1129761 +840002 +-1844383 +-748020 +3533955 +3306766 +708293 +-3164800 +-2717097 +2113570 +1292945 +-859908 +-2052885 +-758050 +911725 +1364264 +903943 +3747090 +2354009 +-2156244 +-5783821 +3055270 +-3060027 +773416 +996999 +-1551790 +2757769 +-2732948 +926779 +-3111458 +-1611299 +406456 +-3488929 +3123866 +-1567607 +-1470388 +955947 +1490726 +-3244227 +-3058128 +1389479 +1500066 +660281 +673308 +-1708383 +-2464432 +-346125 +-3513622 +-3564579 +1100444 +773111 +3399854 +1387745 +-2619744 +-1511797 +2278186 +1953653 +824292 +403215 +1259934 +280881 +669760 +4671299 +1712170 +-4879123 +-1610724 +900207 +3608174 +476265 +-6235184 +-930709 +-1067630 +-2631611 +2829628 +-221409 +1788158 +-239255 +2962944 +-3016605 +-941590 +-2387443 +-2011444 +2277095 +2455686 +-3428247 +2761664 +-312941 +-1597822 +-2062035 +-1420572 +4854207 +-3204306 +-912951 +3915632 +182057 +-2442156 +-49229 +1856790 +-315931 +-1837040 +1997511 +2800394 +-757719 +-494540 +-3986901 +-1236522 +566541 +-4205016 +761087 +2285578 +2971865 +4100100 +5781491 +-1170810 +-3190059 +-406160 +-204593 +1688890 +-1852607 +-512012 +1643707 +-2908466 +-2619091 +-121552 +-263825 +1567194 +1108241 +1160596 +3800867 +1844294 +1994853 +-6045760 +3394151 +-593886 +-1120495 +1799732 +-1871853 +1581678 +3615621 +222392 +2791119 +-2686870 +2566369 +-27388 +-1782279 +-1303704 +2601643 +1133570 +-3436907 +-1777996 +1823471 +-1497786 +-2639303 +2286744 +5595651 +-595070 +41549 +4024220 +3144199 +-1778986 +1636041 +523608 +1671835 +-1522846 +136357 +1207540 +-2291001 +-1912602 +-776031 +3381096 +1276419 +-1664118 +286525 +683540 +-1888041 +-2691050 +-1672447 +2092600 +555611 +1269922 +4589285 +1682084 +-477697 +4312030 +1885249 +582392 +-3010613 +-1574758 +-4488251 +-1149764 +-5767433 +-1755770 +609857 +28072 +-675335 +-2995716 +70323 +-3617970 +2635061 +-1249768 +2000487 +-226142 +-377287 +758332 +-1325269 +3645838 +882237 +4414864 +1561311 +284354 +-239255 +-4084180 +3077843 +-2695074 +-3145883 +-2207624 +4672911 +516402 +-1098639 +-1751588 +-187749 +-3744154 +-1326723 +321720 +364879 +-465102 +-1550815 +472796 +-3637917 +-3274210 +-1690347 +2725640 +4613415 +-45254 +3843297 +2179708 +-2257517 +623078 +-1005515 +3371776 +665199 +-2928254 +-3971247 +3235724 +853009 +1206736 +1362883 +1471690 +492749 +-1215844 +-48697 +333710 +-810031 +859104 +-2609829 +3432906 +1568869 +2080356 +825311 +-1418562 +4071329 +-1687808 +101267 +-450294 +2475485 +-4636580 +-1729857 +-316594 +1111129 +4241360 +-168197 +-718350 +342709 +-1989316 +334383 +2102430 +513689 +-466432 +3873715 +-1266102 +3040381 +-1492276 +-908553 +-989402 +4607001 +-1832640 +-2530013 +-585182 +-1847779 +-614556 +-1571761 +-5942002 +596601 +1653872 +-1767111 +2279908 +-4950141 +-2401242 +1173621 +-3739360 +-1675113 +659546 +-6264967 +3380100 +1824955 +-5538970 +-2586787 +729592 +-1821297 +-732134 +1561257 +1565140 +-3869437 +-366890 +-766555 +-1797632 +-1370977 +2423562 +2637329 +121092 +-2191605 +677918 +-2319747 +3718656 +1184767 +-2254614 +1879649 +-244508 +-2772621 +-847978 +-1510795 +139344 +-552521 +1254578 +-1630687 +-1881852 +847843 +2008638 +-1450795 +-4342328 +1532255 +2588410 +-7363855 +1566036 +-58151 +-4240536 +-4808437 +1942338 +-422987 +-4743692 +2201103 +2958918 +-1571815 +-12328 +-913053 +-1522558 +-2732115 +-1879652 +-3290649 +-684586 +2127913 +36760 +-3892805 +-1751774 +-982331 +-1695116 +2797159 +1757286 +3403969 +16680 +-1302877 +557898 +-1564387 +3383316 +-1601481 +-1510890 +2799201 +-5160776 +-314501 +-2813406 +-4385147 +-962716 +586335 +-3235554 +2334817 +2831608 +-1688085 +1975962 +-3477339 +385404 +-3053801 +2116550 +-4201887 +-360600 +1641257 +2615820 +3421219 +608222 +2251493 +4599464 +-1311785 +-592782 +1093801 +1859980 +57307 +4732382 +649261 +233248 +-1656497 +1415122 +-706599 +1389436 +1482051 +-4379474 +2132309 +-863608 +-4676225 +-79422 +-4270623 +3572908 +-422261 +333878 +-247827 +2317256 +181375 +-686782 +2298897 +-357204 +1566355 +3807470 +104965 +-193704 +3890007 +-1548662 +-196015 +-886068 +1558979 +2103798 +3657253 +2738256 +489375 +-1493870 +-1703551 +1010396 +freeing 0 +freeing 1 +freeing 2 +freeing 3 +Reference graph at program exit: +Map(0) {} +100 +freeing 0 +Reference graph at program exit: +Map(0) {} +freeing 1 +freeing 2 +freeing 3 +17 +freeing 0 +freeing 4 +Reference graph at program exit: +Map(0) {} +108 +freeing 0 +Reference graph at program exit: +Map(0) {} +true +freeing 1 +true +freeing 2 +true +freeing 3 +true +freeing 4 +true +freeing 0 +freeing 5 +Reference graph at program exit: +Map(0) {} +5 +6 +21 +46 +82 +94 +freeing 0 +Reference graph at program exit: +Map(0) {} +2 +3 +5 +7 +11 +13 +17 +19 +23 +29 +31 +37 +41 +43 +47 +53 +59 +61 +67 +71 +73 +79 +83 +89 +97 +freeing 0 +Reference graph at program exit: +Map(0) {} +0 +1 +freeing 0 +freeing 1 +Reference graph at program exit: +Map(0) {} +freeing 0 +freeing 1 +Reference graph at program exit: +Map(0) {} diff --git a/baseline.txt b/baseline.txt new file mode 100644 index 000000000..7dbfde6d8 --- /dev/null +++ b/baseline.txt @@ -0,0 +1,9549 @@ +32 +255 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +7 +17 +25 +35 +46 +53 +60 +67 +73 +79 +89 +93 +99 +107 +116 +123 +131 +141 +146 +155 +164 +171 +178 +189 +197 +208 +216 +224 +230 +238 +246 +255 +0 +2 +4 +6 +18 +24 +26 +0 +2 +4 +8 +10 +14 +18 +22 +24 +30 +0 +4 +6 +8 +12 +14 +24 +30 +0 +2 +4 +6 +8 +10 +12 +16 +18 +24 +0 +2 +4 +12 +18 +20 +22 +24 +26 +28 +30 +0 +6 +8 +12 +16 +18 +26 +4 +8 +10 +18 +20 +28 +30 +6 +8 +10 +18 +20 +24 +30 +2 +8 +16 +22 +26 +28 +0 +8 +14 +22 +26 +30 +2 +6 +8 +10 +14 +16 +20 +24 +28 +30 +6 +20 +24 +28 +6 +10 +14 +18 +28 +30 +0 +4 +8 +10 +12 +18 +22 +28 +0 +2 +4 +6 +8 +18 +22 +24 +28 +0 +6 +12 +16 +22 +28 +30 +0 +2 +12 +14 +16 +20 +22 +28 +0 +2 +4 +6 +12 +14 +16 +22 +28 +30 +8 +12 +24 +28 +30 +2 +4 +6 +10 +12 +14 +18 +26 +28 +0 +2 +4 +8 +12 +16 +22 +24 +30 +2 +8 +10 +14 +18 +22 +26 +8 +12 +14 +20 +22 +28 +30 +0 +2 +4 +6 +8 +10 +12 +20 +24 +28 +30 +0 +2 +6 +12 +14 +16 +18 +24 +0 +4 +6 +8 +10 +14 +20 +22 +24 +26 +30 +0 +4 +8 +12 +16 +20 +26 +30 +0 +6 +12 +18 +20 +22 +26 +28 +0 +6 +8 +10 +12 +14 +0 +6 +10 +12 +16 +22 +26 +30 +0 +2 +4 +8 +10 +12 +14 +22 +2 +4 +6 +12 +16 +18 +20 +28 +30 +Reference graph at program exit: +Map(0) {} +1794899728 +Reference graph at program exit: +Map(0) {} +3 +Reference graph at program exit: +Map(0) {} +1 +3 +7 +9 +10 +Reference graph at program exit: +Map(0) {} +0 +5 +10 +15 +20 +25 +30 +35 +40 +45 +50 +55 +60 +65 +70 +75 +80 +85 +90 +95 +100 +105 +110 +115 +120 +125 +130 +135 +140 +145 +150 +155 +160 +165 +170 +175 +180 +185 +190 +195 +200 +205 +210 +215 +220 +225 +230 +235 +240 +245 +250 +0 +10 +20 +30 +40 +1 +11 +21 +31 +41 +2 +12 +22 +32 +42 +3 +13 +23 +33 +43 +4 +14 +24 +34 +44 +5 +15 +25 +35 +45 +6 +16 +26 +36 +46 +7 +17 +27 +37 +47 +8 +18 +28 +38 +48 +9 +19 +29 +39 +49 +10 +20 +30 +40 +0 +11 +21 +31 +41 +1 +12 +22 +32 +42 +2 +13 +23 +33 +43 +3 +14 +24 +34 +44 +4 +15 +25 +35 +45 +5 +16 +26 +36 +46 +6 +17 +27 +37 +47 +7 +18 +28 +38 +48 +8 +19 +29 +39 +49 +9 +20 +30 +40 +0 +10 +21 +31 +41 +1 +11 +22 +32 +42 +2 +12 +23 +33 +43 +3 +13 +24 +34 +44 +4 +14 +25 +35 +45 +5 +15 +26 +36 +46 +6 +16 +27 +37 +47 +7 +17 +28 +38 +48 +8 +18 +29 +39 +49 +9 +19 +30 +40 +0 +10 +20 +31 +41 +1 +11 +21 +32 +42 +2 +12 +22 +33 +43 +3 +13 +23 +34 +44 +4 +14 +24 +35 +45 +5 +15 +25 +36 +46 +6 +16 +26 +37 +47 +7 +17 +27 +38 +48 +8 +18 +28 +39 +49 +9 +19 +29 +40 +0 +10 +20 +30 +41 +1 +11 +21 +31 +42 +2 +12 +22 +32 +43 +3 +13 +23 +33 +44 +4 +14 +24 +34 +45 +5 +15 +25 +35 +46 +6 +16 +26 +36 +47 +7 +17 +27 +37 +48 +8 +18 +28 +38 +49 +9 +19 +29 +39 +5 +0 +1 +2 +5 +0 +1 +3 +6 +2 +5 +0 +1 +3 +6 +2 +4 +8 +6 +3 +7 +5 +0 +1 +3 +6 +3 +7 +5 +1 +3 +7 +5 +0 +0 +1 +-3 +0 +0 +0 +-5 +6 +3 +0 +0 +7 +-1 +5 +0 +0 +-6 +5 +-6 +5 +-6 +-1 +-1 +5 +-5 +7 +4 +-8 +0 +-6 +5 +-6 +5 +-6 +5 +-6 +-2 +3 +7 +-1 +4 +-7 +-4 +8 +6 +3 +6 +2 +-1 +-1 +-1 +5 +-6 +-1 +4 +-8 +-6 +-1 +-1 +-1 +-2 +-3 +1 +3 +0 +0 +6 +2 +4 +-7 +2 +-2 +2 +5 +-5 +-9 +-7 +2 +4 +9 +-7 +3 +0 +7 +-1 +-1 +-2 +-4 +-7 +2 +5 +1 +2 +-1 +4 +-7 +3 +-9 +9 +8 +-9 +-7 +-3 +0 +-5 +6 +3 +7 +-1 +4 +8 +0 +0 +-9 +-7 +3 +-9 +8 +7 +5 +-6 +-1 +-2 +2 +-1 +-2 +-3 +0 +1 +2 +4 +9 +-8 +0 +1 +2 +-1 +-2 +-3 +-5 +6 +2 +-1 +-1 +-2 +2 +-2 +-4 +-7 +3 +6 +-3 +1 +-3 +-6 +4 +-8 +0 +-5 +-9 +-8 +-5 +7 +-1 +-2 +-3 +1 +-4 +8 +-9 +-8 +-5 +7 +5 +0 +1 +-3 +-5 +-9 +-8 +1 +-4 +-7 +3 +0 +6 +3 +-9 +9 +-7 +2 +-2 +2 +4 +-7 +3 +7 +-1 +4 +-8 +1 +-3 +-6 +5 +0 +-5 +0 +7 +4 +9 +8 +-9 +-7 +2 +-2 +-3 +3 +7 +5 +1 +2 +4 +8 +6 +3 +6 +3 +6 +3 +6 +2 +5 +0 +1 +2 +5 +0 +0 +0 +1 +2 +4 +9 +9 +8 +7 +5 +0 +0 +1 +2 +5 +-5 +7 +-2 +3 +6 +3 +0 +0 +-9 +8 +-9 +9 +-8 +-6 +55 +12 +25 +40 +-1 +100 +69 +3 +21 +72 +-36 +28 +37 +-43 +33 +49 +24 +-68 +-16 +1 +19 +-74 +24 +-4 +65 +-13 +55 +-108 +46 +27 +39 +2 +11 +17 +12 +-4 +44 +0 +-81 +-94 +-22 +64 +-52 +17 +-37 +-1 +-148 +-93 +85 +-1 +Reference graph at program exit: +Map(0) {} +92 +Reference graph at program exit: +Map(0) {} +34 +Reference graph at program exit: +Map(0) {} +3 +Reference graph at program exit: +Map(0) {} +493 +-964 +599 +-666 +-375 +-280 +-413 +866 +941 +44 +415 +862 +449 +632 +395 +266 +277 +-92 +967 +406 +-183 +-216 +339 +818 +845 +908 +-329 +-866 +-663 +520 +-605 +722 +-987 +-516 +127 +-602 +-303 +-408 +-685 +778 +149 +-188 +111 +526 +505 +-464 +299 +-6 +-499 +-68 +447 +150 +-343 +-288 +-701 +-894 +709 +-612 +-49 +238 +-111 +-472 +-277 +610 +-931 +740 +-833 +-970 +209 +-464 +739 +10 +141 +700 +-121 +-154 +-631 +-24 +499 +410 +757 +-268 +-569 +-90 +-903 +712 +-813 +690 +-195 +-428 +231 +-914 +561 +-416 +939 +346 +965 +-348 +983 +-186 +-815 +48 +995 +-622 +725 +380 +783 +998 +865 +-304 +291 +778 +877 +820 +-425 +-106 +-239 +-432 +219 +770 +-259 +-60 +191 +-946 +-783 +-168 +-125 +-918 +549 +396 +-737 +70 +73 +696 +-21 +-934 +-227 +780 +71 +-474 +-559 +648 +403 +-478 +653 +148 +-617 +766 +441 +-200 +-885 +50 +-891 +916 +-585 +894 +945 +40 +923 +386 +-291 +404 +487 +86 +121 +-864 +-181 +-574 +-731 +-244 +-929 +998 +385 +928 +779 +-590 +-307 +-404 +327 +630 +-815 +-296 +651 +442 +-43 +-748 +279 +998 +401 +800 +107 +-62 +621 +-596 +559 +654 +-887 +-528 +171 +-742 +-507 +676 +135 +710 +73 +-272 +-533 +-974 +-307 +-948 +-417 +-522 +-439 +-72 +-485 +-398 +621 +-668 +-265 +-290 +865 +-152 +-613 +-678 +-635 +-692 +-385 +46 +641 +-744 +507 +-846 +101 +-500 +47 +222 +-935 +-144 +443 +-182 +861 +-620 +199 +-314 +-119 +-712 +531 +474 +997 +-612 +63 +-546 +-55 +176 +-181 +-582 +285 +-284 +183 +766 +-159 +-264 +-805 +794 +493 +332 +847 +814 +289 +368 +-797 +530 +885 +820 +439 +-682 +665 +248 +-557 +-734 +-523 +820 +55 +566 +-503 +-328 +891 +-110 +-435 +484 +495 +-354 +249 +336 +947 +618 +453 +564 +903 +902 +49 +544 +-373 +-38 +-515 +716 +407 +-962 +-815 +-296 +-997 +-790 +-547 +116 +-833 +-122 +689 +-704 +803 +738 +-795 +-684 +-73 +-34 +689 +824 +531 +10 +-515 +-444 +495 +-818 +273 +-648 +-573 +-766 +-707 +-388 +623 +-418 +1 +-416 +459 +-182 +989 +252 +-89 +-434 +-527 +8 +-453 +-422 +429 +980 +-785 +486 +281 +-632 +-341 +674 +-955 +-284 +-449 +-74 +521 +8 +-725 +634 +477 +-12 +-617 +-602 +641 +-432 +-301 +-294 +213 +-436 +-529 +974 +-775 +-80 +-597 +-958 +-843 +-324 +55 +-626 +601 +-128 +107 +-198 +-811 +308 +-169 +-402 +-231 +-224 +979 +186 +-155 +804 +-337 +-994 +649 +-96 +-589 +722 +189 +636 +-913 +14 +49 +568 +299 +378 +53 +308 +-993 +510 +281 +-48 +643 +962 +-355 +-340 +-577 +-754 +761 +920 +-749 +-606 +253 +996 +151 +742 +209 +656 +-221 +-510 +541 +-716 +-369 +-370 +-375 +-520 +83 +-734 +397 +188 +279 +758 +537 +-496 +243 +754 +-603 +-844 +247 +934 +-703 +-848 +-765 +-230 +125 +-692 +543 +910 +-295 +800 +-461 +754 +29 +644 +-641 +-346 +-255 +-768 +659 +-422 +781 +-884 +-897 +46 +481 +536 +-229 +554 +445 +948 +903 +638 +-695 +104 +-773 +-366 +-915 +484 +527 +-306 +-615 +-376 +-869 +-46 +717 +676 +-457 +-426 +-943 +208 +-149 +-798 +125 +-676 +519 +286 +-543 +-32 +107 +-566 +-115 +420 +807 +-882 +-495 +952 +371 +914 +-363 +-12 +-905 +350 +89 +-304 +-349 +850 +-843 +300 +807 +438 +993 +40 +379 +498 +-947 +84 +-625 +766 +129 +-992 +427 +-390 +-83 +-196 +-609 +-466 +17 +224 +-765 +874 +-443 +-268 +511 +-274 +-639 +544 +771 +66 +381 +-148 +847 +390 +625 +-944 +875 +690 +-915 +-980 +-825 +-842 +-439 +-848 +739 +-310 +-731 +20 +-1 +574 +-255 +-464 +-357 +938 +-923 +-68 +-889 +838 +-223 +-128 +587 +714 +-803 +-948 +103 +750 +329 +-680 +-269 +674 +693 +644 +-641 +-722 +329 +-176 +-677 +354 +453 +-484 +-1 +-394 +329 +-16 +355 +970 +157 +-60 +95 +526 +257 +-672 +747 +-158 +629 +788 +95 +286 +1 +-256 +-453 +-366 +-235 +-804 +903 +998 +161 +264 +803 +-382 +-939 +-988 +407 +-978 +721 +400 +635 +-846 +365 +-644 +-217 +230 +-95 +344 +723 +-942 +509 +196 +183 +566 +-39 +568 +603 +890 +773 +-484 +943 +534 +417 +-976 +155 +-222 +613 +-940 +663 +-978 +-735 +-232 +251 +202 +-627 +-4 +-609 +-658 +577 +-752 +147 +946 +933 +52 +207 +-410 +809 +-240 +771 +-166 +325 +-468 +967 +-650 +721 +-632 +907 +-686 +509 +-52 +607 +-506 +-823 +-816 +555 +226 +-347 +-956 +551 +-506 +-391 +720 +667 +-902 +893 +996 +927 +-746 +-807 +936 +-205 +2 +-771 +316 +-185 +-90 +-279 +-968 +307 +-462 +-531 +-804 +-425 +-546 +225 +856 +91 +250 +-235 +92 +983 +-546 +393 +0 +51 +-382 +597 +-716 +-1 +566 +305 +768 +387 +-950 +845 +220 +-721 +-794 +-695 +232 +-253 +-302 +-707 +-756 +-273 +462 +337 +-848 +-845 +-366 +-131 +988 +463 +798 +929 +-96 +187 +-94 +517 +-628 +439 +502 +825 +-184 +-245 +-606 +613 +956 +695 +-434 +577 +904 +683 +674 +709 +292 +-817 +-466 +561 +-480 +-149 +298 +-763 +-116 +-425 +-370 +161 +24 +-509 +-462 +349 +436 +-33 +678 +873 +-752 +-213 +850 +-139 +-836 +-329 +-106 +849 +-56 +723 +346 +693 +-540 +-329 +998 +457 +-752 +883 +170 +-539 +-468 +-617 +-266 +537 +-64 +611 +890 +13 +660 +-913 +382 +561 +840 +-549 +2 +885 +484 +-481 +-898 +-423 +272 +267 +-726 +157 +-436 +983 +-746 +905 +656 +499 +962 +437 +-628 +-457 +-634 +889 +-920 +-893 +50 +813 +772 +143 +-298 +-439 +168 +227 +658 +533 +-36 +423 +686 +-807 +432 +-557 +986 +-355 +-316 +-273 +38 +561 +624 +-613 +-454 +645 +-444 +-41 +-330 +-311 +-472 +955 +66 +-203 +-588 +-545 +326 +-391 +360 +-405 +914 +-571 +-252 +-345 +62 +-183 +136 +-341 +706 +-171 +412 +-25 +374 +41 +56 +-589 +442 +-707 +732 +-777 +-834 +-655 +-792 +-221 +170 +-603 +-628 +-385 +534 +-407 +328 +307 +-726 +701 +852 +831 +-82 +177 +688 +323 +-62 +-451 +108 +-537 +654 +193 +616 +459 +530 +-523 +-892 +287 +-354 +-95 +-864 +-189 +306 +-883 +-300 +-633 +110 +-207 +-976 +-221 +-342 +389 +-652 +-961 +886 +-247 +856 +-349 +-606 +-35 +460 +-721 +934 +-311 +744 +-245 +-910 +397 +964 +607 +-138 +-167 +-176 +-733 +322 +437 +-636 +583 +-554 +-327 +144 +827 +154 +-27 +68 +999 +926 +-623 +744 +419 +626 +-659 +148 +943 +958 +673 +-368 +-349 +786 +-291 +-836 +-169 +118 +1 +-864 +-669 +842 +389 +-692 +167 +-746 +265 +768 +-693 +-622 +237 +252 +847 +22 +-439 +960 +91 +-342 +-739 +-124 +951 +206 +-423 +-240 +-389 +-486 +277 +-700 +175 +-434 +385 +-432 +171 +738 +101 +228 +303 +-154 +761 +160 +-405 +-894 +981 +-4 +79 +590 +529 +-280 +387 +-558 +-995 +316 +-609 +46 +49 +-576 +-485 +186 +189 +-412 +-25 +118 +-591 +944 +-117 +-406 +-739 +396 +103 +614 +-87 +944 +-589 +954 +-3 +-860 +-449 +518 +913 +120 +-149 +506 +-395 +-732 +119 +-90 +-39 +888 +91 +570 +109 +148 +-705 +318 +993 +-648 +931 +-790 +237 +388 +503 +-170 +361 +-88 +299 +-886 +677 +-412 +799 +-746 +-63 +-744 +611 +802 +533 +948 +-737 +574 +-255 +744 +483 +-182 +-827 +252 +-225 +-298 +129 +552 +363 +314 +213 +-668 +-65 +-482 +-39 +-392 +99 +786 +45 +-436 +-489 +-378 +-551 +-24 +547 +-446 +757 +868 +247 +870 +-255 +896 +-589 +-862 +597 +-44 +-305 +710 +-343 +-368 +739 +442 +853 +372 +-97 +-290 +-311 +-232 +-981 +-606 +-147 +-108 +-313 +-874 +257 +-456 +-133 +-254 +-75 +-780 +-9 +374 +-191 +-432 +-373 +-966 +-419 +356 +-225 +374 +-495 +568 +-885 +-414 +13 +-348 +-729 +-410 +-543 +472 +291 +-102 +197 +684 +-513 +-114 +33 +-968 +-693 +642 +-707 +348 +319 +-442 +-79 +-192 +307 +-374 +421 +76 +911 +-794 +289 +-248 +-101 +-742 +357 +-204 +-353 +766 +-151 +120 +427 +266 +-331 +-572 +-137 +-626 +545 +744 +715 +-366 +-339 +44 +791 +326 +-391 +328 +987 +-182 +-955 +-156 +23 +334 +-247 +-888 +-709 +610 +-979 +-404 +223 +-66 +-735 +-912 +-629 +954 +-915 +884 +247 +-498 +-943 +-64 +-901 +242 +-483 +-700 +-785 +14 +-983 +-624 +123 +-78 +-275 +-388 +-881 +342 +249 +-800 +723 +122 +-259 +572 +-97 +-458 +-543 +928 +-93 +474 +-715 +356 +-1 +478 +-943 +376 +-725 +-270 +-875 +884 +-673 +-666 +721 +-720 +-493 +-182 +149 +988 +-937 +-178 +753 +560 +411 +906 +501 +-572 +-553 +6 +97 +-656 +995 +-430 +165 +988 +311 +-234 +-663 +-672 +-861 +370 +701 +-620 +-905 +438 +-71 +-720 +-661 +-150 +-107 +-636 +783 +534 +761 +968 +971 +-574 +677 +876 +935 +550 +113 +832 +771 +762 +-283 +-724 +439 +622 +-783 +656 +539 +-334 +437 +292 +783 +182 +297 +656 +-93 +978 +525 +636 +399 +286 +-999 +-232 +491 +770 +101 +236 +-625 +406 +617 +600 +971 +-782 +-419 +580 +951 +-354 +-695 +-616 +-981 +-54 +173 +-132 +511 +534 +665 +-232 +107 +-958 +461 +220 +287 +-802 +-191 +856 +355 +-286 +-779 +-4 +311 +894 +9 +88 +-885 +834 +733 +940 +-825 +-250 +-783 +968 +163 +-118 +765 +-388 +-329 +-66 +-375 +-984 +979 +26 +701 +372 +-25 +-754 +-87 +-888 +459 +898 +-571 +-324 +927 +110 +-919 +-952 +771 +-198 +-595 +988 +887 +-954 +49 +-224 +251 +66 +-963 +420 +-849 +-74 +-775 +-848 +675 +474 +501 +588 +-433 +-522 +601 +408 +211 +-454 +141 +-748 +335 +-602 +-239 +664 +643 +290 +-523 +132 +-145 +-810 +905 +-784 +-205 +482 +957 +628 +-489 +958 +-895 +-864 +915 +-630 +149 +-284 +-377 +318 +-111 +-960 +299 +266 +765 +316 +543 +-130 +49 +-736 +675 +-294 +797 +-444 +-289 +918 +769 +792 +883 +722 +965 +332 +-817 +894 +-79 +-408 +155 +354 +485 +-324 +599 +542 +105 +-736 +835 +-198 +261 +-44 +-73 +710 +905 +504 +851 +602 +565 +-916 +-817 +198 +-567 +-816 +787 +-246 +-915 +-372 +-97 +438 +889 +280 +-229 +818 +621 +-668 +-225 +94 +-87 +-464 +267 +738 +125 +836 +751 +182 +-143 +-944 +-357 +-398 +-235 +-764 +-185 +262 +145 +-968 +-661 +-910 +685 +932 +-609 +-98 +-351 +-864 +835 +-390 +749 +-748 +927 +854 +873 +-920 +-893 +186 +213 +940 +-929 +638 +593 +-984 +555 +-998 +-835 +-132 +7 +-434 +-623 +0 +667 +538 +-939 +628 +-305 +-554 +-471 +-800 +155 +26 +741 +-68 +-945 +-410 +-711 +216 +-45 +242 +925 +-988 +871 +46 +841 +376 +131 +202 +-227 +564 +-137 +254 +121 +-864 +611 +-206 +5 +-860 +-89 +222 +569 +208 +-501 +42 +277 +-684 +-649 +142 +529 +896 +-909 +202 +669 +532 +-321 +-826 +-23 +-808 +339 +130 +-955 +644 +-113 +-10 +-879 +-864 +-541 +890 +981 +140 +-433 +902 +537 +232 +-541 +450 +13 +748 +535 +294 +601 +872 +51 +-606 +965 +116 +351 +-802 +857 +56 +-645 +-886 +237 +-12 +-545 +-834 +-679 +-160 +-757 +-350 +-995 +220 +-713 +-178 +985 +352 +-405 +-982 +589 +-468 +31 +-282 +-47 +448 +-949 +-46 +517 +-588 +-601 +-626 +449 +-416 +507 +2 +261 +-308 +919 +-490 +-599 +-176 +-613 +58 +-995 +68 +-409 +262 +-575 +472 +123 +-630 +-851 +516 +751 +478 +713 +552 +-357 +-310 +-795 +796 +-577 +790 +241 +-544 +307 +106 +589 +44 +767 +-458 +-559 +408 +99 +-54 +701 +-892 +191 +286 +73 +-984 +227 +-238 +165 +-148 +-273 +-946 +-247 +736 +-933 +482 +-923 +-492 +743 +-442 +297 +-280 +-173 +546 +-963 +204 +-649 +-794 +169 +448 +619 +-590 +-411 +-540 +175 +-322 +561 +168 +883 +-734 +653 +-444 +-89 +478 +-191 +744 +803 +770 +-987 +300 +15 +206 +873 +464 +-181 +-206 +-715 +-516 +359 +-178 +-943 +264 +-293 +-270 +285 +-980 +247 +782 +713 +904 +747 +754 +597 +-68 +-209 +150 +-879 +72 +-309 +-734 +-427 +-692 +-993 +142 +-199 +-688 +-877 +-350 +245 +460 +-641 +558 +-719 +944 +707 +178 +509 +-580 +-705 +-114 +-711 +752 +115 +514 +-395 +-324 +863 +-74 +313 +-840 +939 +-998 +269 +716 +239 +-778 +-439 +256 +843 +170 +885 +-628 +799 +-842 +-31 +-464 +-645 +-142 +773 +108 +-673 +966 +921 +248 +979 +-494 +-251 +180 +639 +502 +697 +40 +203 +482 +709 +-260 +-401 +822 +-223 +-528 +659 +962 +429 +-460 +-697 +-466 +281 +832 +-781 +402 +453 +-156 +15 +918 +673 +-560 +907 +-190 +-211 +-540 +415 +830 +-335 +-128 +427 +322 +-931 +-692 +535 +-914 +-631 +-64 +-501 +930 +-827 +-836 +-641 +-354 +681 +888 +387 +-78 +-459 +620 +15 +838 +9 +392 +-797 +-966 +-763 +436 +-49 +294 +-967 +88 +659 +586 +501 +-596 +351 +-642 +161 +840 +563 +-670 +269 +-172 +-105 +902 +-863 +632 +-837 +-62 +557 +380 +-169 +630 +353 +744 +-733 +-966 +149 +-316 +599 +790 +881 +800 +507 +866 +621 +-764 +-201 +-770 +425 +496 +-909 +-542 +125 +-364 +-937 +-122 +-519 +-792 +99 +250 +-667 +-28 +735 +478 +1 +-984 +331 +498 +-115 +-308 +999 +478 +-935 +-88 +99 +554 +117 +500 +615 +-194 +913 +504 +691 +618 +-819 +-540 +-905 +54 +353 +-432 +-957 +322 +77 +772 +-545 +926 +993 +248 +-949 +98 +61 +276 +-745 +-314 +-311 +-72 +59 +-142 +-219 +-276 +263 +-794 +545 +-368 +43 +-398 +421 +132 +-569 +-186 +-567 +328 +579 +-710 +-531 +268 +39 +134 +809 +800 +939 +2 +597 +-588 +519 +-298 +-623 +376 +267 +-614 +-899 +108 +-257 +662 +-823 +456 +755 +410 +205 +-876 +263 +926 +657 +624 +923 +-982 +-683 +180 +487 +-258 +-663 +-960 +219 +-46 +301 +-500 +-657 +-122 +321 +584 +731 +130 +213 +44 +-49 +-898 +649 +592 +435 +834 +-947 +948 +415 +-650 +-711 +760 +-37 +466 +525 +860 +-217 +-370 +-23 +-680 +-197 +-534 +453 +-668 +119 +-754 +249 +-464 +523 +82 +821 +-308 +575 +390 +-207 +464 +-389 +-126 +277 +772 +447 +838 +-119 +-984 +-501 +730 +-811 +164 +-345 +222 +425 +-312 +531 +514 +-291 +-884 +887 +662 +449 +-512 +451 +434 +941 +-956 +167 +-538 +-879 +-616 +763 +-270 +-523 +156 +567 +518 +-911 +464 +259 +-358 +-787 +476 +119 +782 +497 +-648 +-525 +-902 +189 +-580 +415 +-658 +-719 +856 +859 +-806 +-539 +52 +311 +582 +913 +-392 +-69 +730 +-275 +-436 +-857 +-570 +-183 +760 +19 +-926 +-123 +-948 +935 +-562 +321 +-88 +-717 +-854 +109 +956 +615 +390 +273 +-296 +507 +978 +869 +740 +-313 +686 +489 +-392 +147 +610 +-355 +972 +583 +382 +-663 +784 +683 +962 +13 +-644 +687 +-82 +633 +-592 +-69 +34 +373 +-716 +-545 +-498 +425 +-656 +171 +34 +45 +-716 +-705 +126 +873 +-272 +259 +-54 +-787 +780 +-121 +-546 +-415 +-744 +563 +-438 +413 +-812 +-345 +-170 +345 +-240 +-605 +922 +85 +-148 +543 +286 +-967 +-800 +-269 +-30 +-747 +-796 +199 +374 +897 +-728 +235 +-526 +389 +724 +111 +-434 +-943 +672 +-565 +-670 +725 +396 +215 +462 +-343 +-912 +787 +794 +525 +-820 +839 +758 +-343 +656 +571 +-726 +101 +244 +-193 +382 +-647 +384 +699 +186 +941 +812 +-913 +446 +-839 +808 +-773 +-118 +325 +36 +503 +-778 +345 +-392 +259 +-246 +165 +348 +911 +-794 +865 +664 +907 +-798 +-355 +548 +823 +958 +49 +-920 +611 +626 +221 +-580 +95 +446 +201 +-424 +-45 +546 +-443 +772 +-961 +-122 +-999 +224 +963 +778 +-35 +-908 +-433 +350 +273 +592 +-981 +170 +-891 +-724 +-9 +-634 +233 +-368 +-141 +242 +605 +-188 +951 +158 +569 +224 +-397 +-38 +165 +788 +-977 +-250 +41 +40 +435 +970 +549 +-916 +-153 +470 +953 +640 +-653 +-358 +-27 +-236 +319 +-594 +-23 +792 +403 +-374 +-51 +44 +-217 +-210 +97 +-8 +843 +146 +813 +-372 +-905 +-418 +-271 +688 +-493 +-102 +885 +724 +-297 +-18 +-735 +-376 +963 +-886 +-323 +-28 +-777 +-778 +585 +-816 +867 +-782 +861 +852 +295 +-442 +-39 +696 +827 +-142 +-171 +-300 +607 +46 +937 +832 +731 +-878 +-283 +-132 +255 +-330 +401 +608 +219 +-342 +189 +-652 +87 +182 +-311 +936 +83 +866 +149 +-420 +743 +526 +-159 +-632 +-277 +242 +469 +932 +703 +838 +-703 +-264 +-69 +618 +-347 +908 +239 +118 +-679 +560 +331 +-406 +-555 +-460 +-289 +454 +-863 +-640 +-165 +162 +-667 +92 +103 +526 +633 +976 +291 +-478 +133 +28 +-713 +590 +337 +-808 +355 +-422 +389 +948 +-129 +78 +-7 +544 +171 +562 +-979 +-532 +551 +30 +-47 +776 +307 +-430 +-731 +852 +327 +710 +353 +984 +739 +-406 +157 +404 +15 +126 +-927 +112 +115 +10 +-603 +612 +-753 +-994 +-911 +-96 +-189 +-366 +-755 +644 +-433 +-586 +745 +-520 +355 +-606 +-283 +-484 +-297 +-2 +529 +-288 +-293 +642 +-475 +-492 +119 +878 +-71 +-336 +603 +-30 +589 +884 +39 +534 +425 +-640 +-293 +226 +197 +700 +423 +166 +305 +-616 +107 +-334 +205 +-60 +-393 +-626 +-87 +-96 +563 +-126 +5 +540 +-1 +550 +-951 +600 +283 +434 +-955 +20 +-809 +-762 +-679 +-248 +451 +-758 +301 +380 +-985 +734 +-527 +-168 +-645 +-662 +-195 +676 +-41 +-450 +961 +824 +-885 +-166 +829 +-164 +-729 +70 +-279 +792 +371 +-510 +-99 +52 +-809 +150 +113 +352 +-53 +-390 +965 +-884 +383 +-578 +-559 +-752 +59 +426 +-763 +-996 +383 +-618 +385 +-944 +187 +658 +-611 +-444 +-785 +630 +-967 +16 +-829 +-486 +645 +836 +503 +726 +681 +-176 +739 +50 +-219 +-556 +855 +614 +-455 +736 +-45 +-70 +293 +-20 +535 +902 +-687 +328 +307 +-318 +381 +-524 +-577 +-450 +-919 +352 +859 +-710 +389 +532 +-705 +-162 +-591 +64 +-445 +986 +-979 +940 +-921 +-546 +865 +-952 +147 +-486 +245 +-4 +359 +670 +177 +952 +-181 +490 +661 +772 +-745 +350 +721 +304 +19 +242 +949 +-276 +-649 +406 +313 +-248 +-877 +154 +-803 +-252 +-1 +270 +-215 +-784 +931 +-534 +-243 +-740 +-273 +-762 +529 +944 +915 +-990 +509 +220 +-849 +838 +-375 +624 +-653 +-174 +-251 +628 +911 +-594 +953 +-936 +795 +-78 +477 +92 +71 +182 +361 +248 +259 +-302 +-91 +-404 +-305 +-474 +857 +504 +131 +-894 +-611 +-396 +783 +966 +-63 +-952 +-461 +-686 +157 +628 +663 +-866 +257 +-936 +355 +114 +-899 +12 +887 +-578 +337 +984 +683 +-70 +757 +732 +895 +222 +-167 +528 +411 +-686 +525 +-364 +-593 +-50 +865 +640 +603 +210 +741 +804 +127 +-618 +97 +-272 +347 +-918 +717 +-796 +-713 +142 +625 +544 +-621 +698 +317 +-844 +103 +966 +-63 +-88 +483 +762 +941 +524 +-353 +694 +-439 +800 +355 +-534 +-891 +-804 +-961 +278 +1 +-512 +-157 +370 +469 +364 +-617 +-178 +649 +160 +-445 +-422 +-419 +52 +535 +-850 +137 +-144 +147 +546 +-683 +236 +823 +446 +-447 +816 +-261 +-366 +-299 +-876 +-561 +-530 +-199 +440 +131 +-150 +597 +644 +447 +-938 +689 +-184 +-277 +-334 +149 +-36 +-769 +502 +-711 +-128 +-221 +-710 +-883 +724 +-129 +222 +-495 +-672 +-509 +482 +701 +740 +727 +-522 +-991 +232 +507 +322 +661 +-460 +-449 +-210 +273 +960 +-117 +874 +269 +-244 +943 +-458 +465 +-88 +467 +-278 +-83 +-28 +239 +934 +497 +528 +-869 +578 +-947 +172 +-889 +670 +-335 +-952 +75 +-758 +533 +708 +-993 +918 +601 +-224 +635 +482 +-11 +580 +615 +-154 +257 +-456 +-293 +2 +405 +-780 +-153 +726 +-903 +-448 +731 +18 +157 +708 +895 +-186 +-871 +24 +587 +-614 +-147 +-908 +159 +318 +81 +-8 +-13 +-814 +-283 +52 +895 +-722 +441 +688 +43 +906 +861 +420 +303 +478 +49 +72 +-957 +378 +333 +-676 +727 +-562 +281 +-48 +611 +762 +845 +-372 +-121 +966 +145 +-248 +-541 +34 +-915 +-540 +863 +502 +-599 +24 +-701 +730 +221 +276 +279 +-10 +537 +400 +91 +434 +-947 +628 +-65 +862 +-799 +720 +107 +-598 +-427 +-892 +535 +998 +-791 +680 +-485 +234 +717 +652 +-265 +-386 +881 +-416 +315 +834 +-915 +916 +703 +-74 +-407 +568 +-749 +-238 +533 +-196 +-745 +102 +-63 +-672 +459 +-606 +141 +308 +-705 +-594 +-431 +-368 +571 +-750 +-603 +-852 +-161 +742 +-815 +984 +435 +-846 +-347 +60 +391 +-186 +-607 +-392 +-741 +10 +-523 +532 +655 +-370 +793 +232 +-397 +-606 +-691 +620 +23 +798 +817 +-768 +-517 +-446 +-643 +-796 +975 +894 +705 +376 +-189 +10 +109 +100 +-249 +-194 +513 +248 +-165 +898 +-955 +348 +-857 +382 +-487 +200 +139 +-654 +-43 +476 +-673 +-322 +-87 +-432 +427 +-174 +-627 +-644 +143 +-290 +489 +-840 +171 +-302 +-507 +300 +-81 +774 +-679 +712 +-77 +794 +917 +636 +-585 +126 +481 +248 +-925 +-758 +-411 +-628 +791 +566 +-199 +672 +915 +274 +-235 +-332 +-161 +-698 +921 +728 +-429 +-158 +-171 +-372 +567 +950 +233 +-968 +667 +-454 +-699 +684 +-225 +822 +-111 +648 +395 +122 +781 +-628 +295 +830 +-903 +-656 +-77 +434 +949 +172 +127 +-682 +-343 +912 +-149 +-374 +749 +236 +799 +710 +-391 +928 +-645 +146 +717 +748 +-169 +-874 +569 +-824 +-365 +-822 +-771 +836 +367 +574 +129 +512 +899 +186 +461 +-420 +-281 +-506 +113 +-824 +203 +-182 +245 +-828 +775 +406 +105 +144 +-221 +-102 +109 +772 +991 +-394 +-703 +-416 +3 +2 +-851 +100 +-913 +-418 +297 +344 +267 +-190 +-971 +716 +-737 +838 +521 +200 +-333 +-46 +-555 +-580 +399 +30 +-399 +504 +-309 +-398 +509 +-412 +959 +-338 +353 +752 +-213 +410 +525 +-284 +-881 +6 +-743 +-168 +211 +290 +869 +380 +-545 +54 +-215 +-504 +-709 +2 +-731 +396 +639 +358 +-943 +-576 +427 +58 +-3 +612 +775 +630 +929 +-840 +-381 +282 +901 +556 +47 +-794 +297 +968 +-77 +98 +-563 +-228 +-233 +126 +-63 +720 +-709 +154 +-731 +804 +-185 +870 +129 +864 +499 +-318 +717 +180 +-265 +742 +201 +752 +59 +978 +-235 +604 +-289 +798 +-863 +-536 +11 +-246 +525 +-340 +807 +206 +-479 +520 +-285 +-150 +-499 +348 +-9 +-978 +-783 +-512 +-333 +-566 +749 +532 +-553 +742 +-975 +376 +163 +210 +-51 +-332 +783 +-18 +-775 +928 +-37 +458 +-275 +-324 +423 +758 +417 +832 +699 +-886 +-171 +372 +-73 +-114 +705 +696 +387 +834 +725 +-748 +703 +-674 +-855 +240 +-605 +-262 +685 +780 +-369 +454 +-383 +904 +235 +-494 +-955 +444 +63 +502 +313 +144 +-237 +-30 +-763 +12 +479 +926 +201 +-912 +555 +290 +549 +-676 +-9 +142 +713 +472 +747 +-478 +237 +-132 +-585 +-186 +857 +960 +27 +-606 +581 +-348 +-777 +-322 +305 +-880 +-557 +74 +629 +524 +-441 +550 +-751 +-952 +275 +-398 +677 +-764 +879 +-818 +-55 +-424 +-701 +-926 +813 +-988 +663 +622 +-815 +-176 +-445 +866 +-747 +-172 +-505 +-482 +457 +-968 +155 +706 +-235 +-908 +167 +-114 +-527 +8 +147 +250 +-187 +-860 +-297 +822 +-103 +-232 +11 +-14 +493 +-148 +-825 +-394 +121 +-176 +507 +-470 +181 +468 +327 +-26 +489 +584 +83 +-582 +277 +940 +-857 +86 +545 +-912 +955 +50 +973 +-692 +495 +974 +-647 +-976 +587 +-910 +-843 +-916 +-257 +518 +-775 +496 +35 +-782 +165 +620 +199 +-722 +-543 +-328 +451 +914 +-739 +-108 +423 +454 +801 +-624 +-909 +-70 +-435 +-636 +407 +734 +-607 +40 +-277 +-262 +205 +-996 +-481 +518 +697 +-344 +-357 +-542 +-43 +-996 +911 +-490 +-847 +936 +259 +466 +-147 +420 +175 +406 +801 +560 +723 +-174 +-635 +436 +63 +-802 +-743 +432 +-293 +554 +813 +180 +383 +-826 +905 +-552 +-733 +122 +541 +244 +-865 +-378 +905 +-496 +-221 +-942 +-931 +708 +-185 +-306 +105 +-832 +451 +-78 +-555 +492 +151 +934 +-263 +-464 +-245 +-598 +-363 +420 +23 +110 +441 +-984 +411 +-534 +-755 +860 +79 +-874 +161 +-912 +-237 +-342 +693 +388 +-697 +-66 +-7 +-440 +299 +-870 +-499 +468 +-393 +-282 +457 +200 +595 +42 +173 +-260 +919 +158 +697 +-160 +-805 +-558 +413 +-540 +-241 +582 +529 +-416 +-181 +98 +-11 +884 +327 +926 +241 +536 +-493 +-742 +-27 +676 +95 +14 +-255 +552 +387 +-246 +-115 +-932 +-209 +-762 +409 +192 +-581 +994 +477 +36 +943 +126 +-767 +-256 +779 +-638 +869 +-628 +951 +-314 +-967 +224 +67 +-894 +-307 +-276 +647 +-122 +-735 +-744 +451 +-694 +-611 +292 +919 +-722 +937 +416 +611 +-182 +-659 +-220 +391 +-890 +273 +-24 +923 +-334 +541 +684 +367 +-202 +393 +-200 +403 +-654 +885 +-444 +-873 +-738 +617 +776 +363 +-798 +-123 +-924 +-9 +54 +265 +920 +307 +754 +845 +524 +303 +-378 +937 +-720 +-461 +10 +-731 +116 +-417 +-986 +569 +616 +-957 +202 +757 +444 +-553 +-978 +545 +976 +923 +994 +-747 +828 +-273 +-122 +17 +992 +467 +-318 +925 +364 +-945 +-250 +-295 +840 +867 +90 +237 +676 +559 +78 +625 +912 +-941 +698 +789 +476 +143 +-578 +857 +-400 +675 +-222 +413 +628 +311 +-858 +601 +-608 +-621 +-174 +317 +564 +55 +566 +-495 +-680 +-269 +986 +653 +204 +247 +-922 +-519 +-256 +723 +202 +-483 +836 +983 +-818 +361 +928 +803 +-526 +397 +-36 +-425 +494 +617 +640 +507 +-470 +829 +-892 +231 +414 +-199 +-816 +139 +-598 +173 +-564 +47 +-290 +257 +-472 +-541 +10 +453 +-260 +87 +-474 +-671 +664 +763 +-366 +181 +612 +543 +-658 +-607 +-760 +-325 +-270 +789 +660 +167 +-858 +-471 +-56 +-173 +650 +533 +436 +823 +510 +881 +-352 +163 +258 +-811 +68 +-417 +678 +377 +88 +-645 +410 +-843 +860 +767 +950 +-119 +-496 +-341 +514 +-787 +-12 +-97 +-242 +-39 +-880 +-605 +-374 +661 +-868 +743 +-378 +-223 +-168 +-829 +402 +477 +404 +775 +-298 +-151 +64 +-93 +-358 +-563 +-596 +239 +214 +-383 +592 +555 +-678 +773 +-836 +-897 +-810 +-239 +-752 +259 +-6 +181 +-284 +303 +-690 +753 +904 +-597 +-502 +-691 +676 +-497 +446 +705 +-120 +-477 +698 +-307 +-132 +903 +-754 +-335 +-312 +-661 +74 +989 +-988 +-425 +782 +217 +-896 +-517 +-918 +-851 +244 +-481 +702 +-583 +-472 +-253 +-766 +253 +-108 +231 +-74 +-367 +376 +411 +-30 +-651 +-436 +-593 +70 +689 +104 +-117 +754 +-875 +524 +-561 +142 +-831 +-88 +-989 +210 +117 +852 +583 +-226 +-63 +696 +811 +-110 +133 +-428 +-169 +654 +761 +752 +339 +26 +933 +996 +887 +-18 +41 +-224 +483 +-486 +805 +892 +-385 +-242 +513 +176 +-493 +-870 +-507 +916 +127 +-250 +897 +88 +131 +362 +309 +116 +655 +846 +185 +192 +-205 +-678 +-963 +980 +-881 +-802 +-807 +904 +-877 +730 +405 +-644 +991 +-722 +-967 +-568 +403 +210 +-803 +84 +-113 +-658 +281 +864 +59 +738 +-795 +-908 +-41 +982 +785 +888 +-789 +-958 +741 +604 +887 +638 +905 +328 +-37 +-38 +-811 +-428 +351 +718 +-415 +496 +555 +-670 +-763 +-468 +-809 +966 +641 +72 +139 +282 +-747 +-204 +679 +958 +73 +-56 +427 +-878 +933 +-700 +879 +-746 +833 +-952 +259 +170 +-907 +924 +-177 +142 +-983 +-360 +795 +706 +-291 +-756 +447 +46 +-135 +432 +603 +938 +21 +-292 +247 +-714 +-383 +-824 +435 +-286 +-283 +-84 +423 +702 +433 +-240 +-901 +994 +77 +604 +-945 +-322 +537 +600 +-565 +-702 +869 +-572 +-361 +358 +409 +-704 +-493 +26 +-899 +500 +663 +-682 +-823 +-16 +547 +-854 +149 +868 +-377 +974 +-727 +-928 +-685 +-958 +85 +-428 +-801 +254 +-719 +-360 +-645 +26 +-491 +516 +-649 +-130 +-711 +608 +-605 +394 +-291 +404 +607 +-794 +-423 +400 +-621 +418 +757 +-740 +527 +150 +-295 +136 +155 +610 +-459 +-964 +647 +894 +-167 +-800 +979 +-526 +-507 +236 +367 +182 +593 +136 +635 +978 +-731 +356 +-689 +-298 +-647 +-544 +-429 +-590 +-523 +644 +-369 +-514 +-647 +464 +-213 +-550 +957 +-812 +703 +198 +849 +344 +963 +370 +-211 +-604 +799 +-474 +289 +640 +-309 +666 +-699 +-940 +-473 +-842 +-711 +72 +-85 +690 +621 +-652 +943 +-346 +489 +-560 +651 +-254 +141 +-260 +39 +350 +449 +520 +547 +962 +-683 +892 +847 +-698 +-791 +-440 +-221 +818 +197 +-172 +231 +118 +-143 +-920 +595 +34 +-979 +-468 +263 +-58 +945 +-704 +-413 +762 +949 +-36 +-697 +-434 +113 +392 +499 +-518 +-523 +28 +343 +-106 +-519 +-136 +-909 +746 +-603 +404 +-457 +-418 +-487 +264 +179 +578 +37 +188 +239 +702 +569 +-24 +307 +266 +-955 +-340 +263 +-594 +569 +-512 +3 +-278 +997 +212 +-729 +-290 +-887 +-776 +339 +570 +701 +220 +-305 +574 +-71 +-368 +-29 +210 +341 +92 +607 +-402 +-407 +208 +115 +58 +-979 +596 +543 +-874 +809 +984 +11 +922 +-603 +-788 +503 +-906 +-231 +448 +739 +970 +-483 +-148 +-625 +-362 +-671 +-16 +179 +-902 +941 +660 +991 +542 +513 +0 +811 +338 +-635 +-812 +359 +142 +65 +-72 +-893 +298 +957 +-676 +-169 +838 +729 +864 +443 +-654 +-731 +660 +-601 +-802 +-831 +712 +915 +362 +69 +44 +103 +430 +-775 +184 +563 +242 +-771 +620 +815 +-218 +-463 +-496 +-77 +-182 +965 +-276 +-417 +-746 +857 +928 +-29 +-158 +965 +68 +7 +782 +-79 +400 +-245 +914 +973 +-932 +599 +910 +953 +-488 +91 +530 +-427 +300 +-449 +-786 +801 +112 +571 +58 +213 +260 +-337 +-530 +937 +880 +563 +250 +645 +212 +895 +-978 +-487 +-664 +507 +-214 +-715 +-724 +895 +854 +-471 +-200 +-685 +98 +205 +-308 +191 +38 +65 +-320 +595 +58 +85 +588 +303 +254 +49 +-784 +123 +242 +-643 +-492 +527 +-866 +153 +-16 +-485 +154 +-611 +700 +423 +958 +-911 +-880 +-277 +-422 +-707 +-268 +119 +-258 +881 +440 +-157 +658 +-915 +-972 +-297 +-58 +-279 +208 +707 +234 +269 +-220 +151 +150 +-407 +216 +723 +-862 +805 +-388 +127 +-642 +-975 +608 +-485 +138 +173 +812 +-761 +286 +209 +224 +267 +-942 +109 +260 +383 +-146 +337 +-320 +291 +642 +309 +900 +-809 +-682 +-319 +-376 +219 +-614 +477 +-788 +335 +-314 +-423 +848 +531 +-126 +-771 +284 +-345 +462 +905 +-528 +51 +482 +5 +156 +-697 +134 +-551 +-16 +-509 +-982 +-187 +612 +-161 +-754 +697 +120 +-85 +434 +325 +212 +-689 +-826 +737 +872 +-453 +-294 +629 +-596 +-689 +942 +841 +-992 +-117 +658 +373 +-964 +-185 +-954 +-95 +-984 +-189 +266 +-611 +-476 +-473 +878 +449 +376 +-613 +-926 +205 +-332 +463 +-522 +393 +-576 +-301 +-158 +-243 +-828 +167 +-586 +201 +656 +-509 +186 +-3 +-844 +103 +-594 +193 +-880 +-469 +-542 +197 +940 +223 +-442 +865 +856 +923 +-446 +693 +388 +919 +302 +-719 +528 +931 +338 +-811 +-852 +967 +-250 +313 +-408 +611 +-126 +957 +-124 +271 +-802 +-831 +-408 +-813 +290 +-523 +708 +-489 +-82 +601 +-872 +851 +634 +309 +-28 +-241 +-10 +113 +664 +355 +818 +-571 +-748 +695 +950 +409 +752 +931 +-846 +-283 +-916 +-337 +70 +337 +-456 +-749 +922 +957 +372 +247 +-826 +-231 +-168 +-677 +-838 +597 +236 +143 +230 +145 +-784 +787 +10 +-155 +980 +343 +-442 +-111 +-488 +-125 +-598 +733 +-636 +271 +454 +361 +-416 +435 +-918 +-643 +684 +-1 +246 +209 +144 +195 +-438 +-107 +644 +71 +-426 +665 +-880 +979 +-590 +-419 +948 +-193 +-122 +-895 +888 +395 +618 +-639751 +-2064456 +2438091 +-228814 +2307157 +3526404 +1330191 +2675190 +-185799 +4620456 +-1612125 +-545422 +-1661043 +698668 +-784089 +-2343482 +-1619831 +3416872 +-1406789 +-1438702 +-2094939 +-16892 +2725863 +571606 +-737247 +863928 +112867 +-1681606 +486909 +2640420 +644983 +-1085946 +-2801727 +-1490744 +1425467 +4490130 +53541 +1591540 +1032223 +2690318 +1418305 +-585464 +2384683 +88522 +567941 +1145420 +4051607 +1975286 +-3740287 +1818552 +-1622687 +917532 +-540181 +651326 +726909 +-1923176 +-1331713 +-1743118 +3082593 +-2562852 +-888861 +-665410 +-2560315 +420816 +-2659081 +-414126 +-1487343 +859532 +1312331 +667278 +3201389 +400120 +-307737 +-1665598 +749337 +1182908 +-3354733 +2699414 +-3784699 +5967224 +577959 +3118594 +1902089 +-582020 +693211 +-1132146 +-2319843 +-1227512 +-2802945 +3311434 +-2700855 +-2165092 +-1229813 +199062 +4680957 +-4135296 +2727815 +-3275054 +-474119 +-142996 +259929 +3946960 +2108891 +1853722 +1425269 +-623428 +5056639 +502462 +-2418087 +-1804960 +4756915 +-2976294 +-3811443 +4182852 +2796119 +1323054 +-793111 +-3371072 +-1260565 +2302490 +-1207931 +-1713988 +-3211593 +-708546 +641825 +-1217584 +2009619 +-2552190 +-105123 +1945244 +1341031 +1564430 +-2045279 +1609216 +-1133109 +-2012838 +-4090267 +784684 +2045743 +-2279850 +-1607199 +6767360 +-1828613 +4650418 +-1539899 +2738116 +-2353145 +4608958 +-2157119 +-1981008 +998641 +-1126108 +963179 +-2967274 +1193101 +-1340096 +4623839 +1090346 +-1082895 +-5672444 +2428899 +607062 +1862581 +3266520 +1420887 +-30294 +907745 +-2753452 +-1521749 +3208518 +-3928067 +-2201376 +-522009 +2371034 +1319689 +-5834556 +-339213 +-2760306 +-1165291 +-2838496 +-260985 +1789626 +-915367 +1859044 +744411 +-4150650 +-5763123 +1438960 +1926463 +293250 +-2360871 +2931396 +-699445 +-1556178 +-3154835 +1020520 +4420775 +-1540470 +1230825 +2911508 +-23687 +711800 +-1196341 +-579534 +-1262827 +-1950588 +-2721393 +-2307658 +71801 +-1968600 +-3156253 +3068402 +359117 +2870380 +-2153113 +1656070 +-57783 +518440 +-1644997 +-1480750 +4943525 +-2594492 +63015 +-744490 +-30495 +2310072 +-2468445 +771258 +-1781443 +1386148 +-2316361 +1218246 +1381633 +-28472 +-1305413 +-4275054 +2110821 +376436 +307551 +2147534 +-1115135 +-1339448 +1883307 +1109962 +1060229 +1666956 +1052823 +-2974474 +1585537 +-411656 +-111655 +-3710292 +1584307 +-1942818 +5103125 +-1708536 +235943 +-1295054 +-1527399 +648876 +2018987 +-1911714 +1213981 +1112256 +-1657121 +-6881390 +3535049 +-2920420 +-3997869 +-1468754 +-1936891 +2004456 +-275249 +656258 +-1840815 +-646836 +73563 +1778550 +-2161379 +535016 +1277455 +1823362 +2179457 +-1700532 +2078691 +5334190 +-2497995 +-184072 +-1426137 +3752266 +4378369 +-5881044 +-583981 +-2933322 +-1334251 +-257680 +-2426449 +1448338 +2451441 +2382140 +-2771879 +-3899216 +-2204709 +-1054214 +-1825931 +-3181412 +-275201 +-332066 +-2078759 +59008 +776051 +420410 +-1154931 +-2171420 +-3182121 +2347662 +491369 +2500768 +-3761941 +-503942 +370821 +-3397412 +5536183 +4702 +-478943 +1014128 +-2347373 +336994 +-881251 +1953596 +1610215 +1781870 +-41503 +-3381152 +-4203253 +-2619910 +-2145499 +-2946676 +-899537 +-939530 +719009 +-2751264 +1950459 +-2044782 +-655483 +338020 +-526009 +2019614 +3358401 +-2842544 +-1397487 +-3700748 +1663211 +746886 +45805 +-1833904 +-728609 +-219750 +-145903 +4815508 +-985501 +2565958 +-2494507 +-1793816 +-1513001 +1441690 +2079809 +-3133084 +-448789 +1562870 +-1413283 +-2426896 +-1724697 +4309962 +-1432855 +796756 +-441869 +3935934 +-726475 +-1189136 +1126663 +2738986 +-2606471 +151540 +1983643 +-919370 +-503443 +316544 +-373697 +-1964174 +2450297 +-3188012 +1668939 +273630 +-305907 +-388168 +2102759 +-1785222 +729993 +-2862812 +-3213607 +-2952552 +-221909 +-3808558 +-1290891 +2122212 +4647919 +-1959594 +584857 +-954680 +-1913341 +1341778 +2066029 +3720396 +-285049 +-1391258 +2918761 +-1130872 +-324005 +-3382158 +1552197 +-2648732 +-3824057 +2004790 +824193 +2824408 +5157315 +1050522 +-1090403 +-1590460 +-1136681 +25446 +-965151 +1011368 +1680859 +2371122 +-1260347 +2575188 +1589439 +1291758 +-3119839 +-166360 +1101707 +2391338 +-1651739 +-32020 +949687 +442902 +-4534751 +2982872 +-105311 +-2018356 +3167499 +-2493170 +-4995267 +3495112 +-632545 +-4442942 +2475297 +-2235124 +3391171 +1623054 +-934523 +1811840 +-2584297 +448802 +3899985 +752380 +-307733 +-4340258 +3538733 +-3216856 +-1158201 +715154 +-242471 +1182636 +4749363 +3388774 +-491707 +-783960 +1859655 +653010 +2630217 +1600300 +1345595 +1246814 +1643165 +3365496 +210463 +1956506 +2477001 +-1512180 +-465429 +724070 +-924931 +5827632 +-1015641 +-4951646 +-97095 +901340 +-369143 +-264784 +695531 +2920282 +-84379 +124828 +1793551 +84926 +1734985 +-4372544 +-2665917 +385050 +-197251 +-834204 +-3974105 +1491950 +841305 +-3067616 +1094523 +3446682 +957173 +-1723044 +-1344313 +-2675714 +-1381231 +2312688 +2168995 +814658 +-3048563 +-3099076 +-671945 +832462 +-2037999 +644960 +521307 +-1849190 +-773227 +2172044 +-2107073 +-2542890 +2208081 +-872224 +-1809845 +885362 +-1305867 +1661604 +-4626729 +-4249730 +3723953 +-4975088 +469513 +-4361420 +884819 +-1516426 +-2228283 +2964080 +-2376793 +-368598 +-671671 +1507284 +-50421 +2542134 +528621 +-1046392 +-998241 +298090 +-3912839 +1166948 +1209491 +-101850 +1095093 +-3865136 +-1130065 +3627482 +-3045279 +305620 +1624859 +5330798 +-3231475 +-2523952 +-2640881 +-1362438 +426737 +-884812 +-1593533 +-3202906 +830917 +-2253664 +-1506169 +519682 +-37071 +-2441516 +-2288269 +1456206 +-938651 +2196888 +852143 +3608650 +-415871 +-1722460 +1634993 +-147656 +1609139 +2260578 +1433773 +-419996 +1256727 +3809158 +-1335183 +2173096 +-1160949 +-2117406 +1704357 +1451468 +2150191 +-5053738 +-1200383 +3287656 +-840541 +-3823486 +-1228483 +1205540 +-296401 +298278 +-5059495 +900536 +-810421 +-3507350 +2012629 +2383172 +-2434369 +-2666474 +1979577 +-4134776 +1002339 +3241154 +-418435 +-2119276 +3427943 +1057630 +-1476103 +-2757624 +3154899 +-3864006 +-329827 +-1104788 +620063 +1122694 +4035577 +2171128 +3883161 +2396844 +-77773 +-1282722 +3062933 +2429064 +-54809 +4230002 +-2039271 +416876 +-2149333 +-805346 +497693 +-2116224 +-2640417 +1807442 +-386167 +1134108 +-193645 +1095662 +1831557 +-3646104 +489871 +-294718 +-2182511 +1506764 +266907 +-206090 +-5299491 +1812968 +1340687 +-1759422 +-73727 +-4572468 +1037859 +3151534 +-1461643 +-1190664 +-1838425 +-4234934 +-1515327 +-4007252 +2161491 +-219530 +214293 +-2362768 +3188463 +2678418 +-2011151 +1668156 +1392777 +3880480 +664203 +2881770 +3832485 +-307252 +596015 +-3210610 +-1759607 +2525104 +1136739 +-2485590 +-2708419 +-256108 +-1902009 +1549950 +122137 +439952 +-1704165 +-350614 +1848821 +-1463540 +-295513 +-5482098 +765969 +63584 +-3811581 +-60334 +-3161715 +4106732 +4045335 +-1304162 +1115153 +-2146544 +2532027 +-2097750 +-2050667 +1431932 +1423263 +-8413722 +-470703 +-173168 +484203 +8076290 +2720821 +594004 +-279625 +400206 +-5701711 +1433920 +-877071 +397940 +712395 +1335302 +-2520179 +709840 +-2338753 +2037210 +1207217 +-1401836 +3624515 +-3080698 +-1684299 +137576 +-3544905 +524506 +-283743 +1340452 +-1852725 +2329526 +100477 +340912 +-294457 +-2768310 +-1747639 +-137836 +-1861933 +1925246 +-1442667 +5034480 +1413735 +3579050 +-2002471 +2465652 +587963 +809718 +-4246195 +-1758464 +-1517025 +-729486 +-5630567 +-1420908 +3930283 +-1412322 +1036461 +-1416328 +-1503289 +1217850 +-656599 +-1435676 +3113913 +-760728 +1924011 +4818498 +-3078699 +-1558220 +3881455 +3587142 +1917113 +-2670824 +2267267 +1898370 +-472627 +-1528036 +2872711 +-1747434 +2698697 +-1766888 +3615579 +-2002974 +-2523611 +-160588 +3506183 +11878 +-141215 +-857560 +2289283 +-5001846 +1095741 +1366100 +-293737 +-2335850 +-2508223 +-2006792 +-1758437 +3314914 +2180645 +-701852 +79999 +519262 +1434881 +3327672 +-3606197 +-4023270 +1023429 +1066940 +-382473 +-2440250 +2849345 +-4030936 +-2527991 +3973324 +3453443 +-379874 +-833147 +-4350616 +2103607 +4217266 +-1544247 +2758796 +1171899 +1482206 +-2421491 +4755680 +66735 +-2646510 +-1053639 +-1414916 +3188067 +2588206 +-3865035 +-1038456 +1495071 +-2658750 +7878401 +-1001300 +-4435093 +-3395082 +4982541 +2918472 +815647 +-586110 +-2750863 +3581420 +1106291 +1214958 +2635941 +-3860840 +-2798473 +-1721078 +808497 +-4897780 +-3014365 +-516426 +-3250107 +-5549424 +-2212801 +540626 +-2989727 +1793308 +1698697 +-3148912 +-152981 +2276794 +-2619291 +830012 +-706801 +554270 +2701257 +-177248 +368451 +539514 +188221 +-3490748 +-1299417 +119950 +-3555431 +377728 +-2450501 +-252742 +-1133451 +2008124 +1402887 +3182366 +-1734639 +-2519152 +-527325 +568546 +2256141 +-1873444 +-614793 +-1319954 +79953 +-1438720 +1661211 +-1332358 +-3666603 +2394092 +-531905 +-341770 +-938671 +1001472 +2453067 +-2297134 +1485109 +2362948 +925207 +1008030 +3344689 +429552 +911625 +261428 +-2122029 +-3926346 +-1444219 +1697136 +-229337 +-187734 +-2309687 +-2653292 +738635 +-5437194 +-265171 +-2230904 +-2736417 +1712362 +-1655047 +4384676 +764819 +2371366 +802549 +-829680 +-1178257 +387098 +-1399071 +-4293292 +2478107 +-2502930 +-2713779 +-2825584 +-939121 +755450 +2643313 +-483468 +-1886589 +-571738 +-1666747 +-911072 +3807303 +-973630 +-4621839 +1635156 +673331 +270158 +1810405 +976408 +1843375 +-194102 +56577 +304932 +842217 +-2861144 +-416517 +3165858 +-966331 +-2580236 +2807615 +1034214 +2888489 +-171816 +-1875501 +-1384478 +2481341 +-2627044 +59095 +-778698 +4908793 +-2294056 +36267 +292610 +-3586475 +3529076 +2400983 +-365626 +693009 +381224 +1388755 +106602 +-578579 +-1272620 +-108505 +2325430 +3241265 +2959928 +7114795 +-4002046 +1690197 +-314012 +-2257137 +168766 +3946481 +-3309640 +-270053 +946234 +3772981 +2750140 +-415097 +-5023770 +-2459535 +3579048 +1693441 +-694116 +2382475 +-332930 +-3295523 +588376 +-1139681 +296498 +2065729 +1528412 +-1554493 +2599806 +3814245 +517456 +1609559 +1511442 +1868785 +-820020 +1438891 +2061646 +-3422387 +-1488584 +2134023 +-286782 +1175737 +2382844 +-1046669 +-491754 +739109 +-1205064 +1048839 +1291010 +-558167 +3346684 +2271355 +-1340018 +199805 +-1205688 +1875231 +231370 +2170409 +4442140 +2098475 +1966550 +-2246051 +-759552 +2369127 +-600622 +1254873 +873964 +-1467871 +619248 +-355021 +-2096246 +1359389 +-974020 +-1231369 +342798 +-2642463 +-942656 +1012683 +-1792694 +815925 +-135868 +-5256497 +-3561538 +-37007 +-2017440 +-1504509 +1650058 +-476755 +4545660 +253999 +-873330 +-246935 +1973040 +-1052309 +-1488270 +-3425339 +1486428 +741215 +-1194082 +611497 +-220576 +-572893 +4505546 +-1181619 +-274452 +-2915353 +4797478 +-1473623 +-2126240 +-548461 +-1686814 +-3254419 +-4151932 +-1153217 +-783474 +-892407 +1423312 +417073 +759444 +1496715 +-3759706 +1027661 +-58832 +-105217 +825338 +-92943 +496052 +214019 +-2865306 +922101 +2682056 +-1358857 +-4822150 +1946849 +2994244 +-529205 +822550 +-2794435 +80848 +557191 +-1772502 +-2263351 +-1847628 +2023251 +-3133218 +-1513323 +5217680 +207079 +113354 +875033 +2406164 +1999547 +5190742 +-2199795 +1606688 +-214625 +3403538 +-1146983 +-1798860 +-61781 +-3916418 +281837 +-197800 +312711 +-458534 +-1964567 +3468036 +145497 +1736 +-527733 +1092578 +-492875 +533972 +-3122801 +-3252442 +-605799 +21816 +857635 +2814178 +1997805 +-1749508 +-530649 +-2211850 +-1758807 +1129400 +-879813 +-756798 +-1267451 +898708 +-2993753 +1684742 +1154305 +-4005624 +-4791005 +351594 +-276515 +774644 +-1968329 +-3634186 +4169313 +-698536 +1691899 +-2689662 +1523205 +-1678844 +-597729 +1105278 +-1781087 +-14696 +-1050901 +1455802 +3285925 +-1838628 +2477463 +1451622 +-1090527 +1432072 +645537 +-4348612 +523435 +2023518 +-5137155 +641656 +3970495 +-1214126 +202593 +1188220 +-1748637 +498398 +3108485 +1308336 +-1796937 +-983822 +1718609 +-82132 +2329291 +-772242 +-3568403 +-2323048 +2073767 +-2331614 +127193 +2348828 +430611 +2650358 +-1468859 +-4090600 +1937447 +-2040286 +-350007 +1207452 +1166939 +-942354 +850781 +-887704 +4677823 +-3848662 +4593225 +-1397892 +2182923 +5486838 +-2712195 +-249760 +152263 +1452530 +166777 +-177268 +-5724119 +4825104 +-3469557 +-278790 +-475387 +-116612 +-781393 +-2637794 +133737 +-223776 +-1957853 +-190534 +58653 +790596 +1500871 +-1922290 +-518471 +3725312 +-3013733 +3103418 +3141077 +1209084 +-4950553 +-583522 +3203889 +-695280 +-1124477 +-872478 +2424941 +-1585828 +-1914857 +-393298 +-896975 +1683328 +-113669 +2520634 +1966389 +2875244 +-2082145 +1761206 +-3040719 +1807360 +-215189 +-1282478 +422677 +-2941820 +-2482121 +2182238 +2881617 +1218864 +193409 +4805732 +-65253 +-3686346 +760349 +-3778432 +-3600241 +-70070 +-4362431 +1063620 +3258899 +-1563978 +-384891 +2204760 +-2564217 +-2721590 +352177 +-516460 +-303013 +6619942 +1012429 +-700704 +-1978601 +-189574 +4918361 +-1796924 +-6545373 +762478 +-2965275 +-824480 +98423 +1558298 +301929 +504548 +-3156789 +-2589594 +-1490595 +-954896 +-2189585 +3490082 +409897 +-3740476 +-190981 +-1271154 +652093 +-6680280 +-121385 +-4121302 +-1508167 +2174612 +332889 +2544168 +-303541 +1019330 +-573003 +-295500 +408463 +4658502 +-2613543 +552408 +3648099 +-1020350 +-1820819 +368988 +2047271 +2560534 +-850519 +-1418280 +-3501829 +4037794 +-76539 +570612 +988327 +-364186 +-4144255 +-196440 +492579 +2644042 +-267683 +-1732012 +3709687 +454102 +-126879 +-1754568 +-2472389 +-764830 +-2398459 +-2895260 +-3675361 +-666658 +-6252639 +7730680 +-1130709 +-3385766 +1029029 +2869564 +-2356201 +557126 +-977759 +-560984 +6448841 +2723644 +1656419 +-2131474 +-427131 +4799640 +-2179817 +-495294 +3121161 +-5520772 +455579 +1318126 +2603661 +-1936752 +1548943 +474146 +-259527 +-1207892 +2038211 +1123390 +-584139 +1825464 +1339519 +254738 +848449 +-2671652 +2087371 +4694470 +809101 +-1389000 +3175167 +204306 +3342833 +-743140 +-859437 +2195262 +-4395675 +-2759608 +192535 +-1253926 +-2329423 +-357252 +2008195 +-1302522 +3577413 +1392384 +3625439 +2491106 +4560161 +-3769076 +-5403295 +3453280 +-2002029 +504922 +-2095395 +-3423252 +2338775 +2302750 +-739295 +-1333328 +2830443 +-5889318 +-3440587 +2943092 +631407 +-489138 +-2739023 +2903248 +506723 +2675482 +-3006611 +-1078036 +-1285617 +-2880802 +-1958999 +-2663328 +-1502453 +425026 +-3113403 +5800780 +-1274753 +-695698 +-956567 +-952176 +-3841661 +-413542 +-394291 +1448412 +185863 +-190730 +-79127 +1110288 +-2323725 +1283570 +-427283 +-1212364 +-504097 +-2690914 +-1710007 +2400576 +-2489543 +-943100 +2110595 +-1441146 +623669 +-1159936 +2589207 +1692346 +-145863 +-592988 +-3257797 +349446 +2471709 +-2503848 +-2053169 +-1835014 +768873 +980084 +1875971 +639478 +-2916059 +-1540128 +2971679 +-501590 +-2964335 +-1024348 +-2138933 +3295806 +-1078211 +283616 +1957951 +56010 +2443873 +-500028 +1832051 +160246 +-691083 +-5145552 +1187959 +-3643822 +4002209 +-3754140 +-177757 +1649886 +2359381 +-327512 +1726239 +204186 +-3054799 +1311604 +-264407 +-1944104 +-1804325 +-1033550 +76613 +1165604 +-1351969 +-2782474 +-2064535 +2663176 +-6527629 +326706 +3188093 +-667572 +-2903305 +-3250106 +782393 +6276488 +673931 +-322222 +2526485 +-764124 +364471 +-1701546 +-3106095 +5041496 +-1947021 +555322 +-3540499 +-4018556 +422791 +1430982 +3273969 +2979176 +-590837 +-2005294 +3290709 +-3133356 +-3038033 +3376654 +-2361231 +-2917976 +-601541 +82250 +3944885 +-2780692 +2711975 +-600522 +4337 +-173608 +314489 +1823612 +1053107 +2421582 +-7299403 +1158232 +-437209 +74594 +652473 +-3585924 +3433067 +1691022 +-1577859 +-3530864 +487583 +4861826 +-750359 +740332 +5981715 +446046 +-1209947 +342456 +1665167 +-1222414 +-3738191 +-780580 +807323 +96166 +-1412611 +4446392 +638543 +2920050 +1204449 +1138396 +876771 +90334 +3150293 +-3431928 +3711527 +3314810 +-3514143 +4510588 +-2338029 +2976166 +-27723 +-1505472 +1903087 +-4651838 +4515793 +-2783156 +-822791 +-644176 +3556987 +3079546 +-2401963 +2357276 +-1704417 +2170398 +3277625 +678272 +-3579629 +2588538 +751469 +-2696860 +-2146953 +-1344498 +651977 +-2138656 +4144203 +481146 +-2541659 +2522716 +-1191145 +2964510 +956609 +-1696912 +2431667 +5229026 +-916803 +1591932 +2611207 +171822 +861761 +869856 +2833579 +5250938 +1723717 +-2103540 +-86705 +1807158 +2811841 +-3348384 +-351333 +2091474 +2378277 +-4159580 +3209895 +2169182 +906593 +289104 +-435199 +3352644 +-1737509 +386966 +456861 +2195680 +-2407921 +-3285910 +-1151935 +-2423004 +-1971821 +-1006698 +1092421 +2421368 +2770567 +245354 +1754481 +1124212 +-440933 +2416134 +-1079603 +-2091264 +-2266665 +-3907494 +2632985 +-449564 +-4170077 +318350 +-1444315 +4144896 +-231561 +2853306 +-852823 +1891524 +669899 +-2360378 +272285 +-1454128 +-1094865 +255682 +-2621655 +2697380 +2057083 +4089326 +-1728131 +-4297912 +1429911 +-455542 +232121 +-1143116 +-2102295 +-770024 +-2495269 +-4031630 +-1479419 +-987996 +1232799 +-1232266 +2530601 +-809976 +-1600717 +-2664718 +2088701 +-3672628 +-1476873 +5815750 +-2854279 +-1536632 +2208651 +3913874 +-2029803 +2201700 +2309879 +1475286 +-777711 +416088 +784691 +-1888006 +-1020499 +-4102396 +2317703 +1133830 +-293903 +2494696 +1235979 +-1309614 +1286933 +1319380 +-2621137 +-361650 +1176497 +1373288 +936123 +100874 +-1131083 +-2122004 +2306535 +-837834 +-757903 +2218264 +-2447495 +-1750260 +-1893997 +2008190 +-823755 +2511336 +1764231 +-1311662 +-433543 +2393164 +-6436277 +3463550 +3247613 +998112 +426239 +1450034 +-1747095 +-382084 +175411 +-1660146 +-10139 +-689976 +-1578961 +155426 +3272113 +4459116 +972987 +1687766 +1357501 +-4412280 +-2720273 +-3622814 +-366879 +1972460 +1235395 +-2414066 +4707029 +-1604904 +-84665 +-4454422 +4233889 +-1069684 +691187 +5677974 +-1597963 +-620592 +-487729 +3162482 +-6139439 +1101852 +1776249 +3820992 +-2232101 +895914 +-232107 +2797484 +-2074945 +-782514 +2233785 +-5457456 +425715 +3810602 +2431085 +-3779404 +-3098153 +3700222 +772041 +-947984 +-1249045 +1407594 +953125 +-2239700 +1100087 +-4084658 +-3016447 +329216 +206995 +-980078 +-990595 +3797132 +-1214617 +2321438 +608641 +1978416 +-2596213 +214506 +540293 +-2165924 +-1731921 +-86426 +-4989439 +2540080 +-389829 +798722 +72101 +2186676 +-598649 +-2283826 +297121 +-1323168 +895337 +3965924 +1023507 +-4130106 +7787813 +-233120 +-1199193 +69050 +-1606487 +3000836 +-502965 +2468422 +-1438643 +5929720 +-3234401 +-213958 +882265 +288404 +-3239213 +892534 +1049877 +-4330880 +1153263 +-2074838 +942593 +3831620 +157595 +369150 +1425261 +1992256 +3283535 +1174154 +672785 +2690980 +-1705405 +477430 +-87771 +-1298096 +-3623417 +942290 +-349935 +-2915260 +-1645901 +-1131618 +510341 +1390088 +-1717009 +1619802 +-6700895 +1404820 +-407663 +7184184 +-134829 +2169058 +3013837 +402276 +-2916873 +947014 +710481 +-1821976 +-257621 +2767202 +-1302523 +1225740 +-4563761 +773334 +-2510815 +882152 +766787 +4228930 +153437 +-2709660 +-3477233 +-2846618 +-274631 +-1151112 +-3819029 +1875178 +-1957707 +3454980 +-659361 +1103446 +-339239 +373000 +-4790909 +-1831230 +2263133 +-3445676 +-1725177 +-207714 +-3974055 +-1609144 +-2612045 +2957370 +-211843 +-1931028 +270975 +-3353338 +-82215 +-2658888 +3859873 +-872756 +-1299061 +-835250 +798845 +287944 +-1129761 +840002 +-1844383 +-748020 +3533955 +3306766 +708293 +-3164800 +-2717097 +2113570 +1292945 +-859908 +-2052885 +-758050 +911725 +1364264 +903943 +3747090 +2354009 +-2156244 +-5783821 +3055270 +-3060027 +773416 +996999 +-1551790 +2757769 +-2732948 +926779 +-3111458 +-1611299 +406456 +-3488929 +3123866 +-1567607 +-1470388 +955947 +1490726 +-3244227 +-3058128 +1389479 +1500066 +660281 +673308 +-1708383 +-2464432 +-346125 +-3513622 +-3564579 +1100444 +773111 +3399854 +1387745 +-2619744 +-1511797 +2278186 +1953653 +824292 +403215 +1259934 +280881 +669760 +4671299 +1712170 +-4879123 +-1610724 +900207 +3608174 +476265 +-6235184 +-930709 +-1067630 +-2631611 +2829628 +-221409 +1788158 +-239255 +2962944 +-3016605 +-941590 +-2387443 +-2011444 +2277095 +2455686 +-3428247 +2761664 +-312941 +-1597822 +-2062035 +-1420572 +4854207 +-3204306 +-912951 +3915632 +182057 +-2442156 +-49229 +1856790 +-315931 +-1837040 +1997511 +2800394 +-757719 +-494540 +-3986901 +-1236522 +566541 +-4205016 +761087 +2285578 +2971865 +4100100 +5781491 +-1170810 +-3190059 +-406160 +-204593 +1688890 +-1852607 +-512012 +1643707 +-2908466 +-2619091 +-121552 +-263825 +1567194 +1108241 +1160596 +3800867 +1844294 +1994853 +-6045760 +3394151 +-593886 +-1120495 +1799732 +-1871853 +1581678 +3615621 +222392 +2791119 +-2686870 +2566369 +-27388 +-1782279 +-1303704 +2601643 +1133570 +-3436907 +-1777996 +1823471 +-1497786 +-2639303 +2286744 +5595651 +-595070 +41549 +4024220 +3144199 +-1778986 +1636041 +523608 +1671835 +-1522846 +136357 +1207540 +-2291001 +-1912602 +-776031 +3381096 +1276419 +-1664118 +286525 +683540 +-1888041 +-2691050 +-1672447 +2092600 +555611 +1269922 +4589285 +1682084 +-477697 +4312030 +1885249 +582392 +-3010613 +-1574758 +-4488251 +-1149764 +-5767433 +-1755770 +609857 +28072 +-675335 +-2995716 +70323 +-3617970 +2635061 +-1249768 +2000487 +-226142 +-377287 +758332 +-1325269 +3645838 +882237 +4414864 +1561311 +284354 +-239255 +-4084180 +3077843 +-2695074 +-3145883 +-2207624 +4672911 +516402 +-1098639 +-1751588 +-187749 +-3744154 +-1326723 +321720 +364879 +-465102 +-1550815 +472796 +-3637917 +-3274210 +-1690347 +2725640 +4613415 +-45254 +3843297 +2179708 +-2257517 +623078 +-1005515 +3371776 +665199 +-2928254 +-3971247 +3235724 +853009 +1206736 +1362883 +1471690 +492749 +-1215844 +-48697 +333710 +-810031 +859104 +-2609829 +3432906 +1568869 +2080356 +825311 +-1418562 +4071329 +-1687808 +101267 +-450294 +2475485 +-4636580 +-1729857 +-316594 +1111129 +4241360 +-168197 +-718350 +342709 +-1989316 +334383 +2102430 +513689 +-466432 +3873715 +-1266102 +3040381 +-1492276 +-908553 +-989402 +4607001 +-1832640 +-2530013 +-585182 +-1847779 +-614556 +-1571761 +-5942002 +596601 +1653872 +-1767111 +2279908 +-4950141 +-2401242 +1173621 +-3739360 +-1675113 +659546 +-6264967 +3380100 +1824955 +-5538970 +-2586787 +729592 +-1821297 +-732134 +1561257 +1565140 +-3869437 +-366890 +-766555 +-1797632 +-1370977 +2423562 +2637329 +121092 +-2191605 +677918 +-2319747 +3718656 +1184767 +-2254614 +1879649 +-244508 +-2772621 +-847978 +-1510795 +139344 +-552521 +1254578 +-1630687 +-1881852 +847843 +2008638 +-1450795 +-4342328 +1532255 +2588410 +-7363855 +1566036 +-58151 +-4240536 +-4808437 +1942338 +-422987 +-4743692 +2201103 +2958918 +-1571815 +-12328 +-913053 +-1522558 +-2732115 +-1879652 +-3290649 +-684586 +2127913 +36760 +-3892805 +-1751774 +-982331 +-1695116 +2797159 +1757286 +3403969 +16680 +-1302877 +557898 +-1564387 +3383316 +-1601481 +-1510890 +2799201 +-5160776 +-314501 +-2813406 +-4385147 +-962716 +586335 +-3235554 +2334817 +2831608 +-1688085 +1975962 +-3477339 +385404 +-3053801 +2116550 +-4201887 +-360600 +1641257 +2615820 +3421219 +608222 +2251493 +4599464 +-1311785 +-592782 +1093801 +1859980 +57307 +4732382 +649261 +233248 +-1656497 +1415122 +-706599 +1389436 +1482051 +-4379474 +2132309 +-863608 +-4676225 +-79422 +-4270623 +3572908 +-422261 +333878 +-247827 +2317256 +181375 +-686782 +2298897 +-357204 +1566355 +3807470 +104965 +-193704 +3890007 +-1548662 +-196015 +-886068 +1558979 +2103798 +3657253 +2738256 +489375 +-1493870 +-1703551 +1010396 +Reference graph at program exit: +Map(0) {} +100 +Reference graph at program exit: +Map(0) {} +17 +Reference graph at program exit: +Map(0) {} +108 +Reference graph at program exit: +Map(0) {} +true +true +true +true +true +Reference graph at program exit: +Map(0) {} +5 +6 +21 +46 +82 +94 +Reference graph at program exit: +Map(0) {} +2 +3 +5 +7 +11 +13 +17 +19 +23 +29 +31 +37 +41 +43 +47 +53 +59 +61 +67 +71 +73 +79 +83 +89 +97 +Reference graph at program exit: +Map(0) {} +0 +1 +Reference graph at program exit: +Map(0) {} +Reference graph at program exit: +Map(0) {} diff --git a/benchmarks/float/nilakantha.bril b/benchmarks/float/nilakantha.bril new file mode 100644 index 000000000..ef30169bd --- /dev/null +++ b/benchmarks/float/nilakantha.bril @@ -0,0 +1,68 @@ +@main { + v37: float = const 3; + PI: float = id v37; + v38: float = const 2; + n: float = id v38; + v39: float = const 1; + sign: float = id v39; + v40: float = id PI; + v41: float = id n; + v42: float = id sign; + call @calculatePI v40 v41 v42; + v43: int = const 0; +} +@calculatePI(PI: float, n: float, sign: float) { + v1: float = const 0; + i: float = id v1; +.for.cond.0: + v2: float = id i; + v3: float = const 1000000; + v4: bool = fle v2 v3; + br v4 .for.body.0 .for.end.0; +.for.body.0: + v5: float = id n; + v6: float = const 1; + v7: float = fadd v5 v6; + nPlusOne: float = id v7; + v8: float = id n; + v9: float = const 2; + v10: float = fadd v8 v9; + nPlusTwo: float = id v10; + v11: float = id nPlusOne; + v12: float = id nPlusTwo; + v13: float = fmul v11 v12; + nPlusOne_Times_nPlusTwo: float = id v13; + v14: float = id n; + v15: float = id nPlusOne_Times_nPlusTwo; + v16: float = fmul v14 v15; + denom: float = id v16; + v17: float = const 4; + v18: float = id denom; + v19: float = fdiv v17 v18; + frac: float = id v19; + v20: float = id sign; + v21: float = id frac; + v22: float = fmul v20 v21; + rhs: float = id v22; + v23: float = id PI; + v24: float = id rhs; + v25: float = fadd v23 v24; + PI: float = id v25; + v26: float = const 0; + v27: float = id sign; + v28: float = fsub v26 v27; + sign: float = id v28; + v29: float = id n; + v30: float = const 2; + v31: float = fadd v29 v30; + n: float = id v31; + v32: float = id i; + v33: float = const 1; + v34: float = fadd v32 v33; + i: float = id v34; + jmp .for.cond.0; +.for.end.0: + v35: float = id PI; + print v35; + v36: int = const 0; +} diff --git a/benchmarks/float/nilakantha.out b/benchmarks/float/nilakantha.out new file mode 100644 index 000000000..f7ae01239 --- /dev/null +++ b/benchmarks/float/nilakantha.out @@ -0,0 +1,13 @@ +cfg for main: {'label_0': []} + + + + +cfg for calculatePI: {'label_0': ['for.cond.0'], 'for.cond.0': ['for.body.0', 'for.end.0'], 'for.body.0': ['for.cond.0'], 'for.end.0': []} + + +Block label_0 falls through to ['for.cond.0'] +Block for.cond.0 branches to ['for.body.0', 'for.end.0'] +Block for.body.0 jumps to ['for.cond.0'] + + diff --git a/benchmarks/float/nilakantha.prof b/benchmarks/float/nilakantha.prof new file mode 100644 index 000000000..f5cdc5556 --- /dev/null +++ b/benchmarks/float/nilakantha.prof @@ -0,0 +1,2 @@ +3.14159265358978690 +total_dyn_inst: 45000065 diff --git a/brili.ts b/brili.ts index ff6e2a8b3..3cc065766 100644 --- a/brili.ts +++ b/brili.ts @@ -974,4 +974,4 @@ async function main() { } } -main(); +main(); \ No newline at end of file diff --git a/docs/tools/bench.md b/docs/tools/bench.md index 776691547..7031e4b6b 100644 --- a/docs/tools/bench.md +++ b/docs/tools/bench.md @@ -45,6 +45,7 @@ The current benchmarks are: * `max-subarray`: solution to the classic Maximum Subarray problem. * `mod_inv`: Calculates the [modular inverse][modinv] of `n` under to a prime modulus p. * `newton`: Calculate the square root of 99,999 using the [newton method][newton] +* `nilakantha`: Calculate the value of pi using the [nilakantha infinite series][nilakantha] * `norm`: Calculate the [euclidean norm][euclidean] of a vector * `n_root`: Calculate nth root of a float using newton's method. * `orders`: Compute the order ord(u) for each u in a cyclic group [][cgroup] of integers modulo *n* under the group operation + (modulo *n*). Set the second argument *is_lcm* to true if you would like to compute the orders using the lowest common multiple and otherwise the program will use the greatest common divisor. @@ -111,3 +112,4 @@ Credit for several of these benchmarks goes to Alexa VanHattum and Gregory Yaune [qsort-hoare]: https://en.wikipedia.org/wiki/Quicksort#Hoare_partition_scheme [modinv]: https://en.wikipedia.org/wiki/Modular_multiplicative_inverse [totient]: https://en.wikipedia.org/wiki/Euler's_totient_function +[nilakantha]: https://en.wikipedia.org/wiki/List_of_formulae_involving_%CF%80 diff --git a/turnt.toml b/turnt.toml new file mode 100644 index 000000000..57e481285 --- /dev/null +++ b/turnt.toml @@ -0,0 +1 @@ +command = "bril2json < {filename} | python3 brili.ts {args} \ No newline at end of file