#include <stdio.h>
/* calcula x^i */
double Pot( double x, int i) {
double pot;
int j;
pot = 1;
for ( j = 0; j < i; j++ )
pot = pot * x;
return pot;
}
/* calcula i! */
double Fat( int i ){
double fat;
int j;
fat = 1;
for ( j = 2; j <= i; j++ )
fat = fat * j;
return fat;
}
int main () {
int i; /* indice do i-esimo termo da seq, e_i */
double x, /* real expoente de e^x */
eps, /* precisao epsilon */
ei,eium, /* e_i e e_{i-1} */
dif; /* |e_i-e_{i-1}| */
scanf ( "%lf %lf", &x, &eps );
i = 0;
ei = 1;
dif = eps;
while ( dif >= eps ) {
printf ( "%d: %15.13f\n", i, ei );
i++;
eium = ei;
ei = eium + Pot(x,i) / Fat(i);
dif = ei - eium;
if ( dif < 0 ) dif = -dif;
}
printf ( "%15.13f\n", ei );
return 0;
}