{$mode objfpc}
program SplitStringExample;

uses
  Classes, SysUtils;

var
  str: string;
  strings: TStrings;
  i: Integer;
begin
  Readln(str);

  strings := TStringList.Create;
  try
    strings.Delimiter := ',';
    strings.DelimitedText := str;

    for i := 0 to strings.Count - 1 do
      writeln(strings[i]);
  finally
    strings.Free;
  end;
end.

// program SplitStrings;
// var
//   inputString, substring: string;
//   commaPos: integer;
// begin
//   // Read the input string
//   Readln(inputString);

//   // Split the string by comma and print the substrings
//   commaPos := Pos(',', inputString);
//   while commaPos <> 0 do
//   begin
//     substring := Copy(inputString, 1, commaPos - 1);
//     Writeln(substring);
//     Delete(inputString, 1, commaPos);
//     commaPos := Pos(',', inputString);
//   end;

//   // Print the remaining substring
//   Writeln(inputString);
// end. 
by