import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
{
do {
in.nextToken();
switch (in.ttype) {
System.
out.
println("WORD: " + in.
sval); break;
System.
out.
println("NUMBER: " + in.
nval); break;
case '"':
System.
out.
println("QUOTE: " + in.
sval); break;
case '(':
case ')':
case '\'':
case '.':
case '`':
case ',':
case '@':
System.
out.
println((char)in.
ttype); break;
break;
default:
System.
out.
print("UNKNOWN: "); System.
out.
println((char)in.
ttype); break;
}
}
{
in.resetSyntax();
in.wordChars(0, 0xFFFF);
in.quoteChar('"');
in.parseNumbers();
in.lowerCaseMode(true);
in.whitespaceChars(' ', ' ');
in.whitespaceChars('\t', '\t');
in.whitespaceChars('\r', '\r');
in.whitespaceChars('\n', '\n');
in.commentChar(';');
in.ordinaryChar('\'');
in.ordinaryChar('(');
in.ordinaryChar(')');
in.ordinaryChar('`');
in.ordinaryChar(',');
in.ordinaryChar('.');
in.ordinaryChar('@');
return in;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBJZGVvbmUKewoKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN0cmVhbVRva2VuaXplciBpbiA9IGdldFRva2VuaXplcigpOwoJCQoJCWRvIHsKCQkJaW4ubmV4dFRva2VuKCk7CgkJCQoJCQlzd2l0Y2ggKGluLnR0eXBlKSB7CgkJCWNhc2UgU3RyZWFtVG9rZW5pemVyLlRUX1dPUkQ6CgkJCQlTeXN0ZW0ub3V0LnByaW50bG4oIldPUkQ6ICIgKyBpbi5zdmFsKTsKCQkJCWJyZWFrOwoJCQljYXNlIFN0cmVhbVRva2VuaXplci5UVF9OVU1CRVI6CgkJCQlTeXN0ZW0ub3V0LnByaW50bG4oIk5VTUJFUjogIiArIGluLm52YWwpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJyInOgoJCQkJU3lzdGVtLm91dC5wcmludGxuKCJRVU9URTogIiArIGluLnN2YWwpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJygnOgoJCQljYXNlICcpJzoKCQkJY2FzZSAnXCcnOgoJCQljYXNlICcuJzoKCQkJY2FzZSAnYCc6CgkJCWNhc2UgJywnOgoJCQljYXNlICdAJzoKCQkJCVN5c3RlbS5vdXQucHJpbnRsbigoY2hhcilpbi50dHlwZSk7CgkJCQlicmVhazsJCQkJCgkJCWNhc2UgU3RyZWFtVG9rZW5pemVyLlRUX0VPRjoKCQkJCWJyZWFrOwoJCQlkZWZhdWx0OgoJCQkJU3lzdGVtLm91dC5wcmludCgiVU5LTk9XTjogIik7CgkJCQlTeXN0ZW0ub3V0LnByaW50bG4oKGNoYXIpaW4udHR5cGUpOwoJCQkJYnJlYWs7CgkJCX0KCQkJCgkJfSB3aGlsZSAoaW4udHR5cGUgIT0gU3RyZWFtVG9rZW5pemVyLlRUX0VPRik7CgkJCgl9CgkJCglzdGF0aWMgU3RyZWFtVG9rZW5pemVyIGdldFRva2VuaXplcigpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU3RyZWFtVG9rZW5pemVyIGluID0gbmV3IFN0cmVhbVRva2VuaXplcigKCQkJbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKSk7CgkJCQoJCWluLnJlc2V0U3ludGF4KCk7CgkJaW4ud29yZENoYXJzKDAsIDB4RkZGRik7CgkJaW4ucXVvdGVDaGFyKCciJyk7CgkJaW4ucGFyc2VOdW1iZXJzKCk7CgkJaW4ubG93ZXJDYXNlTW9kZSh0cnVlKTsKCQlpbi53aGl0ZXNwYWNlQ2hhcnMoJyAnLCAnICcpOwoJCWluLndoaXRlc3BhY2VDaGFycygnXHQnLCAnXHQnKTsKCQlpbi53aGl0ZXNwYWNlQ2hhcnMoJ1xyJywgJ1xyJyk7CgkJaW4ud2hpdGVzcGFjZUNoYXJzKCdcbicsICdcbicpOwkKCQlpbi5jb21tZW50Q2hhcignOycpOwoJCWluLm9yZGluYXJ5Q2hhcignXCcnKTsKCQlpbi5vcmRpbmFyeUNoYXIoJygnKTsKCQlpbi5vcmRpbmFyeUNoYXIoJyknKTsKCQlpbi5vcmRpbmFyeUNoYXIoJ2AnKTsKCQlpbi5vcmRpbmFyeUNoYXIoJywnKTsKCQlpbi5vcmRpbmFyeUNoYXIoJy4nKTsKCQlpbi5vcmRpbmFyeUNoYXIoJ0AnKTsKCQkKCQlyZXR1cm4gaW47Cgl9Cn0=
KGRlZnVuIGFiYyAoeCB5KSAoY29ucyAoY2FyIHgpIChjZHIgeSkpKQooKyAxMjMgNDUgKCogMyA0KSkKKGRlZmluZSBra2sgJnF1b3Q7dGVzdCBsYW5nIOOBguOBhOOBhuOBiOOBiiDoq7jooYznhKHluLgg5byx6IKJ5by36aOfIOOCvW4gZGVzdSZxdW90OykgOyB0ZXN0IGxhbmd1YWdlCihkZWZpbmUgZmZmICcoYWJjIGVmZykpCihhIC4gYikKKGRlZm1hY3JvIGZvbyAoeCkgYChjb25zICx4ICx4KSkKKGRlZm1hY3JvIGZvbyAoeCkgYChwcm9nbiAsQHgpKQo=
(defun abc (x y) (cons (car x) (cdr y)))
(+ 123 45 (* 3 4))
(define kkk "test lang あいうえお 諸行無常 弱肉強食 ソn desu") ; test language
(define fff '(abc efg))
(a . b)
(defmacro foo (x) `(cons ,x ,x))
(defmacro foo (x) `(progn ,@x))