Description
===========

A graph is a set of nodes and a symmetric, binary arc relation on nodes. Given 3 colours, a graph is colourable if each node can be assigned a colour in such a way that any two nodes that are arced together.

Input
-----

A number of node facts which give the names of the nodes. Node names are consecutive, ascending integers starting from 1.

A number of arc facts which say which nodes are arced. Note that if arc(N1,N2). is included then so will arc(N2,N1).

For example:

node(1). node(2). node(3). arc(1,2). arc(2,1). arc(2,3). arc(3,2). arc(3,1). arc(1,3).

Output
------

The initial facts and a set of col predicates, one for each node, specifying the node's colour. Continuing the example:

col(1,red). col(2,green). col(3,blue).
