A graph is made up of vertices and coloured edges. Between every two distinct vertices there must be exactly one of the following:

Such a graph is called beautiful if

Below are four distinct examples of beautiful graphs on three vertices:

0857_GoodGraphs.jpg

Below are four examples of graphs that are not beautiful:

0857_BadGraphs.jpg

Let $G(n)$ be the number of beautiful graphs on the labelled vertices: $1,2,\ldots,n$. You are given $G(3)=24$, $G(4)=186$ and $G(15)=12472315010483328$.

Find $G(10^7)$. Give your answer modulo $10^9+7$.