#include <iostream>
using namespace std;

class A
{
    int i;
public:
    A() { i = 7; cout << 1 << f() << i << '/'; }
    A(int i) :i(i) { cout << 1 << f() << i << '/'; }
    char f() { return 'A'; }
};
class B : public virtual A
{
    int i;
public:
    B(int i) : A(i), i(++i) { cout << 2 << i << '/'; }
    virtual char f() { return 'B'; }
};
class C : public virtual A {
public:
    C(int i) : A(i) { cout << 3 << i << '/'; }
    virtual char f() { return 'C'; }
};
class D :public A {
public:
    D(int i) { cout << 4 << i << '/'; }
    virtual char f() { return 'D'; }
};
class E : public B, public C, public D {
public:
    E() : B(2), C(3), D(4) { cout << 5; }
    virtual char f() { return 'E'; }
};
int main()
{
    E e;
    return 0;
}