cin >> не работает с большими числами, но работает с меньшими?

Почему cin терпит неудачу, когда я ввожу цифры вроде: 1 3999999999, но он работает для меньших чисел, таких как: 1 5?

int main()
{
    int N, X;
    cout << sizeof(int);

    cout << "Please enter two numbers: ";
    cin >> N >> X;

    vector <int> numbers = vector<int>();

    int currentNumber;

    cout << "Please enter list of numbers: ";
    for ( int i = 0; i < N; i++ )
    {
        cin >> currentNumber;
        if (cin.fail())
            cout << "Something sucks!";
        numbers.push_back(currentNumber);
    }

    sort(numbers.begin(), numbers.end(), Compare(X));

    cout << "The list is now: " << endl;
    for (int i = 0; i < N; i++)
    {
        cout << numbers[i] << " ";
    }
    cout << endl;

    return 0;
}

Это просто пропускает шаг.

Ответы на вопрос(4)

Ваш ответ на вопрос