/*
AizuOnline A2149
Title Luck Manipulator
*/
#include <stdio.h>
int N,A,B,C,X;
int Y[100];
int flag[100];
//
int hit(int x)
{
        int i;
        for(i=0;i<N;i++)
                if(flag[i]==0)
                {
                        if(x==Y[i])
                                return(i);
                        else
                                break;
                }
        return(-1);
}
void clear()
{
        int i;

        for(i=0;i<N;i++)
                flag[i]=0;
}

main()
{
        int i,cnt,hc,v,ret;

        while(scanf("%d %d %d %d %d",&N,&A,&B,&C,&X) && (N||A||B||C||X))
        {
                for(i=0;i<N;i++)
                        scanf("%d",&Y[i]);
                clear();

                v=X;hc=N;cnt=0;
                while(1)
                {
                        //printf("%d:",v);
                        if((ret=hit(v))!=-1)
                        {
                                hc--;
                                flag[ret]=-1;
                                if(hc==0)
                                        break;
                                if(v==X)
                                        clear();
                        }
                        cnt++;
                        if(cnt>10000)
                        {
                                cnt=-1;
                                break;
                        }
                        v=(A*v + B) % C;
                }
                printf("%d\n",cnt);
        }
return(0);
}