import java.util.*;
import java.io.*;
import java.math.BigInteger;

public class separable_as {
    BigInteger descending(int n, int m, int lim) {
        BigInteger[][] a = new BigInteger[n][m + 1];
        a[0][0] = BigInteger.ZERO;
        for (int i = 1; i <= m; i++) {
            a[0][i] = BigInteger.ONE;
        }

        for (int i = 1; i < n; i++) {
            BigInteger r = BigInteger.ZERO;
            for (int j = m; j >= 0; j--) {
                r = r.add(a[i - 1][j]);
                a[i][j] = r;
            }
        }

        BigInteger r = BigInteger.ZERO;
        for (int i = lim; i <= m; i++) {
            r = r.add(a[n - 1][i]);
        }

        return r.subtract(BigInteger.ONE);
    }

    BigInteger fence(int n, int m, BigInteger init) {
        if (n == 0 || m == 0) {
            return BigInteger.ZERO;
        }

        BigInteger r = init;

        BigInteger a = BigInteger.ONE;
        BigInteger b = BigInteger.valueOf(m - 1);

        for (int i = 1; i < n; i++) {
            r = r.add(a).add(b).add(b);

            b = a.add(b).multiply(BigInteger.valueOf(m - 1));
        }

        r = r.add(b);

        return r;
    }

    public void run() throws IOException {
        Scanner in = new Scanner(new File("separable.in"));
        PrintWriter out = new PrintWriter(new File("separable.out"));

        int m = in.nextInt();
        int n = in.nextInt();

        BigInteger[] a = new BigInteger[16];

        Arrays.fill(a, BigInteger.ZERO);

        a[5] = a[7] = BigInteger.valueOf(n - 1);
        a[10] = a[11] = BigInteger.valueOf(m - 1);

        a[3] = descending(n, m, 0);
        a[6] = descending(m, n, 1);
        a[9] = descending(n, m, 1);

        a[1] = fence(n, m, BigInteger.ZERO);
        a[2] = fence(m, n, BigInteger.ZERO);
        a[4] = fence(n - 1, m, BigInteger.ONE);
        a[8] = fence(m - 1, n, BigInteger.ONE);

        BigInteger r = BigInteger.ZERO;
        for (int i = 0; i < 16; i++) {
            int k = 0;
            for (int j = 0; j < 4; j++) {
                if ((i & (1 << j)) != 0) {
                    k++;
                }
            }
            if (k % 2 == 1) {
                r = r.add(a[i]);
            } else {
                r = r.subtract(a[i]);
            }
        }

        out.println(r);

        in.close();
        out.close();
    }

    public static void main(String[] arg) throws IOException {
        new separable_as().run();
    }
}
