#include <stdio.h>
int main(void) {
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 = (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+CgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgVFsyMF0gPSB7MywgNCwgNSwgOCwgMTEsIDEzLCAxOSwgMjAsIDIzLCAyNiwgMjksIDMwLCAzMSwgMzMsIDM0LCAzNywgMzgsIDQ0LCA0NSwgNDh9OwogICAgaW50IHg7CiAgICAKICAgIHNjYW5mKCIlZCIsICZ4KTsKCiAgICBpbnQgTCA9IDA7CiAgICBpbnQgSCA9IDE5OyAKICAgIGludCBNID0gKEwgKyBIKSAvIDI7CgogICAgd2hpbGUgKChMIDw9IEgpICYmICh4ICE9IFRbTV0pKSB7CiAgICAgICAgaWYgKHggPCBUW01dKSB7CiAgICAgICAgICAgIEggPSBNIC0gMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBMID0gTSArIDE7CiAgICAgICAgfQogICAgICAgIE0gPSAoTCArIEgpIC8gMjsKICAgIH0KCiAgICBpZiAoeCA9PSBUW01dKSB7CiAgICAgICAgcHJpbnRmKCJGb3VuZCBhdCAlZFxuIiwgTSArIDEpOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIk5vdCBmb3VuZFxuIik7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=