#include <iostream>

class Exception { public: virtual char const *origin() { return "something else."; } };
class ExDivByZero : public Exception { public: char const *origin() { return "Divided by zero."; } };
class ExBadArgument : public Exception { public: char const *origin() { return "Bad argument."; } };
class ExCannotOpen : public Exception { public: char const *origin() { return "Cannot open."; } };

int main() {
  for(;;) {
    char c;
    if (std::cin >> c, c == 'd')
      break;
    try {
      switch (c) {
      case 'a':
        throw ExDivByZero();
        break;
      case 'b':
        throw ExBadArgument();
        break;
      case 'c':
        throw ExCannotOpen();
        break;
      }
    } catch (Exception e) {
      std::cerr << e.origin() << std::endl;
    }
  }
  return 0;
}
/* end */
