import java.util.Scanner;
import java.io.File;

class TestausA {

    public static void main(String[] args) throws Exception {
        int koko = Integer.parseInt(args[0]);

        long[] ins_ajat = {0,0,0,0,0,0,0,0,0};
        long[] sea_ajat = {0,0,0,0,0,0,0,0,0};
        int[] koot      = new int[9];

        // Testataan 10 kierrosta, ja otetaan keskiarvo
        for (int i = 0; i < 10; i++) {
            int k = 0;
            for (HajautusTauluA.tyyppi type :  HajautusTauluA.tyyppi.values()) {
                for (HajautusTaulu.hajautus haj : HajautusTaulu.hajautus.values()) {
                    Scanner sepe = new Scanner(new File("7vel.txt"));
                    HajautusTauluA htaulu = new HajautusTauluA(koko, type, haj);
                    Scanner rjar = new Scanner(new File("rikosjarang.txt"));

                    System.gc();

                    long alku = System.currentTimeMillis();
                    while ( sepe.hasNext() )  
                        htaulu.insert(sepe.next());
                    long loppu = System.currentTimeMillis();
                    ins_ajat[k] += loppu - alku;
            

                    alku = System.currentTimeMillis();
                    while ( rjar.hasNext() )
                        htaulu.search(rjar.next());
                    loppu = System.currentTimeMillis();
                    sea_ajat[k] += loppu - alku;
                    koot[k] = htaulu.annaKoko();
                    k++;
                }
            }
        }
        int k = 0; 
        /* Tulostus on tiivistetty piirto-ohjelmaa varten (R), tiedot seuraavasti
         * hajautus|taulun_koko|lisäykset|haut|pisin ylivuotoketju|ylivuotoketjujen ka
         * tietenkään avoimessa hajautuksessa ei ole kahta jälkimmäiseä*/
        for (HajautusTauluA.tyyppi type :  HajautusTauluA.tyyppi.values()) {
            for (HajautusTaulu.hajautus haj : HajautusTaulu.hajautus.values()) {
                System.out.println(type + "_" + haj+"|"+koot[k]+"|"+ins_ajat[k]/10.0+"|"+sea_ajat[k]/10.0+"|NA|NA");
                k++;
            }
        }
    }

}