using System;
using System.Linq;
using System.Collections.Generic;
namespace Atcoder20190616
{
class ProgramA
{
static void Main(string args)
{
//入力
string input = Console.ReadLine().Split(' ');
int h = int.Parse(input[0]);
int a = int.Parse(input[1]);
//h/aであまりが生じないならそのまま、それ以外は1回足す
if(h % a == 0)
Console.WriteLine(h / a);
else
Console.WriteLine(h / a + 1);
}
}
class ProgramB
{
static void Main(string args)
{
//入力
string input = Console.ReadLine().Split(' ');
int h = int.Parse(input[0]);
int n = int.Parse(input[1]);
int sum = 0;
string input2 = Console.ReadLine().Split(' ');
//すべての和を求める
for(int i = 0;i < n;i++)
sum += int.Parse(input2[i]);
//すべての和が合計を超えたら倒せる。それ以外は倒せない。
if(sum >= h)
Console.WriteLine("Yes");
else
Console.WriteLine("No");
}
}
class ProgramC
{
static void Main(string args)
{
//入力
string input = Console.ReadLine().Split(' ');
int n = int.Parse(input[0]);
int k = int.Parse(input[1]);
long a = new long[n];
int sum = 0;
string input2 = Console.ReadLine().Split(' ');
for(int i = 0;i < n;i++)
a[i] = long.Parse(input2[i]);
//小さい順にソートする
Array.Sort(a);
//小さい順に足していけばコストが少ない。k回引いた数だけ足す。
for(int i = 0;i < n - k;i++)
sum += a[i];
//答え出力
Console.WriteLine(sum);
}
}
class ProgramD
{
static void Main(string args)
{
//入力
string input = Console.ReadLine();
long h = long.Parse(input);
int count = 0;
long sum = 1;
//2の割れる回数を求める
while(h != 1)
{
h /= 2;
count++;
}
//漸化式で攻撃する回数を求める
for(int i = 0;i < count;i++)
sum = sum * 2 + 1;
//答え出力
Console.WriteLine(sum);
}
}
class ProgramE
{
static void Main(string args)
{
//入力
string input = Console.ReadLine().Split(' ');
int h = int.Parse(input[0]);
int n = int.Parse(input[1]);
int INF = 100000000; //とりあえず大きな数を入れておくためのやつ
long sum = 1;
int a = new int[n];
int b = new int[n];
int dp = new int[h + 10000];
//値を代入する
for(int i = 0;i < n;i++)
{
string input2 = Console.ReadLine().Split(' ');
a[i] = int.Parse(input2[0]);
b[i] = int.Parse(input2[1]);
}
//とりあえず大きな数を入れる
for(int i = 0;i <= h;i++)
dp[i] = INF;
int res = h;
//それぞれのHPで倒すために、必要な最低コストで動的計画法
for(int i = 0; i <= h;i++)
{
for(int j = 0;j < n;j++)
{
if(i > a[j])//HPがその攻撃より小さいとき
dp[i] = Math.Min(dp[i],dp[i-a[j]]+b[j]);//その攻撃を加えるかどうかで動的計画
else//HPは一撃で倒せる場合
dp[i] = Math.Min(dp[i],b[j]);//その攻撃の中での最小コストを出す
}
}
//答を出力
Console.WriteLine(dp[h]);
}
}
}