//aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa using System; using System.IO; class Start{ static void Main(){var sw=new StreamWriter(Console.OpenStandardOutput()){AutoFlush=false};Console.SetOut(sw); long a,b;Lin(out a,out b); Lout(a/b+1); Console.Out.Flush();} static void Lin(out T a){ if(typeof(T)==typeof(long))a=(T)(object)long.Parse(Console.ReadLine()); else if(typeof(T)==typeof(string))a=(T)(object)Console.ReadLine(); else if(typeof(T)==typeof(char))a=(T)(object)Console.ReadLine()[0]; else a=(T)(object)double.Parse(Console.ReadLine()); } static void Lin(out T a,out U b){ string[] c=Console.ReadLine().Split(' '); if(typeof(T)==typeof(long))a=(T)(object)long.Parse(c[0]); else if(typeof(T)==typeof(string))a=(T)(object)c[0]; else if(typeof(T)==typeof(char))a=(T)(object)c[0][0]; else a=(T)(object)double.Parse(c[0]); if(typeof(U)==typeof(long))b=(U)(object)long.Parse(c[1]); else if(typeof(U)==typeof(string))b=(U)(object)c[1]; else if(typeof(U)==typeof(char))b=(U)(object)c[1][0]; else b=(U)(object)double.Parse(c[1]); } static void Lin(out T a,out U b,out V d){ string[] c=Console.ReadLine().Split(' '); if(typeof(T)==typeof(long))a=(T)(object)long.Parse(c[0]); else if(typeof(T)==typeof(string))a=(T)(object)c[0]; else if(typeof(T)==typeof(char))a=(T)(object)c[0][0]; else a=(T)(object)double.Parse(c[0]); if(typeof(U)==typeof(long))b=(U)(object)long.Parse(c[1]); else if(typeof(U)==typeof(string))b=(U)(object)c[1]; else if(typeof(U)==typeof(char))b=(U)(object)c[1][0]; else b=(U)(object)double.Parse(c[1]); if(typeof(V)==typeof(long))d=(V)(object)long.Parse(c[2]); else if(typeof(V)==typeof(string))d=(V)(object)c[2]; else if(typeof(V)==typeof(char))d=(V)(object)c[2][0]; else d=(V)(object)double.Parse(c[2]); } static void Lin(out T a,out U b,out V d,out W e){ string[] c=Console.ReadLine().Split(' '); if(typeof(T)==typeof(long))a=(T)(object)long.Parse(c[0]); else if(typeof(T)==typeof(string))a=(T)(object)c[0]; else if(typeof(T)==typeof(char))a=(T)(object)c[0][0]; else a=(T)(object)double.Parse(c[0]); if(typeof(U)==typeof(long))b=(U)(object)long.Parse(c[1]); else if(typeof(U)==typeof(string))b=(U)(object)c[1]; else if(typeof(U)==typeof(char))b=(U)(object)c[1][0]; else b=(U)(object)double.Parse(c[1]); if(typeof(V)==typeof(long))d=(V)(object)long.Parse(c[2]); else if(typeof(V)==typeof(string))d=(V)(object)c[2]; else if(typeof(V)==typeof(char))d=(V)(object)c[2][0]; else d=(V)(object)double.Parse(c[2]); if(typeof(W)==typeof(long))e=(W)(object)long.Parse(c[3]); else if(typeof(W)==typeof(string))e=(W)(object)c[3]; else if(typeof(W)==typeof(char))e=(W)(object)c[3][0]; else e=(W)(object)double.Parse(c[3]); } static void Lin(out T a,out U b,out V d,out W e,out X f){ string[] c=Console.ReadLine().Split(' '); if(typeof(T)==typeof(long))a=(T)(object)long.Parse(c[0]); else if(typeof(T)==typeof(string))a=(T)(object)c[0]; else if(typeof(T)==typeof(char))a=(T)(object)c[0][0]; else a=(T)(object)double.Parse(c[0]); if(typeof(U)==typeof(long))b=(U)(object)long.Parse(c[1]); else if(typeof(U)==typeof(string))b=(U)(object)c[1]; else if(typeof(U)==typeof(char))b=(U)(object)c[1][0]; else b=(U)(object)double.Parse(c[1]); if(typeof(V)==typeof(long))d=(V)(object)long.Parse(c[2]); else if(typeof(V)==typeof(string))d=(V)(object)c[2]; else if(typeof(V)==typeof(char))d=(V)(object)c[2][0]; else d=(V)(object)double.Parse(c[2]); if(typeof(W)==typeof(long))e=(W)(object)long.Parse(c[3]); else if(typeof(W)==typeof(string))e=(W)(object)c[3]; else if(typeof(W)==typeof(char))e=(W)(object)c[3][0]; else e=(W)(object)double.Parse(c[3]); if(typeof(X)==typeof(long))f=(X)(object)long.Parse(c[4]); else if(typeof(X)==typeof(string))f=(X)(object)c[4]; else if(typeof(X)==typeof(char))f=(X)(object)c[4][0]; else f=(X)(object)double.Parse(c[4]); } static void Lin(out T a,out U b,out V d,out W e,out X f,out Y g){ string[] c=Console.ReadLine().Split(' '); if(typeof(T)==typeof(long))a=(T)(object)long.Parse(c[0]); else if(typeof(T)==typeof(string))a=(T)(object)c[0]; else if(typeof(T)==typeof(char))a=(T)(object)c[0][0]; else a=(T)(object)double.Parse(c[0]); if(typeof(U)==typeof(long))b=(U)(object)long.Parse(c[1]); else if(typeof(U)==typeof(string))b=(U)(object)c[1]; else if(typeof(U)==typeof(char))b=(U)(object)c[1][0]; else b=(U)(object)double.Parse(c[1]); if(typeof(V)==typeof(long))d=(V)(object)long.Parse(c[2]); else if(typeof(V)==typeof(string))d=(V)(object)c[2]; else if(typeof(V)==typeof(char))d=(V)(object)c[2][0]; else d=(V)(object)double.Parse(c[2]); if(typeof(W)==typeof(long))e=(W)(object)long.Parse(c[3]); else if(typeof(W)==typeof(string))e=(W)(object)c[3]; else if(typeof(W)==typeof(char))e=(W)(object)c[3][0]; else e=(W)(object)double.Parse(c[3]); if(typeof(X)==typeof(long))f=(X)(object)long.Parse(c[4]); else if(typeof(X)==typeof(string))f=(X)(object)c[4]; else if(typeof(X)==typeof(char))f=(X)(object)c[4][0]; else f=(X)(object)double.Parse(c[4]); if(typeof(Y)==typeof(long))g=(Y)(object)long.Parse(c[5]); else if(typeof(Y)==typeof(string))g=(Y)(object)c[5]; else if(typeof(Y)==typeof(char))g=(Y)(object)c[5][0]; else g=(Y)(object)double.Parse(c[5]); } static void Lin(out T a,out U b,out V d,out W e,out X f,out Y g,out Z h){ string[] c=Console.ReadLine().Split(' '); if(typeof(T)==typeof(long))a=(T)(object)long.Parse(c[0]); else if(typeof(T)==typeof(string))a=(T)(object)c[0]; else if(typeof(T)==typeof(char))a=(T)(object)c[0][0]; else a=(T)(object)double.Parse(c[0]); if(typeof(U)==typeof(long))b=(U)(object)long.Parse(c[1]); else if(typeof(U)==typeof(string))b=(U)(object)c[1]; else if(typeof(U)==typeof(char))b=(U)(object)c[1][0]; else b=(U)(object)double.Parse(c[1]); if(typeof(V)==typeof(long))d=(V)(object)long.Parse(c[2]); else if(typeof(V)==typeof(string))d=(V)(object)c[2]; else if(typeof(V)==typeof(char))d=(V)(object)c[2][0]; else d=(V)(object)double.Parse(c[2]); if(typeof(W)==typeof(long))e=(W)(object)long.Parse(c[3]); else if(typeof(W)==typeof(string))e=(W)(object)c[3]; else if(typeof(W)==typeof(char))e=(W)(object)c[3][0]; else e=(W)(object)double.Parse(c[3]); if(typeof(X)==typeof(long))f=(X)(object)long.Parse(c[4]); else if(typeof(X)==typeof(string))f=(X)(object)c[4]; else if(typeof(X)==typeof(char))f=(X)(object)c[4][0]; else f=(X)(object)double.Parse(c[4]); if(typeof(Y)==typeof(long))g=(Y)(object)long.Parse(c[5]); else if(typeof(Y)==typeof(string))g=(Y)(object)c[5]; else if(typeof(Y)==typeof(char))g=(Y)(object)c[5][0]; else g=(Y)(object)double.Parse(c[5]); if(typeof(Z)==typeof(long))h=(Z)(object)long.Parse(c[6]); else if(typeof(Z)==typeof(string))h=(Z)(object)c[6]; else if(typeof(Z)==typeof(char))h=(Z)(object)c[6][0]; else h=(Z)(object)double.Parse(c[6]); } static void Lout(string a){Console.WriteLine(a);} static void Out(string a){Console.Write(a);} static void Lout(long a){Console.WriteLine(a);} static void Out(long a){Console.Write(a);} static void Lout(double a){Console.WriteLine(a);} static void Out(double a){Console.Write(a);} static void Lout(char a){Console.WriteLine(a);} static void Out(char a){Console.Write(a);} static void Swap(ref T a,ref T b){T c=a;a=b;b=c;} }