Cele mai bune solutii
pentru problema "Bomboane" 
(ziua1, problema1)
Punctaj Maxim : 50 puncte
Solutii :
Tanescu Horatiu- Bihor - 17 puncte
Scortaru Mihai - Cluj - 17 puncte;
Serafimescu Serban - 17 puncte;
Arba Mihai - Maramures - 17 puncte;
Nica Edison - Iasi - 17 puncte;
Comisia Centrala
Fisierele de teste
Program realizat de elevul Tanescu Horatiu - rezultat final : premiu II - 153 puncte
const
  InStr : string = 'bonbon.in';
  OutStr : string = 'bonbon.out';
var
  N, M : Integer;
  A : array[1..100, 1..100] of Integer;
  X, sol : array[1..100] of Integer;
  Sum, MinSum : Longint;
  Occupied : array[1..100] of Boolean;
  Timer : Longint absolute $0040:$006C;
  Alarm : Longint;
procedure Solve(I, J : Integer);
var
  K : Integer;
begin
  if I <> 0 then
  begin
    X[I] := J;
    if I = N then
    begin
      if Sum < MinSum then
      begin
        MinSum := Sum;
        for K := 1 to N do Sol[K] := X[K];
      end;
      Exit;
    end;
  end;
  for K := 1 to N do
    if (A[I + 1, K] < MaxInt) and (Occupied[K] = False) and (Timer < Alarm) then
    begin
      Inc(Sum, A[I + 1, K]);
      if Sum <= MinSum then { must be smaller that previous min sum }
      begin
        Occupied[K] := True;
        Solve(I + 1, K);
        Occupied[K] := False;
      end;
      Dec(Sum, A[I + 1, K]);
    end;
end;
procedure ReadInputData;
var
  F : Text;
  I, J, X : Integer;
begin
  Assign(F, InStr);
  Reset(F);
  ReadLn(F, N, M);
  for I := 1 to N do
    for J := 1 to N do
      A[I, J] := MaxInt;
  for I := 1 to N do
  begin
    Occupied[I] := False;
    for J := 1 to M do
    begin
      Read(F, X);
      A[I, X] := Abs(I - X);
    end;
    ReadLn(F);
  end;
  Close(F);
end;
procedure WriteOutputData;
var
  F : Text;
  I : Integer;
begin
  Assign(F, OutStr);
  Rewrite(F);
  WriteLn(F, MinSum);
  for I := 1 to N do X[Sol[I]] := I;
  for I := 1 to N do Write(F, X[I], ' ');
  Close(F);
end;
begin
  Alarm := Timer + 6*17;
  ReadInputData;
  MinSum := MaxInt;
  Solve(0, 0);
  WriteOutputData;
end.
Program realizat de Comisia Centrala a Olimpiadei Nationale de Informatica
program bomboane_amestecate;
const maxn=100;
type lin=array  [0..2*maxn+1] of integer;
     plin=^lin;
     mat=array [0..2*maxn+1] of plin;
var cap,cost:mat;
    n,m,i,j,k,t,sursa,dest,v:integer;
    f:text;
    d,tata:array [0..2*maxn+1] of integer;
    actua:boolean;
procedure aloca;
begin
     for i:=0 to dest do begin
        new(cap[i]);
        new(cost[i]);
        for j:=0 to dest do begin
           cap[i]^[j]:=-1;
           cost[i]^[j]:=maxint;
                            end;
                         end;
     for i:=1 to n do begin
        cap[sursa]^[i]:=1;
        cost[sursa]^[i]:=0;
        cost[i]^[sursa]:=0;
                      end;
     for i:=n+1 to 2*n do begin
        cap[i]^[dest]:=1;
        cost[i]^[dest]:=0;
        cost[dest]^[i]:=0;
                          end;
end;
procedure load;
begin
     assign(f,'bonbon.in');reset(f);
     readln(f,n,m);
     sursa:=0;
     dest:=2*n+1;
     aloca;
     for i:=1 to n do begin
        for j:=1 to m do begin
           read(f,k);
           cap[k]^[i+n]:=1;
           cost[k]^[i+n]:=abs(i-k);
           cost[i+n]^[k]:=-cost[k]^[i+n];
                         end;
        readln(f);
                      end;
     close(f);
end;
procedure drumu_minim;
begin
     for i:=sursa to dest do begin
        d[i]:=maxint;
        tata[i]:=sursa;
                             end;
     d[sursa]:=0;
     repeat
           actua:=false;
           for i:=sursa to dest do
              if d[i]<>maxint then
                for j:=sursa to dest do
                   if cap[i]^[j]=1 then
                     if d[i]+cost[i]^[j]<d[j] then begin
                       d[j]:=d[i]+cost[i]^[j];
                       tata[j]:=i;
                       actua:=true;
                                                   end;
     until not(actua);
end;
procedure baga_cu_incredere;
begin
     i:=dest;
     while i<>0 do begin
          j:=tata[i];
          cap[j]^[i]:=0;
          cap[i]^[j]:=1;
          i:=j;
                   end;
end;
procedure baga_apa;
begin
     drumu_minim;
     baga_cu_incredere;
end;
function gata:boolean;
begin
     v:=0;
     for i:=n+1 to 2*n do
        if cap[i]^[dest]=0 then v:=v+1;
     if v=n then gata:=true
     else gata:=false;
end;
procedure scrie;
begin
     t:=0;
     for i:=1 to n do begin
        k:=0;
        for j:=n+1 to 2*n do
           if (cap[i]^[j]=0) and (cost[i]^[j]<>maxint) then k:=j;
        t:=t+cost[i]^[k];
                      end;
     assign(f,'bonbon.out');rewrite(f);
     writeln(f,t);
     for i:=1 to n do begin
        k:=0;
        for j:=n+1 to 2*n do
           if (cap[i]^[j]=0) and (cost[i]^[j]<>maxint) then k:=j;
        write(f,k-n,' ');
                      end;
     close(f);
end;
begin {programul principal}
     load;
     repeat
           baga_apa;
     until gata;
     scrie;
end.
Fisierele de teste :
Test 1 :
99 4
3 15 81 46 
52 58 40 25 
17 5 22 21 
65 10 5 73 
32 84 51 51 
11 43 97 96 
46 71 81 32 
54 94 18 64 
78 90 87 4 
81 3 2 86 
17 20 45 80 
26 46 20 97 
74 71 35 55 
2 14 30 39 
54 4 1 89 
43 12 91 2 
14 64 62 84 
53 88 32 69 
44 66 84 26 
57 9 64 33 
45 86 7 22 
59 43 76 84 
21 10 23 12 
11 94 58 2 
64 92 21 63 
78 63 96 1 
65 63 79 46 
26 30 25 83 
11 52 15 88 
95 79 26 58 
98 52 94 21 
1 53 95 43 
59 14 96 85 
30 53 50 74 
65 33 44 3 
45 22 51 15 
73 23 60 75 
32 55 29 71 
57 60 6 48 
35 65 94 50 
47 35 90 58 
15 50 59 98 
18 33 76 39 
9 12 14 27 
10 93 83 36 
91 45 86 3 
90 67 44 17 
60 60 55 8 
69 20 20 89 
78 4 98 57 
9 35 81 76 
74 38 61 63 
50 16 56 87 
78 56 24 51 
87 6 98 40 
68 10 87 28 
11 85 66 72 
54 54 68 86 
40 68 99 88 
68 31 17 52 
33 75 62 6 
53 22 59 12 
76 72 25 95 
19 7 19 66 
13 44 13 25 
37 42 6 80 
67 77 97 92 
99 74 72 47 
5 70 55 36 
97 13 88 4 
96 37 62 24 
30 91 91 49 
73 83 93 28 
93 71 19 31 
93 39 37 90 
73 72 41 19 
75 29 31 67 
27 75 16 9 
36 16 13 40 
67 62 7 16 
38 23 95 49 
69 57 79 36 
23 1 5 24 
41 48 29 79 
85 41 28 18 
83 49 70 28 
38 27 8 38 
69 66 85 31 
29 7 27 89 
49 48 61 18 
77 61 39 80 
82 77 99 80 
70 56 47 77 
47 99 70 92 
42 37 56 24 
92 34 42 61 
89 42 82 34 
48 41 34 34 
8 8 82 82 
Test 2 :
2 1
1
Test 3 :
20 12
18 4 10 10 14 2 5 9 9 1 1 7 
20 7 13 11 6 10 7 10 1 20 12 1 
11 13 10 3 19 16 12 6 7 10 4 13 
12 17 14 4 8 10 6 19 10 6 13 15 
5 2 3 16 10 5 18 3 3 15 6 10 
16 9 8 6 9 3 16 19 17 13 3 8 
12 16 8 20 4 16 3 15 14 1 12 3 
15 3 13 12 9 20 1 10 16 3 12 3 
1 9 2 18 4 3 19 2 2 5 16 18 
11 13 2 7 14 18 16 5 16 19 11 20 
11 14 11 8 4 1 4 19 1 14 4 19 
2 13 8 5 10 12 20 4 17 2 11 9 
7 7 15 5 14 4 18 1 14 6 11 11 
19 19 7 8 9 18 1 7 18 5 4 1 
20 16 9 8 2 4 5 9 5 11 8 8 
16 18 12 11 14 18 19 20 15 12 13 12 
12 18 13 8 2 20 7 14 6 8 11 7 
2 9 20 15 18 13 2 20 13 7 14 20 
9 6 19 15 14 5 15 5 6 15 6 6 
19 17 15 15 17 17 17 17 17 17 17 17 
Test 4 :
1 1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 
Test 5 :
98 12
23 39 2 15 95 32 88 81 60 61 11 22 
77 48 6 64 95 38 29 66 37 38 82 84 
14 3 45 78 34 34 15 72 54 44 5 75 
82 82 51 53 68 48 16 85 1 8 88 66 
19 20 57 15 13 35 53 22 40 85 7 37 
21 27 97 79 59 78 51 20 22 71 13 68 
65 7 32 77 83 72 25 28 40 95 73 60 
77 6 20 85 44 27 31 69 67 67 61 71 
59 35 36 9 54 98 19 48 86 9 57 61 
80 94 4 88 1 57 60 6 81 86 6 77 
56 71 76 55 9 18 43 43 65 49 78 35 
87 88 18 20 11 20 61 80 56 94 65 49 
29 37 26 84 40 35 33 4 47 57 79 57 
92 7 38 46 74 5 30 25 92 81 58 19 
49 5 92 66 93 64 8 63 43 15 9 67 
30 29 28 77 26 21 50 20 83 37 89 90 
74 27 61 40 6 41 92 87 57 19 77 29 
85 64 71 47 52 16 68 53 92 65 18 22 
40 89 77 70 58 80 94 46 45 88 75 71 
24 50 73 79 29 17 17 61 42 28 57 70 
52 10 95 76 35 63 31 65 79 91 25 22 
7 78 2 37 49 10 1 44 12 13 55 52 
94 44 86 43 85 55 13 65 29 14 9 5 
28 61 96 48 69 47 35 64 33 45 9 47 
44 52 87 17 94 51 91 71 29 46 44 33 
53 21 36 18 55 86 46 35 4 19 49 15 
75 71 25 77 57 60 64 18 72 25 21 78 
66 12 44 14 38 61 18 73 95 65 79 71 
97 38 78 2 62 13 19 19 4 76 87 19 
14 78 74 48 69 81 6 55 80 55 67 60 
72 24 17 90 79 4 48 33 8 17 2 67 
65 44 40 21 95 68 95 30 47 24 91 94 
56 22 74 3 57 69 26 2 22 61 25 92 
82 19 93 59 27 20 37 32 40 32 51 90 
37 50 96 36 21 87 22 73 44 89 90 8 
80 57 77 35 13 2 4 70 97 64 25 72 
86 90 33 26 76 18 89 6 47 18 15 44 
9 36 22 55 34 75 40 94 96 46 89 66 
12 60 87 97 34 63 97 47 7 17 65 12 
29 60 93 48 88 64 49 45 1 2 98 72 
15 16 35 19 19 78 26 11 24 57 93 33 
12 13 23 19 95 30 36 84 17 41 7 15 
61 78 77 14 98 89 15 12 65 87 17 66 
21 24 53 87 94 1 12 14 65 74 60 78 
54 10 72 76 22 61 68 2 5 42 54 4 
24 75 79 20 54 21 50 58 44 64 40 28 
8 94 8 62 46 85 23 76 66 77 31 48 
90 41 26 95 35 9 53 5 4 59 1 38 
82 31 48 90 11 55 67 84 45 25 84 17 
50 74 21 10 5 91 92 36 24 22 82 52 
31 48 85 86 88 65 15 60 91 76 21 31 
85 71 52 87 44 84 70 54 32 76 49 3 
63 39 32 70 6 17 32 97 55 7 32 67 
82 59 11 35 95 93 40 62 34 20 85 83 
87 52 14 60 67 40 33 79 47 16 63 24 
51 28 3 91 1 12 48 80 82 56 45 77 
26 38 2 73 18 57 93 91 15 74 79 74 
25 1 3 11 91 6 30 28 75 3 91 39 
15 4 76 48 47 6 94 41 69 64 39 61 
40 66 60 37 37 52 54 27 73 91 49 53 
70 73 42 80 75 72 87 16 43 20 10 42 
30 7 70 13 27 86 28 87 24 51 96 86 
38 52 47 9 98 60 6 17 42 12 49 50 
7 17 91 43 50 69 82 76 59 2 1 25 
43 72 18 52 63 54 90 13 6 95 51 25 
58 30 66 85 70 74 42 86 90 49 1 42 
22 13 93 10 8 23 20 24 76 3 43 93 
52 34 7 74 74 94 96 71 75 94 41 41 
98 49 74 80 86 45 4 43 9 59 24 47 
35 9 5 43 34 18 28 41 85 45 73 11 
25 92 76 89 55 66 89 69 36 89 24 85 
91 34 55 7 62 18 53 86 41 45 13 32 
34 8 98 58 13 49 2 11 55 62 32 21 
12 10 43 54 84 28 42 21 3 7 92 96 
84 16 38 4 10 20 11 41 54 90 75 72 
47 50 38 14 58 52 8 81 31 10 71 75 
8 56 12 34 83 86 43 53 31 64 73 36 
26 29 38 16 9 8 93 41 39 78 34 3 
92 34 73 53 38 96 2 5 31 89 36 75 
3 89 41 75 64 1 11 58 80 71 14 54 
58 1 96 59 50 56 11 59 70 33 11 31 
28 29 95 23 46 92 82 4 69 28 33 82 
62 67 50 5 10 89 58 63 70 80 29 69 
58 69 88 8 29 36 80 93 27 51 81 53 
93 63 81 81 46 50 83 23 5 41 12 88 
96 27 66 16 51 70 14 23 42 42 97 27 
58 98 93 92 81 26 68 5 70 82 62 78 
37 45 31 90 26 97 54 32 63 90 39 53 
33 26 14 50 36 23 62 36 27 80 42 69 
98 68 45 37 67 26 67 63 33 42 37 63 
56 84 58 64 33 97 68 88 10 88 96 84 
69 62 56 10 46 27 79 73 81 96 83 97 
51 16 97 56 81 66 3 97 45 16 59 14 
51 62 56 63 30 83 68 51 67 3 96 39 
32 46 27 88 98 56 73 30 83 72 39 83 
62 81 72 46 16 79 46 31 23 30 98 59 
62 84 23 68 79 59 98 84 98 30 16 39 
39 83 68 83 23 83 30 39 68 56 39 23 
Test 6 :
100 1
70 
82 
66 
14 
78 
50 
3 
58 
31 
57 
87 
29 
4 
21 
19 
12 
83 
69 
36 
42 
8 
22 
96 
52 
13 
61 
64 
76 
1 
86 
60 
35 
63 
49 
59 
97 
65 
73 
32 
24 
85 
89 
23 
94 
41 
40 
18 
80 
16 
38 
15 
30 
72 
27 
91 
77 
55 
17 
25 
67 
46 
28 
10 
44 
2 
95 
51 
56 
62 
71 
84 
99 
20 
90 
39 
74 
26 
81 
53 
88 
7 
98 
43 
54 
33 
68 
79 
48 
75 
9 
45 
11 
92 
100 
6 
37 
93 
5 
47 
34 
Test 7 :
100 5
34 50 2 71 15 
57 53 20 45 10 
20 51 36 33 84 
61 26 89 25 70 
69 73 85 88 92 
89 43 65 2 35 
28 25 97 41 9 
88 10 37 31 13 
88 52 89 36 93 
54 52 68 75 5 
89 85 45 71 58 
36 54 18 44 27 
61 95 81 71 41 
58 83 20 65 20 
54 3 50 7 84 
41 77 55 23 21 
100 95 3 42 12 
98 49 63 46 77 
91 21 2 74 83 
4 51 75 81 86 
55 29 30 61 85 
73 73 40 50 75 
86 96 54 65 83 
62 51 96 63 30 
60 68 85 97 64 
8 93 60 99 81 
30 55 17 78 11 
86 77 8 44 10 
79 94 22 40 74 
34 15 13 100 98 
50 24 24 57 51 
8 94 70 66 53 
36 76 26 47 43 
68 94 6 43 38 
6 28 40 30 10 
82 79 37 57 19 
57 26 6 60 95 
77 31 6 48 72 
52 72 100 77 35 
37 85 90 23 72 
33 49 86 74 18 
39 21 22 71 22 
35 52 76 91 71 
79 65 22 88 48 
89 65 97 83 7 
14 97 48 50 24 
86 63 30 96 33 
28 5 18 26 42 
35 47 37 70 91 
31 47 59 52 7 
42 42 29 60 17 
55 5 41 16 49 
93 15 73 99 3 
87 98 39 98 61 
8 16 17 60 33 
92 87 20 31 24 
29 43 74 87 75 
97 93 72 41 21 
24 93 8 67 63 
33 55 14 23 19 
44 6 37 22 67 
4 75 1 74 80 
23 49 17 21 40 
40 80 25 67 48 
23 10 51 26 16 
31 90 25 15 2 
98 45 61 53 48 
64 42 9 28 95 
96 13 2 25 82 
46 7 62 64 99 
44 35 34 56 83 
53 67 3 72 57 
66 18 64 5 70 
4 34 39 58 28 
81 78 81 95 4 
1 7 29 18 70 
76 46 79 9 67 
92 11 39 27 82 
43 68 27 9 38 
66 66 87 13 15 
38 99 80 64 4 
47 29 68 16 66 
80 62 69 45 1 
46 99 88 92 59 
5 27 14 78 94 
58 13 84 54 76 
39 62 79 17 34 
53 56 96 27 100 
100 91 46 19 59 
38 82 47 87 12 
58 14 38 9 3 
16 69 69 12 73 
59 14 45 1 63 
32 19 78 11 12 
36 76 92 78 32 
59 82 91 44 84 
56 49 1 56 19 
12 84 56 32 32 
69 11 90 80 32 
62 11 94 90 90 
Test 9 :
88 3
13 49 11 
13 33 60 
66 43 74 
45 83 55 
41 23 19 
50 59 84 
1 82 32 
7 43 8 
60 87 49 
70 72 80 
72 81 73 
19 13 30 
87 34 73 
22 18 46 
75 27 65 
56 46 34 
82 83 51 
81 73 76 
46 7 88 
50 63 19 
70 10 57 
39 75 55 
15 6 65 
5 75 42 
72 41 55 
56 80 70 
35 8 25 
61 42 3 
33 60 36 
34 16 49 
74 52 31 
76 35 15 
50 56 6 
54 52 38 
67 38 84 
6 29 33 
64 28 80 
29 1 59 
24 67 24 
29 79 61 
24 84 36 
40 61 78 
88 30 58 
51 26 37 
76 53 26 
5 53 45 
59 39 58 
53 68 57 
85 79 65 
86 5 38 
15 37 74 
30 45 82 
8 67 87 
26 71 78 
40 22 7 
3 25 22 
18 51 85 
31 16 39 
86 37 9 
20 58 52 
88 23 20 
3 66 78 
12 71 86 
1 36 77 
47 57 64 
31 68 48 
9 9 23 
77 27 17 
62 28 44 
32 18 83 
77 16 28 
20 2 63 
41 2 48 
71 62 14 
2 48 85 
10 17 54 
11 17 81 
4 64 69 
42 14 44 
63 69 25 
79 43 66 
21 11 69 
10 21 35 
68 54 62 
21 44 27 
40 14 32 
4 47 4 
47 12 12