#include <bits/stdc++.h>
using namespace std;
void swap(long long int *n, long long int *m) {
  long long int t = *n;
  *n = *m;
  *m = t;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int n, m, ans = 0;
  cin >> n >> m;
  if (n >= m) {
    while (n > 0 && m > 0) {
      if (n >= m) {
        m--;
        n -= 2;
      } else if (n < m) {
        n--;
        m -= 2;
      }
      if (n >= 0 && m >= 0) ans++;
    }
    cout << ans;
  } else {
    swap(&n, &m);
    while (n > 0 && m > 0) {
      if (n >= m) {
        m--;
        n -= 2;
      } else if (n < m) {
        n--;
        m -= 2;
      }
      if (n >= 0 && m >= 0) ans++;
    }
    cout << ans;
  }
}
