import java.util.*;
import java.io.*;
import java.util.regex.*;
import java.util.List;
class Program {
String subject
= "300x250,468x60,300x400v(480x320,768x1024,100x100),400x300v,640x480v(200x200,728x90)"; Pattern regex = Pattern.compile("\\([^)]*\\)|(,)");
Matcher m = regex.matcher(subject);
while (m.find()) {
if(m.group(1) != null) m.appendReplacement(b, "SplitHere");
else m.appendReplacement(b, m.group(0));
}
m.appendTail(b);
String replaced
= b.
toString(); String[] splits
= replaced.
split("SplitHere"); } // end main
} // end Program
ICAgIGltcG9ydCBqYXZhLnV0aWwuKjsKICAgIGltcG9ydCBqYXZhLmlvLio7CiAgICBpbXBvcnQgamF2YS51dGlsLnJlZ2V4Lio7CiAgICBpbXBvcnQgamF2YS51dGlsLkxpc3Q7CiAgICAgCiAgICBjbGFzcyBQcm9ncmFtIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgl7CiAgICAgCiAgICBTdHJpbmcgc3ViamVjdCA9ICIzMDB4MjUwLDQ2OHg2MCwzMDB4NDAwdig0ODB4MzIwLDc2OHgxMDI0LDEwMHgxMDApLDQwMHgzMDB2LDY0MHg0ODB2KDIwMHgyMDAsNzI4eDkwKSI7CiAgICBQYXR0ZXJuIHJlZ2V4ID0gUGF0dGVybi5jb21waWxlKCJcXChbXildKlxcKXwoLCkiKTsKICAgIE1hdGNoZXIgbSA9IHJlZ2V4Lm1hdGNoZXIoc3ViamVjdCk7CiAgICBTdHJpbmdCdWZmZXIgYj0gbmV3IFN0cmluZ0J1ZmZlcigpOwogICAgd2hpbGUgKG0uZmluZCgpKSB7CiAgICBpZihtLmdyb3VwKDEpICE9IG51bGwpIG0uYXBwZW5kUmVwbGFjZW1lbnQoYiwgIlNwbGl0SGVyZSIpOwogICAgZWxzZSBtLmFwcGVuZFJlcGxhY2VtZW50KGIsIG0uZ3JvdXAoMCkpOwogICAgfQogICAgbS5hcHBlbmRUYWlsKGIpOwogICAgU3RyaW5nIHJlcGxhY2VkID0gYi50b1N0cmluZygpOwogICAgU3RyaW5nW10gc3BsaXRzID0gcmVwbGFjZWQuc3BsaXQoIlNwbGl0SGVyZSIpOwogICAgZm9yIChTdHJpbmcgc3BsaXQgOiBzcGxpdHMpIFN5c3RlbS5vdXQucHJpbnRsbihzcGxpdCk7CiAgICB9IC8vIGVuZCBtYWluCiAgICB9IC8vIGVuZCBQcm9ncmFt