Let G = (V, E) be a directed graph. Each edge has a non-negative integer weight and a color, which is either red, white, or blue. Let s, t ∈ V be the start and target nodes respectively. A path from s to t is called patriotic if it starts with a sequence of zero or more red edges, followed by a sequence of zero or more white edges, and ends with a sequence of zero or more blue edges. Design an algorithm, as efficient as you can, that finds a patriotic path from s to t of minimum weight. What is the running time of your algorithm? You may use any standard algorithm as subroutine. Assume adjacency list representation of the graph.