MODULE Main;
IMPORT Fmt, Scan, Params, Wr, Stdio;

CONST 
    IM = 139968;
    IA = 3877;
    IC = 29573;

PROCEDURE gen_random(n: REAL): REAL =
BEGIN
    last := (last * IA + IC) MOD IM;
    RETURN n * FLOAT(last) / FLOAT(IM);
END gen_random;

VAR last: INTEGER := 42;

VAR 
    n: INTEGER;
    i: INTEGER;
    result: REAL;
BEGIN
    IF Params.Count > 0 THEN
        n := Scan.Int(Params.Get(1));
    ELSE
        n := 1;
    END;
    FOR i := 1 TO n DO
        result := gen_random(100.0);
    END;
    Wr.PutText (Stdio.stdout, Fmt.Real(result, prec:=9));
    Wr.Close (Stdio.stdout);
END Main.