/// G. Hagopian doing PPP11 exercise 5

/*
5. Write a program that reads strings and for each string outputs 
the character classification of each character, as defined by the 
character classification functions presented in §11.6. Note that
a character can have several classifications (e.g., x is both a 
letter and an alphanumeric).
*/

#include <iostream>
#include <string>
using namespace std;

int main() {
	string s;
	while (getline(cin,s)) {
		for (int i = 0; i < s.size(); ++i) {
			if (isspace(s[i]))
				cout << s[i] << " is a space.\n";
			if (isalpha(s[i]))
				cout << s[i] << " is alphabetic.\n";
			if (isdigit(s[i]))
				cout << s[i] << " is a digit.\n";
			if (isxdigit(s[i]))
				cout << s[i] << " is a hex digit.\n";
			if (isupper(s[i]))
				cout << s[i] << " is upper case.\n";
			if (islower(s[i]))
				cout << s[i] << " is lower case.\n";
			if (iscntrl(s[i]))
				cout << s[i] << " is a cntrl char.\n";
			if (ispunct(s[i]))
				cout << s[i] << " is punctuation.\n";
			if (isprint(s[i]))
				cout << s[i] << " is printable.\n";
			if (isgraph(s[i]))
				cout << s[i] << " is not a space.\n";
		}
	}
}