public final class Main {
public static Class<Boolean> typeof(final boolean expr) {
}
public static Class<Character> typeof(final char expr) {
}
public static Class<Byte> typeof(final byte expr) {
}
public static Class<Short> typeof(final short expr) {
}
public static Class<Integer> typeof(final int expr) {
}
public static Class<Long> typeof(final long expr) {
}
public static Class<Float> typeof(final float expr) {
}
public static Class<Double> typeof(final double expr) {
}
public static Class
<?> typeof
(final Object expr
) { return expr == null ? null : expr.getClass();
}
public static void main
(final String[] argv
) { System.
out.
println(typeof
(500 * 3 - 2)); System.
out.
println(typeof
(50 % 3L
)); System.
out.
println(typeof
(argv
)); System.
out.
println(typeof
(argv.
length)); System.
out.
println(typeof
(4f
)); System.
out.
println(typeof
(null)); }
}
cHVibGljIGZpbmFsIGNsYXNzIE1haW4gewoKICBwdWJsaWMgc3RhdGljIENsYXNzPEJvb2xlYW4+IHR5cGVvZihmaW5hbCBib29sZWFuIGV4cHIpIHsKICAgIHJldHVybiBCb29sZWFuLlRZUEU7CiAgfQoKICBwdWJsaWMgc3RhdGljIENsYXNzPENoYXJhY3Rlcj4gdHlwZW9mKGZpbmFsIGNoYXIgZXhwcikgewogICAgcmV0dXJuIENoYXJhY3Rlci5UWVBFOwogIH0KCiAgcHVibGljIHN0YXRpYyBDbGFzczxCeXRlPiB0eXBlb2YoZmluYWwgYnl0ZSBleHByKSB7CiAgICByZXR1cm4gQnl0ZS5UWVBFOwogIH0KCiAgcHVibGljIHN0YXRpYyBDbGFzczxTaG9ydD4gdHlwZW9mKGZpbmFsIHNob3J0IGV4cHIpIHsKICAgIHJldHVybiBTaG9ydC5UWVBFOwogIH0KCiAgcHVibGljIHN0YXRpYyBDbGFzczxJbnRlZ2VyPiB0eXBlb2YoZmluYWwgaW50IGV4cHIpIHsKICAgIHJldHVybiBJbnRlZ2VyLlRZUEU7CiAgfQoKICBwdWJsaWMgc3RhdGljIENsYXNzPExvbmc+IHR5cGVvZihmaW5hbCBsb25nIGV4cHIpIHsKICAgIHJldHVybiBMb25nLlRZUEU7CiAgfQoKICBwdWJsaWMgc3RhdGljIENsYXNzPEZsb2F0PiB0eXBlb2YoZmluYWwgZmxvYXQgZXhwcikgewogICAgcmV0dXJuIEZsb2F0LlRZUEU7CiAgfQoKICBwdWJsaWMgc3RhdGljIENsYXNzPERvdWJsZT4gdHlwZW9mKGZpbmFsIGRvdWJsZSBleHByKSB7CiAgICByZXR1cm4gRG91YmxlLlRZUEU7CiAgfQoKICBwdWJsaWMgc3RhdGljIENsYXNzPD8+IHR5cGVvZihmaW5hbCBPYmplY3QgZXhwcikgewogICAgcmV0dXJuIGV4cHIgPT0gbnVsbCA/IG51bGwgOiBleHByLmdldENsYXNzKCk7CiAgfQoKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihmaW5hbCBTdHJpbmdbXSBhcmd2KSB7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4odHlwZW9mKDUwMCAqIDMgLSAyKSk7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4odHlwZW9mKDUwICUgM0wpKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbih0eXBlb2YobmV3IFN0cmluZygpKSk7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4odHlwZW9mKGFyZ3YpKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbih0eXBlb2YoYXJndi5sZW5ndGgpKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbih0eXBlb2YoNGYpKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbih0eXBlb2YobnVsbCkpOwogIH0KfQ==