#include using namespace std; tuple parse_date(string &S){ int y, m, d; y = (S[0]-'0') * 1000 + (S[1]-'0') * 100 + (S[2]-'0') * 10 + S[3] - '0'; m = (S[5]-'0') * 10 + (S[6]-'0'); d = (S[8]-'0') * 10 + (S[9]-'0'); return {y, m, d}; } bool isLeap(int y){ if (y % 4) return false; if (y % 400 == 0) return true; if (y % 100 == 0) return false; return true; } tuple next_day(int y, int m, int d){ if (d < 28){ return {y, m, d + 1}; } if (d == 28){ if (m != 2){ return {y, m, d + 1}; }else{ if (isLeap(y)){ return {y, m, d + 1}; }else{ return {y, 3, 1}; } } } if (d == 29){ if (m == 2){ return {y, 3, 1}; }else{ return {y, m, d + 1}; } } if (d == 30){ if (m == 4 or m == 6 or m == 9 or m == 11){ return {y, m + 1, 1}; }else{ return {y, m, 31}; } } if (d == 31){ if (m == 12){ return {y + 1, 1, 1}; }else{ return {y, m + 1, 1}; } } } int main() { string S; cin >> S; auto [y, m, d] = parse_date(S); tie(y, m, d) = next_day(y, m, d); tie(y, m, d) = next_day(y, m, d); cout << y << '/' << setfill('0') << setw(2) << right << m << '/' << setfill('0') << setw(2) << right << d << endl; return 0; }