#includeusing namespace std; int bin[16]; bool visited[70000]; int main() { int a,b,c,s,temp,i; while(cin>>a&&a) { cin>>b>>c>>s; memset(bin,0,sizeof(bin)); memset(visited,0,sizeof(visited)); visited[s]=1; i=15;temp=s; while(temp) { bin[i--]=temp%2; temp/=2; } s=(a*s+b)%c; while(visited[s]==0) { visited[s]=1; i=15;temp=s; while(temp) { if(bin[i]!=temp%2) bin[i]=2; temp/=2; i--; } s=(a*s+b)%c; } for(int i=0;i<16;++i) if(bin[i]==2) printf("?"); else printf("%d",bin[i]); printf("\n"); } return 0; }