A recently found Ancient Prophesy is believed to contain the exact Apocalypse date. The prophesy is a string that only consists of digits and characters "-".

We'll say that some date is mentioned in the Prophesy if there is a substring in the Prophesy that is the date's record in the format "dd-mm-yyyy". We'll say that the number of the date's occurrences is the number of such substrings in the Prophesy. For example, the Prophesy "0012-10-2012-10-2012" mentions date 12-10-2012 twice (first time as "0012-10-2012-10-2012", second time as "0012-10-2012-10-2012").

The date of the Apocalypse is such correct date that the number of times it is mentioned in the Prophesy is strictly larger than that of any other correct date.

A date is correct if the year lies in the range from 2013 to 2015, the month is from 1 to 12, and the number of the day is strictly more than a zero and doesn't exceed the number of days in the current month. Note that a date is written in the format "dd-mm-yyyy", that means that leading zeroes may be added to the numbers of the months or days if needed. In other words, date "1-1-2013" isn't recorded in the format "dd-mm-yyyy", and date "01-01-2013" is recorded in it.

Notice, that any year between 2013 and 2015 is not a leap year.

Input

The first line contains the Prophesy: a non-empty string that only consists of digits and characters "-". The length of the Prophesy doesn't exceed 105 characters.

Output

In a single line print the date of the Apocalypse. It is guaranteed that such date exists and is unique.

Examples

Input

777-444---21-12-2013-12-2013-12-2013---444-777


Output

13-12-2013
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.TreeMap;

public class AncientProphecy {
	public static int monthDays(int month){
		switch(month){
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12: return 31;
		case 4:
		case 6:
		case 9:
		case 11: return 30;
		default: return 28;
		}
	}
	public static int count(StringBuilder s, String date){
		int out = 0;
		for(int i = 0;i<s.length()-9;i++){
			if(s.charAt(i)!='-'&&s.charAt(i+1)!='-'&&s.charAt(i+2)=='-'&&s.charAt(i+3)!='-'&&s.charAt(i+4)!='-'&&s.charAt(i+5)=='-'&&s.charAt(i+6)!='-'&&s.charAt(i+7)!='-')
				if(s.substring(i,i+10).equals(date)){
					out++;
					i += 9;
				}
		}
		return out;
	}
	public static void main(String[] args) throws IOException{
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		StringBuilder sb2 = new StringBuilder();
		sb.append(bf.readLine());
		String maxDate = ""; int max = 0;
		for(int year = 2013;year<=2015;year++){
			for(int month = 1;month<=12;month++){
				for(int day = 1;day<=monthDays(month);day++){
					sb2=new StringBuilder();
					sb2.append(""+(day<10?"0"+day:day)+"-"+(month<10?"0"+month:month)+"-"+year);
					int count = count(sb,sb2.toString());
					if(count>max){
						max = count;
						maxDate = sb2.toString();
					}
				}
			}
		}
		System.out.println(maxDate);
		//		String newS = "";
		//		for(int i = 0;i<s.length();i++){
		//			if(s.charAt(i)=='-'){
		//				if(newS.charAt(newS.length()-1)!=' ')
		//					newS += " ";
		//			}
		//			else
		//				newS += s.charAt(i);
		//		}
		//		String[] ns = newS.split(" ");
		//		HashMap<String, Integer> dates = new HashMap<String, Integer>();
		//		String maxDate = ""; int max = 0;
		//		for(int i = 0;i<ns.length-2;i++){
		//			if(ns[i].length()>1){
		//				String dayS = ns[i].substring(ns[i].length()-2, ns[i].length());
		//				int day = Integer.parseInt(dayS);
		//				
		//				if(ns[i+1].length()==2){
		//					String monthS = ns[i+1].substring(ns[i+1].length()-2, ns[i+1].length());
		//					int month = Integer.parseInt(monthS);
		//					
		//					if(ns[i+2].length()>=4){
		//						String yearS = ns[i+2].substring(0, 4);
		//						int year = Integer.parseInt(yearS);
		//
		//						if(year>=2013&year<=2015){
		//							if(month>=1&month<=12){
		//								int daysInMonth = monthDays(month);
		//								if(day>0&day<=daysInMonth){
		//									String date = ""+dayS+monthS+yearS;
		//									if(!dates.containsKey(date))
		//										dates.put(date, 1);
		//									else
		//										dates.replace(date, dates.get(date)+1);
		//									if(dates.get(date)>max){
		//										max = dates.get(date);
		//										maxDate = date;
		//									}
		//								}
		//							}
		//						}
		//					}
		//				}
		//			}
		//		}
		//		System.out.println(maxDate.substring(0,2)+"-"+maxDate.substring(2,4)+"-"+maxDate.substring(4));
	}
}
