#include <list>
#include <algorithm>

template<class Vertex, class Edge>
class Graph
{
public:
    typedef int VertexID;
};

template<template<typename> class List, typename T>
bool isInList(List<T> const& l, T x)
{
	return std::find(std::begin(l), std::end(l), x) != std::end(l);
}

template<class Vertex, class Edge>
void fuuuuu(Graph<Vertex, Edge> const& g)
{
	typedef Graph<Vertex, Edge> MyGraph;
	typedef typename MyGraph::VertexID Node;
	typedef std::list<Node> List;

	List l;
	Node id;
	
	if ( isInList(l, id) )
		return;
}

int main()
{
	Graph<double, float> g;
	
	fuuuuu(g);
	
	return 0;
}
