#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;
}