#include int dvena[33]; int main() { int i, a,b,c,d,k,cc,pocet; dvena[0]=1; for(i=1;i<=32;i++) dvena[i]=dvena[i-1]*2; for(scanf("%d%d%d%d",&a,&b,&c,&k); a || b || c || k; scanf("%d%d%d%d",&a,&b,&c,&k)) { d =( b-a+dvena[k] ) % dvena[k]; if(c==0) { if(a==b) printf("0\n"); else printf("FOREVER\n"); continue; } /* c=2^i+cc */ for(i=0, cc=c; cc % 2 ==0 ;i++, cc = cc/2); if( d % dvena[i] == 0) { /* jde to - spocitej pocet opakovani */ pocet = d / c; d = d % c; for(i=0; i!=d;) { i+= (c - dvena[k] % c) ; pocet += dvena[k]/c +1; pocet += i/c; i = i % c; } printf("%d\n", pocet); } else { /* nejde to */ printf("FOREVER\n"); } } return 0; }