#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll h,w;
    cin>>h>>w;
    if(h%3==0||w%3==0)
    {
        printf("0\n");
        return 0;
    }
    ll ans=min(h,w);
    for(ll i=1;i<h;i++)
    {
        ll s1=w*i;
        ll s2=((w+1)/2)*(h-i);
        ll s3=(w/2)*(h-i);
        ll temp=max(max(s1,s2),s3)-min(min(s1,s2),s3);
        ans=min(ans,temp);
    }
    for(ll i=1;i<w;i++)
    {
        ll s1=h*i;
        ll s2=((h+1)/2)*(w-i);
        ll s3=(h/2)*(w-i);
        ll temp=max(max(s1,s2),s3)-min(min(s1,s2),s3);
        ans=min(ans,temp);
    }
    printf("%lld\n",ans);
}
