#include <iostream>
#include <vector>
#include <utility>
#include <cstdio>
#define llint long long
#define mod 1000000007
#define inf 1e18

using namespace std;
typedef pair<llint, llint> P;

llint n;
llint a[2][20];
llint dp[1<<18][55];
llint pop[1<<18];

int main(void)
{
  ios::sync_with_stdio(0);
  cin.tie(0);

  cin >> n;
  for(int i = 0; i < n; i++) cin >> a[0][i];
  for(int i = 0; i < n; i++) cin >> a[1][i];
  for(int i = 1; i < (1<<18); i++) pop[i] = pop[i&(i-1)] + 1;

  llint N = 1<<n;
  for(int i = 0; i < N; i++){
    for(int j = 0; j <= 50; j++){
      dp[i][j] = inf;
    }
  }
  dp[0][0] = 0;

  for(int i = 0; i < N; i++){
    for(int j = 0; j <= 50; j++){
      llint cnt = 0;
      for(int k = 0; k < n; k++){
        if(i & (1<<k)) continue;
        cnt++;
        llint d = abs(pop[i]-k), v = a[d%2][k];
        if(v < j) continue;
        dp[i|(1<<k)][v] = min(dp[i|(1<<k)][v], dp[i][j] + cnt-1);
      }
    }
  }

  /*for(int i = 0; i < N; i++){
    for(int j = 0; j < 5; j++){
      cout << dp[i][j] << " ";
    }
    cout << endl;
  }*/

  llint ans = inf;
  for(int j = 0; j <= 50; j++) ans = min(ans, dp[N-1][j]);
  if(ans > inf/2) ans = -1;
  cout << ans << endl;

  return 0;
}
