import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A= sc.nextInt();
		int B = sc.nextInt();
		String temp = String.valueOf(B);
		A= (int) (A*Math.pow(10, temp.length())+B);
		boolean b = false;
		for (int i=1;i*i<=A;i++) {
			if (i*i==A) {
				b= true;
			}
		}
		if (b==true) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
	}
} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A= sc.nextInt();
		int B = sc.nextInt();
		String temp = String.valueOf(B);
		A= (int) (A*Math.pow(10, temp.length())+B);
		boolean b = false;
		for (int i=1;i*i<=A;i++) {
			if (i*i==A) {
				b= true;
			}
		}
		if (b==true) {
			System.out.println("Yes");
		} else {
			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();
		String temp = String.valueOf(B);
		A= (int) (A*Math.pow(10, temp.length())+B);
		boolean b = false;
		for (int i=1;i*i<=A;i++) {
			if (i*i==A) {
				b= true;
			}
		}
		if (b==true) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
	} main {
		Scanner sc = new Scanner(System.in);
		int A= sc.nextInt();
		int B = sc.nextInt();
		String temp = String.valueOf(B);
		A= (int) (A*Math.pow(10, temp.length())+B);
		boolean b = false;
		for (int i=1;i*i<=A;i++) {
			if (i*i==A) {
				b= true;
			}
		}
		if (b==true) {
			System.out.println("Yes");
		} else {
			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 String temp = String.valueOf(B); temp String.valueOf(B) String.valueOf String B A= (int) (A*Math.pow(10, temp.length())+B) A (int) (A*Math.pow(10, temp.length())+B) A*Math.pow(10, temp.length()) A Math.pow(10, temp.length()) Math.pow Math 10 temp.length() temp.length temp B boolean b = false; b false for (int i=1;i*i<=A;i++) {
			if (i*i==A) {
				b= true;
			}
		} int i=1; int i=1; i 1 i*i<=A i*i i i A i++ i++ i {
			if (i*i==A) {
				b= true;
			}
		} {
			if (i*i==A) {
				b= true;
			}
		} if (i*i==A) {
				b= true;
			} i*i==A i*i i i A {
				b= true;
			} b= true b true if (b==true) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		} b==true b true {
			System.out.println("Yes");
		} System.out.println("Yes") System.out.println System.out System System.out "Yes" {
			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) {
		Scanner sc = new Scanner(System.in);
		int A= sc.nextInt();
		int B = sc.nextInt();
		String temp = String.valueOf(B);
		A= (int) (A*Math.pow(10, temp.length())+B);
		boolean b = false;
		for (int i=1;i*i<=A;i++) {
			if (i*i==A) {
				b= true;
			}
		}
		if (b==true) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
	}
} public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A= sc.nextInt();
		int B = sc.nextInt();
		String temp = String.valueOf(B);
		A= (int) (A*Math.pow(10, temp.length())+B);
		boolean b = false;
		for (int i=1;i*i<=A;i++) {
			if (i*i==A) {
				b= true;
			}
		}
		if (b==true) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
	}
} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A= sc.nextInt();
		int B = sc.nextInt();
		String temp = String.valueOf(B);
		A= (int) (A*Math.pow(10, temp.length())+B);
		boolean b = false;
		for (int i=1;i*i<=A;i++) {
			if (i*i==A) {
				b= true;
			}
		}
		if (b==true) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
	}
}