#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define lowbit(x) (x&(-x)) #define max(x,y) (x>y?x:y) #define min(x,y) (xz.x && y.x>z.x) || (x.y>z.y && y.y>z.y)) return 1; return 0; } int main() { while(scanf("%d",&n)!=EOF) { memset(vis,62,sizeof(vis)); for(i=1;i<=n;i++) scanf("%d%d",&h[i].x,&h[i].y); scanf("%d",&m); for(i=1;i<=m;i++) scanf("%d%d",&s[i].x,&s[i].y); for(i=1;i<=m;i++) { for(j=1;j<=m;j++) { flag=1; for(k=1;k<=n;k++) { if((s[i]-s[j])*(s[i]-h[k])<0 || (s[i]-s[j])*(s[i]-h[k])==0 && judge(s[i],s[j],h[k])) { flag=0; break; } } if(flag) vis[i][j]=1; } } ans=INF; for(i=1;i<=m;i++) { for(j=1;j<=m;j++) { if(vis[j][i]==INF) continue; for(k=1;k<=m;k++) { vis[j][k]=min(vis[j][k],vis[j][i]+vis[i][k]); } } } for(i=1;i<=m;i++) ans=min(ans,vis[i][i]); if(ans>m) printf("ToT\n"); else printf("%d\n",m-ans); } return 0; }