function f1(n, m)
    print "hello";
    for i in [n..m] do
       print i;
    end for;
    return n+m;
end function;

function k(n)
    return n + 1;
end function;

intrinsic t(n::RngIntElt, m::RngIntElt) -> RngIntElt
{This intrinsic returns n + m.}
    return n + m;
end intrinsic;

intrinsic t(n::FldRatElt, m::FldRatElt) -> RngIntElt
{This intrinsic returns n + m.}
    return n* m;
end intrinsic;


procedure g1(n, m)
    print "hello";
end procedure;

