import java.util.*;
import java.util.regex.*;

class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		List<String> strs = Arrays.asList("Hakan2Ev", "Hakan2Ev2", "Ha2Oy2Het3Magara4", "(Ha2Oy2)12");
		Pattern p = Pattern.compile("[A-Z][a-z]*|[a-zA-Z]+|[0-9]+|[^a-zA-Z0-9]+");
		for (String str : strs) {
			System.out.println("--- " + str + " ---");
			Matcher m = p.matcher(str);
			while (m.find()) {
			    System.out.println(m.group());
			}
		}
	}
}