#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
vector<vector<int>> arr;
arr.resize(n);
for(auto& e : arr){ // 初始值都能放 !
e.resize(m,1);
}
int count = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if(arr[i][j] == 1){ // 将不能放的位置置为0;
count ++;
if(i + 2 < n){
arr[i+2][j] = 0;
}
if(j + 2 < m) {
arr[i][j+2] = 0;
}
}
}
}
cout<<count<<endl;
return 0;
}