#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