二次方程

二次方程

测试数据来自 system/1759

背景

数学是上帝描述自然的符号——黑格尔

描述

小D最近迷上了二次方程。二次方程具有着简洁的表达形式,优美的函数图象,使人深深着迷。小D最喜欢的二次方程是这样表示的:**x^2 + 2*b*x + c = 0**,其中b,c都是正整数。

我们知道,对于任意的二次方程,有可能有两个实数根,有可能只有一个实数根,也可能没有实数根。现在小D想知道,对于所有的1<=b<=n, 1<=c<=m,总共能够得到多少个不同的实数根。

格式

输入格式

第一行两个正整数:n,m

输出格式

输出一行表示总共能够得到的不同的实数根的个数。

【温馨提示】输出可能较大,c或c++选手注意使用%I64d输出64位整型,但是在正式的noip比赛中注意用%lld输出。

样例1

样例输入1

3 3

样例输出1

12

限制

每个测试点1s

提示

对于样例的解释:
当b = 1, c = 1,得到x1 = x2 = -1
当b = 1, c = 2, 方程无解
当b = 1, c = 3, 方程无解
当b = 2, c = 1, 得到x1 = -2 - sqrt(3), x2 = -2 + sqrt(3)
当b = 2, c = 2, 得到x1 = -2 - sqrt(2), x2 = -2 + sqrt(2)
当b = 2, c = 3, 得到x1 = -3, x2 = -1
当b = 3, c = 1, 得到x1 = -3 - sqrt(8), x2 = -3 + sqrt(8)
当b = 3, c = 2, 得到x1 = -3 - sqrt(7), x2 = -3 + sqrt(7)
当b = 3, c = 3, 得到x1 = -3 - sqrt(6), x2 = -3 + sqrt(6)
总共12个不同的实数解。

对于30%的数据,1 <= n , m <= 200
对于70%的数据, 1 <= n , m <= 5*10^6
对于100%的数据, 1 <= n , m <= 10^9

信息

ID
1801
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者