struct X{
int x;
X(int);
operator+(int);
};
struct Y{
int i;
Y(X);
operator+(X);
operatorint();
};
X x = 1;
Y y = x;
int i = 2;
extern X operator*(X,Y);
externint f(X);
int main()
{
i + 1; y + 10; y + 10 * y;
x + y + i; x * x + i; f(7);
f(y); y + y; 106 + y;
return 0;
}