Program Test;


procedure GenerateRest(
   CharsLeft, LettersLeft, DigitsLeft: Integer; 
   const Prefix: string);
var
  c: char;
begin
  if CharsLeft  = 0 then begin
    write(Prefix,' ');
    exit;
  end;

  if LettersLeft > 0 then
    for c := 'A' to 'Z' do
      GenerateRest(CharsLeft - 1, LettersLeft - 1, DigitsLeft, Prefix + c);

  if DigitsLeft > 0 then
    for c := '0' to '9' do
      GenerateRest(CharsLeft - 1, LettersLeft, DigitsLeft - 1, Prefix + c);
end;

begin
	GenerateRest(7, 4, 3, '');
end.