void calc(int num)
 {
   Handler* next;
   next = new ConcreteHandler2;
   next->request(num);
   delete next;
 }
 void request(int num)
 {
   if(num % 2 == 0)
     {
       cout << num << " is multiple of 2." << endl;
       Handler* next = new ConcreteHandler3();
       next->request(num);
       delete next;
     }
   else
     cout << num << " is not multiple of 2." << endl;
 }