import java.util.*;
import java.lang.*;
import java.io.*;
public class Main {
public static void main
(String[] args
){ int[] arr = {-5, -5, 1, 1, 1, 1, 1, 1,
1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 67, 67, 99};
int lo = getFirst(arr, -5);
if(lo==arr.length){ // the number is not present in the array.
}else{
int hi = getLast(arr, -5);
System.
out.
println((hi
-lo
+1)); }
}
// Returns last occurence of num or arr.length if it does not exists in arr.
static int getLast(int[] arr, int num){
int lo = 0, hi = arr.length-1, ans = arr.length;
while(lo<=hi){
int mid = (lo+hi)/2;
if(arr[mid]==num){
ans = mid;
lo = mid+1;
}else if(arr[mid]<num){
lo = mid+1;
}else if(arr[mid]>num){
hi = mid-1;
}
}
return ans;
}
// Returns first occurence of num or arr.length if it does not exists in arr.
static int getFirst(int[] arr, int num){
int lo = 0, hi = arr.length-1, ans = arr.length;
while(lo<=hi){
int mid = (lo+hi)/2;
if(arr[mid]==num){
ans = mid;
hi = mid-1;
}else if(arr[mid]<num){
lo = mid+1;
}else if(arr[mid]>num){
hi = mid-1;
}
}
return ans;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKXsKICAgICAgICBpbnRbXSBhcnIgPSB7LTUsIC01LCAxLCAxLCAxLCAxLCAxLCAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwgMSwgMiwgMiwgMiwgMiwgMiwgMywgMywgMywgNjcsIDY3LCA5OX07CiAgICAgICAgaW50IGxvID0gZ2V0Rmlyc3QoYXJyLCAtNSk7CiAgICAgICAgaWYobG89PWFyci5sZW5ndGgpeyAvLyB0aGUgbnVtYmVyIGlzIG5vdCBwcmVzZW50IGluIHRoZSBhcnJheS4KICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKDApOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBpbnQgaGkgPSBnZXRMYXN0KGFyciwgLTUpOwogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKGhpLWxvKzEpKTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUmV0dXJucyBsYXN0IG9jY3VyZW5jZSBvZiBudW0gb3IgYXJyLmxlbmd0aCBpZiBpdCBkb2VzIG5vdCBleGlzdHMgaW4gYXJyLgogICAgc3RhdGljIGludCBnZXRMYXN0KGludFtdIGFyciwgaW50IG51bSl7CiAgICAgICAgaW50IGxvID0gMCwgaGkgPSBhcnIubGVuZ3RoLTEsIGFucyA9IGFyci5sZW5ndGg7CiAgICAgICAgd2hpbGUobG88PWhpKXsKICAgICAgICAgICAgaW50IG1pZCA9IChsbytoaSkvMjsKICAgICAgICAgICAgaWYoYXJyW21pZF09PW51bSl7CiAgICAgICAgICAgICAgICBhbnMgPSBtaWQ7CiAgICAgICAgICAgICAgICBsbyA9IG1pZCsxOwogICAgICAgICAgICB9ZWxzZSBpZihhcnJbbWlkXTxudW0pewogICAgICAgICAgICAgICAgbG8gPSBtaWQrMTsKICAgICAgICAgICAgfWVsc2UgaWYoYXJyW21pZF0+bnVtKXsKICAgICAgICAgICAgICAgIGhpID0gbWlkLTE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFuczsKICAgIH0KCiAgICAvLyBSZXR1cm5zIGZpcnN0IG9jY3VyZW5jZSBvZiBudW0gb3IgYXJyLmxlbmd0aCBpZiBpdCBkb2VzIG5vdCBleGlzdHMgaW4gYXJyLgogICAgc3RhdGljIGludCBnZXRGaXJzdChpbnRbXSBhcnIsIGludCBudW0pewogICAgICAgIGludCBsbyA9IDAsIGhpID0gYXJyLmxlbmd0aC0xLCBhbnMgPSBhcnIubGVuZ3RoOwogICAgICAgIHdoaWxlKGxvPD1oaSl7CiAgICAgICAgICAgIGludCBtaWQgPSAobG8raGkpLzI7CiAgICAgICAgICAgIGlmKGFyclttaWRdPT1udW0pewogICAgICAgICAgICAgICAgYW5zID0gbWlkOwogICAgICAgICAgICAgICAgaGkgPSBtaWQtMTsKICAgICAgICAgICAgfWVsc2UgaWYoYXJyW21pZF08bnVtKXsKICAgICAgICAgICAgICAgIGxvID0gbWlkKzE7CiAgICAgICAgICAgIH1lbHNlIGlmKGFyclttaWRdPm51bSl7CiAgICAgICAgICAgICAgICBoaSA9IG1pZC0xOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBhbnM7CiAgICB9Cn0=