unsigned a[70000],temp[4000]; n,p,s,x,y,z,i,j; long t; main(){ scanf("%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>>5]|=(t&1)<<(i&31); } scanf("%*d"); for(;~scanf("%d%d%d%*d",&s,&x,&y);){ z=(x-=s-1); p=s&31;t=32-p; for(i=0,j=s>>5;i<<5>p;p?temp[i]|=a[j+1]<>x; p=y&31;t=32-p; for(i=0,j=y>>5;i<<5>t:0;} } for(i=1;i<=n;i++)putchar((a[i>>5]>>(i&31))&1?'O':'E'); return 0; }