program rand;
{$IF Defined(FPC)}{$MODE Delphi}{$ENDIF}
{$INLINE ON}

var
  seed: array[0..1] of uint64;  

function rotl(x: uint64; k: integer): uint64; inline;
begin
	Result := (x shl k) or (x shr (64 - k));
end;

function xoroshiro128starstar(): uint64;
var
  s0, s1: uint64;
  
begin
  s0 := seed[0];
  s1 := seed[1];
  Result := rotl(s0 * 5, 7) * 9;

  s1 := s1 xor s0;
  seed[0] := rotl(s0, 24) xor s1 xor (s1 shl 16); // a, b
  seed[1] := rotl(s1, 37); // c
end;

var
  i: integer;
  
begin
  seed[0] := 3;
  seed[1] := 1000000007;
  
  for i := 1 to 1000 do
    WriteLn(xoroshiro128starstar());
end.