import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;

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 2:
		case 4:
		case 6:
		case 9:
		case 11: return 30;
		default: return 28;
		}
	}
	public static void main(String[] args) throws IOException{
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		String s = bf.readLine();
		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){
				int day = Integer.parseInt(ns[i].substring(ns[i].length()-2, ns[i].length()));
				if(ns[i+1].length()==2){
					int month = Integer.parseInt(ns[i+1].substring(ns[i+1].length()-2, ns[i+1].length()));
					if(ns[i+2].length()>=4){
						int year = Integer.parseInt(ns[i+2].substring(ns[i+2].length()-4, ns[i+2].length()));
						if(year>=2013&year<=2015){
							if(month>=1&month<=12){
								int daysInMonth = monthDays(month);
								if(day>0&day<=daysInMonth){
									String date = ""+day+month+year;
									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));
	}
}
