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