\begin{tikzpicture}[scale=0.50,auto]

% Lines (some with red parts)
\path[edge] (0,7) -- (13.50,7);
\path[edge] (0,6) -- (13.50,6);
\path[edge] (0,5) -- (13.50,5);

\path[edge,color=red,very thick] (0,4) -- (3,4);
\path[edge] (3,4) -- (13.50,4);

\path[edge] (0,3) -- (3,3);
\path[edge,color=red,very thick] (3,3) -- (4.5,3);
\path[edge] (4.5,3) -- (13.50,3);

\path[edge] (0,2) -- (4.50,2);
\path[edge,color=red,very thick] (4.50,2) -- (6,2);
\path[edge] (6,2) -- (13.50,2);

\path[edge] (0,1) -- (6,1);
\path[edge,color=red,very thick] (6,1) -- (7.5,1);
\path[edge] (7.5,1) -- (13.50,1);

\path[edge] (0,0) -- (7.50,0);
\path[edge,color=red,very thick] (7.50,0) -- (13.50,0);

% Red comparators
\foreach \pos in {(3.00,3), (4.50,2), (6.00,1), (7.50,0)}
{
  \path[draw,color=red,very thick] \pos -- +(0,1);
  \draw \pos circle(5pt)[color=red,fill=red] {};
  \draw \pos+(0,1) circle(5pt)[color=red,fill=red] {};
}

% Blue comparators
\foreach \pos in {(1.50,4), (10.50,0)}
{
  \path[draw,color=teal,thick] \pos -- +(0,1);
  \draw \pos circle(5pt)[color=teal,fill=teal] {};
  \draw \pos+(0,1) circle(5pt)[color=teal,fill=teal] {};
}

\node[vertex] (v0) at (1.50,0) {};
\node[vertex] (v1) at (1.50,1) {};
\path[comp] (v0) -- (v1);

\node[vertex] (v2) at (1.50,2) {};
\node[vertex] (v3) at (1.50,3) {};
\path[comp] (v2) -- (v3);

\node[vertex] (v6) at (1.50,6) {};
\node[vertex] (v7) at (1.50,7) {};
\path[comp] (v6) -- (v7);

\node[vertex] (v8) at (3.00,1) {};
\node[vertex] (v9) at (3.00,2) {};
\path[comp] (v8) -- (v9);

\node[vertex] (v12) at (3.00,5) {};
\node[vertex] (v13) at (3.00,6) {};
\path[comp] (v12) -- (v13);

\node[vertex] (v14) at (4.50,0) {};
\node[vertex] (v15) at (4.50,1) {};
\path[comp] (v14) -- (v15);

\node[vertex] (v18) at (4.50,4) {};
\node[vertex] (v19) at (4.50,5) {};
\path[comp] (v18) -- (v19);

\node[vertex] (v20) at (4.50,6) {};
\node[vertex] (v21) at (4.50,7) {};
\path[comp] (v20) -- (v21);

\node[vertex] (v24) at (6.00,3) {};
\node[vertex] (v25) at (6.00,4) {};
\path[comp] (v24) -- (v25);

\node[vertex] (v26) at (6.00,5) {};
\node[vertex] (v27) at (6.00,6) {};
\path[comp] (v26) -- (v27);

\node[vertex] (v30) at (7.50,2) {};
\node[vertex] (v31) at (7.50,3) {};
\path[comp] (v30) -- (v31);

\node[vertex] (v32) at (7.50,4) {};
\node[vertex] (v33) at (7.50,5) {};
\path[comp] (v32) -- (v33);

\node[vertex] (v34) at (7.50,6) {};
\node[vertex] (v35) at (7.50,7) {};
\path[comp] (v34) -- (v35);

\node[vertex] (v36) at (9.00,1) {};
\node[vertex] (v37) at (9.00,2) {};
\path[comp] (v36) -- (v37);

\node[vertex] (v38) at (9.00,3) {};
\node[vertex] (v39) at (9.00,4) {};
\path[comp] (v38) -- (v39);

\node[vertex] (v40) at (9.00,5) {};
\node[vertex] (v41) at (9.00,6) {};
\path[comp] (v40) -- (v41);

\node[vertex] (v44) at (10.50,2) {};
\node[vertex] (v45) at (10.50,3) {};
\path[comp] (v44) -- (v45);

\node[vertex] (v46) at (10.50,4) {};
\node[vertex] (v47) at (10.50,5) {};
\path[comp] (v46) -- (v47);

\node[vertex] (v48) at (10.50,6) {};
\node[vertex] (v49) at (10.50,7) {};
\path[comp] (v48) -- (v49);

\node[vertex] (v50) at (12.00,1) {};
\node[vertex] (v51) at (12.00,2) {};
\path[comp] (v50) -- (v51);

\node[vertex] (v52) at (12.00,3) {};
\node[vertex] (v53) at (12.00,4) {};
\path[comp] (v52) -- (v53);

\node[vertex] (v54) at (12.00,5) {};
\node[vertex] (v55) at (12.00,6) {};
\path[comp] (v54) -- (v55);

\end{tikzpicture}
