#include <stdio.h>
int main(void){
  int a,b,d,t,i=0;
  scanf("%d%d",&a,&b);
  if (b==100) d=1000;
  else if (b<10) d=10;
  else d=100;
  t=a*d+b;
  while (i*i<t) i++;
  printf("%s\n",(i*i==t)? "Yes":"No");
  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 <stdio.h>
int main(void){
  int a,b,d,t,i=0;
  scanf("%d%d",&a,&b);
  if (b==100) d=1000;
  else if (b<10) d=10;
  else d=100;
  t=a*d+b;
  while (i*i<t) i++;
  printf("%s\n",(i*i==t)? "Yes":"No");
  return 0;
}
```