#include <bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define si(X) scanf("%d", &(X)) #define sll(X) scanf("%lld",&(X)) #define INFL 0x3f3f3f3f3f3f3f3fLL ll gcd(ll a,ll b){ if(b==0) return a; return gcd(b,a%b); } string toBin(ll a) { string res = ""; while (a) { res += char((a & 1) + '0'); a >>= 1; } reverse(res.begin(), res.end()); return res; } const int mod = 1e9+7; ll expo(ll base,ll pow){ ll ans = 1; while(pow!=0){ if(pow&1==1){ ans = ans*base; ans = ans%mod; } base *= base; base%=mod; pow/=2; } return ans; } ll inv(ll x){ return expo(x,mod-2); } bool isPal(string ss){ int len = ss.length(); for(int i = 0 ; i<len/2 ; i++){ int comp = len-i-1; if(ss[i]!=ss[comp]) return false; } return true; } double pi = 3.141592653589793238462643; double error = 0.0000001; /* -------Template ends here-------- */ const int M = 100001; int main(){ //freopen("input.txt", "rt", stdin); //freopen("output.txt", "wt", stdout); ll n , m; sll(n); sll(m); ll ans1 = n - 1 + n*(m - 1); ll ans2 = m - 1 + m*(n - 1); ll ans = min(ans1 , ans2); cout<<ans; }