#include<stdio.h>
#include<string.h>
#include<math.h>
int main(){
//count 用来计量数字的位数
//a 用来计量输入的个数
//b 用来循环的输入数字
//num[] 用来存放数字
//one[] 用来存放每个数的每一位的数字
//n[] 用来将每一位的位数进行存放
int count,b,a;
int num[100],one[100][100],n[100];
scanf("%d",&a);
for(int i=0;i<a;i++){
scanf("%d",&b);
num[i]=b;
}
for(int i=0;i<a;i++){
int temp;
temp = num[i];
for(int j=0;temp>=1;j++){
one[i][j] = temp%10;
count++;
temp=temp/10;
}
n[i]=count;
count = 0;
}
for(int i=0;i<a;i++){
int num1=0,num2=0;
for(int j=0;j<n[i]/2;j++){
num1=num1+pow(10,j)*one[i][j];
}
for(int j=n[i]/2;j<=n[i];j++){
num2=num2+pow(10,j-n[i]/2)*one[i][j];
}
int t= num1*num2;
if(num[i]%t==0){
printf("Yes\n");
}else{
printf("No\n");
}
}
return 0;
}
#include<string.h>
#include<math.h>
int main(){
//count 用来计量数字的位数
//a 用来计量输入的个数
//b 用来循环的输入数字
//num[] 用来存放数字
//one[] 用来存放每个数的每一位的数字
//n[] 用来将每一位的位数进行存放
int count,b,a;
int num[100],one[100][100],n[100];
scanf("%d",&a);
for(int i=0;i<a;i++){
scanf("%d",&b);
num[i]=b;
}
for(int i=0;i<a;i++){
int temp;
temp = num[i];
for(int j=0;temp>=1;j++){
one[i][j] = temp%10;
count++;
temp=temp/10;
}
n[i]=count;
count = 0;
}
for(int i=0;i<a;i++){
int num1=0,num2=0;
for(int j=0;j<n[i]/2;j++){
num1=num1+pow(10,j)*one[i][j];
}
for(int j=n[i]/2;j<=n[i];j++){
num2=num2+pow(10,j-n[i]/2)*one[i][j];
}
int t= num1*num2;
if(num[i]%t==0){
printf("Yes\n");
}else{
printf("No\n");
}
}
return 0;
}