#include <bits/stdc++.h>
using namespace std;
int n, a[400010], b[400010];
bool has[400010];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) {
    scanf("%d", &a[i]);
    has[a[i]] = true;
  }
  int ans = 0;
  for (int i = 1; i <= n; ++i) {
    scanf("%d", &b[i]);
    if (b[i]) {
      ans = max(ans, i - b[i] + 1);
    }
  }
  ans += n;
  int one_pos = -1;
  for (int i = 1; i <= n; ++i) {
    if (b[i] == 1) {
      one_pos = i;
      break;
    }
  }
  if (one_pos > 0) {
    bool flag = true;
    for (int i = one_pos; i <= n; ++i) {
      if (b[i] != i - one_pos + 1) {
        flag = false;
      }
    }
    if (flag) {
      int cur = n - one_pos + 1;
      for (int i = 1; i < one_pos; ++i) {
        ++cur;
        if (!has[cur]) {
          flag = false;
          break;
        }
        has[b[i]] = true;
      }
    }
    if (flag) {
      ans = min(ans, one_pos - 1);
    }
  }
  cout << ans << endl;
  return 0;
}
