#include<stdio.h>
#include<math.h>
long long a,b,c,d,k,t;
long long i;
long long n;
long long moc(long long c){
t=1;	
for(i=0;i<c;i++)
t*=2;
return t;    
}
long long nsd(long long a,long long b){
    if (a==0) return b;
    else if (b==0) return a;
    else if (a>b) return nsd(a-b,b);
    else return nsd(b-a,a);
}

int main(){
scanf("%lld %lld %lld %lld",&a,&b,&c,&k);
while((a>0) || (b>0) || (c>0) || (k>0)){
n = moc(k);
if (b>=a) d = b-a;
else d = b+n-a;
if (d==0) printf("0\n");
else if (c==0) printf("FOREVER\n");
else{
    t =nsd(c,n);
    /*if (d%t ==0) {
    }*/
    printf("FOREVER\n");
}
scanf("%lld %lld %lld %lld",&a,&b,&c,&k);
}
return 0;
}