1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.util.Arrays;
import java.util.Comparator;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


/**
 * JADA SORTEERIMINE informaatikaol├╝mpiaadi koolivoor 1999/2000 vanem r├╝hm
 * 
 * @author Erko Risthein
 */

public class Sorteerimine {
    private static int number = 0;
    public static void main(String[] args) throws IOException {
        /* INPUT */
        BufferedReader in = new BufferedReader(new FileReader("JADA.SIS"));
        String[] firstLine = in.readLine().split(" ");
        int index = Integer.parseInt(firstLine[0]);
        number = Integer.parseInt(firstLine[1]);
        Integer[] list = new Integer[index];
        String[] secondLine = in.readLine().split(" ");
        for (int i = 0; i < index; i++) {
            list[i] = Integer.parseInt(secondLine[i]);
        }
        in.close();
        
        /* SORT */
        //debug(list); //algne
        Arrays.sort(list, getComparator());
        //debug(list); //sorteeritud
        
        /* OUTPUT */
        BufferedWriter out = new BufferedWriter(new FileWriter("JADA.VAL"));
        for (Integer element : list) {
            out.write(element + " ");
        }
        out.close();
    }
    
    private static Comparator getComparator() {
        return new Comparator() {
            public int compare(Object o1, Object o2) {
                return (((Integer)o1).intValue() % number) - (((Integer)o2).intValue() % number);
            }
        };
    }
    
    private static void debug(Object[] list) {
        for (Object o : list) {
            System.out.print(o + " ");
        }
        System.out.println("");
    }
}