import java.util.*;
public class Main {
public static void main
(String[] args
) { int []arr = {5,7,7,8,8,10};
int target =7;
int ans[] = new int[2];
ans[0] = firstIndex(arr,target);
ans[1] = secondIndex(arr,target);
}
public static int firstIndex(int []arr,int t){
int f =0; int b = arr.length -1; int ans = -1;
while(f<=b){
int mid = f+(b-f)/2;
if(t<= arr[mid]){
b = mid-1;
}
else{
f = mid +1;
}
if(t == arr[mid]){
ans = mid;
}
}
return ans;
}
public static int secondIndex(int []arr, int t){
int f =0; int b = arr.length -1; int ans = -1;
while(f<=b){
int mid = f+(b-f)/2;
if(t >= arr[mid]){
f = mid +1;
}
else{
b = mid -1;
}
if(t == arr[mid]){
ans = mid;
}
}
return ans;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgaW50IFtdYXJyID0gezUsNyw3LDgsOCwxMH07CiAgICAgICAgaW50IHRhcmdldCA9NzsKICAgICAgICBpbnQgYW5zW10gPSBuZXcgaW50WzJdOwogICAgICAgIGFuc1swXSA9IGZpcnN0SW5kZXgoYXJyLHRhcmdldCk7CiAgICAgICAgYW5zWzFdID0gc2Vjb25kSW5kZXgoYXJyLHRhcmdldCk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGFuc1sxXSk7U3lzdGVtLm91dC5wcmludGxuKGFuc1swXSk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBpbnQgZmlyc3RJbmRleChpbnQgW11hcnIsaW50IHQpewogICAgICAgIGludCBmID0wOyBpbnQgYiA9IGFyci5sZW5ndGggLTE7IGludCBhbnMgPSAtMTsKICAgICAgICB3aGlsZShmPD1iKXsKICAgICAgICAgICAgaW50IG1pZCA9IGYrKGItZikvMjsKICAgICAgICAgICAgaWYodDw9IGFyclttaWRdKXsKICAgICAgICAgICAgICAgIGIgPSBtaWQtMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgZiA9IG1pZCArMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZih0ID09IGFyclttaWRdKXsKICAgICAgICAgICAgICAgIGFucyA9IG1pZDsKICAgICAgICAgICAgfQoKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFuczsKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgaW50IHNlY29uZEluZGV4KGludCBbXWFyciwgaW50IHQpewogICAgICAgaW50IGYgPTA7IGludCBiID0gYXJyLmxlbmd0aCAtMTsgaW50IGFucyA9IC0xOwogICAgICAgd2hpbGUoZjw9Yil7CiAgICAgICAgICAgaW50IG1pZCA9IGYrKGItZikvMjsKICAgICAgICAgICBpZih0ID49IGFyclttaWRdKXsKICAgICAgICAgICAgICAgZiA9IG1pZCArMTsKICAgICAgICAgICB9CiAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgYiA9IG1pZCAtMTsKICAgICAgICAgICB9CiAgICAgICAgICAgaWYodCA9PSBhcnJbbWlkXSl7CiAgICAgICAgICAgICAgIGFucyA9IG1pZDsKICAgICAgICAgICB9CiAgICAgICB9CiAgICAgICByZXR1cm4gYW5zOwogICAgfQp9Cg==