﻿var 
    x, epsilon:real;
    
    ar,br:real;
    q:boolean;
    i,j:byte;
    ax,bx:real;
BEGIN
  write('Введите аргумент x: '); readln(x);
  write('Точность epsilon: '); readln(epsilon);

  ar := x;
  i:=3;
  q := true;
  while q do begin
    ax := x;
    bx :=1;
    for j:=2 to i do begin
      ax := ax*x;//x^
      bx := bx*j;//факториал
    end;
    
    br := ax/bx;
    ar := ar + br;
    
    if (abs(br)<epsilon) then
      q:=false;
 
    i:=i+2;
  end;

  writeln(ar);
END.    