#include <iostream>
#include <iostream>
int main()
{
// currVal is the number we're counting; we'll read new values into val
int currVal = 0, val = 0;
// read first number and ensure that we have data to process
if (std::cin >> currVal) {
int cnt = 1; // store the count for the current value we're processing
while (std::cin >> val) { // read the remaining numbers
if (val == currVal) // if the values are the same
++cnt; // add 1 to cnt
else { // otherwise, print the count for the previous value
std::cout << currVal << " occurs "
<< cnt << " times" << std::endl;
currVal = val; // remember the new value
cnt = 1; // reset the counter
}
} // while loop ends here
// remember to print the count for the last value in the file
std::cout << currVal << " occurs "
<< cnt << " times" << std::endl;
}
// outermost if statement ends here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9zdHJlYW0+CmludCBtYWluKCkKewogICAgLy8gY3VyclZhbCBpcyB0aGUgbnVtYmVyIHdlJ3JlIGNvdW50aW5nOyB3ZSdsbCByZWFkIG5ldyB2YWx1ZXMgaW50byB2YWwKICAgIGludCBjdXJyVmFsID0gMCwgdmFsID0gMDsKICAgIC8vIHJlYWQgZmlyc3QgbnVtYmVyIGFuZCBlbnN1cmUgdGhhdCB3ZSBoYXZlIGRhdGEgdG8gcHJvY2VzcwogICAgaWYgKHN0ZDo6Y2luID4+IGN1cnJWYWwpIHsKICAgICAgICBpbnQgY250ID0gMTsgLy8gc3RvcmUgdGhlIGNvdW50IGZvciB0aGUgY3VycmVudCB2YWx1ZSB3ZSdyZSBwcm9jZXNzaW5nCiAgICAgICAgd2hpbGUgKHN0ZDo6Y2luID4+IHZhbCkgeyAvLyByZWFkIHRoZSByZW1haW5pbmcgbnVtYmVycwogICAgICAgICAgICBpZiAodmFsID09IGN1cnJWYWwpIC8vIGlmIHRoZSB2YWx1ZXMgYXJlIHRoZSBzYW1lCiAgICAgICAgICAgICAgICArK2NudDsgLy8gYWRkIDEgdG8gY250CiAgICAgICAgICAgIGVsc2UgeyAvLyBvdGhlcndpc2UsIHByaW50IHRoZSBjb3VudCBmb3IgdGhlIHByZXZpb3VzIHZhbHVlCiAgICAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgY3VyclZhbCA8PCAiIG9jY3VycyAiCiAgICAgICAgICAgICAgICA8PCBjbnQgPDwgIiB0aW1lcyIgPDwgc3RkOjplbmRsOwogICAgICAgICAgICAgICAgY3VyclZhbCA9IHZhbDsgLy8gcmVtZW1iZXIgdGhlIG5ldyB2YWx1ZQogICAgICAgICAgICAgICAgY250ID0gMTsgLy8gcmVzZXQgdGhlIGNvdW50ZXIKICAgICAgICAgICAgfQogICAgICAgIH0gLy8gd2hpbGUgbG9vcCBlbmRzIGhlcmUKICAgICAgICAvLyByZW1lbWJlciB0byBwcmludCB0aGUgY291bnQgZm9yIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBmaWxlCiAgICAgICAgc3RkOjpjb3V0IDw8IGN1cnJWYWwgPDwgIiBvY2N1cnMgIgogICAgICAgIDw8IGNudCA8PCAiIHRpbWVzIiA8PCBzdGQ6OmVuZGw7CiAgICB9CiAgICAvLyBvdXRlcm1vc3QgaWYgc3RhdGVtZW50IGVuZHMgaGVyZQogICAgcmV0dXJuIDA7Cn0=