public static int buildBridges(int []n, int []s) {
    int[] x = new int[s.length];
    HashMap<Integer, Integer> nmap = new HashMap<Integer, Integer>();
    for(int i = 0 ; i < n.length; i++) {
      nmap.put(n[i], i);
    }
    
    for(int i = 0 ; i < s.length; i++) {
      x[i] = nmap.get(s[i]);
    }
    int [] lis = new int[x.length];
    for(int i = 0 ; i < lis.length; i++) {
      lis[i]  = 1;
    }
    for(int i = 1; i < x.length; i++) {
      for(int j = 0 ; j < i ; j++) {
        if(x[i] > x[j] && lis[i] < lis[j] + 1) {
          lis[i] = lis[j] + 1;
        }
      }
    }
    int max = 0;
    for(int i = 0 ; i < lis.length; i++) {
      if(lis[i] > max) max = lis[i];
    }
    return max;
  }