package kz.xavescor; import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); ArrayList<ArrayList<String>> table = new ArrayList<>(); while (in.hasNextLine()) { ArrayList<String> row = new ArrayList<>(); row.addAll(Arrays.asList(in.nextLine().split("\\|"))); for (int i = 0; i < row.size(); ++i) { row.set(i, row.get(i).trim()); } table.add(row); } ArrayList<Integer> maxLen = new ArrayList<>(table.get(0).size()); for (int i = 0; i < table.get(0).size(); ++i) { maxLen.add(0); } for (ArrayList<String> str : table) { for (int col = 1; col < str.size(); ++col) { maxLen.set(col, Math.max( maxLen.get(col), str.get(col).length() )); } } for (ArrayList<String> str : table) { System.out.print('|'); for (int col = 1; col < str.size(); ++col) { //because first element is empty System.out.print(normalize(str.get(col), maxLen.get(col)) + '|'); } System.out.println(); } } private static String normalize(String s, Integer integer) { int spacesNeeded = (integer - s.length()) / 2; String before = new String(new char[spacesNeeded]).replace("\0", " "); String after = before; if (spacesNeeded % 2 == 1) { after += " "; } return before + s + after; } }