#include<bits/stdc++.h>
using namespace std;
#define Mod(n) n % 1000000007
int main()
{
    string s,t;
    cin >> s >> t;
    s += t;
    int N = stoi(s);
    cout << (sqrt(N) == (int)sqrt(N) ? "Yes\n" : "No\n");
}

### Prompt

Please formulate 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;
#define Mod(n) n % 1000000007
int main()
{
    string s,t;
    cin >> s >> t;
    s += t;
    int N = stoi(s);
    cout << (sqrt(N) == (int)sqrt(N) ? "Yes\n" : "No\n");
}

```