#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
int ans=0,lim,cnt=0,dp[55][300000],ct[300005],n,a[2][20],v;
const int inf=1e9;
int main()
{
	scanf("%d",&n);
	lim=(1<<n);
	for(int i=0;i<n;i++)scanf("%d",&a[0][i]);
	for(int i=0;i<n;i++)scanf("%d",&a[1][i]);
	for(int i=0;i<=50;i++)for(int j=0;j<lim;j++)dp[i][j]=inf;
	ct[0]=0;
	for(int i=1;i<lim;i++)
	{
		for(int j=0;j<n;j++)
		{
			if((1<<j)&i)
			{
				ct[i]=ct[i-(1<<j)]+1;
				break;
			}
		}
	}
	dp[0][0]=0;
	for(int i=0;i<lim;i++)
	{
		cnt=0;
		for(int j=n-1;j>=0;j--)
		{
			if(i&(1<<j))
			{
				cnt++;
				continue;
			}
			v=a[abs(j-ct[i])&1][j];
			for(int k=0;k<=v;k++)dp[v][i+(1<<j)]=min(dp[v][i+(1<<j)],dp[k][i]+cnt);
		}
	}
	ans=inf;
	for(int i=0;i<=50;i++)ans=min(ans,dp[i][lim-1]);
	if(ans>=inf)printf("-1\n");
	else printf("%d\n",ans);
	return 0;
}