//https://c...content-available-to-author-only...s.fi/problemset/task/1744
/*
dp[i][j] là cách cắt tối thiểu hình chữ nhật ixj thành các hình vuông
*/
#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 5e2 + 5, INF= 1e18;
long long a,b, dp[MaxN][MaxN];
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> a >> b;
for (long long i=1; i<=a; i++)
{
for (long long j=1; j<=b; j++)
{
dp[i][j]=INF;
}
}
for (long long i=1; i<=min(a,b); i++)
{
dp[i][i]=0;
}
for (long long i=1; i<=a; i++)
{
for (long long j=1; j<=b; j++)
{
if(i!=j)
{
for (long long x = 1; x < i; x++)
{
dp[i][j] = min(dp[i][j],dp[x][j] + dp[i-x][j] + 1);
}
for (long long y = 1; y < j; y++)
{
dp[i][j] = min(dp[i][j],dp[i][y] + dp[i][j-y] + 1);
}
}
}
}
cout << dp[a][b];
}
Ly9odHRwczovL2MuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnMuZmkvcHJvYmxlbXNldC90YXNrLzE3NDQKLyoKICAgIGRwW2ldW2pdIGzDoCBjw6FjaCBj4bqvdCB04buRaSB0aGnhu4N1IGjDrG5oIGNo4buvIG5o4bqtdCBpeGogdGjDoG5oIGPDoWMgaMOsbmggdnXDtG5nCiovCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGxvbmcgbG9uZyBNYXhOID0gNWUyICsgNSwgSU5GPSAxZTE4Owpsb25nIGxvbmcgYSxiLCBkcFtNYXhOXVtNYXhOXTsKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNpbiA+PiBhID4+IGI7CiAgICBmb3IgKGxvbmcgbG9uZyBpPTE7IGk8PWE7IGkrKykKICAgIHsKICAgICAgICBmb3IgKGxvbmcgbG9uZyBqPTE7IGo8PWI7IGorKykKICAgICAgICB7CiAgICAgICAgICAgIGRwW2ldW2pdPUlORjsKICAgICAgICB9CiAgICB9CiAgICBmb3IgKGxvbmcgbG9uZyBpPTE7IGk8PW1pbihhLGIpOyBpKyspCiAgICB7CiAgICAgICAgZHBbaV1baV09MDsKICAgIH0KICAgIGZvciAobG9uZyBsb25nIGk9MTsgaTw9YTsgaSsrKQogICAgewogICAgICAgIGZvciAobG9uZyBsb25nIGo9MTsgajw9YjsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgaWYoaSE9aikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZm9yIChsb25nIGxvbmcgeCA9IDE7IHggPCBpOyB4KyspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZHBbaV1bal0gPSBtaW4oZHBbaV1bal0sZHBbeF1bal0gKyBkcFtpLXhdW2pdICsgMSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBmb3IgKGxvbmcgbG9uZyB5ID0gMTsgeSA8IGo7IHkrKykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBkcFtpXVtqXSA9IG1pbihkcFtpXVtqXSxkcFtpXVt5XSArIGRwW2ldW2oteV0gKyAxKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgZHBbYV1bYl07Cn0K