import java.util.*;
public class Main {

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

	}

} import java.util.*; util.* java public class Main {

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

	}

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

	} main {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int a=sc.nextInt();
		int b=sc.nextInt();
		int lB=0;
		double sum;
		boolean ok=false;
		if(b / 100 > 0) {
			lB = 3;
		} else if(b / 10 > 0) {
			lB = 2;
		} else {
			lB = 1;
		}
		sum = a * (int)Math.pow(10, lB) + b;
		for(int i=0; i<500;i++) {
			if(sum==i*i) {
				System.out.println("Yes");
				ok=true;
				break;
			}
		}
		if(ok==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 lB=0; lB 0 double sum; sum boolean ok=false; ok 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 sum = a * (int)Math.pow(10, lB) + b sum 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=0; i<500;i++) {
			if(sum==i*i) {
				System.out.println("Yes");
				ok=true;
				break;
			}
		} int i=0; int i=0; i 0 i<500 i 500 i++ i++ i {
			if(sum==i*i) {
				System.out.println("Yes");
				ok=true;
				break;
			}
		} {
			if(sum==i*i) {
				System.out.println("Yes");
				ok=true;
				break;
			}
		} if(sum==i*i) {
				System.out.println("Yes");
				ok=true;
				break;
			} sum==i*i sum i*i i i {
				System.out.println("Yes");
				ok=true;
				break;
			} System.out.println("Yes") System.out.println System.out System System.out "Yes" ok=true ok true break; if(ok==false) {
		System.out.println("No");
		} ok==false ok false {
		System.out.println("No");
		} System.out.println("No") System.out.println System.out System System.out "No" String[] args args public class Main {

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

	}

} public class Main {

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

	}

} Main
import java.util.*;
public class Main {

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

	}

}