#include <bits/stdc++.h>
const double PI = acos(-1.0);
const double e = exp(1.0);
template <class T>
T gcd(T a, T b) {
  return b ? gcd(b, a % b) : a;
}
template <class T>
T lcm(T a, T b) {
  return a / gcd(a, b) * b;
}
using namespace std;
char str[10];
int work1(int f) {
  int l, r;
  if (f == 12) {
    l = 1;
    r = 12;
  } else {
    l = 0;
    r = 23;
  }
  for (int i = '0'; i <= '9'; i++) {
    if (i == str[1]) continue;
    int temp = (i - '0') * 10 + (str[2] - '0');
    if (temp <= r && temp >= l) {
      str[1] = i;
      return 0;
    }
  }
  return 1;
}
int work2(int f) {
  int l, r;
  if (f == 12) {
    l = 1;
    r = 12;
  } else {
    l = 0;
    r = 23;
  }
  for (int i = '0'; i <= '9'; i++) {
    if (i == str[2]) continue;
    int temp = (i - '0') + (str[1] - '0') * 10;
    if (temp <= r && temp >= l) {
      str[2] = i;
      return 0;
    }
  }
  return 1;
}
int work4() {
  int l, r;
  l = 0;
  r = 59;
  for (int i = '0'; i <= '9'; i++) {
    int temp = (i - '0') * 10 + (str[5] - '0');
    if (temp <= r && temp >= l) {
      str[4] = i;
      return 0;
    }
  }
  return 1;
}
int work5() {
  int l, r;
  l = 0;
  r = 59;
  for (int i = '0'; i <= '9'; i++) {
    int temp = (i - '0') + (str[4] - '0') * 10;
    if (temp <= r && temp >= l) {
      str[5] = i;
      return 0;
    }
  }
  return 1;
}
int main() {
  int n;
  scanf("%d", &n);
  int h, m;
  scanf("%s", str + 1);
  h = (str[1] - '0') * 10 + (str[2] - '0');
  m = (str[4] - '0') * 10 + (str[5] - '0');
  if (n == 12) {
    if (1 <= h && h <= 12) {
      if (0 <= m && m <= 59) {
        printf("%s", str + 1);
        return 0;
      } else {
        if (work4() == 1) {
          work5();
        }
        printf("%s\n", str + 1);
        return 0;
      }
    } else {
      if (0 <= m && m <= 59) {
        if (work1(12) == 1) {
          work2(12);
        }
        printf("%s\n", str + 1);
        return 0;
      } else {
        if (work1(12) == 1) {
          work2(12);
        }
        if (work4() == 1) {
          work5();
        }
        printf("%s\n", str + 1);
        return 0;
      }
    }
  } else {
    if (0 <= h && h <= 23) {
      if (0 <= m && m <= 59) {
        printf("%s", str + 1);
        return 0;
      } else {
        if (work4() == 1) {
          work5();
        }
        printf("%s\n", str + 1);
        return 0;
      }
    } else {
      if (0 <= m && m <= 59) {
        if (work1(24) == 1) {
          work2(24);
        }
        printf("%s\n", str + 1);
        return 0;
      } else {
        if (work1(24) == 1) {
          work2(24);
        }
        if (work4() == 1) {
          work5();
        }
        printf("%s\n", str + 1);
        return 0;
      }
    }
  }
  return 0;
}
