unsigned long a[32000],temp[1600]; n,p,s,x,y,z,i,j; long t; main(){ scanf("%d%d%d%d%d%*d",&n,&s,&x,&y,&z); a[0]=s&1<<1;t=s; for(i=2;i<=n;i++){ t=(t*x+y)%z; a[i>>6]|=(t&1)<<(i&63); } for(;~scanf("%d%d%d%*d",&s,&x,&y);){ x-=s-1; p=s&63;z=64-p; for(i=0,j=s>>6;i<<6>p;p?temp[i]|=a[j+1]<>z; p=y&63;z=64-p; for(i=0,j=y>>6;i<<6>z:0;} } for(i=1;i<=n;i++)putchar((a[i>>6]>>(i&63))&1?'O':'E'); return 0; }