#include<cstdio>
int main(){
int a,b;
scanf("%d%d",&a,&b);
if(b<10)a=10*a+b;
else if(b<100)a=a*100+b;
else a=a*1000+b;
for(int i=1;i<=10000;i++){
if(i*i==a){
printf("Yes\n");
break;
}
if(i==10000)printf("No\n");
}
return 0;
}

### Prompt

Generate a cpp solution to the following problem:

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<cstdio>
int main(){
int a,b;
scanf("%d%d",&a,&b);
if(b<10)a=10*a+b;
else if(b<100)a=a*100+b;
else a=a*1000+b;
for(int i=1;i<=10000;i++){
if(i*i==a){
printf("Yes\n");
break;
}
if(i==10000)printf("No\n");
}
return 0;
}

```