Go: package main

import "fmt"

func main() {
	var a, b int
	_, err := fmt.Scanln(&a, &b)
	if err != nil {
		panic("error!")
	}
	freq := (b + a - 1) / a
	fmt.Println(freq)
}

Python: a,b = map(int,input().split())
print((b+a-1)//a)

Python: A, B = map(int, input().split())
print((B+A-1)/A)

Python: 
A,B = [int(i) for i in input().split()]
ans = 0
if B % A == 0:
    ans = B // A
else:
    ans = B // A + 1
print(ans)

Python: n,m = list(map(int,input().split()))
print(max(m//n+(m%n != 0),1))

Python: a,b=map(int,input().split())
print((b+a-1)//a)

Python: a, b = map(int, input().split())
print(b // a + bool(b % a))

Python: a, b = map(int, input().split())

if a >= b:
    print(1)
else:
    if b % a == 0:
        print(b // a)
    else:
        print(b // a + 1)

Python: A, B = map(int, input().split())
if B % A == 0 :
    print(B // A)
else :
    print(B // A + 1)

Python: a, b = map(int, input().split())
print((b+a-1)//a)

Python: A, B = map(int, input().split())
print((B+A-1)//A)

Python: l=input().split()
A=int(l[0])
B=int(l[1])
kimawasi=B//A
if B%A>0:
    kimawasi=kimawasi+1
print(kimawasi)

Python: A, B = map(int, input().split())
print((B+A-1)//A)

Python: #標準入力
a,b = map(int,input().split())

#ドレスの数とパーティーの数が同じであればbをaで割った商を出力する
if b % a == 0:print(b // a)

#でなければbをaで割った商に1を足した値を出力する
else:print(b // a + 1)

Python: import math
a,b = map(int,input().split())
print(math.ceil(b/a))

C++: #include <iostream>
using namespace std;
int main(void){
    
   
   int a,b,c=0;
   cin>>a>>b;
   
   c=b/a;
   if(b%a!=0){
       c=c+1;
   }
   
   cout<<c<<endl;
   
}

C++: #include "bits/stdc++.h"
using namespace std;

using int64 = long long;
using i64 = int64;

template<typename T>
using p_que = priority_queue<T>;
template<typename T>
using rp_que = priority_queue<T, vector<T>, greater<T>>;

constexpr int INF = (1 << 30) - 1;
constexpr int64 INF64 = (1ll << 60) - 1;

#define rep(i, N) for(int i=0;i<(int)(N);++i)
#define rep1(i, N) for(int i=1;i<=(int)(N);++i);
#define fs first
#define sc second
#define e_b emplace_back
#define m_p make_pair
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()

template <typename T, typename U>
ostream& operator<<(ostream& os, const pair<T, U>& p) {
	return os << "P(" << p.first << ", " << p.second << ")";
}
template <typename T>
ostream& operator<<(ostream& os, const vector<T>& v) {
	os << "[";
	for (auto& e : v) os << e << ", ";
	return os << "]";
}
template <typename T, typename U>
ostream& operator<<(ostream& os, const map<T, U>& m) {
	os << "{" << endl;
	for (auto& e : m) os << "(" << e.first << ", " << e.second << ")" << endl;
	return os << "}";
}
template <typename T>
ostream& operator<<(ostream& os, const set<T>& s) {
	os << "{" << endl;
	for (auto& e : s) os << ", " << e << endl;
	return os << "}";
}

template<typename T>
vector<T> make_v(size_t a, T b) { return vector<T>(a, b); }
template<typename... Ts>
auto make_v(size_t a, Ts... ts) {
	return vector<decltype(make_v(ts...))>(a, make_v(ts...));
}

int64 gcd(int64 x, int64 y) {
	if (x == 0 || y == 0) return 0;
	int64 r;
	while ((r = y % x) != 0) {
		y = x;
		x = r;
	}
	return x;
}
int64 lcm(int64 x, int64 y) {
	if (x == 0 || y == 0) return 0;
	return x / gcd(x, y) * y;
}

int dx[] = { -1, 0, 1, 0 };
int dy[] = { 0, 1, 0, -1 };

void Main();
signed main() {
	cin.tie(nullptr);
	ios_base::sync_with_stdio(false);
	cout << fixed << setprecision(30);
	Main();
}

/*----------------------------Insert from here!----------------------------*/

map< int64_t, int > prime_factor(int64_t n) {
	map< int64_t, int > ret;
	for (int64_t i = 2; i * i <= n; i++) {
		while (n % i == 0) {
			ret[i]++;
			n /= i;
		}
	}
	if (n != 1) ret[n] = 1;
	return ret;
}

struct UnionFind {
	vector< int > data;

	UnionFind(int sz) {
		data.assign(sz, -1);
	}

	bool unite(int x, int y) {
		x = find(x), y = find(y);
		if (x == y) return (false);
		if (data[x] > data[y]) swap(x, y);
		data[x] += data[y];
		data[y] = x;
		return (true);
	}

	int find(int k) {
		if (data[k] < 0) return (k);
		return (data[k] = find(data[k]));
	}

	int size(int k) {
		return (-data[find(k)]);
	}
};

/*----------------------------Insert above here----------------------------*/

//const int MOD = 998244353;
//const int MOD = 1e9 + 7;

void Main() {
	int A, B; cin >> A >> B;

	int ans = B / A;
	if (B % A != 0) ans++;

	cout << ans << endl;
}

C++: #include <iostream>
using namespace std;
int main(void){
    int s,a,b;
    cin>>a>>b;
    if(b%a==0){
        s=b/a;
    }else{
        s=b/a+1;
    }
    cout<<s<<endl;
}

C++: #include <iostream>

using namespace std;


int main() {
	
	int a, b;

	cin >> a >> b;

	if (a >= b)
		cout << "1\n";

	else if (b % a == 0)
		cout << b / a << "\n";

	else
		cout << b / a + 1 << "\n";

	return 0;

}

C++: #include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (n); i++)
typedef long long ll;
typedef pair<int, int> P;

int main() {
    int a, b;
    cin >> a >> b;
    cout << (a+b-1)/a << endl;

    return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<int, ll> pil;
typedef pair<int, ll> pli;
typedef pair<double,double> pdd;
#define SQ(i) ((i)*(i))
#define MEM(a, b) memset(a, (b), sizeof(a))
#define SZ(i) int(i.size())
#define FOR(i, j, k, in) for (int i=j ; i<k ; i+=in)
#define RFOR(i, j, k, in) for (int i=j ; i>=k ; i-=in)
#define REP(i, j) FOR(i, 0, j, 1)
#define REP1(i,j) FOR(i, 1, j+1, 1)
#define RREP(i, j) RFOR(i, j, 0, 1)
#define ALL(_a) _a.begin(),_a.end()
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define X first
#define Y second
#ifdef tmd
#define TIME(i) Timer i(#i)
#define debug(...) do{\
    fprintf(stderr,"%s - %d (%s) = ",__PRETTY_FUNCTION__,__LINE__,#__VA_ARGS__);\
    _do(__VA_ARGS__);\
}while(0)
template<typename T>void _do(T &&_x){cerr<<_x<<endl;}
template<typename T,typename ...S> void _do(T &&_x,S &&..._t){cerr<<_x<<" ,";_do(_t...);}
template<typename _a,typename _b> ostream& operator << (ostream &_s,const pair<_a,_b> &_p){return _s<<"("<<_p.X<<","<<_p.Y<<")";}
template<typename It> ostream& _OUTC(ostream &_s,It _ita,It _itb)
{
    _s<<"{";
    for(It _it=_ita;_it!=_itb;_it++)
    {
        _s<<(_it==_ita?"":",")<<*_it;
    }
    _s<<"}";
    return _s;
}
template<typename _a> ostream &operator << (ostream &_s,vector<_a> &_c){return _OUTC(_s,ALL(_c));}
template<typename _a> ostream &operator << (ostream &_s,set<_a> &_c){return _OUTC(_s,ALL(_c));}
template<typename _a> ostream &operator << (ostream &_s,deque<_a> &_c){return _OUTC(_s,ALL(_c));}
template<typename _a,typename _b> ostream &operator << (ostream &_s,map<_a,_b> &_c){return _OUTC(_s,ALL(_c));}
template<typename _t> void pary(_t _a,_t _b){_OUTC(cerr,_a,_b);cerr<<endl;}
#define IOS()
class Timer {
private:
    string scope_name;
    chrono::high_resolution_clock::time_point start_time;
public:
    Timer (string name) : scope_name(name) {
        start_time = chrono::high_resolution_clock::now();
    }
    ~Timer () {
        auto stop_time = chrono::high_resolution_clock::now();
        auto length = chrono::duration_cast<chrono::microseconds>(stop_time - start_time).count();
        double mlength = double(length) * 0.001;
        debug(scope_name, mlength);
    }
};
#else
#define TIME(i)
#define debug(...)
#define pary(...)
#define endl '\n'
#define IOS() ios_base::sync_with_stdio(0);cin.tie(0)
#endif

const ll MOD = 1000000007;
const ll INF = 0x3f3f3f3f3f3f3f3f;
const int iNF = 0x3f3f3f3f;
// const ll MAXN = 

int a, b;
/********** Good Luck :) **********/
int main () {
    TIME(main);
    IOS();
    cin >> a >> b;
    cout << (a + b - 1) / a << endl;
    return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <string>
using namespace std;
#define int long long
signed main() {
	int a, b; cin >> a >> b;
	cout << (b + a - 1) / a;
}