#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef long double ld;
int x,y;
vector<int> dp;
int f(int a,int b){

    if(a>b){
        swap(a,b);
    }
    if(a==1){
        return dp[b];
    }
    x=f(a,b-1);
    y=dp[a];
    return x+y+a*b;

    //return f(a,b/2)+f(a,b/2+1)+a*b;

}

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    map<pair<int,int>,int> mp;
    mp[{1,1}]=1;
    dp.resize(1e6+3);
    dp[1]=1;
    for(int i=2;i<dp.size();i++){
        dp[i]=dp[i-1]+i+1;
    }
    for(int i=1;i<1e6+3;i++){
        int b=i+1;
        int a=i;
        mp[{i,i+1}]=mp[{i,i}]+dp[a]+a*b;
        a++;
        mp[{i+1,i+1}]=mp[{i,i+1}]+dp[a]+a*b;
    }
    //cout<<f(3,3);
    int a,b;
    cin>>a>>b;
    if(a>b){
        swap(a,b);
    }
    int ans=mp[{a,a}];
    for(int i=a+1;i<=b;i++){
        ans=ans+dp[a]+a*i;
    }
    //a<b
    cout<<ans;
}