这一题只需要判断两个数就行。

对于输入的X,首先判断它是否是偶数,不是就减1(x=1时单独输出-1)。

对于操作后的x(此时必然是偶数)而言:它可以被2整除,除以2必然小于x的初始值,乘以2必然大于x的初始值(因为操作后的x大于1,此时(x-1)*2>x恒成立)。所以只要输出操作后的x和2就行。

代码如下:

#include <iostream>
using namespace std;

int main() {
    int a,b=2,x;
    cin>>x;
    if(x==1)cout<<-1;
    else {
        if(x%2!=0){
            x--;
            cout<<x<<" "<<2;
        }
        else {
            cout<<x<<" "<<2;
        }
    }
    return 0;
}