/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
int m;
int l = 0, r = A.length;
while( r > l )
{
m = l + (r - l)/2;
if( A[m].compareTo(key) < 0 )
l = m + 1;
else
r = m;
}
return l;
}
{
int l = 0, r = A.length;
int m;
while( r > l)
{
m = l + (r - l)/2;
if( A[m].compareTo(key) > 0 )
r = m;
else
l = m + 1;
}
return r - 1;
}
{
String[] arr
= {"aa",
"aa",
"bb",
"bb",
"bb",
"cc",
"cc",
"cc"}; int l = BSL(arr, "aa");
int r = BSR(arr, "aa");
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKcHVibGljIHN0YXRpYyBpbnQgQlNMKFN0cmluZyBBW10sIFN0cmluZyBrZXkpIAp7IAogICAgaW50IG07IAogICAgaW50IGwgPSAwLCByID0gQS5sZW5ndGg7IAogIAogICAgd2hpbGUoIHIgPiBsICkgCiAgICB7IAogICAgICAgIG0gPSBsICsgKHIgLSBsKS8yOyAKICAKICAgICAgICBpZiggQVttXS5jb21wYXJlVG8oa2V5KSA8IDAgKSAKICAgICAgICAgICAgbCA9IG0gKyAxOyAKICAgICAgICBlbHNlCiAgICAgICAgICAgIHIgPSBtOyAKICAgIH0gCiAgCiAgICByZXR1cm4gbDsgCn0gCiAgCnB1YmxpYyBzdGF0aWMgaW50IEJTUihTdHJpbmcgQVtdLCBTdHJpbmcga2V5KSAKeyAKCWludCBsID0gMCwgciA9IEEubGVuZ3RoOyAKICAgIGludCBtOyAKICAKICAgIHdoaWxlKCByID4gbCkgCiAgICB7IAogICAgICAgIG0gPSBsICsgKHIgLSBsKS8yOyAKICAKICAgICAgICBpZiggQVttXS5jb21wYXJlVG8oa2V5KSA+IDAgKSAKICAgICAgICAgICAgciA9IG07IAogICAgICAgIGVsc2UKICAgICAgICAgICAgbCA9IG0gKyAxOyAKICAgIH0gCiAgICByZXR1cm4gciAtIDE7IAoJCn0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJICAgU3RyaW5nW10gYXJyID0geyJhYSIsImFhIiwiYmIiLCJiYiIsImJiIiwiY2MiLCJjYyIsImNjIn07CgkgICBpbnQgbCA9IEJTTChhcnIsICJhYSIpOwoJICAgaW50IHIgPSBCU1IoYXJyLCAiYWEiKTsKCSAgIFN5c3RlbS5vdXQucHJpbnRsbihsKTsKCSAgIFN5c3RlbS5vdXQucHJpbnRsbihyKTsKCSAgIAoJfQp9