#include #include int main() { unsigned int a,b,c,k,sub,odectu,azal; bool flag; while(1) { scanf("%d %d %d %d",&a,&b,&c,&k); if(a==0 && b==0 && c==0 && k==0) break; k = (unsigned int)pow(2,k); //printf("\nna 2:%d\n",k); sub=0; azal=a; flag=false; if(((b-a)%c)==0&&(b>=a)){ //printf("OK splnen"); flag=true; sub+=(b-a)/c; }else while(1){ //printf("prolez zmrd"); sub+=((k-1-a)/c); odectu=(k-1-a)%c; //printf("\nsub= %d\n",sub); sub++; a=c-1-odectu; if(((b-a)%c)==0&&(b>=a)){ sub+=((b-a)/c); flag=true; break; } if((azal-a)>=0&&(azal-a)%c==0){ flag=false; break; } } if(flag) printf("%u\n",sub); else printf("FOREVER\n"); } return 0; }