//  cc.cc zaehlt Charaktere (Zeichen), "White Space" und Zeilen  einer Datei.
using namespace std;
#include <iostream>
#include <stdio.h>

int main() {
  char c;
  int  cc, bc, nc, wc;     // Zaehler fuer char's, blanks, newlines, Woerter
  int in_wort = 0;         // Anzeige, ob gerade ein Wort gelesen wird
  cc = bc = nc = wc = 0;   // Initialisieren der Zaehler
  while ( cin.get(c) ) {
    cc++;                  // Abkuerzung fuer: cc = cc+1;
    switch(c) {
    case '\n':
      nc++, bc++; in_wort = 0; break;
      // Newline- und Blank-Zaehler erhoehen, sicher liegt kein Wort vor
	case '\t': case ' ':          // Tabulator, Leerzeichen
	bc++; in_wort = 0; break;     // blank-Zaehler erhoehen
    default:                          // kein newline, tab oder blank
      if (in_wort == 0) {    // bisher kein Wort? Also beginnt eins:
	in_wort = 1; wc++;  }
    }
  }
  cout << cc <<" Char's, "<<bc<<" Whites, "<<wc<<" Woerter, "<<nc<<" Newlines\n";
}
