시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB308725.926%

문제

W Bajtocji od niedawna wydawana jest nowa gazeta BajtNews. O dziwo, mieszkańcy Bajtocji wcale nie interesują się treścią publikowanych w niej artykułów, a jedynie statystykami, które ich dotyczą. Niektórzy z nich stali się już tak leniwi, że nie chcą sami tworzyć statystyk, dlatego poprosili Ciebie o napisanie programu, który będzie przygotowywał je automatycznie.

Bajtocjanie chcą znać liczby wystąpień następujących obiektów w artykułach:

  1. spacji, czyli pojedynczych odstępów;
  2. liczb, czyli ciągłych (tzn. jednokawałkowych) fragmentów tekstu złożonych z cyfr (0 - 9), sąsiadujących z każdej strony ze znakiem niebędącym cyfrą lub z początkiem lub końcem tekstu;
  3. słów, czyli ciągłych fragmentów złożonych z małych (a - z) lub wielkich (A - Z) liter alfabetu angielskiego, sąsiadujących z każdej strony ze znakiem niebędącym literą lub z początkiem lub końcem tekstu;
  4. zdań, czyli spójnych fragmentów tekstu zakończonych kropką (i niezawierających innych kropek w środku), zawierających co najmniej jedno słowo; każde zdanie sąsiaduje z lewej strony albo z kropką, albo z początkiem tekstu;
  5. palindromów, czyli słów symetrycznych - takich słów (gdzie słowo jest rozumiane w sensie punktu trzeciego), które czytane wprost i wspak mogą się różnić co najwyżej wielkością liter, np. Abba.

Napisz program, który:

  • wczyta ze standardowego wejścia artykuł oraz spis rodzajów obiektów, które mają zostać przeanalizowane,
  • wyznaczy żądane statystyki,
  • wypisze wynik na standardowe wyjście.

입력

W pierwszym wierszu wejścia znajduje się jedna liczba całkowita $n$ ($1 ≤ n ≤ 5$) oznaczająca liczbę żądanych rodzajów statystyk. W drugim wierszu znajduje się $n$ liczb całkowitych $a_i$ ($1 ≤ a_i ≤ 5$), pooddzielanych pojedynczymi odstępami i oznaczających numery typów obiektów, które należy zliczyć. Numery odpowiadają kolejności, w jakiej różne rodzaje obiektów zostały opisane powyżej (np. $a_i = 3$ oznacza żądanie zliczenia słów w tekście). Możesz założyć, że liczby $a_i$ są parami różne.

Trzeci wiersz wejścia zawiera całą treść artykułu. Może się ona składać z następujących znaków:

  • cyfr: 0 - 9;
  • liter: a - z oraz A - Z;
  • odstępów (spacji) oraz tabulacji;
  • znaków interpunkcyjnych: ',' (przecinek), '.' (kropka), '!' (wykrzyknik), '?' (pytajnik).

Liczba znaków w treści artykułu nie przekroczy $1\,000\,000$. Możesz również założyć, że:

  • w co najmniej 20% przypadków testowych należy zliczać tylko statystyki pierwszego rodzaju (spacje),
  • w co najmniej 40% przypadków testowych należy zliczać tylko statystyki pierwszego oraz drugiego rodzaju (spacje i liczby),
  • w co najmniej 60% przypadków testowych należy zliczać tylko statystyki rodzajów od 1 do 3 (spacje, liczby i słowa),
  • w co najmniej 80% przypadków testowych należy zliczać tylko statystyki rodzajów od 1 do 4 (spacje, liczby, słowa oraz zdania).

출력

W pierwszym i jedynym wierszu wyjścia Twój program powinien wypisać $n$ liczb całkowitych pooddzielanych pojedynczymi odstępami, oznaczających kolejne żądane rodzaje statystyk.

예제 입력 1

5
2 4 1 3 5
domEk  K5k45. aLA.

예제 출력 1

2 2 3 4 3

힌트

W przykładzie żądane są wszystkie rodzaje statystyk w następującej kolejności:

  • (2.) liczby, które są dwie (5 oraz 45);
  • (4.) zdania, które są dwa;
  • (1.) spacje, które są trzy;
  • (3.) słowa - jest ich cztery (domEKKk oraz aLA);
  • (5.) palindromy - są trzy (Kk oraz aLA).