C := CremonaDatabase();

intrinsic tam(N1::RngIntElt, N2::RngIntElt) 
{
Compute dimension of 2-selmer group for all elliptic curves
with conductor between N1 and N2, and write the result to a file
named 2selmer_N1-N2.
}
    F := Open(Sprintf("tam_%o-%o", N1, N2),"w");
    for N in [N1..N2] do
        for i in [1..NumberOfIsogenyClasses(C, N)] do
            t := Cputime();
            E := EllipticCurve(C, N, i, 1);
            c := &*[TamagawaNumber(E,p[1]) : p in Factorization(N)];
            r := Rank(E);
            fprintf F, "%o\t%o\t%o\t%o\n", N, i, r, c;
            Flush(F);
        end for;
    end for;

end intrinsic;
