/* task9_6 */
#include <iostream>
using namespace std;

class Hen {
public:
  char c;

  class Nest {
  public:
    char c;

    class Egg {
    public:
      char c;
      void display();
    } *egg;

    void display();
  } *nest;

  void initialize();
  void cleanup();
  void display();
};


void Hen::initialize() {
  c = 'h';
  nest = new Nest;
  nest->c = 'n';

  nest->egg = new Nest::Egg;
  nest->egg->c = 'e';
}

void Hen::cleanup() {
  delete nest->egg;
  delete nest;
}

void Hen::display() {
  cout << c << endl;
}

void Hen::Nest::display() {
  cout << c << endl;
}

void Hen::Nest::Egg::display() {
  cout << c << endl;
}


int main(int argc, char* argv[]) {
  Hen *hen = new Hen;
  hen->initialize();
  hen->display();
  hen->nest->display();
  hen->nest->egg->display();
  hen->cleanup();
  hen = 0;
  return 0;
}
