using System;
using System.Text;
using System.Text.RegularExpressions;
public class Test
{
static string RemoveMatchingBraces(string s)
{
string orig = "";
Regex rgx = new Regex("{[^{]*?}");
while (!orig.Equals(s))
{
orig = s;
s = rgx.Replace(orig, "");
}
return s;
}
public static void Main()
{
Console.WriteLine(RemoveMatchingBraces("}}AB{CDE{FG}H{IJ}K}LMN{OP}QRS{{"));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dDsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewogIHN0YXRpYyBzdHJpbmcgUmVtb3ZlTWF0Y2hpbmdCcmFjZXMoc3RyaW5nIHMpCiAgewogIAlzdHJpbmcgb3JpZyA9ICIiOwogIAlSZWdleCByZ3ggPSBuZXcgUmVnZXgoIntbXntdKj99Iik7CiAgCXdoaWxlICghb3JpZy5FcXVhbHMocykpCiAgCXsKICAJCW9yaWcgPSBzOwogIAkJcyA9IHJneC5SZXBsYWNlKG9yaWcsICIiKTsKICAJfQogICAgcmV0dXJuIHM7CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKICB7CiAgICBDb25zb2xlLldyaXRlTGluZShSZW1vdmVNYXRjaGluZ0JyYWNlcygifX1BQntDREV7Rkd9SHtJSn1LfUxNTntPUH1RUlN7eyIpKTsKICB9CQp9