#include <algorithm>
#include <cctype>
#include <ctime>
#include <iostream>
#include <iomanip>
#include <limits>
#include <sstream>
#include <string>
using namespace std;
int main() {
tm tmbuf{};
stringstream str("20:48:01.469 UTC MAR 31 2016");
string tm_mon;
str >> get_time(&tmbuf, "%T");
str.ignore(std::numeric_limits<std::streamsize>::max(), 'C');
str >> tm_mon >> get_time(&tmbuf, "%d %Y");
for (const auto& i : { "JAN"s, "FEB"s, "MAR"s, "APR"s, "MAY"s, "JUN"s, "JUL"s, "AUG"s, "SEP"s, "OCT"s, "NOV"s, "DEC"s }) {
if (equal(cbegin(tm_mon), cend(tm_mon), cbegin(i), cend(i), [](const unsigned char a, const unsigned char b) { return toupper(a) == b; })) break;
++tmbuf.tm_mon;
}
cout << put_time(&tmbuf, "%m-%d-%Y") << endl;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGNjdHlwZT4KI2luY2x1ZGUgPGN0aW1lPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8bGltaXRzPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXRtIHRtYnVme307CglzdHJpbmdzdHJlYW0gc3RyKCIyMDo0ODowMS40NjkgVVRDIE1BUiAzMSAyMDE2Iik7CglzdHJpbmcgdG1fbW9uOwoKCXN0ciA+PiBnZXRfdGltZSgmdG1idWYsICIlVCIpOwoJCglzdHIuaWdub3JlKHN0ZDo6bnVtZXJpY19saW1pdHM8c3RkOjpzdHJlYW1zaXplPjo6bWF4KCksICdDJyk7CgoJc3RyID4+IHRtX21vbiA+PiBnZXRfdGltZSgmdG1idWYsICIlZCAlWSIpOwoKCWZvciAoY29uc3QgYXV0byYgaSA6IHsgIkpBTiJzLCAiRkVCInMsICJNQVIicywgIkFQUiJzLCAiTUFZInMsICJKVU4icywgIkpVTCJzLCAiQVVHInMsICJTRVAicywgIk9DVCJzLCAiTk9WInMsICJERUMicyB9KSB7CgkJaWYgKGVxdWFsKGNiZWdpbih0bV9tb24pLCBjZW5kKHRtX21vbiksIGNiZWdpbihpKSwgY2VuZChpKSwgW10oY29uc3QgdW5zaWduZWQgY2hhciBhLCBjb25zdCB1bnNpZ25lZCBjaGFyIGIpIHsgcmV0dXJuIHRvdXBwZXIoYSkgPT0gYjsgfSkpIGJyZWFrOwoJCSsrdG1idWYudG1fbW9uOwoJfQoKCWNvdXQgPDwgcHV0X3RpbWUoJnRtYnVmLCAiJW0tJWQtJVkiKSA8PCBlbmRsOwp9