#include <iterator> 
#include <iostream> 
  
void vector_ctor(size_t n, int element) 
{ 
    std::cout << "constructing from size\n"; 
} 
  
template <class I, 
    typename std::enable_if<not std::is_convertible<I, int>::value, int>::type = 0> 
void vector_ctor(I begin, I end) 
{ 
    std::cout << "iterators indeed!\n"; 
} 
  
int main() 
{ 
    vector_ctor(static_cast<size_t>(1), 1); 
    std::cout << '\n'; 
  
    vector_ctor(1, 1); 
    std::cout << '\n'; 
  
    int d; 
    vector_ctor(&d, &d); 
    std::cout << '\n'; 
}