#include <stdio.h>
int main() {
int T[20] = {3, 4, 5, 8, 11, 13, 19, 20, 23, 26, 29, 30, 31, 33, 34, 37, 38, 44, 45, 48};
int x;
int L = 0;
int H = 19;
int M;
M = (L + H) / 2;
while ((L <= H) && (x != T[M])) {
if (x < T[M]) {
H = M - 1;
} else {
L = M + 1;
}
M = (L + H) / 2;
}
if (x == T[M]) {
printf("Found at %d\n", M
+ 1); } else {
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIGludCBUWzIwXSA9IHszLCA0LCA1LCA4LCAxMSwgMTMsIDE5LCAyMCwgMjMsIDI2LCAyOSwgMzAsIDMxLCAzMywgMzQsIDM3LCAzOCwgNDQsIDQ1LCA0OH07CiAgICBpbnQgeDsKICAgIGludCBMID0gMDsKICAgIGludCBIID0gMTk7CiAgICBpbnQgTTsKCiAgICBwcmludGYoIuaknOe0ouOBl+OBn+OBhOaVsOWApOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDogIik7CiAgICBzY2FuZigiJWQiLCAmeCk7CgogICAgTSA9IChMICsgSCkgLyAyOwogICAgd2hpbGUgKChMIDw9IEgpICYmICh4ICE9IFRbTV0pKSB7CiAgICAgICAgaWYgKHggPCBUW01dKSB7CiAgICAgICAgICAgIEggPSBNIC0gMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBMID0gTSArIDE7CiAgICAgICAgfQogICAgICAgIE0gPSAoTCArIEgpIC8gMjsKICAgIH0KCiAgICBpZiAoeCA9PSBUW01dKSB7CiAgICAgICAgcHJpbnRmKCJGb3VuZCBhdCAlZFxuIiwgTSArIDEpOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIk5vdCBmb3VuZFxuIik7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K