#include <stdio.h>
int hmstosec(const char *hms) {
#define _(i) ((hms[i] - '0') * 10 + (hms[i + 1] - '0'))
return _(0) * 3600 + _(3) * 60 + _(6);
#undef _
}
char *sectohms(char *buff, int sec) {
#define _(i, value) buff[i] = '0' + (value) / 10, buff[i + 1] = '0' + (value) % 10
return _(0, sec % 86400 / 3600), buff[2] = ':', _(3, sec % 3600 / 60), buff[5] = ':', _(6, sec % 60), buff[8] = '\0', buff;
#undef _
}
char *f(char *buff, const char *hms) {
return sectohms(buff, hmstosec(hms) + 1);
}
int main() {
char buff[32];
printf("%s\n", f
(buff
, "00:00:00")); printf("%s\n", f
(buff
, "23:59:59")); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBobXN0b3NlYyhjb25zdCBjaGFyICpobXMpIHsKI2RlZmluZSBfKGkpICgoaG1zW2ldIC0gJzAnKSAqIDEwICsgKGhtc1tpICsgMV0gLSAnMCcpKQogIHJldHVybiBfKDApICogMzYwMCArIF8oMykgKiA2MCArIF8oNik7CiN1bmRlZiBfCn0KY2hhciAqc2VjdG9obXMoY2hhciAqYnVmZiwgaW50IHNlYykgewojZGVmaW5lIF8oaSwgdmFsdWUpIGJ1ZmZbaV0gPSAnMCcgKyAodmFsdWUpIC8gMTAsIGJ1ZmZbaSArIDFdID0gJzAnICsgKHZhbHVlKSAlIDEwCiAgcmV0dXJuIF8oMCwgc2VjICUgODY0MDAgLyAzNjAwKSwgYnVmZlsyXSA9ICc6JywgXygzLCBzZWMgJSAzNjAwIC8gNjApLCBidWZmWzVdID0gJzonLCBfKDYsIHNlYyAlIDYwKSwgYnVmZls4XSA9ICdcMCcsIGJ1ZmY7CiN1bmRlZiBfCn0KY2hhciAqZihjaGFyICpidWZmLCBjb25zdCBjaGFyICpobXMpIHsKICByZXR1cm4gc2VjdG9obXMoYnVmZiwgIGhtc3Rvc2VjKGhtcykgKyAxKTsKfQppbnQgbWFpbigpIHsKICBjaGFyIGJ1ZmZbMzJdOwogIHByaW50ZigiJXNcbiIsIGYoYnVmZiwgIjAwOjAwOjAwIikpOwogIHByaW50ZigiJXNcbiIsIGYoYnVmZiwgIjIzOjU5OjU5IikpOwogIHJldHVybiAwOwp9Cg==