#!/usr/bin/env python3
"""Hadoop Streaming - mapper zliczania słów.

Czyta linie ze standardowego wejścia i dla każdego słowa wypisuje „słowo<TAB>1”.
Tokenizacja jak w pozostałych wersjach demo: małe litery, podział na ciągi znaków
niebędących literami Unicode, puste elementy odrzucone.
"""
import re
import sys

sys.stdin.reconfigure(encoding='utf-8')
sys.stdout.reconfigure(encoding='utf-8')

# [^\W\d_] to znak „słowa” bez cyfr i podkreślenia, czyli litera Unicode
LETTERS = re.compile(r'[^\W\d_]+')

for line in sys.stdin:
    for word in LETTERS.findall(line.lower()):
        sys.stdout.write(word + '\t1\n')
