import java.util.*;
import java.lang.*;
import java.io.*;

class Equation
{
	public static void main (String[] args) throws java.lang.Exception
	{
		//Описание переменных для хранения входных данных.//
		Scanner in = new Scanner(System.in);
		double eps = in.nextDouble();
		double x = in.nextDouble();
		double difference, right = 0.0, tmp = 1.0;
		double left = (Math.pow(Math.E, x) + Math.pow(Math.E , -x)) / 2; //Расчет левой части равенства.
		int n = 0;
		if (eps != 0){ //Критерий, при котором программа может быть выполнена//	
			do{ //Цикл программы (для подсчета правой части равенства).
				n ++;
				right += tmp ;
			 	tmp *=  x * x / ((2 * n - 1) * 2 * n);
				difference = left - right; //Вычисление разности значения левой части и правой части//
			}
			while(Math.abs(difference) > eps); //Конечный критерий, при котором цикл останавливается//
			//Вывод окончательных результатов на экран//
			System.out.printf("Левая часть равна = " + left + "\nПравая часть равна = " + right + " \n");
			System.out.printf("После n=" + n + " исследуемое выражение отличается от левой части менее, чем на " + Math.abs(eps) + ", а именно на " + Math.abs(difference)); 
		}
		else{	//Вывод оповещения о неправильном вводе данных (при несоответствии начальному критерию).//
			if (Math.abs(eps) == 0)
				System.out.printf("Погрешность равна 0, тогда правая часть стремится к левой" + left + "(n=infinity)");
		}
	}
}