#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, i, a = 0, ans = 0, temp = 0, m = 0, t = 0;
  scanf("%d", &n);
  int arr[n + 1], ara[n + 1];
  for (i = 1; i <= n; i++) {
    scanf("%d", &arr[i]);
  }
  for (i = 1; i <= n; i++) {
    scanf("%d", &ara[i]);
  }
  for (i = 1; i <= n; i++) {
    if (ara[i] == 1) {
      a = i;
      break;
    }
  }
  if (a == 0) {
    for (i = 1; i <= n; i++) {
      if (ara[i] == 0) {
        continue;
      }
      temp = i - (ara[i] - 1);
      if (temp < 0) {
        temp = 0;
      }
      m = max(temp, m);
    }
    ans = n + m;
    printf("%d", ans);
  } else {
    temp = 0;
    for (i = a; i <= n - 1; i++) {
      if (ara[i + 1] != ara[i] + 1) {
        temp = 1;
      }
    }
    for (i = 1; i <= a - 1; i++) {
      if (ara[i] == 0) {
        continue;
      }
      t = i - (ara[i] - ara[n] - 1);
      if (t > 0) {
        temp = 1;
        break;
      }
    }
    if (temp == 0) {
      ans = n - ara[n];
      printf("%d", ans);
    } else {
      ans = a;
      for (i = a + 1; i <= n; i++) {
        if (ara[i] == 0) {
          continue;
        }
        t = (i - a) - (ara[i] - 1);
        if (t < 0) {
          t = 0;
        }
        m = max(m, t);
      }
      ans = a + m + n;
      printf("%d", ans);
    }
  }
}
