#include <bits/stdc++.h>
using namespace std;
string a,b,c;
int n;
int main()
{
	cin>>a>>b;
	c+=a;
	c+=b;
	n=atol(c.c_str());
	for (int i=1;i<=sqrt(n);i++)
	if (i*i==n)
	{
		cout<<"Yes";
		return 0;
	}
	cout<<"No";
	return 0;
}
### Prompt

Construct a CPP code solution to the problem outlined:

AtCoDeer the deer has found two positive integers, a and b. Determine whether the concatenation of a and b in this order is a square number.

Constraints

* 1 ≤ a,b ≤ 100
* a and b are integers.

Input

Input is given from Standard Input in the following format:


a b


Output

If the concatenation of a and b in this order is a square number, print `Yes`; otherwise, print `No`.

Examples

Input

1 21


Output

Yes


Input

100 100


Output

No


Input

12 10


Output

No

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
string a,b,c;
int n;
int main()
{
	cin>>a>>b;
	c+=a;
	c+=b;
	n=atol(c.c_str());
	for (int i=1;i<=sqrt(n);i++)
	if (i*i==n)
	{
		cout<<"Yes";
		return 0;
	}
	cout<<"No";
	return 0;
}
```