import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String a, b;
		int ab;
		a = sc.next();
		b = sc.next();
		ab = Integer.parseInt(a + b);

		int i = 0;
		boolean flg = false;
		while(i * i <= ab) {
			if(i * i == ab) {
				flg = true;
				break;
			} else {
				flg = false;
			}

			i++;
		}

		System.out.print(flg == true ? "Yes" : "No");
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String a, b;
		int ab;
		a = sc.next();
		b = sc.next();
		ab = Integer.parseInt(a + b);

		int i = 0;
		boolean flg = false;
		while(i * i <= ab) {
			if(i * i == ab) {
				flg = true;
				break;
			} else {
				flg = false;
			}

			i++;
		}

		System.out.print(flg == true ? "Yes" : "No");
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String a, b;
		int ab;
		a = sc.next();
		b = sc.next();
		ab = Integer.parseInt(a + b);

		int i = 0;
		boolean flg = false;
		while(i * i <= ab) {
			if(i * i == ab) {
				flg = true;
				break;
			} else {
				flg = false;
			}

			i++;
		}

		System.out.print(flg == true ? "Yes" : "No");
	} main {
		Scanner sc = new Scanner(System.in);
		String a, b;
		int ab;
		a = sc.next();
		b = sc.next();
		ab = Integer.parseInt(a + b);

		int i = 0;
		boolean flg = false;
		while(i * i <= ab) {
			if(i * i == ab) {
				flg = true;
				break;
			} else {
				flg = false;
			}

			i++;
		}

		System.out.print(flg == true ? "Yes" : "No");
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String a a b; b int ab; ab a = sc.next() a sc.next() sc.next sc b = sc.next() b sc.next() sc.next sc ab = Integer.parseInt(a + b) ab Integer.parseInt(a + b) Integer.parseInt Integer a + b a b int i = 0; i 0 boolean flg = false; flg false while(i * i <= ab) {
			if(i * i == ab) {
				flg = true;
				break;
			} else {
				flg = false;
			}

			i++;
		} i * i <= ab i * i i i ab {
			if(i * i == ab) {
				flg = true;
				break;
			} else {
				flg = false;
			}

			i++;
		} if(i * i == ab) {
				flg = true;
				break;
			} else {
				flg = false;
			} i * i == ab i * i i i ab {
				flg = true;
				break;
			} flg = true flg true break; {
				flg = false;
			} flg = false flg false i++ i System.out.print(flg == true ? "Yes" : "No") System.out.print System.out System System.out flg == true ? "Yes" : "No" flg == true flg true "Yes" "No" String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String a, b;
		int ab;
		a = sc.next();
		b = sc.next();
		ab = Integer.parseInt(a + b);

		int i = 0;
		boolean flg = false;
		while(i * i <= ab) {
			if(i * i == ab) {
				flg = true;
				break;
			} else {
				flg = false;
			}

			i++;
		}

		System.out.print(flg == true ? "Yes" : "No");
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String a, b;
		int ab;
		a = sc.next();
		b = sc.next();
		ab = Integer.parseInt(a + b);

		int i = 0;
		boolean flg = false;
		while(i * i <= ab) {
			if(i * i == ab) {
				flg = true;
				break;
			} else {
				flg = false;
			}

			i++;
		}

		System.out.print(flg == true ? "Yes" : "No");
	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String a, b;
		int ab;
		a = sc.next();
		b = sc.next();
		ab = Integer.parseInt(a + b);

		int i = 0;
		boolean flg = false;
		while(i * i <= ab) {
			if(i * i == ab) {
				flg = true;
				break;
			} else {
				flg = false;
			}

			i++;
		}

		System.out.print(flg == true ? "Yes" : "No");
	}
}