Bob likes to draw camels: with a single hump, two humps, three humps, etc. He draws a camel by connecting points on a coordinate plane. Now he's drawing camels with t humps, representing them as polylines in the plane. Each polyline consists of n vertices with coordinates (x1, y1), (x2, y2), ..., (xn, yn). The first vertex has a coordinate x1 = 1, the second — x2 = 2, etc. Coordinates yi might be any, but should satisfy the following conditions:

  * there should be t humps precisely, i.e. such indexes j (2 ≤ j ≤ n - 1), so that yj - 1 < yj > yj + 1, 
  * there should be precisely t - 1 such indexes j (2 ≤ j ≤ n - 1), so that yj - 1 > yj < yj + 1, 
  * no segment of a polyline should be parallel to the Ox-axis, 
  * all yi are integers between 1 and 4. 



For a series of his drawings of camels with t humps Bob wants to buy a notebook, but he doesn't know how many pages he will need. Output the amount of different polylines that can be drawn to represent camels with t humps for a given number n.

Input

The first line contains a pair of integers n and t (3 ≤ n ≤ 20, 1 ≤ t ≤ 10).

Output

Output the required amount of camels with t humps.

Examples

Input

6 1


Output

6


Input

4 2


Output

0

Note

In the first sample test sequences of y-coordinates for six camels are: 123421, 123431, 123432, 124321, 134321 и 234321 (each digit corresponds to one value of yi).
#include <bits/stdc++.h>
int W[21][11];
void F() {
  W[1][1] = 0;
  W[1][2] = 0;
  W[1][3] = 0;
  W[1][4] = 0;
  W[1][5] = 0;
  W[1][6] = 0;
  W[1][7] = 0;
  W[1][8] = 0;
  W[1][9] = 0;
  W[1][10] = 0;
  W[2][1] = 0;
  W[2][2] = 0;
  W[2][3] = 0;
  W[2][4] = 0;
  W[2][5] = 0;
  W[2][6] = 0;
  W[2][7] = 0;
  W[2][8] = 0;
  W[2][9] = 0;
  W[2][10] = 0;
  W[3][1] = 14;
  W[3][2] = 0;
  W[3][3] = 0;
  W[3][4] = 0;
  W[3][5] = 0;
  W[3][6] = 0;
  W[3][7] = 0;
  W[3][8] = 0;
  W[3][9] = 0;
  W[3][10] = 0;
  W[4][1] = 22;
  W[4][2] = 0;
  W[4][3] = 0;
  W[4][4] = 0;
  W[4][5] = 0;
  W[4][6] = 0;
  W[4][7] = 0;
  W[4][8] = 0;
  W[4][9] = 0;
  W[4][10] = 0;
  W[5][1] = 16;
  W[5][2] = 70;
  W[5][3] = 0;
  W[5][4] = 0;
  W[5][5] = 0;
  W[5][6] = 0;
  W[5][7] = 0;
  W[5][8] = 0;
  W[5][9] = 0;
  W[5][10] = 0;
  W[6][1] = 6;
  W[6][2] = 232;
  W[6][3] = 0;
  W[6][4] = 0;
  W[6][5] = 0;
  W[6][6] = 0;
  W[6][7] = 0;
  W[6][8] = 0;
  W[6][9] = 0;
  W[6][10] = 0;
  W[7][1] = 1;
  W[7][2] = 380;
  W[7][3] = 353;
  W[7][4] = 0;
  W[7][5] = 0;
  W[7][6] = 0;
  W[7][7] = 0;
  W[7][8] = 0;
  W[7][9] = 0;
  W[7][10] = 0;
  W[8][1] = 0;
  W[8][2] = 396;
  W[8][3] = 1786;
  W[8][4] = 0;
  W[8][5] = 0;
  W[8][6] = 0;
  W[8][7] = 0;
  W[8][8] = 0;
  W[8][9] = 0;
  W[8][10] = 0;
  W[9][1] = 0;
  W[9][2] = 284;
  W[9][3] = 4500;
  W[9][4] = 1782;
  W[9][5] = 0;
  W[9][6] = 0;
  W[9][7] = 0;
  W[9][8] = 0;
  W[9][9] = 0;
  W[9][10] = 0;
  W[10][1] = 0;
  W[10][2] = 142;
  W[10][3] = 7414;
  W[10][4] = 12122;
  W[10][5] = 0;
  W[10][6] = 0;
  W[10][7] = 0;
  W[10][8] = 0;
  W[10][9] = 0;
  W[10][10] = 0;
  W[11][1] = 0;
  W[11][2] = 48;
  W[11][3] = 8849;
  W[11][4] = 41160;
  W[11][5] = 8997;
  W[11][6] = 0;
  W[11][7] = 0;
  W[11][8] = 0;
  W[11][9] = 0;
  W[11][10] = 0;
  W[12][1] = 0;
  W[12][2] = 10;
  W[12][3] = 8028;
  W[12][4] = 92226;
  W[12][5] = 76878;
  W[12][6] = 0;
  W[12][7] = 0;
  W[12][8] = 0;
  W[12][9] = 0;
  W[12][10] = 0;
  W[13][1] = 0;
  W[13][2] = 1;
  W[13][3] = 5658;
  W[13][4] = 152140;
  W[13][5] = 328222;
  W[13][6] = 45425;
  W[13][7] = 0;
  W[13][8] = 0;
  W[13][9] = 0;
  W[13][10] = 0;
  W[14][1] = 0;
  W[14][2] = 0;
  W[14][3] = 3112;
  W[14][4] = 195420;
  W[14][5] = 928494;
  W[14][6] = 467292;
  W[14][7] = 0;
  W[14][8] = 0;
  W[14][9] = 0;
  W[14][10] = 0;
  W[15][1] = 0;
  W[15][2] = 0;
  W[15][3] = 1322;
  W[15][4] = 201744;
  W[15][5] = 1947581;
  W[15][6] = 2402980;
  W[15][7] = 229347;
  W[15][8] = 0;
  W[15][9] = 0;
  W[15][10] = 0;
  W[16][1] = 0;
  W[16][2] = 0;
  W[16][3] = 422;
  W[16][4] = 170444;
  W[16][5] = 3213988;
  W[16][6] = 8205152;
  W[16][7] = 2758896;
  W[16][8] = 0;
  W[16][9] = 0;
  W[16][10] = 0;
  W[17][1] = 0;
  W[17][2] = 0;
  W[17][3] = 96;
  W[17][4] = 118912;
  W[17][5] = 4322956;
  W[17][6] = 20852648;
  W[17][7] = 16594160;
  W[17][8] = 1157954;
  W[17][9] = 0;
  W[17][10] = 0;
  W[18][1] = 0;
  W[18][2] = 0;
  W[18][3] = 14;
  W[18][4] = 68640;
  W[18][5] = 4846524;
  W[18][6] = 41920210;
  W[18][7] = 66357900;
  W[18][8] = 15946870;
  W[18][9] = 0;
  W[18][10] = 0;
  W[19][1] = 0;
  W[19][2] = 0;
  W[19][3] = 1;
  W[19][4] = 32632;
  W[19][5] = 4594423;
  W[19][6] = 69183464;
  W[19][7] = 197939352;
  W[19][8] = 109824208;
  W[19][9] = 5846414;
  W[19][10] = 0;
  W[20][1] = 0;
  W[20][2] = 0;
  W[20][3] = 0;
  W[20][4] = 12628;
  W[20][5] = 3715462;
  W[20][6] = 96046590;
  W[20][7] = 468541040;
  W[20][8] = 503245466;
  W[20][9] = 90700276;
  W[20][10] = 0;
}
int main() {
  F();
  int n, t;
  scanf("%d %d", &n, &t);
  printf("%d\n", W[n][t]);
}
