public static String formatCardType(Card card) {
        ArrayList<String> list = card.getType();
        StringBuilder sb = new StringBuilder();
        
        ArrayList<String> superTypes = new ArrayList<String>();
        ArrayList<String> cardTypes = new ArrayList<String>();
        ArrayList<String> subTypes = new ArrayList<String>();
        for(String t : list) {
        	if(CardUtil.isASuperType(t)) superTypes.add(t);
        	if(CardUtil.isACardType(t)) cardTypes.add(t);
        	if(CardUtil.isASubType(t)) subTypes.add(t);
        	
        }
        
        for(String type : superTypes) {
        	sb.append(type).append(" ");
        }
        for(String type : cardTypes) {
        	sb.append(type).append(" ");
        }
        if(!subTypes.isEmpty()) sb.append("- ");
        for(String type : subTypes) {
        	sb.append(type).append(" ");
        }
        
        return sb.toString();
    }