FORCAL is the programming language well known to programmers who are interested in compiler construction and especially to students attending Dr. C. Ompiler class. The FORCAL syntax is defined as follows:

FORCAL tokens are defined to be: the identifiers or the literals or the symbols + - ( ) := ; , or the reserved words.

NOTES:

Help the students of Dr. C. Ompiler to write a program which reads lines of text an recognizes the FORCAL tokens in them.

Input

The input file consists of several blocks of lines. Each block contains lines of text and is terminated by one empty line.

Output

The output file consists of blocks corresponding to the blocks in the input file. In the lines of each block there are successively stored the FORCAL tokens recognized by the program (just one token on each line). Each token must be written on the output line in exactly the same form as it appears in the input text. If the program encounters a string that is neither a FORCAL token, nor comment, nor space, tab, end-of-line, it is to write the string TOKEN ERROR on a new line and continues by processing the next block in the input file. The program writes one empty line after each block of the output file.

Sample Input

A1:= A + (-B);

A123_A123 )
01.2 A B
C

:= A beGIn

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Sample Output

A1
:=
A
+
(
-
B
)
;

A123_A123
)
01
TOKEN ERROR

:=
A
beGIn

TOKEN ERROR