#include <iostream>
#include <algorithm>
#include <vector>
template<typename Range, typename ValT>
bool contains( Range&& range, ValT&& value )
{
using std::begin;
using std::end;
auto e = end(std::forward<Range>(range));
return std::find(begin(std::forward<Range>(range)), e, std::forward<ValT>(value)) != e;
}
int main()
{
std::cout << contains(std::vector<int>{1,2,3}, 3);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgoKdGVtcGxhdGU8dHlwZW5hbWUgUmFuZ2UsIHR5cGVuYW1lIFZhbFQ+CmJvb2wgY29udGFpbnMoIFJhbmdlJiYgcmFuZ2UsIFZhbFQmJiB2YWx1ZSApCnsKICAgIHVzaW5nIHN0ZDo6YmVnaW47Cgl1c2luZyBzdGQ6OmVuZDsKCiAgICBhdXRvIGUgPSBlbmQoc3RkOjpmb3J3YXJkPFJhbmdlPihyYW5nZSkpOwogICAgcmV0dXJuIHN0ZDo6ZmluZChiZWdpbihzdGQ6OmZvcndhcmQ8UmFuZ2U+KHJhbmdlKSksIGUsIHN0ZDo6Zm9yd2FyZDxWYWxUPih2YWx1ZSkpICE9IGU7Cn0KCmludCBtYWluKCkKewoJc3RkOjpjb3V0IDw8IGNvbnRhaW5zKHN0ZDo6dmVjdG9yPGludD57MSwyLDN9LCAzKTsKfQ==