program ss;//(day1t2)
var a,b:array[1..100000,1..2]of longint;
    x,y:array[1..100000]of longint;
    n,i,j,k,m,ans:longint;  
procedure sorta(h,l:longint);
var i,j,m:longint; k:array[1..2]of longint;
 begin
 i:=h; j:=l; m:=a[(i+j)div 2,1];
 while i<j do
  begin
  while a[i,1]<m do inc(i);
  while a[j,1]>m do dec(j);
  if i<=j
  then
   begin
   k:=a[i]; a[i]:=a[j]; a[j]:=k;
   inc(i); dec(j);
   end;
  end;
 if i<l then sorta(i,l);
 if h<j then sorta(h,j);
 end;
procedure sortb(h,l:longint);
var i,j,m:longint; k:array[1..2]of longint;
 begin
 i:=h; j:=l; m:=b[(i+j)div 2,1];
 while i<j do
  begin
  while b[i,1]<m do inc(i);
  while b[j,1]>m do dec(j);
  if i<=j
  then
   begin
   k:=b[i]; b[i]:=b[j]; b[j]:=k;
   inc(i); dec(j);
   end;
  end;
 if i<l then sortb(i,l);
 if h<j then sortb(h,j);
 end; 
procedure bing(h,l:longint);
var i,k,c,f1,f2:longint;
 begin
 if h=l then exit;
 c:=(h+l)div 2;
 bing(h,c);
 bing(c+1,l);
 f1:=h; f2:=c+1; k:=0;
 for i:=h to l do
  begin
  if f1>c then begin x[i]:=b[f2,1]; inc(f2); inc(k); continue; end;
  if f2>l then begin x[i]:=b[f1,1]; inc(f1); inc(ans,k); while ans>=99999997 do dec(ans,99999997);continue; end;
  if b[f1,1]<b[f2,1]
  then begin x[i]:=b[f1,1]; inc(f1); inc(ans,k); while ans>=99999997 do dec(ans,99999997); end
  else begin x[i]:=b[f2,1]; inc(f2); inc(k); end;
  end;
 for i:=h to l do
  b[i,1]:=x[i]; 
 end; 
begin
 readln(n);
 for i:=1 to n do
  begin
  read(a[i,1]);
  a[i,2]:=i;
  end; 
 for i:=1 to n do
  begin
  read(b[i,1]);
  b[i,2]:=i;
  end;
 sorta(1,n); sortb(1,n);
 for i:=1 to n do
  b[b[i,2],1]:=a[i,2];
 ans:=0;
 bing(1,n);
 write(ans);
end.

/**************************************************************
	Problem: 2325
	User: admin
	Language: Pascal
	Result: Wrong Answer
****************************************************************/