#include<stdio.h>
int main(){
int a,b,x,i,t=1;
  scanf("%d  %d",&a,&b);
  for(i=0;t<=b;i++){
  t*=10;
  }
  x=a*t+b;
  for(i=1;i<=350;i++){
    if(i*i==x)break;
    }
  if(i==351)printf("No");
  else printf("Yes");
  return 0;
}

### Prompt

Create a solution in cpp for 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(){
int a,b,x,i,t=1;
  scanf("%d  %d",&a,&b);
  for(i=0;t<=b;i++){
  t*=10;
  }
  x=a*t+b;
  for(i=1;i<=350;i++){
    if(i*i==x)break;
    }
  if(i==351)printf("No");
  else printf("Yes");
  return 0;
}

```