Что будет выведено на экран?

#include <iostream> 
using namespace std; 
 
class X 
{ 
public: 
    X(int) {} 
 
    void operator+(int) 
    { 
        cout << 1; 
    } 
}; 
 
void operator+(X,X) 
{ 
    cout << 2; 
} 
 
void operator+(X, double) 
{ 
    cout << 3; 
} 
 
int main() 
{ 
    X a(2); 
    a + 1; 
    1 + a; 
    a + 1.0; 
} 
122
212
код не скомпилируется
132
321
121
113
123