import java.util.Scanner;

class Main{


	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int a = scanner.nextInt();
		int b = scanner.nextInt();

		int keta = String.valueOf(b).length();
		int ans = (int)Math.pow(10, keta) * a + b;


		for(int i = 1;i < ans/2;i++){
			if(i*i == ans){
				System.out.println("Yes");
				return;

			}
		}
		System.out.println("No");





	}
}




class Graph{
	int from;
	int to;
	int cost;

	public Graph() {
	}

	public Graph(int f,int t,int c) {
		from = f;
		to= t;
		cost = c;
	}
} import java.util.Scanner; Scanner java.util class Main{


	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int a = scanner.nextInt();
		int b = scanner.nextInt();

		int keta = String.valueOf(b).length();
		int ans = (int)Math.pow(10, keta) * a + b;


		for(int i = 1;i < ans/2;i++){
			if(i*i == ans){
				System.out.println("Yes");
				return;

			}
		}
		System.out.println("No");





	}
} Main public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int a = scanner.nextInt();
		int b = scanner.nextInt();

		int keta = String.valueOf(b).length();
		int ans = (int)Math.pow(10, keta) * a + b;


		for(int i = 1;i < ans/2;i++){
			if(i*i == ans){
				System.out.println("Yes");
				return;

			}
		}
		System.out.println("No");





	} main {
		Scanner scanner = new Scanner(System.in);
		int a = scanner.nextInt();
		int b = scanner.nextInt();

		int keta = String.valueOf(b).length();
		int ans = (int)Math.pow(10, keta) * a + b;


		for(int i = 1;i < ans/2;i++){
			if(i*i == ans){
				System.out.println("Yes");
				return;

			}
		}
		System.out.println("No");





	} Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) int a = scanner.nextInt(); a scanner.nextInt() scanner.nextInt scanner int b = scanner.nextInt(); b scanner.nextInt() scanner.nextInt scanner int keta = String.valueOf(b).length(); keta String.valueOf(b).length() String.valueOf(b).length String.valueOf(b) String.valueOf String b int ans = (int)Math.pow(10, keta) * a + b; ans (int)Math.pow(10, keta) * a + b (int)Math.pow(10, keta) * a (int)Math.pow(10, keta) Math.pow Math 10 keta a b for(int i = 1;i < ans/2;i++){
			if(i*i == ans){
				System.out.println("Yes");
				return;

			}
		} int i = 1; int i = 1; i 1 i < ans/2 i ans/2 ans 2 i++ i++ i {
			if(i*i == ans){
				System.out.println("Yes");
				return;

			}
		} {
			if(i*i == ans){
				System.out.println("Yes");
				return;

			}
		} if(i*i == ans){
				System.out.println("Yes");
				return;

			} i*i == ans i*i i i ans {
				System.out.println("Yes");
				return;

			} System.out.println("Yes") System.out.println System.out System System.out "Yes" return; System.out.println("No") System.out.println System.out System System.out "No" String[] args args class Graph{
	int from;
	int to;
	int cost;

	public Graph() {
	}

	public Graph(int f,int t,int c) {
		from = f;
		to= t;
		cost = c;
	}
} Graph int from; from int to; to int cost; cost public Graph() {
	} Graph {
	} public Graph(int f,int t,int c) {
		from = f;
		to= t;
		cost = c;
	} Graph {
		from = f;
		to= t;
		cost = c;
	} from = f from f to= t to t cost = c cost c int f f int t t int c c
import java.util.Scanner;

class Main{


	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int a = scanner.nextInt();
		int b = scanner.nextInt();

		int keta = String.valueOf(b).length();
		int ans = (int)Math.pow(10, keta) * a + b;


		for(int i = 1;i < ans/2;i++){
			if(i*i == ans){
				System.out.println("Yes");
				return;

			}
		}
		System.out.println("No");





	}
}




class Graph{
	int from;
	int to;
	int cost;

	public Graph() {
	}

	public Graph(int f,int t,int c) {
		from = f;
		to= t;
		cost = c;
	}
}
