#include<bits/stdc++.h>
using namespace std;
int main ()
{
	int a,b,c,i=0,s,p;
	cin>>a>>b;
	c=b;
	while(b>0)
	{
		b=b/10;
		i++;
	}
	s=pow(10,i);
	a=a*s+c;
	p=sqrt(a);
	if(p*p==a)
	    cout<<"Yes";
	else
	    cout<<"No";
}
### Prompt

Please provide a Cpp coded solution to the problem described below:

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;
int main ()
{
	int a,b,c,i=0,s,p;
	cin>>a>>b;
	c=b;
	while(b>0)
	{
		b=b/10;
		i++;
	}
	s=pow(10,i);
	a=a*s+c;
	p=sqrt(a);
	if(p*p==a)
	    cout<<"Yes";
	else
	    cout<<"No";
}
```