const 
	
	MaxMembers = 50;

type

	RoleType = ( guest, 
				 member, 
				 moderator, 
				 admin, 
				 owner );
	
	Coder = record
		nick      : string;
		jid       : string;
		githubUrl : string;
		role      : RoleType;
	end;

	CoderPtr = ^ Coder;
	
	Coders = array[ 1..MaxMembers ] of CoderPtr;
	
procedure Output( Values : Coders );
var
	i : integer;
begin
	for i := 1 to MaxMembers do begin
		Writeln( Values[ i ]^.nick );
		Writeln( Values[ i ]^.jid );
		Writeln( Values[ i ]^.githubUrl );
		Writeln( Values[ i ]^.role );
		Writeln( '---------------------------------' );
	end;
end;

function GenerateNick() : string;
var
	i : integer;
	c : integer;
	s : array[0..5] of char = ( 'F', 'O', 'R', 'N', 'E', 'V' );
	r : string;
begin
	
	
	r := '';
	
	for i := 1 to 8 do
		r := r + s[ random( 6 ) ];
		
	GenerateNick := r;
end;

function RandomRole: RoleType;
begin
  RandomRole := RoleType(Random(Succ(Ord(High(RoleType)))));
end;

function Fill(): Coders;
var 
	i        : integer;
	Forevers : set of 'A'..'Z';
	res      : Coders;
begin
	randomize;
	
	for i := 1 to MaxMembers do begin
		New( res[ i ] );
		res[ i ]^.nick      := GenerateNick();
		res[ i ]^.jid       := 'жид хуид';
		res[ i ]^.githubUrl := 'https://b...content-available-to-author-only...t.com/' + res[ i ]^.nick;
		res[ i ]^.role      := RandomRole(); 
	end;
	
	Fill := res;
end;


var
	CodingTeam : Coders;
begin
	
	randomize;;
	
	CodingTeam := Fill();
	
	Output( CodingTeam );

end.