#45. 部分数据类型

部分数据类型

Background

在 C++ 中,不同的数据类型有不同的表示方法和取值范围。你需要编写一个程序,根据给定的字面量判断其数据类型。

Description

给定 N

N 个 C++ 字面量字符串,每个字面量只可能是以下七种类型之一:

bool:布尔类型,字面量为 true 或 false

char:字符类型,字面量由一对单引号括起来,如 'a'、'\n'

string:字符串类型,字面量由一对双引号括起来,如 "hello"、"123"

int:整数类型,十进制整数,范围在 [−2147483648,2147483647]

long long:长整数类型,十进制整数,范围在 [−9223372036854775808,9223372036854775807],且超出 int 范围

float:单精度浮点数,字面量包含小数点或指数部分,并以 f 或 F 结尾

double:双精度浮点数,字面量包含小数点或指数部分,且不以 f 或 F 结尾

请输出每个字面量对应的类型名。

Format

Input

第一行一个整数 N。

接下来 N 行,每行一个 C++ 字面量字符串。

Output

输出 N 行,每行一个字符串,表示对应字面量的类型名,只能是 bool、char、string、int、long long、float、double 之一。

Samples

7
true
'a'
"hello"
123
2147483648
3.14
3.14f
bool
char
string
int
long long
double
float

Limitation

int 的范围是 -2147483648 到 2147483647。

long long 的范围是 -9223372036854775808 到 9223372036854775807。

浮点数字面量如果没有 f 或 F 后缀,默认为 double 类型。

字符字面量由单引号括起来,内部可以是一个普通字符或转义字符(如 '\n'、'\t'、'\' 等)。

字符串字面量由双引号括起来,内部可以包含任意字符(包括数字),测评点所提供的字符串中不包含空格。

*若测评点字符全为数字,则输出int或者long long。 如,1335输出int,999999999999输出long long。

数据范围:

1≤N≤1000

每个字面量长度不超过 100

保证输入是合法的C++ 字面量,且只属于上述七种类型之一。