From 2fa5ee6636c31252ef1fec470cb62469c47d32be Mon Sep 17 00:00:00 2001 From: Jakub Date: Sat, 3 Jul 2021 22:21:37 +0200 Subject: [PATCH] Panda3 --- dev-0/out.tsv | 2500 ++++++++++++++++++++++++------------------------ main.py | 267 ++---- test-A/out.tsv | 2216 +++++++++++++++++++++--------------------- 3 files changed, 2433 insertions(+), 2550 deletions(-) diff --git a/dev-0/out.tsv b/dev-0/out.tsv index ec35425..520005e 100644 --- a/dev-0/out.tsv +++ b/dev-0/out.tsv @@ -1,4 +1,4 @@ -0 +1 1 1 0 @@ -15,30 +15,30 @@ 0 1 0 -0 -0 1 1 -0 -0 1 1 0 1 -0 +1 1 0 -0 +1 1 0 +1 0 +1 0 0 0 0 1 0 +1 0 +1 0 0 1 @@ -54,55 +54,55 @@ 0 1 0 -0 -0 -0 -0 +1 1 0 0 1 +1 0 1 0 1 1 1 -0 -0 -0 1 -0 -0 -0 -0 -0 -0 1 -0 1 0 0 1 0 1 +1 0 +1 +1 +1 +1 +1 +1 0 +1 0 +1 +1 +1 0 0 +1 0 -0 +1 0 1 1 1 0 0 -0 1 1 -0 +1 +1 0 0 1 @@ -116,47 +116,47 @@ 1 1 0 -0 -0 1 0 +1 0 0 0 0 -0 -0 +1 0 0 0 1 0 1 -0 1 -0 -0 1 0 +1 +1 0 +1 0 1 1 1 -0 1 1 0 1 +1 0 -0 -0 +1 0 1 0 1 +1 0 1 +1 +1 0 0 1 @@ -165,54 +165,54 @@ 1 0 1 -0 +1 0 0 0 1 0 0 -0 1 1 1 -0 -0 -0 -0 1 0 1 0 +1 +1 0 -0 -0 +1 0 1 0 0 0 1 +1 0 +1 +1 0 0 1 1 1 -0 +1 +1 1 0 0 1 -0 +1 1 1 0 0 0 +1 0 -0 -0 +1 1 0 1 @@ -244,24 +244,24 @@ 1 0 1 -0 -0 -0 -0 1 0 0 0 -1 -0 -0 0 0 +1 +1 +1 0 0 +1 +1 0 0 +1 0 +1 0 0 0 @@ -273,8 +273,8 @@ 0 0 0 -0 -0 +1 +1 0 0 1 @@ -285,7 +285,7 @@ 1 0 0 -0 +1 0 0 0 @@ -303,25 +303,25 @@ 1 1 0 -0 -0 1 -0 +1 1 0 +1 0 0 0 0 0 +1 0 0 0 0 0 1 -0 -0 +1 +1 1 0 0 @@ -334,16 +334,16 @@ 0 1 0 -0 +1 1 0 0 -0 +1 1 0 0 -1 0 +1 0 0 0 @@ -366,48 +366,48 @@ 0 0 0 -0 -0 -0 +1 +1 +1 0 0 1 1 -0 +1 1 0 1 1 -0 -0 1 -0 -0 -0 -0 -0 1 -0 -0 1 -0 -0 +1 0 0 1 +1 +1 0 0 +1 +1 0 +1 0 +1 +1 0 0 +1 0 0 0 +1 0 +1 0 0 -0 +1 0 0 0 @@ -423,11 +423,11 @@ 0 0 1 +1 +1 0 0 -0 -0 -0 +1 1 0 0 @@ -437,45 +437,45 @@ 0 0 1 -0 -0 -0 1 0 -0 -0 +1 +1 +1 +1 0 0 0 1 -0 +1 +1 0 0 1 0 -0 +1 0 0 0 1 -0 -0 1 0 1 0 +1 0 +1 0 1 1 1 0 0 +1 0 0 0 -0 -0 +1 0 0 1 @@ -483,16 +483,22 @@ 1 0 0 +1 0 0 +1 +1 +1 0 +1 +1 0 0 0 0 1 0 -0 +1 0 0 0 @@ -502,45 +508,69 @@ 0 0 0 +1 +1 0 0 0 +1 0 +1 +1 0 +1 +1 +1 0 1 +1 +1 +1 +0 0 +1 +1 0 0 0 1 -0 1 -0 +1 0 1 +0 1 0 0 0 0 +1 0 1 +1 +1 +1 0 0 1 0 0 +1 +1 0 0 0 1 1 0 -1 0 1 +1 +1 0 +1 +1 +1 0 0 0 @@ -550,25 +580,36 @@ 0 1 1 -0 -0 1 0 +1 0 1 1 +1 +1 +1 +1 0 0 0 1 +1 0 +1 0 0 1 +1 0 +1 0 0 1 +1 +1 +1 +1 0 0 0 @@ -576,64 +617,64 @@ 0 0 0 +1 0 +1 +1 0 +1 +1 0 -0 +1 +1 +1 0 0 1 -0 +1 1 0 0 -0 +1 +1 1 0 0 0 -0 +1 0 1 0 1 0 -0 -0 1 -0 1 -0 -0 -0 -0 +1 0 1 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 0 0 +1 +1 +1 0 +1 +1 +1 0 +1 0 -0 -0 +1 +1 1 0 0 +1 0 +1 0 0 0 @@ -644,37 +685,46 @@ 1 0 1 -0 1 0 +1 0 0 -0 -0 +1 +1 1 0 1 +1 +1 +1 +1 +0 0 0 0 1 1 +1 0 0 1 1 0 -0 1 -0 1 -0 +1 1 0 0 +1 0 0 0 +1 +1 +1 +1 0 0 0 @@ -684,25 +734,25 @@ 0 1 0 -0 +1 1 0 -0 -0 +1 0 1 0 0 0 +1 0 1 0 +1 0 1 1 0 0 -0 1 0 1 @@ -710,98 +760,52 @@ 0 1 1 -0 1 -0 -0 1 -0 -0 1 -0 -0 -0 -0 -0 -0 1 0 0 -0 -0 -0 -0 -0 +1 0 0 1 1 -0 -0 -0 1 -0 1 0 1 0 0 -0 1 -0 -0 1 -0 -0 -0 -0 1 0 -0 -0 1 1 -0 1 1 0 -0 1 0 -0 1 1 -0 1 -0 1 0 -0 1 -0 1 0 -1 0 0 1 -0 -0 +1 0 1 1 1 -0 -0 -0 -0 -0 -0 -0 -0 1 -0 -0 +1 0 1 1 @@ -819,16 +823,12 @@ 0 0 0 -0 -0 -0 -0 -0 +1 0 0 0 1 -0 +1 0 0 1 @@ -844,62 +844,62 @@ 1 1 1 +1 0 +1 0 +1 +1 +1 0 0 1 -1 0 +1 0 +1 0 1 1 1 0 -0 +1 0 0 1 1 -0 -0 -0 -0 -0 1 1 1 1 -0 -0 1 -0 1 -0 -0 1 -0 -0 -0 1 0 0 +1 0 0 +1 +1 0 -0 +1 0 1 0 0 1 -0 +1 +1 +1 +1 +1 +1 1 1 0 -0 -0 +1 1 0 0 @@ -928,48 +928,70 @@ 1 0 0 -0 +1 1 0 +1 +1 +1 +1 +1 +1 0 0 1 +1 0 0 +1 0 +1 0 0 0 1 0 0 -0 -0 1 -0 +1 +1 0 0 1 +1 +1 +1 +1 0 0 -0 +1 +1 +1 +1 1 0 0 0 +1 0 1 0 +1 0 1 +1 0 +1 0 1 +1 +1 0 0 0 0 0 +1 0 0 1 @@ -978,32 +1000,37 @@ 0 0 0 -0 1 0 1 -1 -1 -0 -0 -0 -0 0 0 0 +1 0 0 +1 +1 0 0 0 1 +1 0 +1 +1 +1 +1 0 0 0 0 +1 0 +1 +1 0 +1 0 0 1 @@ -1011,28 +1038,34 @@ 0 1 1 -0 +1 0 0 1 1 -0 -0 +1 +1 1 1 1 0 +1 0 0 0 0 +1 0 +1 0 +1 0 0 1 0 0 +0 +0 1 0 0 @@ -1043,29 +1076,29 @@ 0 1 1 -1 0 1 -0 1 0 0 0 0 -0 -0 1 0 +1 0 0 0 0 1 1 +1 +1 +1 0 0 0 -0 +1 0 0 0 @@ -1076,21 +1109,28 @@ 0 0 0 -1 0 1 0 +0 +1 +1 +1 +1 1 0 0 1 -0 1 0 0 0 0 +1 0 +1 +1 +1 0 1 0 @@ -1101,41 +1141,15 @@ 0 0 0 -1 0 0 -1 0 -1 0 0 0 0 0 0 -1 -1 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -1 -0 -1 -0 -1 -0 -1 -1 -0 -0 0 0 0 @@ -1200,14 +1214,21 @@ 0 0 0 +1 0 0 +1 0 0 +1 +1 0 +1 0 0 0 +1 +1 0 0 0 @@ -1215,26 +1236,13 @@ 0 0 1 -0 -0 1 -0 -0 1 1 0 -0 -0 -0 -0 1 1 0 -0 -0 -0 -0 -0 1 0 1 @@ -1246,72 +1254,64 @@ 0 0 1 -0 -0 1 0 -0 -0 1 -0 -0 -0 1 1 -0 1 0 -0 -0 1 0 +1 0 +1 0 1 1 -0 -0 -0 -0 1 0 -0 1 0 1 0 0 1 -0 -0 -0 -0 -0 -0 +1 1 0 +1 +1 0 0 1 1 1 -0 -0 -0 +1 1 0 +1 0 +1 +1 +1 +1 0 0 +1 0 0 +1 0 +1 +1 0 0 0 0 0 -0 +1 +1 1 0 0 @@ -1321,31 +1321,42 @@ 1 1 1 +1 0 +1 0 0 +1 0 0 +1 0 +1 +1 +1 0 +1 0 0 0 1 -1 -0 -0 0 0 0 +1 +1 0 0 0 0 +1 0 +1 0 0 0 +1 +1 0 0 0 @@ -1358,11 +1369,10 @@ 1 1 0 -0 -0 1 1 -0 +1 +1 0 0 0 @@ -1373,22 +1383,12 @@ 1 1 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 -0 1 0 -0 1 -0 +1 +1 0 1 0 @@ -1407,19 +1407,19 @@ 1 1 1 -0 -0 1 -0 +1 1 0 -0 -0 +1 0 0 1 0 +1 +1 0 +1 0 1 1 @@ -1430,14 +1430,16 @@ 1 0 1 -0 -0 +1 0 0 1 1 0 0 +0 +1 +1 1 1 1 @@ -1445,48 +1447,45 @@ 0 0 0 +1 0 -0 -0 +1 0 1 1 1 -0 -0 -0 -0 +1 +1 +1 1 0 0 +1 +1 0 0 -0 -0 -0 -0 +1 0 0 0 0 1 -0 1 1 -0 -0 -0 -0 1 0 0 0 +1 +1 0 +1 0 0 0 1 0 +1 0 0 0 @@ -1494,6 +1493,7 @@ 0 0 1 +1 0 1 0 @@ -1504,30 +1504,30 @@ 0 0 0 -0 1 -0 -0 -0 -0 1 -0 1 -0 -0 -0 -0 1 1 0 +1 +1 +1 0 0 -0 -0 +1 +1 +1 1 0 +1 0 1 +1 +1 +1 +1 +1 0 1 1 @@ -1542,15 +1542,15 @@ 1 1 1 +1 0 +1 +1 0 0 0 0 -0 -0 -0 -0 +1 0 0 0 @@ -1565,7 +1565,7 @@ 0 0 1 -0 +1 1 1 1 @@ -1579,27 +1579,27 @@ 1 0 1 -0 1 -0 -0 -0 1 0 -0 1 -0 +1 +1 1 1 1 0 +1 +1 +1 0 +1 0 +1 0 0 0 -0 -0 +1 1 0 0 @@ -1608,11 +1608,6 @@ 0 1 1 -1 -0 -0 -0 -0 0 0 0 @@ -1622,28 +1617,32 @@ 0 0 0 +1 +1 +1 +1 0 0 0 0 1 -0 1 0 +1 0 0 -1 0 1 0 0 -1 0 0 +1 0 0 0 0 +1 0 0 0 @@ -1653,6 +1652,7 @@ 1 1 1 +1 0 0 1 @@ -1664,24 +1664,24 @@ 0 1 0 -0 +1 1 0 1 1 0 +1 0 -0 -0 -0 -0 +1 0 1 0 +1 0 0 0 1 +1 0 0 0 @@ -1689,27 +1689,33 @@ 0 0 1 -0 1 0 0 -0 1 -0 +1 +1 +1 0 1 0 1 1 0 +1 0 0 0 0 0 +1 +1 +1 0 0 1 +1 +1 0 0 0 @@ -1717,49 +1723,43 @@ 1 0 0 +1 +1 +1 +0 0 0 0 +1 0 0 0 1 1 1 +1 +1 +1 +1 0 -0 -0 -0 -0 -0 -0 +1 0 0 0 1 -0 -0 -0 -0 1 1 -0 -0 -0 1 1 1 1 1 1 +0 +1 1 1 1 -0 -0 -0 -0 -0 0 1 0 @@ -1769,12 +1769,12 @@ 1 0 0 -0 +1 0 1 1 0 -0 +1 1 1 1 @@ -1786,22 +1786,13 @@ 0 0 0 -0 -0 -0 -0 1 -0 1 0 -0 -0 -0 -0 -0 -0 +1 1 0 +1 0 0 1 @@ -1810,6 +1801,7 @@ 0 0 0 +1 0 0 1 @@ -1818,7 +1810,11 @@ 0 0 0 +1 0 +1 +1 +1 0 0 0 @@ -1827,14 +1823,18 @@ 0 0 1 +1 +1 0 1 +1 +1 0 0 0 1 -0 -0 +1 +1 1 0 0 @@ -1845,21 +1845,15 @@ 0 1 1 -0 -0 -0 -0 1 0 -0 -0 -0 -0 1 -0 +1 +1 1 0 0 +1 0 1 0 @@ -1867,24 +1861,30 @@ 0 0 0 +1 0 +1 0 +1 0 +1 0 1 1 1 +1 +1 0 0 1 0 -0 +1 0 0 0 1 0 -0 +1 0 0 0 @@ -1893,23 +1893,21 @@ 1 1 0 -0 -0 +1 +1 +1 1 0 0 +1 0 0 1 -0 1 1 -0 1 -0 -0 -0 -0 +1 +1 0 0 0 @@ -1917,20 +1915,17 @@ 0 0 1 -0 -0 -0 -0 -0 1 -0 -0 +1 0 0 1 0 0 +1 0 +1 +1 0 1 0 @@ -1938,14 +1933,19 @@ 0 0 1 +1 0 0 0 +1 0 0 0 1 0 +1 +1 +1 0 0 0 @@ -1955,15 +1955,15 @@ 0 0 0 +1 0 0 0 0 +1 0 0 -0 -0 -0 +1 0 1 1 @@ -1976,11 +1976,11 @@ 0 0 1 -0 -0 -0 -0 -0 +1 +1 +1 +1 +1 0 1 1 @@ -1989,19 +1989,19 @@ 1 1 1 -0 +1 1 1 0 0 -0 +1 0 1 0 0 -1 0 0 +1 0 0 0 @@ -2010,9 +2010,9 @@ 0 1 0 +1 0 -0 -0 +1 0 1 0 @@ -2026,50 +2026,45 @@ 0 1 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 -0 -0 -0 -0 1 0 +1 0 +1 0 0 0 +1 +1 0 0 0 +1 +1 0 0 +1 0 0 0 0 0 0 +1 +1 +1 0 0 0 -0 -0 -0 -0 -0 +1 +1 0 0 1 0 +0 1 0 0 @@ -2078,50 +2073,51 @@ 1 0 0 +0 +1 1 0 +1 +1 0 0 0 0 1 +1 0 0 1 0 0 0 -0 +1 0 1 1 -0 1 -0 1 0 -0 -0 -0 -0 1 0 +1 0 0 0 +1 0 0 0 -0 +1 0 0 1 -0 1 0 0 -0 -0 +1 +1 +1 0 0 0 @@ -2130,21 +2126,23 @@ 0 0 1 +1 0 0 +1 0 -0 -0 -0 +1 +1 +1 0 0 1 1 0 -0 1 0 0 +1 0 0 1 @@ -2153,19 +2151,14 @@ 0 1 0 -0 1 -0 1 0 1 0 -0 -0 -0 -0 1 0 +1 0 1 0 @@ -2174,31 +2167,38 @@ 1 0 1 +1 0 0 +1 +1 +1 +1 +1 +1 0 -0 +1 0 0 1 0 1 +1 0 0 0 -0 -0 +1 0 0 0 1 0 0 -0 1 0 0 0 +0 1 1 1 @@ -2208,7 +2208,7 @@ 0 0 0 -0 +1 1 1 0 @@ -2232,32 +2232,37 @@ 0 1 0 -0 -0 -0 -0 1 1 0 0 -0 1 -0 1 0 1 0 +1 0 +1 +1 +1 0 0 +1 0 +1 0 0 0 +1 +1 +1 +1 0 1 1 0 +1 0 1 1 @@ -2266,221 +2271,170 @@ 0 0 1 -0 +1 0 0 1 0 -1 0 0 -1 0 +1 0 0 +1 0 +1 +1 +1 0 0 +1 0 1 0 1 +1 +1 0 0 0 0 0 +1 +1 +1 0 1 +1 +1 0 +1 0 +1 +1 0 0 0 0 +1 0 +1 0 0 0 1 1 1 +1 0 +1 0 0 -0 -0 -0 -0 -0 -0 +1 0 0 0 1 0 0 -0 -0 -0 1 -0 -0 1 0 1 -0 -0 +1 1 0 +1 +1 0 -0 +1 0 0 0 1 -0 -0 1 -0 1 0 0 1 0 -1 -0 -0 0 1 -0 1 1 1 -0 -0 -0 1 -0 1 1 1 -0 -0 1 -1 -0 -0 -0 0 0 0 0 1 -0 -0 1 -0 -0 -0 1 -0 -0 +1 0 0 1 -1 -0 0 1 1 1 0 0 -0 1 -0 1 -0 -0 -0 1 -0 +1 0 0 1 -0 1 -0 -0 1 -0 -0 -0 1 0 -0 -0 -0 -0 1 -0 1 0 0 0 -1 -0 -0 0 0 1 0 0 1 -0 -0 -0 1 1 1 -0 -0 -0 1 0 1 0 0 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 0 0 0 1 -0 -0 -0 -0 -0 -0 -0 1 0 +1 +1 +1 +1 +1 +1 0 0 1 -0 +1 0 0 0 @@ -2488,7 +2442,6 @@ 1 0 1 -0 1 1 0 @@ -2496,25 +2449,18 @@ 0 1 0 -0 -0 1 0 1 1 -0 1 0 0 0 0 1 -1 0 0 -1 -1 -0 0 1 0 @@ -2525,8 +2471,6 @@ 0 0 0 -0 -1 1 0 1 @@ -2534,129 +2478,74 @@ 1 0 0 -0 -0 -0 -1 1 1 0 -0 -0 -0 1 -1 -0 0 0 0 +1 0 +1 0 1 1 -0 -0 -0 -0 -0 -0 -0 -0 1 0 0 -0 1 0 0 0 1 -0 1 0 -0 -0 +1 0 1 1 0 0 0 -0 -0 +1 1 0 0 1 1 -0 -0 -0 -0 -0 1 0 1 0 -0 1 1 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 0 1 0 1 -0 -0 -0 1 1 -0 -0 -0 1 1 0 +1 +0 0 +1 0 0 1 1 -0 1 -0 -0 -0 -0 1 0 1 0 1 1 -1 -1 -0 0 0 0 @@ -2666,44 +2555,32 @@ 1 1 0 -0 1 0 0 -1 -0 0 0 0 0 1 -0 -0 -0 -0 1 0 1 -0 1 0 +1 0 1 +0 1 1 0 0 -0 1 -0 -0 1 1 -0 -0 1 0 -0 1 0 1 @@ -2711,120 +2588,58 @@ 0 0 1 -0 -0 -0 -0 1 -0 -0 -0 -0 1 1 -0 -0 -0 +1 0 0 1 0 1 0 -0 1 -0 -0 1 0 0 1 0 -0 -0 -0 -0 -0 -0 -0 1 0 0 0 0 -0 1 0 -0 -0 -0 1 0 1 0 0 0 -0 -0 1 1 0 -0 -0 -0 -0 -0 -0 1 -0 1 -0 -0 1 -0 1 -0 -0 -0 -0 -0 1 1 0 0 0 -0 -0 -0 1 -0 -0 -0 -0 1 0 0 0 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 -0 -0 -0 -0 -0 -0 1 0 0 +0 1 1 0 @@ -2833,161 +2648,71 @@ 0 0 0 -0 -0 1 0 -0 -0 -0 1 1 -0 -0 1 -0 -0 -0 1 1 1 0 0 -1 -0 0 1 -0 1 0 0 -0 1 1 0 1 -0 -0 -0 -0 -0 -1 -1 1 0 0 1 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 0 0 1 -0 -0 -0 1 -0 1 -0 -0 -0 -0 -0 1 0 -0 1 0 -0 -0 -0 -0 -0 1 0 +1 0 0 1 1 -0 1 -0 1 0 0 -0 -0 1 -0 -0 1 0 -0 -0 -0 -0 -0 -0 -0 1 1 0 0 -0 -0 -0 -0 -0 -0 -0 1 0 -1 -0 -0 -0 -0 -0 -0 -0 -0 0 1 0 -0 -0 -0 1 0 0 0 -0 -0 1 0 0 -1 -0 -0 -0 -0 -0 -0 0 0 1 @@ -3003,93 +2728,43 @@ 0 0 1 -0 -0 -0 -0 -0 1 -0 -0 1 0 1 -0 -0 -0 1 0 0 -0 -0 -0 -0 -0 1 0 -0 1 1 0 -0 1 -0 1 0 0 1 -0 1 0 -0 -0 -0 -0 1 1 1 -0 -0 -0 -0 1 0 0 1 -1 -0 -0 0 1 0 0 -0 -0 -0 1 -0 -0 -0 1 -0 -0 -0 1 0 0 0 -0 -0 -0 -0 -0 -1 -0 -1 -0 1 -0 -0 1 0 1 @@ -3098,58 +2773,30 @@ 0 0 0 -0 -1 -0 -0 1 1 1 0 1 1 -1 -0 -0 -0 -0 0 1 0 -0 1 0 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 -1 -0 -0 -0 0 0 1 -0 -0 1 0 -0 1 0 1 0 0 1 -1 -0 0 0 0 @@ -3157,22 +2804,12 @@ 0 0 1 -0 -0 -0 -0 1 -0 -0 -0 -0 -0 -0 1 0 -0 -0 -0 +1 +1 +1 0 0 0 @@ -3181,31 +2818,30 @@ 1 0 1 +0 1 1 1 -0 -1 -0 -0 1 0 0 1 1 -1 -0 -0 0 +1 0 0 1 0 0 -0 +1 1 0 +1 0 +1 +1 +1 0 0 0 @@ -3213,34 +2849,36 @@ 0 0 1 -0 +1 +1 +1 +1 1 0 0 +1 0 -0 -0 +1 0 0 1 1 -0 -0 1 1 -0 1 0 0 0 +0 1 1 1 -0 1 0 0 +1 0 +1 0 0 0 @@ -3252,18 +2890,22 @@ 0 0 0 -1 0 0 +1 0 +1 0 +1 0 0 0 1 +0 1 0 0 +1 0 0 1 @@ -3271,8 +2913,6 @@ 0 0 0 -1 -0 0 0 0 @@ -3280,12 +2920,21 @@ 0 1 0 +1 0 +1 +1 +1 +1 0 1 0 0 0 +0 +1 +1 +1 1 0 0 @@ -3296,21 +2945,26 @@ 0 0 1 -0 -0 +1 0 1 1 0 0 1 +1 0 0 +1 0 +1 +1 +1 0 0 0 0 +1 0 0 1 @@ -3322,35 +2976,42 @@ 0 0 0 -0 -0 1 0 -0 1 0 0 +1 0 0 0 +1 0 0 0 0 +1 0 0 0 +1 +1 0 +1 +1 0 +1 0 0 -1 0 0 0 0 0 +1 +1 0 +1 0 1 0 @@ -3360,67 +3021,116 @@ 0 0 0 +1 +1 +1 0 +1 +1 0 -0 +1 +1 1 0 +1 0 1 0 +1 +1 +1 0 1 +1 0 0 1 +1 +1 +1 0 0 1 0 1 +1 0 +1 +1 0 0 1 1 1 +1 +1 0 0 1 0 0 +1 +1 0 0 0 +1 0 +1 0 +1 0 0 0 +1 +1 0 +1 +1 +1 +1 +1 +1 0 +1 +1 +1 0 1 0 0 1 +1 +1 +1 +1 +1 0 +1 +1 0 +1 0 0 -0 +1 +1 1 0 0 1 0 0 +1 +0 +1 0 0 0 0 0 0 +1 +1 0 0 0 @@ -3429,11 +3139,16 @@ 0 0 1 +1 0 +1 +1 0 +1 0 0 -0 +1 +1 0 0 0 @@ -3446,20 +3161,44 @@ 0 0 1 +1 0 1 0 0 +1 +0 +1 +1 0 +1 +1 0 0 +1 +1 0 +1 +1 +1 +1 +1 +1 +1 +1 0 0 +1 +1 0 1 +1 +1 +1 +0 0 1 +0 1 0 0 @@ -3470,83 +3209,120 @@ 0 1 0 +0 +1 +1 +1 +1 +1 1 0 +1 +1 0 +1 0 1 +1 0 0 1 1 0 +1 0 +1 0 +1 +1 +1 0 +1 0 0 0 0 0 0 -1 -1 -0 -1 0 1 0 0 0 1 -0 1 0 1 0 1 +0 1 +0 1 +0 1 1 0 0 0 0 +1 0 0 0 0 +1 0 0 -1 0 1 0 0 +1 0 0 +1 +1 +1 0 1 +1 0 0 +1 0 +1 0 1 1 +1 +1 +1 0 +1 +1 +1 0 +1 0 0 -1 0 0 +1 0 0 +1 0 1 +1 +1 0 +1 +1 0 +1 +1 +1 0 1 0 @@ -3556,7 +3332,6 @@ 0 0 0 -1 0 0 0 @@ -3567,28 +3342,37 @@ 0 0 0 -1 -1 -1 +0 0 1 0 0 -1 0 0 0 +0 +1 +1 +0 +0 +1 +1 1 0 0 0 0 +0 1 0 1 +1 0 0 +1 +1 0 +1 0 0 1 @@ -3598,50 +3382,68 @@ 0 0 1 -0 +1 +1 0 1 +1 0 0 0 0 1 0 +0 +1 1 0 1 0 0 +1 0 +1 0 0 1 -0 +1 1 0 0 +1 0 +1 0 1 0 0 0 0 +0 +0 1 0 0 +1 0 0 0 1 0 +1 +1 +1 0 0 0 0 +1 0 0 1 +1 +0 +0 0 1 1 @@ -3651,48 +3453,74 @@ 0 0 0 -0 -0 +1 0 0 1 -0 +1 1 1 0 0 +1 0 0 1 -0 +1 +1 1 0 -0 +1 +1 +1 +1 +1 0 0 1 +1 +0 0 0 0 1 +1 0 0 +1 0 1 +1 0 1 +1 +1 +0 0 0 1 0 +1 0 +1 0 +1 +1 +1 0 +1 0 +1 0 +1 +1 +1 +1 0 1 +0 1 +0 1 1 0 @@ -3703,25 +3531,29 @@ 0 0 0 +0 +1 1 0 0 -1 0 +1 +1 +1 0 1 0 0 +1 +1 0 0 0 1 0 -0 1 0 0 -1 0 0 1 @@ -3730,8 +3562,6 @@ 0 0 0 -1 -0 0 0 0 @@ -3739,18 +3569,21 @@ 0 1 1 -0 1 0 0 +0 1 1 0 0 +0 1 -1 +0 1 0 +1 +1 0 1 0 @@ -3759,16 +3592,14 @@ 1 0 1 -0 1 1 0 0 +1 +1 0 0 -0 -0 -1 1 0 0 @@ -3777,15 +3608,13 @@ 1 0 1 -0 -1 1 1 0 1 -0 1 1 +0 1 0 1 @@ -3793,32 +3622,33 @@ 0 0 1 +1 0 0 +1 +1 +1 0 0 0 1 1 1 -1 0 0 +1 0 0 0 0 1 0 -0 1 1 -0 +1 1 0 0 -1 -1 0 0 0 @@ -3828,22 +3658,18 @@ 1 0 1 -0 -0 -1 1 0 0 0 -1 -0 -0 0 +1 0 0 0 1 0 +1 0 0 1 @@ -3852,74 +3678,121 @@ 0 1 0 -0 -0 -0 +1 1 0 +1 +1 +1 0 +1 +1 0 0 0 +1 +1 +1 +1 +1 +1 0 +1 +1 +1 0 0 0 +1 0 0 +1 0 0 +1 +1 0 0 0 0 -0 +1 0 0 1 0 0 +1 0 +1 +1 +1 0 0 1 0 +1 0 0 -1 0 0 0 0 1 +1 0 +1 0 0 1 1 0 -0 -0 +1 +1 +1 0 0 0 1 0 +1 0 -0 +1 +1 +1 +1 +1 +1 +1 +1 0 1 0 0 +1 +1 0 0 0 +1 +1 +1 +1 0 1 1 +1 +1 +1 +1 +1 +1 +1 0 +1 +1 0 1 +1 0 0 1 @@ -3936,11 +3809,8 @@ 1 0 1 -1 -0 0 0 -1 0 1 0 @@ -3951,155 +3821,174 @@ 1 0 1 -1 -0 -0 0 1 0 1 -0 +1 +1 1 0 -0 -0 +1 +1 +1 0 1 +1 +1 0 0 +1 +1 0 0 1 0 +1 0 1 0 1 0 +1 0 +1 0 0 +1 +1 0 1 0 +1 0 0 0 0 0 +1 0 1 +1 0 +1 +1 0 0 0 +1 0 0 0 +1 0 +1 0 0 0 1 0 0 -0 1 0 -0 +1 0 1 1 +1 +1 0 0 0 0 1 +1 +1 0 0 0 +1 +1 0 +1 0 0 0 -1 0 1 1 0 -0 -0 +1 1 0 0 +1 0 0 1 1 -0 1 0 1 0 1 0 -0 -0 +1 0 1 1 0 0 0 +1 0 -0 -0 +1 +1 +1 0 0 1 1 1 -0 1 1 0 0 -0 -0 -0 1 -0 -0 -0 +1 0 1 0 +1 +1 +1 0 0 1 +1 +1 +1 0 +1 0 0 -0 +1 0 1 0 +1 0 0 0 1 1 -0 1 0 -0 1 -0 -0 -0 1 0 0 +1 0 0 0 @@ -4107,34 +3996,36 @@ 0 0 0 +1 +1 +1 0 +1 0 +1 0 +1 0 0 0 1 1 -0 -0 1 0 -1 0 0 +1 0 0 0 0 -1 0 0 0 1 -1 0 1 -0 +1 0 0 1 @@ -4143,32 +4034,21 @@ 0 0 0 -0 1 1 0 0 0 -0 -0 1 0 1 -1 -0 -0 -0 0 0 1 0 -0 -0 -0 1 1 0 -1 0 0 0 @@ -4176,13 +4056,14 @@ 0 0 1 +0 1 1 +0 1 1 0 -0 -0 +1 0 0 0 @@ -4191,38 +4072,31 @@ 1 1 0 -0 -0 1 0 -1 0 0 1 1 0 0 -1 -0 0 0 1 -1 0 1 -1 -0 -0 -0 -0 -0 -0 0 0 +1 +1 0 +1 0 +1 +1 0 1 +0 1 0 0 @@ -4230,21 +4104,17 @@ 0 0 0 +1 0 0 1 1 1 -0 -0 -0 -0 -0 1 1 0 -0 -0 +1 +1 0 0 1 @@ -4253,111 +4123,138 @@ 0 0 0 -1 0 0 0 +1 0 +1 0 1 +1 0 1 0 0 0 1 -0 1 1 0 0 0 -0 -0 +1 +1 +1 +1 1 0 0 -1 0 +1 0 +1 +1 0 1 0 0 +1 +1 0 0 0 -1 0 1 1 +0 1 0 0 -1 0 0 0 -1 0 1 1 1 1 1 +1 0 0 0 0 -0 -0 +1 +1 +1 +1 +1 0 0 0 1 0 +1 0 +1 0 +1 0 +1 +1 0 +1 0 1 1 +1 +1 +1 +1 0 0 0 +1 0 0 1 0 1 0 -0 -0 -0 +1 1 0 1 1 0 0 -0 -0 1 0 1 1 1 +1 0 0 0 0 0 +1 +1 0 +1 +1 +1 0 +1 +1 +1 0 0 0 +1 +1 0 0 1 @@ -4365,7 +4262,7 @@ 1 1 1 -0 +1 1 0 1 @@ -4373,11 +4270,18 @@ 1 1 0 +1 +0 +1 0 +1 0 +1 0 +1 0 0 +1 0 0 0 @@ -4385,10 +4289,21 @@ 0 1 0 +1 +1 +1 +1 0 +1 0 +1 +1 +1 0 1 +1 +1 +1 0 0 0 @@ -4399,14 +4314,9 @@ 0 1 0 -0 1 0 -0 -0 -1 1 -0 1 0 0 @@ -4414,34 +4324,41 @@ 1 1 0 -1 -0 0 0 0 0 +1 0 +1 0 +1 +1 +1 +1 0 +1 +1 0 +1 0 0 1 0 +1 +1 +1 0 0 0 -1 0 0 0 1 0 -1 0 1 1 -1 0 1 1 @@ -4451,39 +4368,34 @@ 1 1 1 -0 1 0 1 -0 1 0 -0 -0 1 -0 -0 -0 1 0 0 0 0 0 +1 0 1 1 +1 0 0 -1 0 +1 0 0 0 0 0 1 -0 +1 1 1 0 @@ -4492,23 +4404,7 @@ 0 0 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 1 -0 1 0 1 @@ -4523,44 +4419,48 @@ 0 1 0 +1 +0 0 0 -1 -1 0 0 -1 0 1 0 +1 +1 0 +1 0 0 0 0 0 +1 0 1 1 1 0 1 -0 -0 -0 -0 1 -0 1 1 1 -0 -0 +1 +1 +1 +1 +1 +1 1 0 1 0 0 +1 +1 0 0 0 @@ -4568,38 +4468,30 @@ 0 0 0 -1 +0 0 0 1 1 0 0 -0 -0 1 0 1 0 1 -0 1 0 1 1 1 -0 -0 1 0 -0 -0 1 0 0 0 0 -1 0 0 0 @@ -4607,35 +4499,52 @@ 1 1 0 -0 1 0 0 1 0 +1 0 0 1 0 +1 0 +1 0 0 0 1 +1 +1 +1 0 0 +1 0 0 0 +1 +1 0 +1 +1 +1 +1 +1 0 -0 +1 +1 0 1 1 0 0 +1 +1 0 +1 0 1 0 @@ -4643,63 +4552,72 @@ 1 1 1 -0 -1 1 1 0 0 -0 1 0 +1 0 0 1 -1 0 0 1 -1 -0 0 0 1 1 0 0 -0 -0 1 -0 +1 0 0 0 0 1 -0 1 -0 +1 +1 +1 +1 1 0 +1 +1 +1 0 +1 +1 +1 0 0 +1 0 0 0 0 1 +1 0 1 1 -0 +1 +1 0 0 1 +1 0 +1 0 0 +1 +1 0 +1 0 1 0 @@ -4707,40 +4625,61 @@ 0 0 0 +1 +1 0 0 0 0 1 -0 1 +1 +1 +1 +0 0 +1 0 1 1 +1 0 +1 +1 +1 0 +1 0 +1 0 0 +1 +1 +1 +1 0 +1 +1 0 0 0 +1 +1 0 0 0 0 +1 0 0 0 0 0 1 -0 1 1 -0 +1 +1 0 0 0 @@ -4751,12 +4690,8 @@ 0 1 0 -0 -0 1 -0 1 -0 1 0 0 @@ -4765,21 +4700,27 @@ 0 1 0 +1 +1 0 +1 0 +1 0 0 0 0 0 1 +0 1 0 0 1 +1 0 0 -0 +1 0 1 1 @@ -4787,29 +4728,24 @@ 0 0 0 -0 -0 1 0 -0 -0 -1 1 0 1 +0 1 0 1 +0 1 1 -0 1 0 0 -0 1 1 -0 +1 1 0 0 @@ -4817,52 +4753,73 @@ 0 0 0 +1 0 +1 0 +1 0 0 +1 +1 +1 +1 0 0 0 -0 +1 +1 1 0 +1 +1 +1 0 0 +1 +1 0 0 1 1 1 0 -1 0 0 0 1 0 -0 -0 +1 1 0 0 -0 +1 +1 +1 +1 +1 0 1 +1 0 0 +1 0 0 1 1 1 0 +1 +1 0 1 1 0 +0 1 0 +1 0 1 0 @@ -4870,20 +4827,19 @@ 0 1 1 -0 -0 +1 0 0 0 1 -0 -0 +1 1 0 +1 0 0 0 -0 +1 0 0 1 @@ -4892,6 +4848,7 @@ 0 0 0 +1 0 0 0 @@ -4899,9 +4856,12 @@ 1 0 1 +1 0 -0 -0 +1 +1 +1 +1 0 0 1 @@ -4909,90 +4869,130 @@ 0 0 1 -0 -0 +1 +1 +1 +1 0 0 1 1 0 +1 0 1 +1 0 0 0 +1 +1 +1 +1 0 0 +1 0 0 +1 +1 0 +1 +1 0 0 +1 0 0 1 0 0 +1 +1 +1 0 1 0 1 1 1 +1 +1 0 +1 0 0 -0 -0 +1 0 1 +1 0 0 -1 0 0 +1 0 0 0 1 1 +1 +1 +1 0 0 0 1 +1 0 +1 0 -0 -0 +1 +1 0 1 0 0 +0 1 1 0 0 0 +1 0 0 -1 0 0 1 +1 0 -0 +1 +1 1 0 1 +1 +1 0 +1 +1 0 +1 0 0 1 +1 +1 0 0 0 1 +1 +1 +1 +1 +1 0 1 0 @@ -5004,8 +5004,8 @@ 0 0 0 -0 -0 +1 +1 1 0 0 @@ -5017,27 +5017,27 @@ 0 0 0 -0 -0 +1 0 1 1 1 +1 0 0 0 0 1 +1 +1 0 -0 -0 -0 +1 0 0 1 0 0 -0 +1 0 0 1 @@ -5048,31 +5048,26 @@ 0 1 0 -0 +1 0 0 0 1 1 1 -0 -0 -0 -0 1 0 +1 0 -0 +1 0 0 0 0 1 -1 0 0 1 -0 1 0 1 @@ -5080,8 +5075,10 @@ 1 1 0 +1 0 1 +1 0 0 0 @@ -5089,6 +5086,9 @@ 0 0 0 +1 +1 +1 0 0 0 @@ -5099,38 +5099,35 @@ 1 1 0 -1 0 -1 0 1 0 1 0 -0 -0 1 0 0 0 -0 -0 1 0 0 0 1 0 -0 1 0 -0 +1 +1 +1 0 0 1 0 +1 0 0 +1 0 0 0 @@ -5138,36 +5135,34 @@ 0 1 0 -0 1 -0 1 -0 1 1 -0 -0 -0 -0 1 1 -0 1 0 +1 +1 0 0 0 +1 +1 +1 0 +1 +1 0 0 0 -0 -0 -0 -0 +1 0 1 0 +1 +1 0 0 0 @@ -5176,18 +5171,23 @@ 0 0 0 +1 0 +1 +1 0 0 0 -0 +1 0 0 1 +1 +1 0 0 0 -0 +1 0 1 1 @@ -5196,27 +5196,25 @@ 1 1 1 -0 -0 -0 -0 -0 -0 -0 +1 1 0 0 +1 0 +1 +1 0 +1 0 0 0 0 0 1 -0 -0 -0 +1 +1 +1 0 0 0 @@ -5224,49 +5222,51 @@ 0 0 1 +1 +1 0 +1 +1 0 0 0 -0 -0 -0 +1 0 1 1 -0 1 1 1 1 -0 -0 -0 -0 -0 -0 1 0 0 -0 -0 -0 -0 -0 +1 0 0 1 +1 +1 +1 0 0 +1 +1 +1 0 0 +1 0 0 0 0 +1 0 +1 0 +1 +1 0 0 +1 0 -0 \ No newline at end of file diff --git a/main.py b/main.py index afc450a..b51a4c5 100644 --- a/main.py +++ b/main.py @@ -1,222 +1,105 @@ -#!/usr/bin/env python -# coding: utf-8 - -# In[1]: - - +# noinspection PyUnresolvedReferences import csv - - -# In[2]: - - -get_ipython().system('pip install gensim') - - -# In[17]: - - -import nltk -nltk.download('punkt') - - -# In[9]: - - -get_ipython().system('pip install nltk') - - -# In[3]: - - -get_ipython().system('pip install torch') - - -# In[4]: - - -import gensim.downloader +import torch import numpy as np import pandas as pd -import torch +from nltk.util import pr +from gensim import downloader +from nltk.tokenize import word_tokenize +BATCH_SIZE = 5 -# In[5]: +class NeuralNetworkModel(torch.nn.Module): - -import torch.nn as nn -from nltk import word_tokenize - - -# In[13]: - - -header_names = ["content", "id", "label"] - - -# In[23]: - - -class FF(nn.Module): - def __init__(self, input_dim, hidden_dim, output_dim): - super(FF, self).__init__() - self.fc1 = nn.Linear(input_dim, hidden_dim) - self.relu1 = nn.ReLU() - self.fc2 = nn.Linear(hidden_dim, hidden_dim) - self.relu2 = nn.ReLU() - self.fc3 = nn.Linear(hidden_dim, output_dim) + def __init__(self): + dim = 200 + super(NeuralNetworkModel, self).__init__() + self.one = torch.nn.Linear(dim, 500) + self.two = torch.nn.Linear(500, 1) def forward(self, x): - out = self.fc1(x) - out = self.relu1(out) - out = self.relu2(out) - out = self.fc3(out) - return torch.sigmoid(out) + x = self.one(x) + x = torch.relu(x) + x = self.two(x) + x = torch.sigmoid(x) + return x -train_set_labels = pd.read_table( - "train/expected.tsv", - error_bad_lines=False, - quoting=csv.QUOTE_NONE, - header=None, - names=header_names[2:], -) +def read_data(): + x_labels = (pd.read_csv('in-header.tsv', sep='\t')).columns + y_labels = (pd.read_csv('out-header.tsv', sep='\t')).columns -train_set_features = pd.read_table( - "train/in.tsv.xz", - error_bad_lines=False, - quoting=csv.QUOTE_NONE, - header=None, - names=header_names[:2], -) + x_train = pd.read_table('train/in.tsv', header=None, quoting=csv.QUOTE_NONE, names=x_labels) + y_train = pd.read_table('train/expected.tsv', header=None, quoting=csv.QUOTE_NONE, names=y_labels) + x_dev = pd.read_table('dev-0/in.tsv', header=None, quoting=csv.QUOTE_NONE, names=x_labels) + x_test = pd.read_table('test-A/in.tsv', header=None, quoting=csv.QUOTE_NONE, names=x_labels) + # remove some rows for faster development + remove_n = 200000 + drop_indices = np.random.choice(x_train.index, remove_n, replace=False) + x_train = x_train.drop(drop_indices) + y_train = y_train.drop(drop_indices) -test_set = pd.read_table( - "test-A/in.tsv.xz", - error_bad_lines=False, - header=None, - quoting=csv.QUOTE_NONE, - names=header_names[:2], -) + return x_labels, y_labels, x_train, y_train, x_dev, x_test -dev_set = pd.read_table( - "dev-0/in.tsv.xz", - error_bad_lines=False, - header=None, - quoting=csv.QUOTE_NONE, - names=header_names[:2], -) -X_train = train_set_features["content"].str.lower() -y_train = train_set_labels["label"] +def process_data(x_labels, y_labels, x_train, y_train, x_dev, x_test): + x_train = x_train[x_labels[0]].str.lower() + x_dev = x_dev[x_labels[0]].str.lower() + x_test = x_test[x_labels[0]].str.lower() + y_train = y_train[y_labels[0]] -X_dev = dev_set["content"].str.lower() -X_test = test_set["content"].str.lower() -X_train = [word_tokenize(content) for content in X_train] -X_dev = [word_tokenize(content) for content in X_dev] -X_test = [word_tokenize(content) for content in X_test] -word2vec = gensim.downloader.load("word2vec-google-news-300") + x_train = [word_tokenize(x) for x in x_train] + x_dev = [word_tokenize(x) for x in x_dev] + x_test = [word_tokenize(x) for x in x_test] + w2v = downloader.load('glove-wiki-gigaword-200') -# In[24]: + x_train = [np.mean([w2v[w] for w in d if w in w2v] or [np.zeros(200)], axis=0) for d in x_train] + x_dev = [np.mean([w2v[w] for w in d if w in w2v] or [np.zeros(200)], axis=0) for d in x_dev] + x_test = [np.mean([w2v[w] for w in d if w in w2v] or [np.zeros(200)], axis=0) for d in x_test] + return x_train, y_train, x_dev, x_test -X_train = [ - np.mean( - [word2vec[word] for word in content if word in word2vec] or [np.zeros(300)], - axis=0, - ) - for content in X_train -] -X_dev = [ - np.mean( - [word2vec[word] for word in content if word in word2vec] or [np.zeros(300)], - axis=0, - ) - for content in X_dev -] +def predict(model, x_data, out_path): + y_out = [] + model.eval() + with torch.no_grad(): + for i in range(0, len(x_data), BATCH_SIZE): + x = x_data[i:i + BATCH_SIZE] + x = torch.tensor(x) + pred = nn_model(x.float()) -X_test = [ - np.mean( - [word2vec[word] for word in content if word in word2vec] or [np.zeros(300)], - axis=0, - ) - for content in X_test -] -hidden_layer = 650 -epochs = 15 -batch_size = 10 + y_pred = (pred > 0.5) + y_out.extend(y_pred) + y_data = np.asarray(y_out, dtype=np.int32) + pd.DataFrame(y_data).to_csv(out_path, sep='\t', index=False, header=False) -# In[27]: +if __name__ == "__main__": + x_labels, y_labels, x_train, y_train, x_dev, x_test = read_data() + x_train, y_train, x_dev, x_test = process_data(x_labels, y_labels, x_train, y_train, x_dev, x_test) -output_dim = 1 + nn_model = NeuralNetworkModel() + criterion = torch.nn.BCELoss() + optimizer = torch.optim.SGD(nn_model.parameters(), lr=0.1) -input_dim =300 -model = FF(input_dim, hidden_layer, output_dim) -optimizer = torch.optim.SGD(model.parameters(), lr=0.01) -criterion = torch.nn.BCELoss() + for epoch in range(5): + nn_model.train() + for i in range(0, y_train.shape[0], BATCH_SIZE): + X = x_train[i:i + BATCH_SIZE] + X = torch.tensor(X) -# In[28]: - - -for epoch in range(epochs): - model.train() - for i in range(0, y_train.shape[0], batch_size): - X = X_train[i : i + batch_size] - X = torch.tensor(X) - y = y_train[i : i + batch_size] - y = torch.tensor(y.astype(np.float32).to_numpy()).reshape(-1, 1) - - outputs = model(X.float()) - loss = criterion(outputs, y) - - optimizer.zero_grad() - loss.backward() - optimizer.step() -test_prediction = [] -dev_prediction = [] -model.eval() -with torch.no_grad(): - for i in range(0, len(X_test), batch_size): - X = X_test[i : i + batch_size] - X = torch.tensor(X) - - outputs = model(X.float()) - - prediction = outputs > 0.5 - test_prediction += prediction.tolist() - - for i in range(0, len(X_dev), batch_size): - X = X_dev[i : i + batch_size] - X = torch.tensor(X) - - outputs = model(X.float()) - - prediction = outputs > 0.5 - dev_prediction += prediction.tolist() - -test_prediction = np.asarray(test_prediction, dtype=np.int32) -dev_prediction = np.asarray(dev_prediction, dtype=np.int32) -test_prediction.tofile("./test-A/out.tsv", sep="\n") -dev_prediction.tofile("./dev-0/out.tsv", sep="\n") - - -# In[ ]: - - - - - -# In[ ]: - - - - - -# In[ ]: - + Y = y_train[i:i + BATCH_SIZE] + Y = torch.tensor(Y.astype(np.float32).to_numpy()).reshape(-1, 1) + Y_predictions = nn_model(X.float()) + loss = criterion(Y_predictions, Y) + optimizer.zero_grad() + loss.backward() + optimizer.step() + predict(nn_model, x_dev, 'dev-0/out.tsv') + predict(nn_model, x_test, 'test-A/out.tsv') \ No newline at end of file diff --git a/test-A/out.tsv b/test-A/out.tsv index 11e1bbe..9338dda 100644 --- a/test-A/out.tsv +++ b/test-A/out.tsv @@ -1,21 +1,21 @@ -0 -0 -0 -0 -0 -0 +1 1 0 +1 +1 +1 +1 0 +1 0 0 0 0 1 -0 -0 1 0 +1 +1 0 1 1 @@ -23,19 +23,19 @@ 0 1 1 -0 1 1 -0 -0 1 -0 1 0 +1 0 +1 0 +1 0 0 +1 0 0 0 @@ -47,7 +47,7 @@ 0 1 1 -0 +1 0 1 0 @@ -71,18 +71,18 @@ 1 0 0 -0 +1 0 1 1 1 0 -0 +1 0 1 1 1 -0 +1 1 0 0 @@ -90,7 +90,7 @@ 0 1 1 -0 +1 1 1 0 @@ -100,8 +100,8 @@ 1 0 0 -0 -0 +1 +1 0 0 1 @@ -119,27 +119,27 @@ 0 0 1 -0 -0 1 0 +1 0 -0 -0 +1 1 0 +1 0 0 0 1 -0 -0 +1 0 0 0 1 1 1 +1 +1 0 1 0 @@ -151,10 +151,10 @@ 1 1 0 -1 -0 0 0 +1 +1 0 1 1 @@ -171,43 +171,42 @@ 0 0 1 -0 -0 1 -0 -0 -0 -0 1 -0 +1 0 1 0 1 1 0 -0 -0 +1 +1 +1 +1 1 0 +1 0 +1 0 0 0 +1 0 +1 +1 0 0 +1 0 0 -0 -0 -0 -0 -0 +1 0 0 0 1 +1 0 0 0 @@ -217,8 +216,10 @@ 0 1 1 +1 0 -0 +1 +1 1 1 0 @@ -226,9 +227,12 @@ 0 0 0 +1 0 1 0 +0 +1 1 0 1 @@ -237,32 +241,23 @@ 0 0 0 -0 -0 -0 -0 -0 1 -0 -0 -0 1 0 0 -0 1 -0 -0 -0 -0 1 -0 -0 -0 +1 +1 +1 +1 +1 +1 1 0 +1 0 -0 +1 0 1 0 @@ -272,78 +267,71 @@ 0 0 1 -0 -0 1 1 0 0 1 0 +0 +1 +1 1 0 1 1 1 1 -0 1 -0 -0 -0 -0 -0 -0 1 1 -0 -0 -0 -0 -0 +1 +1 1 0 +1 0 0 0 -0 1 1 +1 +0 +1 0 0 0 +1 0 0 0 0 0 1 -0 1 0 -0 -0 1 0 0 -0 1 0 1 -0 +1 +1 0 0 0 0 0 1 -0 -0 -0 +1 +1 0 1 1 +1 0 +1 0 0 0 @@ -351,20 +339,32 @@ 1 1 0 -0 1 -0 +1 +1 1 0 1 0 0 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 0 0 1 1 0 -0 +1 0 0 0 @@ -372,13 +372,13 @@ 0 0 0 -0 +1 1 0 0 1 0 -1 +0 1 0 0 @@ -400,20 +400,20 @@ 1 0 1 -0 -0 -0 -0 1 -0 -0 1 0 0 1 +1 0 +1 +1 0 +1 0 +1 +1 0 1 0 @@ -432,15 +432,15 @@ 0 0 0 -0 1 1 1 -0 1 0 -0 -0 +1 +1 +1 +1 0 0 0 @@ -458,6 +458,7 @@ 0 0 0 +1 0 0 0 @@ -466,24 +467,23 @@ 0 0 0 -0 1 -0 -0 +1 0 0 0 0 1 -0 -0 +1 1 0 +1 +1 0 0 0 1 -0 +1 1 0 1 @@ -501,48 +501,71 @@ 1 1 1 -0 -0 1 0 +1 0 1 1 -0 +1 +1 0 1 +1 0 0 +1 +1 0 0 +1 0 0 0 1 +0 1 0 0 1 0 +1 0 +1 0 0 0 +1 +1 +1 0 0 +1 0 +1 +1 0 +1 +1 0 0 0 0 0 1 +1 +1 +0 0 +1 +1 0 +1 0 +1 0 0 +1 0 0 1 @@ -550,33 +573,44 @@ 0 0 0 +1 0 0 1 +1 +1 +1 +1 0 1 +1 0 0 1 1 +1 0 1 +1 0 1 +1 0 +1 0 1 0 0 1 1 -0 -0 -0 1 0 +1 +1 0 0 +1 +1 0 1 1 @@ -584,6 +618,8 @@ 0 0 1 +1 +1 0 0 0 @@ -599,8 +635,6 @@ 1 0 1 -0 -0 1 1 0 @@ -608,28 +642,20 @@ 1 0 0 -0 -1 1 0 0 0 -1 -0 0 1 +0 1 1 0 0 -0 -0 -0 -0 1 0 0 -0 1 0 0 @@ -639,18 +665,10 @@ 1 0 0 -0 -0 -0 -0 -0 -0 1 -0 -1 -0 1 1 +0 1 0 1 @@ -659,69 +677,51 @@ 1 0 0 -0 1 0 1 0 0 1 -1 -0 0 0 +1 0 0 0 0 1 -0 -0 1 0 1 -0 -0 1 0 -0 1 0 0 0 0 1 -0 -0 -0 -0 -0 1 -0 +1 0 0 0 1 0 1 -0 -0 -0 -0 -0 1 1 1 0 +0 +0 1 1 0 1 0 0 -0 -0 -0 1 0 1 @@ -737,21 +737,21 @@ 0 0 0 -0 -0 1 0 -0 -0 -0 -0 +1 1 0 0 0 0 +1 +1 +1 0 +1 0 +1 0 0 1 @@ -759,33 +759,30 @@ 0 0 0 -0 +1 0 1 1 0 1 -0 +1 0 0 0 1 -0 +1 1 0 1 0 1 1 -0 -0 -0 1 1 1 -0 1 -0 +1 +1 0 0 0 @@ -794,14 +791,12 @@ 0 1 1 -0 -0 +1 +1 +1 1 0 -0 -0 -0 -0 +1 0 0 0 @@ -813,7 +808,12 @@ 0 0 1 +1 0 +1 +1 +1 +1 0 0 1 @@ -821,7 +821,7 @@ 0 1 1 -0 +1 0 0 0 @@ -829,34 +829,34 @@ 1 0 0 -0 +1 0 1 1 -0 +1 +1 0 0 0 1 -0 -0 +1 0 1 0 0 1 -0 +1 1 1 1 1 0 +1 0 0 +1 0 -0 -0 -0 +1 0 0 0 @@ -868,48 +868,58 @@ 0 0 0 -0 +1 0 0 0 1 0 1 -0 1 -0 +1 +1 0 0 1 1 0 1 +1 +1 0 0 0 +1 0 0 1 0 +1 +1 0 0 +1 0 1 1 0 -0 +1 +1 1 0 1 +1 +1 +0 0 0 0 0 1 +1 0 0 1 -1 0 0 0 @@ -919,6 +929,8 @@ 0 0 0 +1 +1 0 0 0 @@ -928,32 +940,41 @@ 0 0 0 +1 0 1 1 0 -0 -0 -0 1 0 0 0 +1 0 1 +1 +1 +1 +1 0 +1 0 +1 +1 0 0 +1 +1 0 0 +1 0 +1 0 1 0 0 1 -0 1 1 0 @@ -962,31 +983,28 @@ 1 0 0 -0 -0 1 0 0 1 0 0 -0 1 -0 -0 1 0 -0 -0 -0 +1 +1 0 0 0 1 1 0 +1 +1 +1 0 -0 +1 0 0 0 @@ -996,17 +1014,16 @@ 1 0 0 -0 -0 1 0 1 +1 0 0 0 1 0 -0 +1 0 0 0 @@ -1014,8 +1031,14 @@ 1 0 0 +1 0 0 +1 +1 +1 +1 +1 0 1 1 @@ -1024,12 +1047,16 @@ 1 0 1 +1 +1 0 +1 +1 0 +1 0 0 -0 -0 +1 0 1 0 @@ -1037,16 +1064,13 @@ 0 0 0 -1 -1 0 -1 0 0 0 1 0 -0 +1 1 1 0 @@ -1054,31 +1078,25 @@ 1 1 0 -0 -0 -0 -0 +1 1 0 +1 0 1 1 +1 0 0 0 0 0 1 -0 -0 -1 -0 -1 1 0 0 -0 1 +0 1 0 1 @@ -1091,43 +1109,48 @@ 0 0 0 -0 1 -0 1 1 -0 -0 -0 1 -0 -0 +1 +1 1 1 0 0 +1 0 0 0 1 -0 -0 +1 1 0 -0 -0 +1 1 0 0 +1 +1 +1 0 0 +1 0 +1 +1 +1 0 1 1 +1 +1 0 0 1 +1 +1 0 0 0 @@ -1135,11 +1158,18 @@ 1 0 1 +1 +1 +1 0 +1 0 +1 0 1 1 +1 +0 0 0 0 @@ -1147,48 +1177,68 @@ 0 0 0 +1 +0 0 +1 0 0 1 +0 1 1 0 1 1 +1 0 0 -1 0 0 +1 +1 +1 0 1 +1 0 0 0 0 1 +1 0 0 0 +1 0 +1 0 +1 0 +1 +1 +1 0 0 0 1 0 -0 1 1 0 +1 +1 0 0 1 1 +1 +1 +1 0 -0 +1 +1 0 1 0 @@ -1196,41 +1246,26 @@ 0 0 1 -1 -1 -0 -1 -0 -0 -0 -0 -0 0 0 +1 0 0 0 0 0 1 -0 1 0 0 1 1 1 -0 -0 1 0 1 -0 -0 -0 1 -0 -0 +1 0 1 1 @@ -1240,87 +1275,46 @@ 0 0 0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 -0 +1 0 0 0 1 1 -0 -0 -0 -0 -0 -0 -0 1 1 0 -0 -0 -0 -0 1 0 +1 0 0 -0 -0 -0 +1 0 0 0 0 1 -0 1 -0 -0 -0 -0 -0 -0 -0 1 -0 -0 -0 -0 1 -0 1 1 -0 1 1 -0 1 0 0 1 0 +1 0 0 0 0 0 -0 -0 -0 -0 -1 -1 -1 1 1 0 @@ -1329,65 +1323,68 @@ 1 0 0 +0 1 1 0 -0 1 0 -0 +1 +1 1 0 +1 +1 0 +1 0 0 0 0 +1 0 +1 +1 0 0 +1 +1 0 0 -1 0 1 0 1 0 1 -0 1 1 1 0 -0 1 0 1 1 -0 -0 1 0 1 0 -0 -0 -0 1 0 0 1 0 +1 0 0 0 0 1 -1 0 0 0 +1 +1 0 0 1 @@ -1395,7 +1392,8 @@ 0 1 0 -0 +1 +1 0 0 0 @@ -1405,43 +1403,45 @@ 1 0 1 -0 -0 1 1 -0 -0 -0 -0 +1 0 1 1 0 1 -0 -0 +1 1 0 -0 +1 +1 1 1 0 0 1 +1 0 +1 +1 0 +1 +1 0 0 0 0 +1 +1 0 0 1 -0 +1 1 0 0 -0 +1 0 0 1 @@ -1461,7 +1461,7 @@ 1 0 0 -0 +1 0 0 1 @@ -1478,7 +1478,7 @@ 0 0 1 -0 +1 0 0 1 @@ -1501,126 +1501,126 @@ 0 1 0 -0 -0 -0 -0 1 -0 -0 -0 -0 -0 -0 -0 1 0 0 -0 1 0 -0 -0 -0 1 0 0 0 +1 0 +1 0 +1 0 +1 +1 +1 +1 0 +1 +1 +1 0 0 +1 0 0 -0 -0 -0 +1 1 0 0 0 0 1 -0 -0 +1 0 1 0 0 1 +1 0 +1 +1 +1 0 -0 +1 0 0 0 0 0 1 -0 -0 1 -0 1 1 1 -0 -0 1 -0 -0 -0 -0 1 -0 -0 -0 -0 -0 +1 +1 +1 0 0 0 1 +1 +1 0 +1 +1 0 0 1 +1 0 +1 0 0 +1 0 1 0 +1 0 0 0 0 +1 +1 0 1 0 +1 0 +1 0 0 0 0 1 0 +1 0 0 0 0 0 1 -0 -0 -0 +1 1 0 0 +1 +1 0 1 +1 0 1 0 @@ -1635,8 +1635,8 @@ 0 0 0 -0 -0 +1 +1 0 0 0 @@ -1654,29 +1654,25 @@ 1 0 1 -0 -0 -0 -0 -0 1 1 0 +1 0 -0 -0 +1 0 0 1 0 0 0 -0 +1 +1 1 0 0 0 -0 +1 1 0 0 @@ -1686,11 +1682,15 @@ 0 0 0 +1 0 0 0 +1 +1 0 -0 +1 +1 0 1 1 @@ -1703,7 +1703,7 @@ 0 0 0 -0 +1 0 1 0 @@ -1713,9 +1713,9 @@ 0 1 1 -1 0 1 +1 0 0 0 @@ -1725,21 +1725,21 @@ 1 1 0 -0 -0 1 0 -0 -0 1 0 0 0 +1 0 0 0 +1 0 0 +1 +1 0 0 0 @@ -1751,32 +1751,32 @@ 1 1 0 -0 -0 1 0 -0 +1 +1 +1 0 0 1 1 -0 1 -0 +1 +1 1 0 0 -0 +1 0 0 1 0 1 -0 1 1 -0 -0 +1 +1 +1 0 0 0 @@ -1795,29 +1795,29 @@ 0 1 1 -1 +0 0 0 1 0 -0 -0 +1 0 1 1 0 +1 0 0 0 0 0 -0 +1 1 0 0 1 -1 0 +1 0 1 0 @@ -1831,13 +1831,13 @@ 1 0 0 -0 +1 0 0 1 1 0 -0 +1 1 0 0 @@ -1848,9 +1848,9 @@ 0 1 0 +1 0 -0 -0 +1 0 0 1 @@ -1858,90 +1858,90 @@ 1 1 1 -0 -0 -0 +1 0 0 0 1 -0 1 -0 1 0 -0 -0 -0 1 0 +1 +1 +1 +1 +1 +1 0 -0 -0 -0 -0 +1 1 0 +1 0 +1 0 0 0 0 +1 0 0 0 1 1 -0 -0 -0 -0 -0 -0 1 1 0 -0 1 0 -0 1 -0 -0 1 1 1 0 -0 -0 1 1 0 0 -0 1 0 0 -0 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 1 0 +1 0 -0 -0 +1 1 1 0 0 +1 +1 0 1 1 1 -0 +1 +1 +1 0 0 1 0 -0 +1 0 0 0 @@ -1950,8 +1950,8 @@ 0 1 0 -0 -0 +1 +1 1 0 0 @@ -1959,12 +1959,12 @@ 1 1 0 -0 -0 1 0 1 1 +1 +1 0 0 0 @@ -1974,23 +1974,12 @@ 1 0 1 -0 -0 1 0 -0 -0 -0 -0 -0 -0 -0 -0 1 0 1 -0 -0 +1 0 0 0 @@ -1999,47 +1988,53 @@ 0 1 1 -0 1 0 0 0 0 0 +1 0 0 +1 +1 +1 +1 0 0 0 +1 +1 0 0 0 0 0 1 +1 0 0 1 -0 1 0 0 -0 1 -0 -0 +1 +1 +1 1 0 -0 -0 -0 +1 +1 +1 +1 0 0 0 0 1 -0 -0 +1 0 0 1 @@ -2047,26 +2042,31 @@ 1 0 0 +1 +1 +1 0 0 0 0 0 -0 +1 0 1 1 -0 -0 1 1 0 0 +1 +1 0 0 0 +1 0 1 +0 1 1 0 @@ -2074,41 +2074,40 @@ 0 1 1 -0 1 -0 -0 1 0 0 -0 -0 -0 1 -0 +1 1 0 +1 0 +1 0 +1 0 0 0 -0 -0 -0 +1 0 0 1 -0 +1 0 0 1 -0 1 -0 +1 1 0 +1 0 +1 +1 +1 +1 0 0 1 @@ -2116,35 +2115,36 @@ 1 1 1 +1 +1 0 0 0 0 -0 -0 +1 0 0 1 0 1 1 -1 +0 0 0 1 1 1 -0 -0 -0 1 0 -0 -0 -0 +1 +1 +1 +1 1 0 +1 0 +1 0 1 0 @@ -2158,26 +2158,26 @@ 1 0 0 -0 1 1 -0 -0 -0 -0 -0 +1 0 0 1 0 0 +1 0 +1 0 +1 0 +1 0 0 0 -0 +1 +1 1 0 1 @@ -2197,24 +2197,24 @@ 0 0 0 -0 -0 1 1 0 +1 +0 0 1 1 0 1 -0 +1 0 0 0 0 1 -0 -0 +1 +1 0 1 0 @@ -2222,7 +2222,7 @@ 0 0 0 -1 +0 1 0 0 @@ -2235,11 +2235,7 @@ 0 1 0 -0 1 -0 -0 -0 1 1 1 @@ -2251,36 +2247,40 @@ 1 1 1 -0 -0 1 -0 1 -0 +1 1 1 0 +1 0 -0 +1 +1 +1 +1 +1 0 0 1 0 1 0 -0 -0 1 0 0 0 +1 0 0 0 0 0 0 +1 +1 0 +1 0 0 1 @@ -2291,20 +2291,20 @@ 0 0 0 -0 1 -0 -0 -0 -0 1 0 0 0 +1 +1 +1 0 0 1 0 +1 +1 0 1 0 @@ -2319,16 +2319,16 @@ 0 1 1 -0 -0 -0 1 0 0 -0 +1 +1 1 0 1 +1 +1 0 0 0 @@ -2341,34 +2341,34 @@ 1 1 0 -0 +1 1 1 1 0 1 1 -0 +1 0 0 1 1 0 1 -0 +1 0 1 1 0 1 1 -0 -0 1 0 +1 0 0 -0 +1 +1 1 0 1 @@ -2382,21 +2382,19 @@ 0 1 0 -0 1 -0 -0 -0 1 0 0 1 1 +1 +1 0 +1 +1 0 -0 -0 -0 +1 0 1 0 @@ -2405,9 +2403,11 @@ 1 0 0 -1 0 0 +1 +1 +1 0 1 0 @@ -2416,21 +2416,19 @@ 0 1 0 -1 0 0 1 1 1 -0 +1 0 0 0 1 -0 1 0 -0 +1 0 0 0 @@ -2438,16 +2436,18 @@ 0 0 0 -0 1 1 0 +1 +1 +1 0 0 0 +1 0 -0 -0 +1 0 0 1 @@ -2466,48 +2466,48 @@ 0 0 0 -0 -0 -0 -0 +1 0 1 0 +1 +1 0 +1 0 1 0 1 1 0 -0 +1 1 0 -0 +1 1 0 0 +1 0 +1 +1 +1 0 0 1 0 +1 +1 0 0 1 +0 1 1 1 -0 -0 -0 -0 1 0 1 -0 -0 -0 1 0 1 @@ -2530,18 +2530,18 @@ 0 1 0 +1 0 0 -0 -0 -0 -0 +1 0 0 0 1 +0 1 0 +1 0 0 0 @@ -2551,26 +2551,21 @@ 0 1 1 -0 -0 -0 -0 -0 -0 1 -0 -0 -0 -0 1 -0 1 1 0 0 +1 +1 0 0 0 +1 +1 +1 +1 0 0 0 @@ -2579,16 +2574,14 @@ 1 0 0 -0 1 1 -0 +1 0 1 0 1 1 -0 1 0 1 @@ -2596,75 +2589,82 @@ 1 1 1 +1 +1 +1 0 +1 0 1 0 0 +1 0 0 0 0 1 -1 0 0 +1 0 0 +1 0 1 1 1 +1 0 0 0 -0 -0 +1 0 1 1 +1 0 1 0 0 1 1 -0 +1 0 0 0 1 1 +1 0 0 0 -0 -0 +1 0 1 1 -0 -0 +1 +1 0 0 0 0 1 -0 -0 -0 1 -0 1 -0 +1 0 0 1 0 0 1 +1 +1 +1 +1 0 -0 +1 0 1 0 @@ -2675,32 +2675,32 @@ 0 1 0 -0 -0 +1 +1 0 0 1 +1 0 +1 0 +1 0 0 1 0 0 0 -0 1 0 -1 -1 0 0 1 0 1 +1 0 -0 -0 +1 0 1 0 @@ -2726,34 +2726,34 @@ 1 0 1 -0 1 -0 -0 +1 +1 0 0 0 1 1 1 +1 +1 0 0 0 0 0 -0 -0 -0 -0 -1 1 1 1 0 +1 +1 +1 0 0 +1 0 -0 +1 1 0 0 @@ -2765,9 +2765,9 @@ 1 0 0 +1 0 -0 -0 +1 0 0 0 @@ -2775,11 +2775,11 @@ 0 0 1 +1 0 0 -0 -0 -0 +1 +1 0 0 1 @@ -2787,7 +2787,7 @@ 1 0 0 -0 +1 1 1 0 @@ -2801,13 +2801,13 @@ 0 0 1 +1 0 0 +1 0 0 -0 -0 -0 +1 0 0 1 @@ -2815,70 +2815,70 @@ 1 0 1 -0 -0 1 0 1 -0 1 1 1 -0 -0 -0 1 1 1 0 1 +1 +1 +1 +1 0 -0 -0 -0 +1 +1 0 0 1 1 0 1 -0 1 -0 +1 +1 1 1 0 1 1 1 -0 -0 +1 +1 1 0 0 +1 0 0 0 +1 +1 0 +1 0 0 +1 0 0 0 -0 -0 -0 +1 0 1 1 1 0 1 -0 -0 1 0 +1 0 +1 0 0 0 @@ -2889,11 +2889,11 @@ 0 0 0 -0 -0 -0 1 -0 +1 +1 +1 +1 1 0 0 @@ -2905,17 +2905,17 @@ 0 0 1 -0 -0 1 -0 +1 +1 +1 0 0 0 0 1 0 -0 +1 0 0 0 @@ -2923,19 +2923,19 @@ 1 0 0 -1 +0 0 0 1 1 +1 0 +1 0 0 +1 0 -0 -0 -0 -0 +1 0 1 1 @@ -2948,9 +2948,9 @@ 0 1 0 -0 1 0 +1 0 1 0 @@ -2958,17 +2958,17 @@ 1 1 0 -0 -0 -0 1 0 1 0 0 +1 +0 0 1 1 +1 0 0 1 @@ -2976,7 +2976,7 @@ 0 1 1 -0 +1 0 0 0 @@ -2984,12 +2984,12 @@ 0 0 0 -0 +1 1 1 0 0 -0 +1 0 0 0 @@ -3003,17 +3003,8 @@ 1 0 0 -0 -0 -0 -0 -0 1 0 -0 -0 -0 -0 1 0 0 @@ -3021,66 +3012,24 @@ 0 0 0 -1 -0 0 0 1 -0 -0 -0 1 0 1 -0 1 -0 -0 -0 -0 1 0 -0 -0 -0 1 -0 -0 -0 -0 -0 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 -0 1 -0 1 -0 -0 -0 -0 1 -0 -0 -0 -0 -0 1 1 -0 -0 +1 0 0 0 @@ -3089,16 +3038,16 @@ 0 0 1 +1 0 0 0 1 +1 0 0 0 0 -1 -0 0 1 1 @@ -3106,7 +3055,6 @@ 0 0 0 -0 1 0 0 @@ -3115,15 +3063,15 @@ 0 0 1 -0 -0 -0 -0 +1 1 0 +1 0 0 0 +1 +1 0 1 0 @@ -3132,53 +3080,41 @@ 1 1 1 -1 -0 0 0 0 1 0 -0 1 0 0 -0 -0 1 0 1 -1 0 1 0 -1 -0 -1 0 0 0 1 0 +0 1 1 0 0 0 -1 -0 0 1 +1 +1 0 0 0 0 0 1 -0 -0 -1 -0 1 0 1 @@ -3187,128 +3123,66 @@ 0 0 0 -0 -0 1 0 -0 1 0 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 1 0 0 +0 1 1 1 -1 -0 -0 0 0 1 -0 1 0 0 0 -0 -0 -0 -0 -0 -0 -0 -0 1 -0 1 -0 -0 1 -0 -0 -0 -0 -0 1 1 -0 -0 1 0 -0 -0 1 0 -0 -0 1 1 0 -1 0 1 0 1 -0 -0 1 -0 1 0 0 -0 -0 -0 1 0 -0 1 -0 -0 -0 -0 -1 -1 -0 -0 -0 1 0 0 -0 1 1 -0 1 -0 1 1 1 1 0 -0 1 0 -0 -0 1 0 -0 -0 1 1 0 @@ -3316,24 +3190,9 @@ 0 0 1 -0 -0 -0 -0 1 -0 -0 1 -0 -0 -0 -0 -0 -0 -0 1 -0 -0 1 0 0 @@ -3341,22 +3200,33 @@ 0 0 0 +1 +1 0 0 +1 +1 +1 +1 0 0 -0 +1 +1 +1 1 0 +1 0 0 +1 0 1 0 0 1 0 -0 +1 +1 0 0 0 @@ -3364,88 +3234,99 @@ 0 1 1 -0 -0 1 0 -1 0 1 1 0 0 0 -1 0 1 1 +0 +1 1 0 0 +0 1 0 0 0 1 -0 +1 0 1 0 +1 +1 +1 0 0 +1 +1 0 0 0 +1 0 0 +1 0 1 1 0 +1 0 0 1 -0 1 0 0 0 1 0 +1 0 -0 +1 +1 0 1 0 1 1 -0 1 1 -0 +1 0 1 0 0 1 -0 1 0 0 0 +1 +1 0 -0 +1 +1 0 1 0 +1 0 0 +1 0 0 1 0 0 -0 +1 1 0 0 @@ -3454,6 +3335,8 @@ 0 0 1 +1 +1 0 0 0 @@ -3463,10 +3346,7 @@ 0 1 0 -0 -0 -0 -0 +1 1 1 0 @@ -3474,77 +3354,98 @@ 1 0 0 -0 1 0 0 +1 0 0 0 0 +1 +1 0 1 +1 0 +1 0 +1 +1 0 1 0 1 1 +1 +1 +1 +1 0 +1 0 0 1 1 0 0 +1 +1 +1 +1 0 1 +1 0 0 1 -0 1 0 1 0 +0 +1 1 1 -0 -0 0 0 1 1 0 +1 0 0 +1 0 +1 +1 0 -0 +1 +1 0 0 1 1 1 -0 1 1 -0 1 0 0 +1 +1 0 0 1 0 0 +1 0 0 1 -1 0 -1 +0 +0 1 1 0 @@ -3552,18 +3453,25 @@ 1 0 0 +1 0 0 +1 +1 +1 0 0 +1 0 0 0 0 +1 +1 +1 0 0 1 -1 0 0 0 @@ -3571,7 +3479,9 @@ 0 1 0 +0 1 +0 1 1 0 @@ -3579,52 +3489,81 @@ 0 1 1 +1 +1 0 +1 0 1 +1 0 +1 +1 +1 0 0 +1 0 1 0 +1 0 +1 +1 0 0 0 1 1 -0 1 0 0 0 0 0 -1 0 0 0 1 -0 -0 +1 1 0 +1 +1 +1 +1 0 1 1 1 +1 +1 +1 0 1 +1 +1 +1 +1 +1 +1 0 0 +1 +1 0 1 1 +1 +1 0 0 +1 0 0 +1 +1 +1 0 0 0 @@ -3633,15 +3572,20 @@ 1 0 1 -0 +1 +1 +1 0 0 1 +1 0 0 +1 0 0 -0 +1 +1 1 0 0 @@ -3651,12 +3595,13 @@ 1 1 0 -0 +1 0 0 1 0 0 +1 0 0 0 @@ -3664,26 +3609,17 @@ 0 0 1 -1 -0 -0 0 1 1 -0 -0 -0 -0 -0 -0 -0 +1 1 0 +1 0 0 0 1 -0 1 0 0 @@ -3693,18 +3629,12 @@ 0 0 1 -1 -0 0 1 0 -0 -0 -0 -1 -1 1 0 +1 0 1 0 @@ -3718,27 +3648,27 @@ 0 0 0 -0 -0 1 -0 1 0 1 1 0 +1 0 -0 -0 -0 +1 0 0 1 0 0 1 +1 +1 +1 +1 0 -0 +1 0 1 0 @@ -3747,13 +3677,14 @@ 1 0 0 -0 1 0 0 -1 0 +1 +1 0 +1 0 0 0 @@ -3761,16 +3692,21 @@ 0 0 0 -0 +1 1 0 0 1 0 0 +1 +1 +1 +1 +1 0 0 -0 +1 0 0 0 @@ -3784,146 +3720,167 @@ 1 0 1 -0 -0 1 -0 -0 1 1 0 -0 +1 1 1 0 0 0 -1 0 0 +1 +1 0 1 +1 0 1 1 1 -0 -0 -0 -0 +1 +1 +1 +1 0 0 1 -0 +1 0 0 1 1 1 +1 0 0 -0 +1 0 0 0 1 -0 1 0 0 0 0 0 -0 -0 -0 -0 +1 +1 0 0 1 +1 +1 +1 +1 0 +1 +1 0 +1 +1 +1 0 0 0 +1 0 +1 +1 0 0 +1 +1 0 +1 0 -0 +1 0 0 0 1 0 1 -0 -0 1 -0 1 0 0 +0 1 0 0 1 -0 1 0 +1 +1 0 +1 0 0 0 +1 0 0 1 0 1 -0 1 0 +1 0 0 -0 +1 0 0 1 0 0 1 -1 0 -1 -1 0 -1 0 0 0 0 0 0 -1 0 0 -1 0 0 0 0 0 0 +1 +0 0 1 0 +1 0 +1 +1 0 +1 +1 +1 +1 +1 0 +1 +1 0 0 +1 +1 0 +1 0 1 1 @@ -3931,14 +3888,27 @@ 1 0 0 +0 +1 +1 +1 +1 +1 +1 +1 +1 +0 1 1 0 +1 0 0 0 +1 0 1 +1 0 0 0 @@ -3947,15 +3917,28 @@ 0 0 1 +1 +1 0 1 0 +1 +1 0 +1 +1 0 +1 0 0 +1 +1 0 +1 +1 0 +1 +1 0 0 0 @@ -3963,16 +3946,29 @@ 1 0 0 +1 +0 +1 0 +1 0 +1 +1 0 1 0 0 0 +1 +1 0 0 0 +1 +1 +1 +1 +1 0 1 0 @@ -3980,6 +3976,10 @@ 0 1 0 +1 +1 +0 +1 0 1 1 @@ -3997,8 +3997,8 @@ 0 1 1 -0 -0 +1 +1 0 1 0 @@ -4010,7 +4010,7 @@ 0 0 0 -1 +0 1 1 0 @@ -4022,23 +4022,23 @@ 0 0 0 -0 1 -0 1 0 +1 +1 0 0 0 +1 0 -0 -0 +1 0 0 1 1 1 -0 +1 0 0 1 @@ -4061,7 +4061,7 @@ 1 1 0 -0 +1 0 0 1 @@ -4069,7 +4069,7 @@ 1 1 0 -0 +1 1 0 0 @@ -4078,11 +4078,7 @@ 0 0 0 -0 -0 1 -0 -0 1 1 0 @@ -4090,30 +4086,34 @@ 1 0 1 +1 +1 0 -0 -0 +1 0 0 0 1 0 0 +1 0 0 +1 0 0 1 +1 0 0 1 -0 1 -0 1 0 +1 0 0 +1 0 0 0 @@ -4121,7 +4121,7 @@ 0 0 0 -1 +0 0 0 0 @@ -4135,9 +4135,9 @@ 0 0 1 -0 1 -0 +1 +1 0 0 0 @@ -4146,34 +4146,34 @@ 0 0 1 -0 1 0 0 0 -0 1 0 1 -0 -0 +1 +1 +1 0 0 0 0 1 1 -0 1 0 +1 0 0 0 1 +1 0 0 0 -0 +1 0 0 0 @@ -4187,44 +4187,40 @@ 0 1 1 -0 +1 +1 1 1 1 0 -0 -0 -0 +1 0 0 1 -0 1 0 +1 0 -0 +1 0 0 1 1 -0 +1 0 0 1 1 +1 0 0 1 -0 1 -0 1 0 0 -0 1 0 -1 0 0 0 @@ -4232,49 +4228,53 @@ 0 1 0 -0 1 1 1 0 0 -0 -0 1 -0 -0 1 -0 1 0 0 -0 1 0 +1 0 0 -0 +1 0 1 +0 1 +0 1 1 0 +1 0 0 +1 0 +1 +1 0 +1 0 +1 0 -0 -0 -0 +1 +1 0 0 1 1 0 +1 +1 0 +1 0 0 0 @@ -4282,25 +4282,25 @@ 1 0 0 -0 1 1 1 1 1 -0 -0 -0 1 0 0 0 1 0 +1 0 +1 0 0 +1 0 +1 0 0 0 @@ -4309,7 +4309,7 @@ 0 0 1 -0 +1 1 0 0 @@ -4318,26 +4318,26 @@ 0 1 0 -0 -0 -0 1 1 1 -0 +1 1 1 0 +1 +1 +1 0 0 -0 -0 +1 0 0 0 0 0 1 +1 0 0 1 @@ -4345,14 +4345,14 @@ 1 0 0 -0 +1 0 0 1 0 0 0 -0 +1 0 1 1 @@ -4362,13 +4362,13 @@ 1 0 0 -0 1 -0 1 0 1 0 +1 +1 0 0 0 @@ -4384,22 +4384,22 @@ 0 0 0 -0 +1 0 0 1 0 0 -0 1 +0 1 1 0 -0 -0 +1 +1 1 0 -0 +1 0 0 0 @@ -4412,10 +4412,10 @@ 0 1 0 +1 0 0 -0 -0 +1 0 1 0 @@ -4426,9 +4426,9 @@ 1 1 1 -0 1 -0 +1 +1 1 1 1 @@ -4437,7 +4437,7 @@ 0 1 0 -0 +1 1 1 0 @@ -4445,34 +4445,34 @@ 0 0 1 -1 +0 0 1 1 1 0 -0 1 1 -0 -0 -0 +1 1 0 0 +1 +1 0 0 0 0 0 0 +1 +1 0 +1 +1 +1 0 -0 -0 -0 -0 -0 +1 0 1 1 @@ -4480,7 +4480,7 @@ 1 0 1 -1 +0 1 0 0 @@ -4493,65 +4493,47 @@ 1 0 1 -0 -0 1 0 1 1 1 -0 -0 1 -0 -0 1 1 -0 -0 -0 -0 1 -0 1 -0 -0 -0 -0 1 0 1 -0 -0 1 0 0 0 -0 1 1 0 -0 -0 1 0 0 0 0 +1 0 +1 0 0 +1 0 0 0 0 0 -1 -0 -0 -1 0 0 +1 +1 +1 0 1 0 @@ -4563,14 +4545,15 @@ 0 1 0 +0 1 1 0 +1 +1 +1 0 -0 -0 -0 -0 +1 0 1 0 @@ -4578,8 +4561,10 @@ 0 0 0 +1 0 1 +1 0 0 0 @@ -4587,30 +4572,45 @@ 1 1 0 +1 0 +1 0 0 1 1 +1 0 +1 +1 +1 +1 +1 0 0 0 1 -0 +1 +1 +1 1 0 0 +1 +1 +1 0 +1 0 0 0 -0 +1 +1 1 0 0 1 -0 +1 0 0 0 @@ -4631,7 +4631,7 @@ 0 0 0 -1 +0 1 1 0 @@ -4642,23 +4642,24 @@ 0 1 0 -0 1 -0 -0 -0 1 0 +1 0 +1 0 0 +1 +1 0 0 1 1 0 1 -0 +1 +1 1 0 0 @@ -4667,12 +4668,11 @@ 0 0 0 +1 +1 0 -0 -0 -0 -0 -0 +1 +1 0 0 0 @@ -4680,20 +4680,20 @@ 0 0 1 -0 -0 +1 0 0 0 1 -0 1 1 -0 1 1 0 1 +1 +1 +1 0 0 1 @@ -4703,21 +4703,21 @@ 1 1 0 -0 1 1 -0 1 0 +1 +1 +1 0 0 0 0 0 -0 -0 -0 -0 +1 +1 +1 0 0 1 @@ -4735,9 +4735,9 @@ 0 0 0 +1 0 -0 -0 +1 0 0 1 @@ -4749,28 +4749,28 @@ 0 1 1 -0 -0 1 0 1 1 0 -0 1 0 0 -0 +1 +1 0 1 0 0 0 +1 +0 0 1 1 1 -0 +1 1 0 0 @@ -4779,14 +4779,12 @@ 0 1 0 -0 -0 1 0 -0 -0 +1 1 0 +1 0 1 0 @@ -4795,13 +4793,9 @@ 1 1 0 -0 -0 -0 1 -0 1 -0 +1 0 1 1 @@ -4809,8 +4803,14 @@ 1 0 0 +1 +1 +1 +1 0 1 +1 +1 0 0 1 @@ -4821,66 +4821,74 @@ 1 0 1 -0 +1 0 1 1 -0 -0 -0 -0 +1 0 0 1 0 0 -0 1 0 1 1 -0 1 0 -0 -1 1 1 0 1 0 0 -0 +1 1 0 0 1 -1 0 +1 +1 +1 0 0 +1 +1 0 0 0 +1 +1 +1 0 0 1 0 1 +1 0 +1 +1 0 0 0 +1 0 -0 -0 +1 1 0 +1 0 +1 +1 0 +1 +1 +1 0 0 -1 0 1 0 @@ -4889,13 +4897,10 @@ 1 1 0 -0 1 0 1 -0 -0 -0 +1 0 0 0 @@ -4905,75 +4910,70 @@ 0 0 1 -0 -0 -0 1 -0 1 0 0 0 0 -0 1 1 1 -0 1 -0 1 0 0 -1 0 -1 0 0 1 1 0 +1 +1 +1 0 0 0 0 0 1 -0 +1 0 1 1 -0 -0 -0 -0 1 0 +1 0 0 -0 -0 +1 0 1 +1 0 +1 +1 +1 0 0 1 -0 +1 +1 0 0 1 0 1 0 -0 1 0 +0 1 1 1 0 -0 +1 1 0 0 @@ -4981,12 +4981,12 @@ 0 1 1 -0 -0 -0 1 -0 -0 +1 +1 +1 +1 +1 1 1 0 @@ -5006,14 +5006,21 @@ 0 0 1 +1 0 +1 0 0 0 +1 0 +1 0 0 -0 +1 +1 +1 +1 0 0 0 @@ -5023,66 +5030,53 @@ 0 0 0 -0 -0 1 0 -1 0 0 1 -0 -0 -0 -0 1 -0 1 1 1 -0 -0 +1 +1 0 0 0 1 0 -0 -0 +1 0 1 0 1 0 +1 0 1 1 1 1 1 -0 -0 1 0 0 -0 1 1 0 0 -0 1 1 0 0 0 +1 +1 0 -0 -0 -0 -0 -0 -0 +1 +1 +1 0 0 0 @@ -5090,19 +5084,25 @@ 0 0 1 +1 +1 0 -0 +1 0 1 0 +1 +1 +1 0 0 1 -0 1 -0 +1 1 0 +1 +1 0 1 1 @@ -5125,28 +5125,28 @@ 1 1 0 -0 -0 -0 +1 1 0 +1 0 0 0 -0 -0 +1 0 0 0 0 1 0 +1 0 0 0 0 0 +1 0 0 0 -0 \ No newline at end of file +1