- if chr = ":"\r
- then line, div, conv, ps\r
- else if chr = "D"\r
- then name, line, conv, ps\r
- else if chr = "C"\r
- then name, div, line::conv, ps\r
- else if chr = "N"\r
- then name, div, conv, line::ps\r
- else raise (ParsingError ("Unexpected at beginning of line: " ^ chr)) in\r
- let name, div, conv, ps = List.fold_left aux ("?", "", [], []) lines in\r
+ if line = "" then chr, name, div, conv, ps else\r
+ let rec aux' chr line =\r
+ if chr = "#"\r
+ then chr, name, div, conv, ps\r
+ else if chr = "$"\r
+ then "#", line, div, conv, ps\r
+ else if chr = "D"\r
+ then chr, name, line, conv, ps\r
+ else if chr = "C"\r
+ then chr, name, div, line::conv, ps\r
+ else if chr = "N"\r
+ then chr, name, div, conv, line::ps\r
+ else if last = ""\r
+ then raise (ParsingError ("Unexpected at beginning of problem: " ^ chr))\r
+ else aux' last (chr ^ line) in\r
+ aux' chr line in\r
+ let _, name, div, conv, ps = List.fold_left aux ("#", "?", "", [], []) lines in\r