import java.io.*;
import java.util.*;
public class Main { // "Main" should be used for most online judges
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		//int nums[] = new int[count];
		/*int size = nums.length / 2;
		for(int i = 0; i < nums.length; i++) {
		}*/
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		int num3 = 0;
		if(num2 < 10) num3 = num1*10 + num2;
		else if(num2 < 100) num3 = num1*100 + num2;
		else num3 = num1*1000 + num2;
		boolean flag = false;
		for(int i = 0; i < 316; i++) {
			if(num3 == i*i) { System.out.println("Yes"); flag = true;}
		}
		if(!flag) System.out.println("No");
	}
} import java.io.*; io.* java import java.util.*; util.* java public class Main { // "Main" should be used for most online judges
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		//int nums[] = new int[count];
		/*int size = nums.length / 2;
		for(int i = 0; i < nums.length; i++) {
		}*/
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		int num3 = 0;
		if(num2 < 10) num3 = num1*10 + num2;
		else if(num2 < 100) num3 = num1*100 + num2;
		else num3 = num1*1000 + num2;
		boolean flag = false;
		for(int i = 0; i < 316; i++) {
			if(num3 == i*i) { System.out.println("Yes"); flag = true;}
		}
		if(!flag) System.out.println("No");
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		//int nums[] = new int[count];
		/*int size = nums.length / 2;
		for(int i = 0; i < nums.length; i++) {
		}*/
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		int num3 = 0;
		if(num2 < 10) num3 = num1*10 + num2;
		else if(num2 < 100) num3 = num1*100 + num2;
		else num3 = num1*1000 + num2;
		boolean flag = false;
		for(int i = 0; i < 316; i++) {
			if(num3 == i*i) { System.out.println("Yes"); flag = true;}
		}
		if(!flag) System.out.println("No");
	} main {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		//int nums[] = new int[count];
		/*int size = nums.length / 2;
		for(int i = 0; i < nums.length; i++) {
		}*/
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		int num3 = 0;
		if(num2 < 10) num3 = num1*10 + num2;
		else if(num2 < 100) num3 = num1*100 + num2;
		else num3 = num1*1000 + num2;
		boolean flag = false;
		for(int i = 0; i < 316; i++) {
			if(num3 == i*i) { System.out.println("Yes"); flag = true;}
		}
		if(!flag) System.out.println("No");
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int num1 = sc.nextInt(); num1 sc.nextInt() sc.nextInt sc int num2 = sc.nextInt(); num2 sc.nextInt() sc.nextInt sc int num3 = 0; num3 0 if(num2 < 10) num3 = num1*10 + num2;
		else if(num2 < 100) num3 = num1*100 + num2;
		else num3 = num1*1000 + num2; num2 < 10 num2 10 num3 = num1*10 + num2 num3 num1*10 + num2 num1*10 num1 10 num2 if(num2 < 100) num3 = num1*100 + num2;
		else num3 = num1*1000 + num2; num2 < 100 num2 100 num3 = num1*100 + num2 num3 num1*100 + num2 num1*100 num1 100 num2 num3 = num1*1000 + num2 num3 num1*1000 + num2 num1*1000 num1 1000 num2 boolean flag = false; flag false for(int i = 0; i < 316; i++) {
			if(num3 == i*i) { System.out.println("Yes"); flag = true;}
		} int i = 0; int i = 0; i 0 i < 316 i 316 i++ i++ i {
			if(num3 == i*i) { System.out.println("Yes"); flag = true;}
		} {
			if(num3 == i*i) { System.out.println("Yes"); flag = true;}
		} if(num3 == i*i) { System.out.println("Yes"); flag = true;} num3 == i*i num3 i*i i i { System.out.println("Yes"); flag = true;} System.out.println("Yes") System.out.println System.out System System.out "Yes" flag = true flag true if(!flag) System.out.println("No"); !flag flag System.out.println("No") System.out.println System.out System System.out "No" String[] args args public class Main { // "Main" should be used for most online judges
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		//int nums[] = new int[count];
		/*int size = nums.length / 2;
		for(int i = 0; i < nums.length; i++) {
		}*/
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		int num3 = 0;
		if(num2 < 10) num3 = num1*10 + num2;
		else if(num2 < 100) num3 = num1*100 + num2;
		else num3 = num1*1000 + num2;
		boolean flag = false;
		for(int i = 0; i < 316; i++) {
			if(num3 == i*i) { System.out.println("Yes"); flag = true;}
		}
		if(!flag) System.out.println("No");
	}
} public class Main { // "Main" should be used for most online judges
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		//int nums[] = new int[count];
		/*int size = nums.length / 2;
		for(int i = 0; i < nums.length; i++) {
		}*/
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		int num3 = 0;
		if(num2 < 10) num3 = num1*10 + num2;
		else if(num2 < 100) num3 = num1*100 + num2;
		else num3 = num1*1000 + num2;
		boolean flag = false;
		for(int i = 0; i < 316; i++) {
			if(num3 == i*i) { System.out.println("Yes"); flag = true;}
		}
		if(!flag) System.out.println("No");
	}
} Main
import java.io.*;
import java.util.*;
public class Main { // "Main" should be used for most online judges
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		//int nums[] = new int[count];
		/*int size = nums.length / 2;
		for(int i = 0; i < nums.length; i++) {
		}*/
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		int num3 = 0;
		if(num2 < 10) num3 = num1*10 + num2;
		else if(num2 < 100) num3 = num1*100 + num2;
		else num3 = num1*1000 + num2;
		boolean flag = false;
		for(int i = 0; i < 316; i++) {
			if(num3 == i*i) { System.out.println("Yes"); flag = true;}
		}
		if(!flag) System.out.println("No");
	}
}