#include using namespace std; #define all(c) (c).begin(),(c).end() #define rrep(i,n) for(int i=(int)(n)-1;i>=0;i--) #define REP(i,m,n) for(int i=(int)(m);i<(int)(n);i++) #define rep(i,n) REP(i,0,n) #define iter(c) __typeof((c).begin()) #define tr(it,c) for(iter(c) it=(c).begin();it!=(c).end();it++) #define pb(a) push_back(a) #define pr(a) cout<<(a)<=n||y<0||y>=m)?false:true;} const ll MAX=1000000007,MAXL=1LL<<60,dx[4]={-1,0,1,0},dy[4]={0,-1,0,1}; typedef pair P; int main() { ll n,m; cin >> n >> m; ll a=min(n,m),b=max(n,m); if(a==1) { pr((b-1)/2); return 0; } if(a==b) { if(a%2) pr(a/2*(2+a-1)/2); else pr(a/2*(1+a-1)/2-1); } else { if(a==2) pr(b-1); else if(a%2) pr(a/2*b+(b+1)/2-1); else pr(a/2*b-1); } return 0; }