#include<math.h>
#include<stdio.h>
int main()
{
	int n, m;
	scanf("%d%d", &n, &m);
	int y = m;
	while (y)
	{
		y /= 10;
		n *= 10;
	}
	int k = sqrt(n + m);
	if (k*k== (n + m))printf("Yes\n");
	else printf("No\n");
	return 0;
}
### Prompt

Your task is to create 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<math.h>
#include<stdio.h>
int main()
{
	int n, m;
	scanf("%d%d", &n, &m);
	int y = m;
	while (y)
	{
		y /= 10;
		n *= 10;
	}
	int k = sqrt(n + m);
	if (k*k== (n + m))printf("Yes\n");
	else printf("No\n");
	return 0;
}
```