#include <iostream>
#include <regex>
#include <string>
using namespace std;
int main() {
const auto input = "if (KnR)\n\tfoo();\nif (spaces) {\n foo();\n}\nif (allman)\n{\n\tfoo();\n}\nif (horstmann)\n{\tfoo();\n}\nif (pico)\n{\tfoo(); }\nif (whitesmiths)\n\t{\n\tfoo();\n\t}"s;
cout << input << endl;
cout << regex_replace(input, regex("(.+?)\\s*{?\\s*(.+?;)\\s*}?\\s*"), "$1 {\n\t$2\n}\n") << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CiNpbmNsdWRlIDxzdHJpbmc+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7Cgljb25zdCBhdXRvIGlucHV0ID0gImlmIChLblIpXG5cdGZvbygpO1xuaWYgKHNwYWNlcykge1xuICAgIGZvbygpO1xufVxuaWYgKGFsbG1hbilcbntcblx0Zm9vKCk7XG59XG5pZiAoaG9yc3RtYW5uKVxue1x0Zm9vKCk7XG59XG5pZiAocGljbylcbntcdGZvbygpOyB9XG5pZiAod2hpdGVzbWl0aHMpXG5cdHtcblx0Zm9vKCk7XG5cdH0iczsKCgljb3V0IDw8IGlucHV0IDw8IGVuZGw7CgoJY291dCA8PCByZWdleF9yZXBsYWNlKGlucHV0LCByZWdleCgiKC4rPylcXHMqez9cXHMqKC4rPzspXFxzKn0/XFxzKiIpLCAiJDEge1xuXHQkMlxufVxuIikgPDwgZW5kbDsKfQ==