- using System; 
- using System.Collections.Generic; 
- using System.IO; 
- using System.Linq; 
- using System.Text.RegularExpressions; 
-   
- public class Test 
- { 
- 	public static void Main() 
- 	{ 
-     	var line = "this is (a (string))"; 
-     	var pattern = @"\(((?>[^()]+|\((?<o>)|\)(?<-o>))*(?(o)(?!)))\)|\S+"; 
-     	var result = Regex.Matches(line, pattern) 
-     		.Cast<Match>() 
-     		.SelectMany(x => x.Groups.Cast<Group>() 
-     			.Where(m => !string.IsNullOrWhiteSpace(m.Value)) 
-     			.Select(t => t.Value)) 
-     		.ToList(); 
-         foreach (var s in result) 
-         	Console.WriteLine(s); 
- 	} 
- } 
				dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewogICAgCXZhciBsaW5lID0gInRoaXMgaXMgKGEgKHN0cmluZykpIjsKICAgIAl2YXIgcGF0dGVybiA9IEAiXCgoKD8+W14oKV0rfFwoKD88bz4pfFwpKD88LW8+KSkqKD8obykoPyEpKSlcKXxcUysiOwogICAgCXZhciByZXN1bHQgPSBSZWdleC5NYXRjaGVzKGxpbmUsIHBhdHRlcm4pCiAgICAJCS5DYXN0PE1hdGNoPigpCiAgICAJCS5TZWxlY3RNYW55KHggPT4geC5Hcm91cHMuQ2FzdDxHcm91cD4oKQogICAgCQkJLldoZXJlKG0gPT4gIXN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UobS5WYWx1ZSkpCiAgICAJCQkuU2VsZWN0KHQgPT4gdC5WYWx1ZSkpCiAgICAJCS5Ub0xpc3QoKTsKICAgICAgICBmb3JlYWNoICh2YXIgcyBpbiByZXN1bHQpCiAgICAgICAgCUNvbnNvbGUuV3JpdGVMaW5lKHMpOwoJfQp9