ws = [' ']
pu = ['!','.','?',',']
--Първата дума от низ
getWord [] = []
getWord (h:t)
| elem h ws = []
| otherwise = h:(getWord t)
--Изтрива първата дума от низ
drE [] = []
drE (h:t)
| elem h ws = t
| otherwise = drE t
--Подрежда низа в списък от думи
spW [] = []
spW s = (getWord(s)):(spW (drE(s)))
cS [] = []
cS (h:t)
| elem h pu = cS t
| otherwise = h:(cS t)
--Само уникалните елементи
unW [] = []
unW (h:t)
| [ s | s<-t , s == h ] == [] = h:(unW t)
| otherwise = unW t
---bR s = length( unW( (spW (s) ) ) )
--Броя на уникалните елементи по ред на появяване в низа
bR [] = []
bR (h:t) = ((length [ s | s<-t ,s == h]) + 1) : (bR [ s | s<-t ,s /= h ])