// 本来很水的一题,却被虐了n次。。。问题竟然出在n的输入上,在这里用while(scanf("%d",&n)!=EOF)不行,一直wa。。。
#include<stdio.h>
#include<string.h>
int main()
{
int n;
scanf("%d",&n);
while(n--){
char s[20];
scanf("%s",s);
int L=strlen(s)-1;
int flag=0,k=0,d=1,b[20];
for(int i=0;i<20;i++) b[i]=-1;
if(s[L]=='.'||s[0]=='.') flag=1;
for(int i=L;i>=0;i--){
if(s[i]!='.'){
if(s[i]>'9' || s[i]<'0') {flag=1; break;}
else{
if(d==1) b[k]=0;
b[k]+=d*(s[i]-'0'); d*=10;
}
}else{d=1;k++;}
}
for(int i=0;i<=k;i++){
if(b[i]>255 || b[i]<0) {flag=1;break;}
}
if(k!=3) flag=1;
if(flag==0) printf("Yes\n");
else printf("No\n");
}
return 0;
}