#include<cstdio>
#include<cstring>
int main(void){
  long long y, m, d;
  int b, ka, t, w, ki;
  unsigned long long _ka, _t, _w, _ki;
  int day[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  unsigned long long s;
  char str[256], *s2;

  _ki = 20; _w = _ki * 18; _t = _w * 20; _ka = _t * 20;
  for( ; ; ){
    scanf("%s", str);
    if(str[0] == '#') break;
    s2 = str;
    for(int i = 0;i < 2; i++){
      s2 = strchr(s2, '.') + 1;
    }
    s = 0;
    if(strchr(s2, '.') == NULL){
      sscanf(str, "%lld.%lld.%lld", &y, &m, &d);
      for(int i = 2012;i < y; i++){
	if(i == 2012) s += 10;
	else s += 365;
	if(i != 2012 && !(i % 4) && i % 100 || !(i % 400)) s++;
      }
      if(y != 2012){
	for(int i = 1;i < m; i++){
	  s += day[i];
	  if(i == 2 && !(y % 4) && y % 100 || i == 2 && !(y % 400)) s++;
	}
	s += d;
      } else
	s += d - 21;

      s = s % (_ka * 13);
      printf("%llu.%llu.%llu.%llu.%llu\n", s / _ka, s / _t % 20, s / _w % 20, s / _ki % 18, s % _ki);
    } else {
      sscanf(str, "%d.%d.%d.%d.%d", &b, &ka, &t, &w, &ki);
      s = ki + w * _ki + t * _w + ka * _t + b * _ka;
      if(s <= 10){
	printf("2012.12.%llu\n", 21 + s);
	continue;
      }
      s -= 10;
      for(y = 2013; ; y++){
	if(!(y % 4) && y % 100 || !(y % 400)){
	  if(s > 366) s -= 366;
	  else break;
	} else {
	  if(s > 365) s -= 365;
	  else break;
	}
      }
      for(m = 1; ; m++){
	if(!(y % 4) && y % 100 && s > 29 && m == 2 || !(y % 400) && s > 29 && m == 2){
	  s -= 29; continue;
	}
	else if(!(y % 4) && y % 100 && s >= 29 && m == 2 || !(y % 400) && s >= 29 && m == 2) break;
	else if(s > day[m]) s -= day[m];
	else break;
      }
      
      printf("%lld.%lld.%llu\n", y, m, s);
    }
  }
}
