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

Your challenge is to write 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 <bits/stdc++.h>
using namespace std;
int a,b,c,d,len;
int main(){
    cin>>a>>b;c=b;
    while(c>0) c/=10,len++;
    a=a*pow(10,len)+b;
    d=sqrt(a);
    if(d*d==a) cout<<"Yes"<<endl;
    else cout<<"No"<<endl;
}
```