#include <iostream>
using namespace std;
enum class Fruit
{
apple,
banana,
orange,
pineapple,
lemon
};
Fruit& operator++(Fruit& f)
{
switch (f)
{
case Fruit::apple: return f = Fruit::banana;
case Fruit::banana: return f = Fruit::orange;
case Fruit::orange: return f = Fruit::pineapple;
case Fruit::pineapple: return f = Fruit::lemon;
case Fruit::lemon: return f = Fruit::apple;
}
}
int main() {
// your code goes here
Fruit f = Fruit::banana;
cout << (int)++f << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKICAgIGVudW0gY2xhc3MgRnJ1aXQKICAgIHsKICAgICAgYXBwbGUsCiAgICAgIGJhbmFuYSwKICAgICAgb3JhbmdlLAogICAgICBwaW5lYXBwbGUsCiAgICAgIGxlbW9uCiAgICB9OwogICAgRnJ1aXQmIG9wZXJhdG9yKysoRnJ1aXQmIGYpCiAgICB7CiAgICAgIHN3aXRjaCAoZikKICAgICAgewogICAgICBjYXNlIEZydWl0OjphcHBsZTogcmV0dXJuIGYgPSBGcnVpdDo6YmFuYW5hOwogICAgICBjYXNlIEZydWl0OjpiYW5hbmE6IHJldHVybiBmID0gRnJ1aXQ6Om9yYW5nZTsKICAgICAgY2FzZSBGcnVpdDo6b3JhbmdlOiByZXR1cm4gZiA9IEZydWl0OjpwaW5lYXBwbGU7CiAgICAgIGNhc2UgRnJ1aXQ6OnBpbmVhcHBsZTogcmV0dXJuIGYgPSBGcnVpdDo6bGVtb247CiAgICAgIGNhc2UgRnJ1aXQ6OmxlbW9uOiByZXR1cm4gZiA9IEZydWl0OjphcHBsZTsKICAgICAgfQogICAgfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglGcnVpdCBmID0gRnJ1aXQ6OmJhbmFuYTsKCQoJY291dCA8PCAoaW50KSsrZiA8PCBlbmRsOwoJCglyZXR1cm4gMDsKfQ==