diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..9ab665a
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..d1e22ec
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..36e0379
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/polish-urban-legends-public.iml b/.idea/polish-urban-legends-public.iml
new file mode 100644
index 0000000..d0876a7
--- /dev/null
+++ b/.idea/polish-urban-legends-public.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dev-0/out.tsv b/dev-0/out.tsv
new file mode 100644
index 0000000..6f25f8e
--- /dev/null
+++ b/dev-0/out.tsv
@@ -0,0 +1,87 @@
+12
+3
+15
+14
+3
+9
+18
+13
+9
+2
+13
+9
+3
+8
+11
+11
+11
+6
+5
+3
+15
+6
+4
+17
+13
+6
+10
+4
+1
+3
+0
+0
+0
+6
+11
+19
+8
+8
+10
+14
+9
+16
+18
+7
+8
+12
+19
+3
+0
+0
+13
+15
+0
+6
+8
+17
+3
+3
+0
+6
+19
+14
+18
+12
+9
+6
+0
+8
+15
+19
+4
+5
+8
+18
+3
+13
+3
+8
+7
+3
+2
+13
+2
+3
+0
+6
+3
diff --git a/geval b/geval
new file mode 100644
index 0000000..b68b316
Binary files /dev/null and b/geval differ
diff --git a/script.py b/script.py
new file mode 100644
index 0000000..8b57857
--- /dev/null
+++ b/script.py
@@ -0,0 +1,32 @@
+from sklearn.feature_extraction.text import TfidfVectorizer
+from sklearn.cluster import KMeans
+
+
+def openFileWithStopwords(filename):
+ stopwords = []
+ with open(filename, encoding='utf-8') as file:
+ stopwords = [stopWord.strip() for stopWord in file.readlines()]
+ return stopwords
+
+
+def calculate(clusters, maxiter, tfidfVectorizer, stopwords, fileIn, fileOut):
+ with open(fileIn, encoding='utf-8') as infile:
+ documents = [" ".join([stopword for stopword in document.split() if stopword not in stopwords]) for document in
+ infile.readlines()]
+ results = KMeans(n_clusters=clusters, max_iter=maxiter).fit_predict(tfidfVectorizer.fit_transform(documents))
+ with open(fileOut, "w", encoding='utf-8') as output:
+ for result in results:
+ output.write(str(result) + '\n')
+
+
+def main():
+ vectorizer = TfidfVectorizer()
+ clusters = 20
+ maxiter = 1000
+ stopwords = openFileWithStopwords('stopwords.txt')
+ calculate(clusters, maxiter, vectorizer, stopwords, "dev-0/in.tsv", "dev-0/out.tsv")
+ calculate(clusters, maxiter, vectorizer, stopwords, "test-A/in.tsv", "test-A/out.tsv")
+
+
+if __name__ == '__main__':
+ main()
diff --git a/stopwords.txt b/stopwords.txt
new file mode 100644
index 0000000..eee0b22
--- /dev/null
+++ b/stopwords.txt
@@ -0,0 +1,350 @@
+a
+aby
+ach
+acz
+aczkolwiek
+aj
+albo
+ale
+alez
+ależ
+ani
+az
+aż
+bardziej
+bardzo
+beda
+bedzie
+bez
+deda
+będą
+bede
+będę
+będzie
+bo
+bowiem
+by
+byc
+być
+byl
+byla
+byli
+bylo
+byly
+był
+była
+było
+były
+bynajmniej
+cala
+cali
+caly
+cała
+cały
+ci
+cie
+ciebie
+cię
+co
+cokolwiek
+cos
+coś
+czasami
+czasem
+czemu
+czy
+czyli
+daleko
+dla
+dlaczego
+dlatego
+do
+dobrze
+dokad
+dokąd
+dosc
+dość
+duzo
+dużo
+dwa
+dwaj
+dwie
+dwoje
+dzis
+dzisiaj
+dziś
+gdy
+gdyby
+gdyz
+gdyż
+gdzie
+gdziekolwiek
+gdzies
+gdzieś
+go
+i
+ich
+ile
+im
+inna
+inne
+inny
+innych
+iz
+iż
+ja
+jak
+jakas
+jakaś
+jakby
+jaki
+jakichs
+jakichś
+jakie
+jakis
+jakiś
+jakiz
+jakiż
+jakkolwiek
+jako
+jakos
+jakoś
+ją
+je
+jeden
+jedna
+jednak
+jednakze
+jednakże
+jedno
+jego
+jej
+jemu
+jesli
+jest
+jestem
+jeszcze
+jeśli
+jezeli
+jeżeli
+juz
+już
+kazdy
+każdy
+kiedy
+kilka
+kims
+kimś
+kto
+ktokolwiek
+ktora
+ktore
+ktorego
+ktorej
+ktory
+ktorych
+ktorym
+ktorzy
+ktos
+ktoś
+która
+które
+którego
+której
+który
+których
+którym
+którzy
+ku
+lat
+lecz
+lub
+ma
+mają
+mało
+mam
+mi
+miedzy
+między
+mimo
+mna
+mną
+mnie
+moga
+mogą
+moi
+moim
+moj
+moja
+moje
+moze
+mozliwe
+mozna
+może
+możliwe
+można
+mój
+mu
+musi
+my
+na
+nad
+nam
+nami
+nas
+nasi
+nasz
+nasza
+nasze
+naszego
+naszych
+natomiast
+natychmiast
+nawet
+nia
+nią
+nic
+nich
+nie
+niech
+niego
+niej
+niemu
+nigdy
+nim
+nimi
+niz
+niż
+no
+o
+obok
+od
+około
+on
+ona
+one
+oni
+ono
+oraz
+oto
+owszem
+pan
+pana
+pani
+po
+pod
+podczas
+pomimo
+ponad
+poniewaz
+ponieważ
+powinien
+powinna
+powinni
+powinno
+poza
+prawie
+przeciez
+przecież
+przed
+przede
+przedtem
+przez
+przy
+roku
+rowniez
+również
+sam
+sama
+są
+sie
+się
+skad
+skąd
+soba
+sobą
+sobie
+sposob
+sposób
+swoje
+ta
+tak
+taka
+taki
+takie
+takze
+także
+tam
+te
+tego
+tej
+ten
+teraz
+też
+to
+toba
+tobą
+tobie
+totez
+toteż
+totobą
+trzeba
+tu
+tutaj
+twoi
+twoim
+twoj
+twoja
+twoje
+twój
+twym
+ty
+tych
+tylko
+tym
+u
+w
+wam
+wami
+was
+wasz
+wasza
+wasze
+we
+według
+wiele
+wielu
+więc
+więcej
+wlasnie
+właśnie
+wszyscy
+wszystkich
+wszystkie
+wszystkim
+wszystko
+wtedy
+wy
+z
+za
+zaden
+zadna
+zadne
+zadnych
+zapewne
+zawsze
+ze
+zeby
+zeznowu
+zł
+znow
+znowu
+znów
+zostal
+został
+żaden
+żadna
+żadne
+żadnych
+że
+żeby
\ No newline at end of file
diff --git a/test-A/out.tsv b/test-A/out.tsv
new file mode 100644
index 0000000..0d7650a
--- /dev/null
+++ b/test-A/out.tsv
@@ -0,0 +1,691 @@
+15
+19
+3
+2
+12
+11
+15
+4
+0
+5
+1
+0
+4
+17
+1
+12
+19
+2
+19
+16
+15
+4
+11
+6
+6
+0
+2
+12
+4
+19
+2
+4
+11
+3
+7
+1
+5
+2
+3
+4
+8
+6
+19
+4
+8
+17
+2
+9
+3
+2
+3
+2
+2
+6
+14
+6
+2
+3
+2
+11
+16
+19
+2
+17
+8
+10
+6
+11
+2
+19
+14
+7
+19
+2
+2
+19
+2
+0
+8
+14
+11
+13
+18
+14
+5
+1
+2
+16
+19
+8
+6
+14
+7
+12
+19
+5
+15
+1
+16
+1
+15
+4
+19
+2
+12
+2
+0
+2
+6
+19
+4
+3
+1
+3
+16
+12
+19
+1
+2
+2
+9
+4
+2
+8
+12
+3
+2
+6
+4
+2
+14
+7
+6
+16
+2
+7
+7
+17
+18
+4
+15
+2
+9
+4
+2
+2
+16
+4
+16
+6
+12
+19
+19
+1
+6
+17
+19
+4
+12
+4
+6
+2
+2
+9
+14
+5
+18
+6
+7
+7
+1
+2
+2
+2
+19
+18
+2
+1
+2
+1
+13
+9
+0
+19
+2
+2
+4
+18
+4
+14
+15
+2
+0
+0
+2
+2
+2
+3
+2
+15
+8
+8
+15
+17
+5
+19
+3
+9
+19
+15
+4
+15
+1
+2
+16
+0
+4
+11
+1
+1
+19
+17
+14
+17
+18
+7
+6
+15
+18
+5
+2
+2
+6
+2
+11
+2
+7
+6
+19
+2
+15
+16
+10
+2
+0
+2
+14
+14
+8
+9
+2
+2
+13
+4
+8
+18
+4
+16
+6
+9
+6
+4
+19
+1
+7
+2
+2
+19
+8
+1
+2
+16
+14
+0
+16
+2
+17
+4
+9
+12
+2
+14
+0
+2
+4
+15
+0
+3
+8
+11
+1
+2
+16
+1
+15
+14
+19
+15
+19
+16
+1
+2
+1
+14
+2
+1
+2
+12
+19
+2
+19
+14
+12
+4
+18
+2
+14
+2
+19
+2
+8
+18
+4
+19
+6
+8
+19
+17
+2
+17
+2
+1
+16
+6
+2
+3
+2
+12
+1
+2
+1
+16
+4
+1
+6
+9
+2
+5
+2
+2
+2
+2
+14
+4
+5
+1
+14
+5
+15
+19
+2
+1
+0
+0
+14
+2
+3
+4
+9
+1
+19
+8
+5
+17
+4
+2
+6
+12
+6
+6
+0
+16
+1
+1
+15
+4
+8
+5
+2
+11
+1
+10
+6
+3
+0
+12
+15
+12
+19
+8
+17
+2
+6
+4
+6
+2
+2
+4
+16
+4
+8
+15
+4
+2
+6
+14
+9
+14
+16
+2
+2
+2
+2
+11
+6
+5
+3
+16
+15
+16
+2
+6
+9
+8
+13
+16
+8
+4
+6
+11
+1
+3
+8
+4
+19
+2
+12
+13
+4
+17
+16
+2
+15
+4
+9
+2
+15
+9
+8
+14
+2
+16
+5
+1
+4
+19
+3
+2
+11
+8
+8
+15
+8
+16
+12
+17
+8
+2
+7
+1
+6
+18
+8
+2
+0
+17
+2
+14
+8
+19
+15
+3
+9
+2
+4
+1
+4
+4
+5
+9
+16
+3
+1
+2
+2
+12
+4
+12
+4
+8
+11
+6
+11
+1
+2
+15
+1
+12
+16
+9
+4
+2
+0
+2
+19
+19
+1
+18
+2
+4
+13
+15
+8
+3
+11
+4
+16
+2
+14
+2
+3
+15
+12
+9
+4
+11
+0
+4
+17
+4
+12
+6
+8
+12
+7
+13
+15
+15
+7
+10
+11
+3
+2
+4
+2
+15
+6
+2
+4
+7
+3
+3
+14
+1
+8
+5
+4
+16
+5
+17
+6
+8
+15
+11
+2
+1
+13
+6
+2
+14
+2
+0
+0
+11
+4
+11
+15
+16
+16
+15
+3
+15
+14
+6
+6
+2
+6
+2
+9
+17
+5
+4
+15
+2
+5
+2
+9
+9
+2
+19
+17
+4
+14
+3
+1
+18
+17
+17
+19
+17
+5
+9
+2
+12
+8
+15
+18
+6
+1
+16
+15
+15
+2
+6
+4
+6
+11
+6
+2
+1
+14
+19
+13
+5
+1
+8
+19
+8
+5
+6
+0
+11
+6
+1
+2
+4
+4
+16
+7
+11
+4
+19
+17
+6
+15
+18
+2
+2
+2
+11
+1
+7
+11
+6
+4
+3
+1
+0
+15
+19
+6