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
#include <bits/stdc++.h>
using namespace std;
long long ans, res, p, q, x;
int cnt[10];
void solve() {
  string str, st = "", st1 = "", st2 = "", m = "";
  cin >> str;
  string s1 = "2013";
  string s2 = "2014";
  string s3 = "2015";
  map<string, long long> mp;
  for (int i = 6; i < str.size() - 3; i++) {
    st = str.substr(i, 4);
    if (st == s1 || st == s2 || st == s3) {
      st1 = "", st2 = "";
      if (str[i - 4] != '-') continue;
      if (str[i - 1] != '-') continue;
      st1 = st1 + str[i - 3] + str[i - 2];
      st2 = st2 + str[i - 6] + str[i - 5];
      if ((st1[0] >= '0' || st1[0] <= '9') &&
          (st1[1] >= '0' && st1[1] <= '9')) {
        if ((st2[0] >= '0' && st2[0] <= '9') &&
            (st2[1] >= '0' && st2[1] <= '9')) {
          if (st1 == "00" || st2 == "00") continue;
          if ((st1 == "04" || st1 == "6" || st1 == "09" || st1 == "11") &&
              st2 <= "30") {
            m = "";
            m = m + st2 + "-" + st1 + "-" + st;
            mp[m]++;
          } else if (st1 == "02" && st2 <= "28") {
            m = "";
            m = m + st2 + "-" + st1 + "-" + st;
            mp[m]++;
          } else if ((st1 == "01" || st1 == "03" || st1 == "05" ||
                      st1 == "07" || st1 == "08" || st1 == "10" ||
                      st1 == "12") &&
                     st2 <= "31") {
            m = "";
            m = m + st2 + "-" + st1 + "-" + st;
            mp[m]++;
          }
        }
      }
    }
  }
  for (auto it = mp.begin(); it != mp.end(); ++it) {
    ans = max(ans, it->second);
  }
  for (auto it = mp.begin(); it != mp.end(); ++it) {
    if (it->second == ans) {
      cout << it->first << "\n";
      return;
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int tt = 1;
  while (tt--) solve();
}
