#include <iostream>

class B1
{
public:
  B1(void) {}
  ~B1(void){}

  virtual void who() {
    std::cout << "B1" << std::endl;
  }
};

class B2
{
public:
  B2(void) {}
  ~B2(void){}

  virtual void who() {
    std::cout << "B2" << std::endl;
  }
};

class Derived: public B1, B2
{
public:
  Derived(void) {}
  ~Derived(void){}
  
  template<typename Base>
  void who() {
      Base::who();
  }
 };


int main(void) {
        Derived d;

        d.who<B1>();
}