% The block diagram code is probably more verbose than necessary
\begin{tikzpicture}[auto, node distance=2cm]
	\node[problem] (kol) {\problem{KOL}};
	\node[solution, right of=kol] (r-kol) {T/N};
	\node[left of=kol] (i-kol) {$G, n$};
	
	\node[problem, below of=kol] (kk) {\problem{KK}};
	\node[solution, right of=kk] (r-kk) {T/N};
    \node[left of=kk, align=center] (i-kk) {$G, c, c_k, k,$ \\ $c_{k+1}, c_{k+2}, \ldots$};
	
	\draw[->, alpha, left] (i-kol) -- node[right] {$f$} (i-kk);
	
	\draw[->] (kol) -- (r-kol);
	\draw[->] (kk) -- (r-kk);
	
	\draw[->] (i-kol) -- (kol);
	\draw[->] (i-kk) -- (kk);
	
	\draw[Implies-Implies, double distance=2pt] (r-kol) -- (r-kk);
\end{tikzpicture}