#include <iostream>
#define max 20
#define infinity 9999
using namespace std;
class dijkstra{
private:
int n,graph[max][max],colour[max],start,distance[max],predecessor[max];
enum {green,yellow,red};
public:
void read_graph();
void initialize();
int select_min_distance_lable();
void update(int);
void output();
void function();