Petr wants to make a calendar for current month. For this purpose he draws a table in which columns correspond to weeks (a week is seven consequent days from Monday to Sunday), rows correspond to weekdays, and cells contain dates. For example, a calendar for January 2017 should look like on the picture:

<image>

Petr wants to know how many columns his table should have given the month and the weekday of the first date of that month? Assume that the year is non-leap.

Input

The only line contain two integers m and d (1 ≤ m ≤ 12, 1 ≤ d ≤ 7) — the number of month (January is the first month, December is the twelfth) and the weekday of the first date of this month (1 is Monday, 7 is Sunday).

Output

Print single integer: the number of columns the table should have.

Examples

Input

1 7


Output

6


Input

1 1


Output

5


Input

11 6


Output

5

Note

The first example corresponds to the January 2017 shown on the picture in the statements.

In the second example 1-st January is Monday, so the whole month fits into 5 columns.

In the third example 1-st November is Saturday and 5 columns is enough.
#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const long long MX = 2e5 + 5;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int m, d;
  cin >> m >> d;
  vector<int> v = {1, 3, 5, 7, 8, 10, 12};
  int ans;
  if ((find(v.begin(), v.end(), m) != v.end()) && d <= 5)
    ans = 5;
  else if ((find(v.begin(), v.end(), m) != v.end()) && d > 5)
    ans = 6;
  else if ((find(v.begin(), v.end(), m) == v.end()) && m != 2 && d <= 6)
    ans = 5;
  else if ((find(v.begin(), v.end(), m) == v.end()) && m != 2 && d > 6)
    ans = 6;
  else if (m == 2 && d == 1)
    ans = 4;
  else
    ans = 5;
  cout << ans << endl;
  return 0;
}
