#include<bits/stdc++.h>
using namespace std;
int first(int arr[], int low, int high, int x, int n);
int last(int arr[], int low, int high, int x, int n);
int count(int arr[], int x, int n)
{
    int i; 
    int j; 
    i = first(arr, 0, n - 1, x, n);
    if (i == -1)
        return i;
    j = last(arr, i, n - 1, x, n);
    return j - i + 1;
}
int first(int arr[], int low, int high, int x, int n)
{
    if (high >= low)
    {
        int mid = (low + high) / 2; 
        if ((mid == 0 || x > arr[mid - 1]) && arr[mid] == x)
            return mid;
        else if (x > arr[mid])
            return first(arr, (mid + 1), high, x, n);
        else
            return first(arr, low, (mid - 1), x, n);
    }
    return -1;
}

int last(int arr[], int low, int high, int x, int n)

{
    if (high >= low)
    {
        int mid = (low + high) / 2; 
        if ((mid == n - 1 || x < arr[mid + 1]) && arr[mid] == x)
            return mid;
        else if (x < arr[mid])
            return last(arr, low, (mid - 1), x, n);
        else
            return last(arr, (mid + 1), high, x, n);
    }
    return -1;
}
int main()
{
    
    // int n, x;
    // cin >> n >> x;
    // int arr[n];
    // for (int i = 0; i < n; i++)
    // {
    //     cin >> arr[i];
    // }
    int arr[] = {1, 2, 2, 2, 2, 3, 4, 7, 8, 8};
    int n = 10;
    int x = 2;
    int ans = count(arr, x, n);
    cout << ans << "\n";
    
    return 0;
}