#include <stdio.h>
typedef int bool;
#define true 1
#define false 0
bool search(int value, int array[], int n)
{
int left = 0;
int right = n - 1;
int middle = (left + right) / 2;
while (right >= left)
{
if (array[middle] == value)
return true;
else if (array[middle] > value)
right = middle - 1;
else if (array[middle] < value)
left = middle + 1;
middle = (left + right) / 2;
}
return false;
}
int main(void) {
int array[] = {1, 3, 7, 13, 25, 47, 105};
if (search(25, array, sizeof array / sizeof *array))
else
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIGludCBib29sOwojZGVmaW5lIHRydWUgMQojZGVmaW5lIGZhbHNlIDAKCmJvb2wgc2VhcmNoKGludCB2YWx1ZSwgaW50IGFycmF5W10sIGludCBuKQp7ICAgCiAgICBpbnQgbGVmdCA9IDA7CiAgICBpbnQgcmlnaHQgPSBuIC0gMTsKICAgIGludCBtaWRkbGUgPSAobGVmdCArIHJpZ2h0KSAvIDI7Cgp3aGlsZSAocmlnaHQgPj0gbGVmdCkKewogICAgaWYgKGFycmF5W21pZGRsZV0gPT0gdmFsdWUpCiAgICByZXR1cm4gdHJ1ZTsKICAgIGVsc2UgaWYgKGFycmF5W21pZGRsZV0gPiB2YWx1ZSkKICAgIHJpZ2h0ID0gbWlkZGxlIC0gMTsKICAgIGVsc2UgaWYgKGFycmF5W21pZGRsZV0gPCB2YWx1ZSkKICAgIGxlZnQgPSBtaWRkbGUgKyAxOwoKICAgIG1pZGRsZSA9IChsZWZ0ICsgcmlnaHQpIC8gMjsKfQoKcmV0dXJuIGZhbHNlOwp9IAoKCmludCBtYWluKHZvaWQpIHsKCWludCBhcnJheVtdID0gezEsIDMsIDcsIDEzLCAyNSwgNDcsIDEwNX07CglpZiAoc2VhcmNoKDI1LCBhcnJheSwgc2l6ZW9mIGFycmF5IC8gc2l6ZW9mICphcnJheSkpCgkJcHJpbnRmKCJmb3VuZFxuIik7CgllbHNlCgkJcHJpbnRmKCJub3QgZm91bmRcbiIpOwoJcmV0dXJuIDA7Cn0K