//#define _GLIBCXX_DEBUG #include using namespace std; #define INIT std::ios::sync_with_stdio(false);std::cin.tie(0); // 基本テンプレート #define P(x) cout << (x) << endl #define p(x) cout << (x) #define PED cout << "\n" //#define rep(i,n) for(int i=0; i<(int)n; ++i) //#define REP(i,x,n) for(int i=x; i<(int)n; ++i) //#define repi(i,n) for(int i=0; i<=(int)n; ++i) //#define REPI(i,x,n) for(int i=x; i<=(int)n; ++i) #define ILP while(true) //#define FOR(i,c) for(__typeof((c).begin())!=(c).begin(); i!=(c).end(); ++i) #define ALL(c) (c).begin(), (c).end() #define RALL(c) (c).rbegin(), (c).rend() #define mp make_pair #define VAR(type, a) type a;std::cin>>a; #define VAR2(type, a, b) VAR(type, a); VAR(type, b); #define VAR3(type, a, b, c) VAR(type, a); VAR(type, b); VAR(type, c); #define VAR4(type, a, b, c, d) VAR(type, a); VAR(type, b); VAR(type, c); VAR(type, d); #define VEC(type, c, n) std::vector c(n);for(auto& i:c)std::cin>>i; #define MAT(type, c, m, n) std::vector> c(m, std::vector(n));for(auto& r:c)for(auto& i:r)std::cin>>i; #define FOR(i,a,b) for (int i=(a);i<(b);++i) #define FORI(i,a,b) for (int i=(a);i<=(b);++i) #define RFOR(i,a,b) for (int i=(b)-1;i>=(a);--i) #define REP(i,n) for (int i=0;i<(n);++i) #define REPI(i,n) for (int i=0;i<=(n);++i) #define REP1(i,n) for (int i=1;i<(n);++i) #define RREP(i,n) for (int i=(n)-1;i>=0;--i) // 型 typedef long long ll; typedef pair pii; typedef pair pss; typedef pair psi; typedef pair pis; typedef vector vi; typedef vector vd; typedef vector vl; typedef vector vll; typedef vector vs; // Effective std template int count(C& c, T t) { return count(ALL(c), t); } template int count_if(C& c, F f) { return count_if(ALL(c), f); } template void erase(C& c, T t) { remove(ALL(c), t), c.end(); } template void remove(vector& c, unsigned int index) { c.erase(c.begin()+index); } template void replace(C& c, T t, U u) { replace(ALL(c), t, u); } template void replace_if(C& c, F f, U u) { (ALL(c), f, u); } template void reverse(C& c) { reverse(ALL(c)); } template void sort(C& c, Pred p) { sort(ALL(c), p); } template inline istream& operator>>(istream &s, vector &v) { for (T &t : v) s >> t; return s; } template inline ostream& operator<<(ostream &s, const vector &v) { for (const T &t : v) s << t << endl; return s; } template inline T fromString(const string &s) {T res; istringstream iss( s ); iss >> res; return res; } template inline string toString(const T &a) {ostringstream oss; oss << a; return oss.str(); } template inline bool chmin(T &a, const T &b){if (b < a) {a = b; return true;} return false; } template inline bool chmax(T &a, const T &b){if (a < b) {a = b; return true;} return false; } template inline T min(vector& v) {return *min_element(v.begin(), v.end());} template inline T max(vector& v) {return *max_element(v.begin(), v.end());} template inline T sum(vector& v) {return accumulate(v.begin(), v.end(), 0);} template inline void sort(vector& v) {sort(v.begin(), v.end());} //template inline void sort(vector& v, Function func) {sort(v.begin(), v.end(), func);} template inline void rsort(vector& v) {sort(v.rbegin(), v.rend());} //template inline void reverse(vector& v) {reverse(v.begin(), v.end());} template inline void unique(vector& v) {v.erase(unique(v.begin(), v.end()), v.end());} template inline void nth_element(vector& v, int n) {nth_element(v.begin(), v.begin() + n, v.end());} template inline bool next_permutation(vector& v) {return next_permutation(v.begin(), v.end());} template inline int find(vector& v, T t) {return find(v.begin(), v.end(), t) - v.begin();} template inline int in(vector v, T t) {return find(v, t) != (int)v.size();} template inline int lower_bound(vector& v, T t) {return lower_bound(v.begin(), v.end(), t) - v.begin();} template inline int upper_bound(vector& v, T t) {return upper_bound(v.begin(), v.end(), t) - v.begin();} template inline T accumulate(const vector& v) {return accumulate(v.begin(), v.end(), T(0));} template inline void adjacent_difference(vector& v, vector& u) {adjacent_difference(v.begin(), v.end(), u.begin());} template inline void partial_sum(vector& v, vector& u) {partial_sum(v.begin(), v.end(), u.begin());} template inline T inner_product(vector& v, vector& u) {return inner_product(v.begin(), v.end(), u.begin(), T(0));} //template inline int count_if(vector v, Function func) {return count_if(v.begin(), v.end(), func);} template inline void remove_if(vector& v, Function func) {v.erase(remove_if(v.begin(), v.end(), func), v.end());} template inline bool any_of(vector v, Function func) {return any_of(v.begin(), v.end(), func);} templateT get(){T a;cin>>a;return a;} #define PB push_back #define EM emplace #define EB emplace_back #define BI back_inserter #define MP make_pair #define fst first #define snd second #define DUMP( x ) cerr << #x << " = " << ( x ) << endl // 定数 constexpr int PI = (2*acos(0.0)); constexpr int EPS = (1e-9); constexpr int MOD = (int)(1e9+7); constexpr int INF = 100000000; int main(){ INIT; VAR2(int, s, f); P(s / f + 1); return 0; }