load "X1_37_AFF.m";
M := FreeAbelianGroup(18);
gen := [M.i : i in [1..18]];

print("Computing the ClassGroup, takes 3 hours...");
ClGrp, m1, m2 := ClassGroup(AFF);

N := Kernel(Homomorphism(M, ClGrp, gen, [m2(i) : i in plc1]));
N := Lattice(Matrix( [Eltseq(M ! i) : i in Generators(N)] ));
SV := ShortVectors(N,410);

print("This is the first part for proposition 2.");
Min([&+[Abs(i) : i in Eltseq(j[1])]/2 : j in SV]);

print("and this is the second part of proposition 2:");
Max([Dimension(RiemannRochSpace(15*plc1[1]+q+r)) : q,r in plc1]);
