public void solve() {
    try (Scanner scanner = new Scanner(file)) {
      int T = scanner.nextInt();
      for (int t = 1; t <= T; ++t) {
        int n = scanner.nextInt();

        Vector v1 = new Vector(n);
        for (int i = 0; i < n; ++i) {
          v1.setCoord(i, scanner.nextLong());
        }
        Vector v2 = new Vector(n);
        for (int i = 0; i < n; ++i) {
          v2.setCoord(i, scanner.nextLong());
        }
        long min = 0;
        v1.sort();
        v2.sortReverse();
        for (int i = 0; i < n; ++i) {
          min += v1.getCoord(i) * v2.getCoord(i);
        }
        System.out.println("Case #" + t + ": " + min);
      }
    } catch (IOException ex) {
      System.out.println(ex.getMessage());
    }
  }
  private void sortAndPrintIndex(Template tmpl, Vector list, String file, String field) {
    PrintWriter detfile;

    list.sort(new HTMLComparer(field), false);
    try {
      detfile = new PrintWriter(new BufferedWriter(new FileWriter(file)));
      detfile.print(tmpl.output());
      detfile.close();
    } catch (IOException e) {
      Vm.debug("Problem writing HTML files\n");
      e.printStackTrace();
    }
  }
  private void sortAndPrintIndex(
      Template tmpl, Vector list, String file, String field, double diff) {
    Vector navi_index;
    PrintWriter detfile;

    list.sort(new HTMLComparer(field), false);
    navi_index = addAnchorString(list, field, diff);
    if (navi_index != null) {
      tmpl.setParam("navi_index", navi_index);
    }
    try {
      detfile = new PrintWriter(new BufferedWriter(new FileWriter(file)));
      detfile.print(tmpl.output());
      detfile.close();
    } catch (IOException e) {
      Vm.debug("Problem writing HTML files\n");
      e.printStackTrace();
    }
  }