#B33. 禁止在 int 乘 int 时不开 long long

禁止在 int 乘 int 时不开 long long

题目描述

在比赛中,根据数据范围,分析清楚变量的取值范围,是非常重要的。int 类型变量与 int 类型变量相乘,往往可能超出 int 类型可以表示的取值范围。

现在,给出两个 int 类型变量 x,yx,y 及其取值范围,请问 x×yx\times y 的值是否可能超过 int 类型可以表示的范围?

提示:int 类型可以表示的范围为 [2147483648,2147483647][-2147483648, 2147483647],即 [231,2311][-2^{31},2^{31}-1]。也就是,int 类型可以表示的最小值为 2147483648-2147483648,最大值为 21474836472147483647

输入格式

输入共两行。

输入的第一行为两个整数 xl,xux_l,x_u,表示变量 xx 的取值范围为 xlxxux_l \le x \le x_u

输入的第二行为两个整数 yl,yuy_l,y_u,表示变量 yy 的取值范围为 ylyyuy_l \le y \le y_u

输出格式

输出一行一个字符串:

  • 若会超过,则输出 long long int
  • 若不会超过,则输出 int
1 5
1 5
int
-2147483647 2147483647
-2147483647 2147483647
long long int

提示

数据规模与约定

  • 对于 50%50\% 的测试数据,0xlxu<2310 \le x_l \le x_u < 2^{31}0ylyu<2310 \le y_l \le y_u < 2^{31}
  • 对于 100%100\% 的测试数据,231xlxu<231-2^{31} \le x_l \le x_u < 2^{31}231ylyu<231-2^{31} \le y_l \le y_u < 2^{31}