diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..73f69e0
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..875770c
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..0797e6e
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/2/7/2764c02f7e906d45efc284511afb241ea2809cfa b/.idea/sonarlint/issuestore/2/7/2764c02f7e906d45efc284511afb241ea2809cfa
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/8/e/8e340683124fb2c918c0f15c14e8e793c700cb99 b/.idea/sonarlint/issuestore/8/e/8e340683124fb2c918c0f15c14e8e793c700cb99
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/8/e/8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d b/.idea/sonarlint/issuestore/8/e/8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/b/b/bb88d7506cfdcbc88cc950c4af72a3e28c024a77 b/.idea/sonarlint/issuestore/b/b/bb88d7506cfdcbc88cc950c4af72a3e28c024a77
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/d/c/dca2ad27be5a52717dfbc75ce4b44f220c89908b b/.idea/sonarlint/issuestore/d/c/dca2ad27be5a52717dfbc75ce4b44f220c89908b
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/index.pb b/.idea/sonarlint/issuestore/index.pb
new file mode 100644
index 0000000..620d163
--- /dev/null
+++ b/.idea/sonarlint/issuestore/index.pb
@@ -0,0 +1,11 @@
+
+=
+
test-A/in.tsv,8/e/8e340683124fb2c918c0f15c14e8e793c700cb99
+9
+ README.md,8/e/8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d
+<
+dev-0/in.tsv,2/7/2764c02f7e906d45efc284511afb241ea2809cfa
+=
+
dev-0/out.tsv,d/c/dca2ad27be5a52717dfbc75ce4b44f220c89908b
+4
+a.py,b/b/bb88d7506cfdcbc88cc950c4af72a3e28c024a77
\ No newline at end of file
diff --git a/.idea/sport-text-classification-ball-ISI-public.iml b/.idea/sport-text-classification-ball-ISI-public.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/.idea/sport-text-classification-ball-ISI-public.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/a.py b/a.py
new file mode 100644
index 0000000..6fb9579
--- /dev/null
+++ b/a.py
@@ -0,0 +1,51 @@
+import csv
+import pandas as pd
+from sklearn.feature_extraction.text import TfidfVectorizer
+from sklearn.naive_bayes import MultinomialNB
+from stop_words import get_stop_words
+
+
+def to_n(word, n):
+ if len(word) < n + 1:
+ return word
+ else:
+ return word[:n]
+
+
+def stem(sentence):
+ return ' '.join([to_n(word, 7) for word in sentence.split()])
+
+
+def remove_specials(text):
+ to_replace = '.,<>)(*&^%$#@~;:!?-_=+/\\\'\"|{}[]012345679'
+ for spec in to_replace:
+ text = text.replace(spec, '')
+ return text
+
+
+df = pd.read_csv('train/train.tsv.gz', sep='\t', compression='gzip', names=['label', 'text'])
+
+df['text'] = [stem(remove_specials(x.lower())) for x in df['text']]
+
+vectorizer = TfidfVectorizer(stop_words=get_stop_words('polish'))
+
+x = vectorizer.fit_transform(df['text'])
+
+labels = df.pop('label')
+
+bayes = MultinomialNB()
+bayes.fit(x, labels)
+# ----------------------------------------------------------------------------------------------------------------------
+t_df = pd.read_csv('dev-0/in.tsv', sep='\t', names=['text'])
+tlabs = pd.read_csv('dev-0/expected.tsv', sep='\t', names=['text'])
+
+t_df['text'] = [stem(remove_specials(x.lower())) for x in t_df['text']]
+
+vecs = vectorizer.transform(t_df['text'])
+
+predict = bayes.predict(vecs)
+with open('out.tsv', 'w') as f:
+ tsvf = csv.writer(f, delimiter='\n')
+ tsvf.writerow(predict)
+score = bayes.score(vecs, tlabs)
+print(score)
diff --git a/dev-0/out.tsv b/dev-0/out.tsv
new file mode 100644
index 0000000..e7efe09
--- /dev/null
+++ b/dev-0/out.tsv
@@ -0,0 +1,5452 @@
+1
+1
+0
+1
+1
+1
+0
+0
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+0
+0
+1
+0
+1
+1
+0
+0
+0
+1
+0
+0
+1
+1
+0
+1
+1
+0
+1
+1
+0
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+0
+1
+0
+0
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+0
+0
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+0
+1
+0
+1
+1
+1
+0
+1
+0
+1
+0
+1
+0
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+0
+0
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+1
+0
+0
+1
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+0
+0
+0
+1
+0
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+0
+0
+0
+0
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
+0
+0
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+0
+1
+0
+0
+1
+1
+1
+0
+1
+0
+0
+1
+0
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+0
+0
+1
+0
+0
+0
+1
+1
+0
+0
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+0
+0
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+0
+1
+1
+0
+1
+0
+0
+0
+1
+1
+0
+1
+1
+0
+0
+1
+0
+1
+0
+0
+1
+0
+0
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+0
+1
+0
+0
+1
+1
+0
+0
+0
+0
+1
+0
+1
+1
+0
+0
+0
+1
+1
+1
+1
+0
+0
+0
+0
+0
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+0
+0
+0
+1
+1
+0
+0
+0
+0
+1
+0
+0
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+0
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+1
+0
+0
+1
+1
+0
+0
+0
+1
+1
+0
+1
+0
+1
+0
+1
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+1
+0
+0
+0
+1
+1
+0
+1
+0
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+0
+0
+0
+0
+1
+0
+0
+0
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+0
+0
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+0
+1
+1
+0
+0
+1
+0
+1
+1
+0
+1
+0
+1
+0
+0
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+0
+1
+1
+1
+1
+0
+1
+0
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+0
+1
+0
+1
+0
+1
+0
+1
+1
+0
+0
+0
+0
+0
+1
+0
+1
+0
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+0
+1
+1
+0
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+0
+1
+1
+1
+1
+0
+0
+0
+1
+0
+1
+0
+0
+0
+1
+1
+0
+0
+0
+0
+1
+0
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+0
+1
+1
+1
+0
+0
+0
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+0
+0
+0
+1
+1
+1
+0
+0
+1
+0
+0
+1
+1
+1
+0
+0
+1
+0
+1
+0
+1
+1
+0
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+0
+0
+0
+1
+1
+1
+0
+0
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+0
+1
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+0
+1
+0
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+0
+1
+0
+0
+0
+1
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+0
+1
+0
+1
+1
+0
+1
+0
+1
+1
+0
+1
+1
+0
+1
+0
+0
+0
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+0
+0
+0
+1
+1
+0
+1
+1
+0
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+0
+0
+0
+1
+0
+0
+1
+1
+0
+1
+0
+1
+1
+0
+0
+0
+0
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+0
+0
+0
+0
+1
+1
+1
+0
+0
+1
+1
+0
+0
+0
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+0
+1
+1
+0
+1
+0
+0
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+0
+0
+0
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+0
+0
+0
+1
+0
+1
+0
+1
+0
+0
+1
+0
+0
+1
+0
+1
+0
+0
+1
+0
+1
+1
+1
+0
+0
+1
+1
+0
+0
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+0
+0
+1
+0
+1
+0
+0
+1
+1
+0
+0
+0
+1
+0
+1
+1
+0
+0
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+0
+0
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+0
+1
+0
+0
+0
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+1
+0
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+0
+1
+1
+0
+0
+0
+1
+1
+0
+0
+1
+1
+1
+1
+1
+0
+0
+0
+1
+0
+0
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+0
+0
+1
+1
+0
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+1
+0
+0
+0
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+0
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+1
+0
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+0
+0
+0
+0
+1
+0
+1
+1
+0
+0
+0
+1
+1
+0
+1
+1
+0
+1
+1
+0
+1
+0
+0
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+0
+0
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+0
+0
+0
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+0
+1
+0
+0
+0
+0
+0
+0
+1
+1
+0
+0
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+0
+0
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+0
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+0
+0
+0
+1
+0
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+0
+0
+0
+1
+0
+0
+0
+1
+0
+0
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+0
+0
+0
+0
+1
+1
+1
+0
+0
+0
+0
+1
+0
+1
+0
+1
+0
+0
+0
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+0
+0
+0
+1
+1
+0
+0
+1
+0
+1
+0
+0
+1
+1
+0
+1
+1
+0
+1
+1
+0
+0
+0
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+0
+0
+0
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+0
+1
+1
+0
+1
+1
+1
+0
+0
+0
+0
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+0
+1
+0
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+0
+1
+1
+0
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+1
+0
+1
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+0
+1
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+0
+1
+0
+0
+1
+1
+1
+0
+1
+0
+1
+0
+1
+0
+0
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+1
+0
+1
+1
+1
+0
+1
+1
+0
+1
+0
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+0
+1
+0
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+0
+0
+1
+1
+0
+0
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+0
+1
+1
+0
+0
+0
+0
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+0
+0
+1
+0
+1
+0
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+0
+0
+0
+0
+1
+0
+0
+1
+1
+0
+1
+0
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+1
+0
+0
+0
+0
+0
+0
+1
+1
+0
+1
+0
+0
+0
+0
+0
+1
+0
+0
+0
+0
+1
+0
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+0
+0
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+0
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+0
+1
+0
+0
+1
+1
+0
+0
+1
+0
+1
+0
+1
+0
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+0
+0
+0
+1
+1
+0
+1
+1
+0
+1
+1
+0
+1
+0
+0
+1
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+0
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+0
+0
+0
+0
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+0
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+0
+0
+0
+0
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+0
+1
+0
+1
+0
+1
+0
+0
+0
+1
+0
+0
+1
+0
+1
+0
+1
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+1
+1
+0
+0
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+0
+0
+1
+0
+0
+1
+0
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+0
+0
+0
+0
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+0
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+1
+0
+0
+0
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+0
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+0
+0
+1
+1
+0
+0
+0
+1
+0
+1
+0
+0
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+0
+0
+0
+1
+1
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+0
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+1
+0
+1
+0
+0
+1
+0
+1
+1
+0
+1
+1
+0
+0
+0
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+0
+0
+0
+0
+0
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+0
+1
+0
+1
+0
+0
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+0
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+0
+0
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+0
+0
+1
+1
+0
+1
+1
+1
+0
+1
+0
+0
+1
+1
+0
+0
+1
+0
+0
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+0
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+0
+1
+0
+0
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+0
+1
+0
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+0
+0
+1
+0
+1
+1
+1
+0
+1
+1
+0
+0
+1
+0
+1
+0
+1
+1
+1
+1
+0
+0
+0
+1
+0
+0
+1
+1
+1
+0
+0
+0
+0
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+0
+1
+0
+1
+1
+1
+1
+0
+0
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+0
+1
+1
+0
+1
+1
+0
+1
+0
+1
+0
+0
+0
+1
+1
+0
+0
+1
+0
+1
+0
+0
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+0
+0
+1
+0
+1
+0
+0
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+0
+0
+1
+0
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+1
+1
+0
+0
+0
+1
+0
+1
+0
+1
+0
+1
+1
+0
+0
+0
+0
+0
+1
+1
+0
+0
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+0
+1
+0
+0
+1
+1
+0
+0
+1
+1
+0
+0
+1
+0
+0
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+0
+0
+0
+0
+1
+1
+0
+0
+1
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+0
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+0
+1
+0
+0
+0
+1
+1
+1
+1
+0
+0
+1
+0
+0
+1
+1
+1
+0
+0
+1
+0
+1
+1
+0
+1
+1
+0
+0
+0
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+0
+0
+0
+1
+0
+1
+0
+0
+1
+1
+0
+0
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+0
+0
+1
+0
+0
+1
+1
+0
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+0
+0
+0
+1
+0
+1
+1
+0
+1
+0
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+0
+0
+1
+0
+1
+0
+0
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+0
+0
+1
+1
+0
+1
+0
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+0
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+0
+0
+1
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+0
+1
+0
+0
+0
+0
+1
+1
+1
+1
+0
+1
+1
+0
+1
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+0
+1
+1
+0
+0
+1
+0
+1
+1
+0
+0
+0
+0
+1
+1
+1
+0
+0
+0
+1
+0
+1
+1
+0
+0
+0
+0
+0
+0
+1
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+0
+0
+0
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
+0
+1
+1
+0
+0
+0
+0
+1
+1
+0
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+1
+1
+1
+1
+0
+1
+0
+1
+1
+0
+1
+1
+0
+1
+0
+1
+1
+0
+1
+1
+0
+1
+0
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+0
+0
+0
+0
+1
+0
+0
+0
+0
+0
+1
+1
+0
+1
+1
+0
+0
+0
+0
+1
+0
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+1
+1
+0
+0
+1
+0
+0
+1
+0
+1
+0
+1
+0
+1
+1
+0
+1
+0
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+1
+0
+1
+0
+0
+0
+0
+1
+0
+1
+1
+1
+1
+0
+0
+0
+0
+1
+1
+1
+0
+1
+0
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+0
+0
+1
+1
+0
+1
+1
+0
+0
+1
+1
+0
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+1
+1
+1
+1
+0
+0
+0
+1
+0
+0
+0
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+1
+0
+1
+1
+1
+0
+0
+1
+1
+0
+1
+0
+1
+0
+1
+1
+1
+0
+1
+0
+0
+0
+0
+0
+1
+0
+1
+0
+0
+1
+0
+1
+1
+0
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+0
+1
+1
+0
+1
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+1
+1
+1
+0
+1
+1
+0
+0
+0
+1
+1
+1
+1
+0
+1
+1
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+1
+1
+1
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+0
+1
+0
+1
+1
+0
+1
+1
+0
+1
+1
+1
+0
+0
+1
+0
+1
+1
+1
+0
+0
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+0
+0
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+1
+0
+1
+0
+1
+1
+1
+1
+0
+1
+1
+1
+0
+1
+1
+0
+0
+1
+1
+1
+1
+1
+1
+0
+0
+1
+1
+0
+1
+1
diff --git a/geval b/geval
new file mode 100755
index 0000000..b68b316
Binary files /dev/null and b/geval differ