#include #include typedef float moj; void loop( moj ,moj,moj, int); int main(void) { int a,b,c,k; do { scanf("%d%d%d%d",&a,&b,&c,&k); if (!((a==0) && (b==0) && (c==0) && (k==0))) loop(a,b,c,k); }while (!((a==0) && (b==0) && (c==0) && (k==0))); return 0; } void loop(moj a,moj b,moj c, int k) { moj zvysok = 0; int forever = 0; unsigned long int hlp,hlp1; moj vysl = 0; moj dvanak=exp(k*log(2)); if (a>b) { hlp = dvanak - a; hlp1 = c; zvysok = hlp % hlp1; vysl = (dvanak - a) / c; hlp = b-zvysok; if ((hlp % hlp1)==0) vysl = vysl + ((b-zvysok) / c); else forever = 1; } else { hlp = b-a; if ((hlp % 2) == 0) vysl = (b-a)/2; else { hlp = dvanak - a; hlp1 = c; zvysok = hlp % hlp1; vysl = (dvanak - a) / c; hlp = b-zvysok; if ((hlp % hlp1)==0) vysl = vysl + ((b-zvysok) / c); else forever = 1; } } if (forever) printf("FOREVER\n"); else printf("%0.0f\n",vysl); }