#include <iostream>
#include <vector>
#include <set>
#include <list>
#include <type_traits>


template<typename C>
void f(C &cont )
{
    static_assert( !std::is_same<typename C::value_type, char>::value, "error" );
    std::cout << *cont.begin() << std::endl;
}

int main(int argc, char *argv[])
{
    std::vector<int> v{1,2,3};
    std::list<char> l{'a','b','c'};
    std::set<int> s{4,5,6};
    f(v);
    f(l);
    f(s);
}
