/*
 *  Este programa recebe como entrada uma cadeia de caracteres terminada
 *  por um '.' e determina o comprimento maximo de uma palavra nesta entrada.
 *  Entendemos como uma palavra uma cadeia contigua de letras (caracteres de
 *  'a'..'z' e 'A'..'Z').
 *
 */

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

#define TRUE  1

int main()
{
    int ch;
    int max;
    int comp_atual;
    int estado;			/* indicador de estado: 0 se fora de uma palavra 
				   e 1 se dentro */
    max = 0;
    estado = 0;

    while (TRUE) {
	ch = getchar();

	switch (estado) {
	case 1:		/* dentro */
	    if (isalpha(ch)) {
		comp_atual++;
	    } else {
		if (comp_atual > max) {
		    max = comp_atual;
		}
		comp_atual = 0;
		estado = 0;
	    }
	    break;

	case 0:		/* fora */
	    if (isalpha(ch)) {
		comp_atual = 1;
		estado = 1;
	    }
	    break;

	default:
	    printf("Nao pode acontecer\n");
	    exit(1);
	}

	if (ch == '.')
	    break;

    }

    printf("Maior comprimento: %d\n", max);
    return 0;
}
