import java.util.*;

class Main{
public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
	int a = sc.nextInt();
	int b = sc.nextInt();
	int c = 0;
	int lB = 0;
	boolean flag = false;
	if(b / 100 > 0) {
		lB = 3;
	} else if(b / 10 > 0) {
		lB = 2;
	} else {
		lB = 1;
	}
	c = a * (int)Math.pow(10, lB) + b;
	for(int i = 1; i <  500; i++) {
		if(c == (int)Math.pow(i, 2)) {
			System.out.println("Yes");
			flag = true;
			break;
		}
	}
	if(flag == false) {
		System.out.println("No");	
	}
}
} import java.util.*; util.* java class Main{
public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
	int a = sc.nextInt();
	int b = sc.nextInt();
	int c = 0;
	int lB = 0;
	boolean flag = false;
	if(b / 100 > 0) {
		lB = 3;
	} else if(b / 10 > 0) {
		lB = 2;
	} else {
		lB = 1;
	}
	c = a * (int)Math.pow(10, lB) + b;
	for(int i = 1; i <  500; i++) {
		if(c == (int)Math.pow(i, 2)) {
			System.out.println("Yes");
			flag = true;
			break;
		}
	}
	if(flag == false) {
		System.out.println("No");	
	}
}
} Main public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
	int a = sc.nextInt();
	int b = sc.nextInt();
	int c = 0;
	int lB = 0;
	boolean flag = false;
	if(b / 100 > 0) {
		lB = 3;
	} else if(b / 10 > 0) {
		lB = 2;
	} else {
		lB = 1;
	}
	c = a * (int)Math.pow(10, lB) + b;
	for(int i = 1; i <  500; i++) {
		if(c == (int)Math.pow(i, 2)) {
			System.out.println("Yes");
			flag = true;
			break;
		}
	}
	if(flag == false) {
		System.out.println("No");	
	}
} main {
	Scanner sc = new Scanner(System.in);
	int a = sc.nextInt();
	int b = sc.nextInt();
	int c = 0;
	int lB = 0;
	boolean flag = false;
	if(b / 100 > 0) {
		lB = 3;
	} else if(b / 10 > 0) {
		lB = 2;
	} else {
		lB = 1;
	}
	c = a * (int)Math.pow(10, lB) + b;
	for(int i = 1; i <  500; i++) {
		if(c == (int)Math.pow(i, 2)) {
			System.out.println("Yes");
			flag = true;
			break;
		}
	}
	if(flag == false) {
		System.out.println("No");	
	}
} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc int b = sc.nextInt(); b sc.nextInt() sc.nextInt sc int c = 0; c 0 int lB = 0; lB 0 boolean flag = false; flag false if(b / 100 > 0) {
		lB = 3;
	} else if(b / 10 > 0) {
		lB = 2;
	} else {
		lB = 1;
	} b / 100 > 0 b / 100 b 100 0 {
		lB = 3;
	} lB = 3 lB 3 if(b / 10 > 0) {
		lB = 2;
	} else {
		lB = 1;
	} b / 10 > 0 b / 10 b 10 0 {
		lB = 2;
	} lB = 2 lB 2 {
		lB = 1;
	} lB = 1 lB 1 c = a * (int)Math.pow(10, lB) + b c a * (int)Math.pow(10, lB) + b a * (int)Math.pow(10, lB) a (int)Math.pow(10, lB) Math.pow Math 10 lB b for(int i = 1; i <  500; i++) {
		if(c == (int)Math.pow(i, 2)) {
			System.out.println("Yes");
			flag = true;
			break;
		}
	} int i = 1; int i = 1; i 1 i <  500 i 500 i++ i++ i {
		if(c == (int)Math.pow(i, 2)) {
			System.out.println("Yes");
			flag = true;
			break;
		}
	} {
		if(c == (int)Math.pow(i, 2)) {
			System.out.println("Yes");
			flag = true;
			break;
		}
	} if(c == (int)Math.pow(i, 2)) {
			System.out.println("Yes");
			flag = true;
			break;
		} c == (int)Math.pow(i, 2) c (int)Math.pow(i, 2) Math.pow Math i 2 {
			System.out.println("Yes");
			flag = true;
			break;
		} System.out.println("Yes") System.out.println System.out System System.out "Yes" flag = true flag true break; if(flag == false) {
		System.out.println("No");	
	} flag == false flag false {
		System.out.println("No");	
	} System.out.println("No") System.out.println System.out System System.out "No" String[] args args
import java.util.*;

class Main{
public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
	int a = sc.nextInt();
	int b = sc.nextInt();
	int c = 0;
	int lB = 0;
	boolean flag = false;
	if(b / 100 > 0) {
		lB = 3;
	} else if(b / 10 > 0) {
		lB = 2;
	} else {
		lB = 1;
	}
	c = a * (int)Math.pow(10, lB) + b;
	for(int i = 1; i <  500; i++) {
		if(c == (int)Math.pow(i, 2)) {
			System.out.println("Yes");
			flag = true;
			break;
		}
	}
	if(flag == false) {
		System.out.println("No");	
	}
}
}
