#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main(int argc, char **argv){
  int charCount=0, wordCount=0, lineCount=0;
  int doChar=0, doWord=0, doLine=0, inWord = 0;
  int c;
  char *fileName = 0;
  FILE *f = stdin;
  while (argv++, --argc) {
    if (!strcmp(*argv,"-c")) doChar=1;
    else if (!strcmp(*argv,"-w")) doWord=1;
    else if (!strcmp(*argv,"-l")) doLine=1;
    else if (!(f = fopen((fileName = *argv), "r"))){
      printf("Usage: wc [-l] [-w] [-c]\n"); return 1;
    }
  }
  if (!(doChar || doWord || doLine)) doChar = doWord = doLine = 1;
  while (EOF != (c= fgetc(f))){
    charCount++;
    if (c == '\n') lineCount++;
    if (!isspace(c)) {
      if (!inWord) { inWord = 1; wordCount++; }
    } else { inWord = 0; }
  }
  if (doLine) printf("%8d", lineCount);
  if (doWord) printf("%8d", wordCount);
  if (doChar) printf("%8d", charCount);
  if (fileName) printf(" %s", fileName);
  printf("\n");
  return 0;
}
