void main(){
  import std.stdio, std.string, std.conv, std.algorithm;

  int n; rd(n);
  auto a=readln.split.to!(int[]);
  auto b=readln.split.to!(int[]);
  auto c=readln.split.to!(int[]);
  sort(a); sort(b); sort(c);

  import std.range;
  auto xs=a.assumeSorted, zs=c.assumeSorted;
  long tot=0;
  foreach(y; b){
    tot+=xs.lowerBound(y).length*zs.upperBound(y).length;
  }
  writeln(tot);
}

void rd(Type...)(ref Type x){
  import std.stdio, std.string, std.conv;
  auto l=readln.split;
  assert(l.length==x.length);
  foreach(i, ref e; x) e=l[i].to!(typeof(e));
}