using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string sInput = "herpdediderp (orange,(hmm)) some other crap (red,hmm)"+
"buzz (blue,(hmmm) (damn) derp) (hi)";
Regex re = new Regex(@"([^(]+|\([^(]*(?:\([^(]*\)[^(]*)*\))");
List<string> sResult = re.Split(sInput).Where(s => !string.IsNullOrWhiteSpace(s)).ToList();
Console.WriteLine(string.Join("\n", sResult));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCiAgewogICAgc3RyaW5nIHNJbnB1dCA9ICJoZXJwZGVkaWRlcnAgKG9yYW5nZSwoaG1tKSkgc29tZSBvdGhlciBjcmFwIChyZWQsaG1tKSIrCiAgICAgICAgICAgICAgICAgICAgImJ1enogKGJsdWUsKGhtbW0pIChkYW1uKSBkZXJwKSAoaGkpIjsKICAgIFJlZ2V4IHJlID0gbmV3IFJlZ2V4KEAiKFteKF0rfFwoW14oXSooPzpcKFteKF0qXClbXihdKikqXCkpIik7CiAgICBMaXN0PHN0cmluZz4gc1Jlc3VsdCA9IHJlLlNwbGl0KHNJbnB1dCkuV2hlcmUocyA9PiAhc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShzKSkuVG9MaXN0KCk7CiAgICAKICAgIENvbnNvbGUuV3JpdGVMaW5lKHN0cmluZy5Kb2luKCJcbiIsIHNSZXN1bHQpKTsKICB9Cn0=