//PascalABC.NET 3.1 сборка 1239var brackets: array [0..2, 0..1] of char := (('{', '}'), ('[', ']'), ('(', ')'));begin var s := ReadlnString(); var counter := 0; var max_depth := 0; for var i := 1 to s.Length do begin if s[i] = '(' then counter += 1 else if s[i] = ')' then counter -= 1 else continue; if counter < 0 then begin writeln('brackets error'); Halt; end; if counter > max_depth then max_depth := counter; end; counter := 0; for var i := 1 to s.Length do begin if s[i] = '(' then counter += 1 else if s[i] = ')' then counter -= 1 else continue; if (counter = max_depth - 1) and (s[i] = '(') then s[i] := brackets[1, 0] else if (counter = max_depth - 2) and (s[i] = ')') then s[i] := brackets[1, 1] else if (counter = max_depth - 2) and (s[i] = '(') then s[i] := brackets[0, 0] else if (counter = max_depth - 3) and (s[i] = ')') then s[i] := brackets[0, 1]; end; writeln(s);end.