#include <iostream>
#include <iomanip>
using namespace std;

long JDay(int year, int month, int day) {
    if (month <= 2) {
        year--;
        month += 12;
        };
    unsigned long J;
    int A = year / 100;
    A = 2 - A + (A / 4);
    J = 1461L * long(year);
    J /= 4L;
    unsigned long K = 306001L * long(month + 1);
    K /= 10000L;
    J += K + day + 1720995L + A;
    return J;
    }

void GDate(long JD, int& y, int& m, int& d) {
    unsigned long A = (JD * 4L - 7468865L) / 146097L;
    A = (JD > 2299160) ? JD + 1 + A - (A / 4L) : JD;
    long B = A + 1524;
    long C = (B * 20L - 2442L) / 7305L;
    long D = (C * 1461L) / 4L;
    long E = (10000L * (B - D)) / 306001L;
    d = int(B - D - ((E * 306001L) / 10000L));
    m = int((E <= 13) ? E - 1 : E - 13);
    y = int(C - ((m > 2) ? 4716 : 4715));
    }

int main() {
    int day, month, year;
    cout << "Введите день, месяц, год: ";
    cin >> day >> month >> year;
    cout
            << setfill('0') << "Ваша дата: " << setw(2) << day << "."
            << setw(2) << month << "." << year << endl;
    long jd = JDay(year, month, day);

    for (int m = 1; m <= 1000; m *= 10) {
        cout << "Дата через " << m << " дней: ";
        GDate(jd + m, year, month, day);
        cout << setw(2) << day << "." << setw(2) << month << "." << year <<
             endl;
        }
    }
