We will apply DIT on $ABCD$ and line $MN$. Therefore we have
\begin{align*}
(S, T), (M, N)
\end{align*}are the involution pair. It is known that an involution on a line is either reflection WRT a fixed point or an inversion. Clearly they are not reflection. So the pairs are inversion. Suppose the center of inversion is $O$ and we get $$OS\cdot OT=OM\cdot ON$$[asy][asy]
/* Geogebra to Asymptote conversion, documentation at artofproblemsolving.com/Wiki go to User:Azjps/geogebra */
import graph; size(12cm);
real labelscalefactor = 0.5; /* changes label-to-point distance */
pen dps = linewidth(0.7) + fontsize(10); defaultpen(dps); /* default pen style */
pen dotstyle = black; /* point style */
real xmin = -12., xmax = 6., ymin = -7., ymax = 5.4; /* image dimensions */
pen ffxfqq = rgb(1.,0.4980392156862745,0.); pen qqffff = rgb(0.,1.,1.);
/* draw figures */
draw(circle((0.4787705612490665,-0.42923049660257007), 5.), linewidth(0.8));
draw((1.6321475408029935,4.435923308061272)--(3.9883459309953677,-3.990533730542375), linewidth(0.8) + blue);
draw((-3.004854840122384,-4.0159217382512855)--(-4.509038568390384,-0.7781718760423679), linewidth(0.8) + blue);
draw((-4.509038568390384,-0.7781718760423679)--(3.9883459309953677,-3.990533730542375), linewidth(0.8));
draw((-3.004854840122384,-4.0159217382512855)--(1.6321475408029935,4.435923308061272), linewidth(0.8));
draw(circle((-1.0544133919328547,-3.802538896381981), 1.607352935425707), linewidth(0.8));
draw((xmin, 0.36932104999553933*xmin-2.1195359640545486)--(xmax, 0.36932104999553933*xmax-2.1195359640545486), linewidth(0.8) + ffxfqq); /* line */
draw(circle((-5.124229257636485,-12.756939975809772), 8.733266542825747), linewidth(0.8) + qqffff);
draw(circle((-4.18751358472585,-3.666072878036084), 2.6928342565447796), linewidth(0.8) + red);
draw((-4.18751358472585,-3.666072878036084)--(-0.5381481223222374,-5.324726017078879), linewidth(0.8));
draw((-1.7920310306334626,-1.8053128007951837)--(-1.9375196098602507,-5.145560440095857), linewidth(0.8));
draw((-10.776593302393856,-6.099558717869544)--(-4.509038568390384,-0.7781718760423679), linewidth(0.8));
draw((-4.509038568390384,-0.7781718760423679)--(1.6321475408029935,4.435923308061272), linewidth(0.8) + blue);
draw((-3.004854840122384,-4.0159217382512855)--(3.9883459309953677,-3.990533730542375), linewidth(0.8) + blue);
draw((-5.155934164228222,-4.02373098329519)--(-3.004854840122384,-4.0159217382512855), linewidth(0.8));
/* dots and labels */
dot((-3.004854840122384,-4.0159217382512855),dotstyle);
label("$B$", (-3.5511385043475667,-4.783152351392899), NE * labelscalefactor);
dot((3.9883459309953677,-3.990533730542375),dotstyle);
label("$C$", (4.083412841028966,-4.580644358146837), NE * labelscalefactor);
dot((1.6321475408029935,4.435923308061272),dotstyle);
label("$D$", (1.7748217180238601,4.896729725768863), NE * labelscalefactor);
dot((-4.509038568390384,-0.7781718760423679),dotstyle);
label("$A$", (-4.847189661122362,-0.5304844932255977), NE * labelscalefactor);
dot((-1.7920310306334626,-1.8053128007951837),linewidth(4.pt) + dotstyle);
label("$E$", (-2.072830153651315,-1.3810180648590578), NE * labelscalefactor);
dot((-2.463611367549884,-3.029399501099019),dotstyle);
label("$M$", (-2.943614524609381,-2.6568184223092484), NE * labelscalefactor);
dot((-0.486027308419252,-2.299036079926453),dotstyle);
label("$N$", (-0.6755250002534883,-1.7860340513511817), NE * labelscalefactor);
dot((-2.54068728529934,-4.414562893394242),dotstyle);
label("$Q$", (-2.8018589293371376,-4.985660344638961), NE * labelscalefactor);
dot((-0.5381481223222374,-5.324726017078879),dotstyle);
label("$R$", (-0.5135186056566388,-5.8969463142462395), NE * labelscalefactor);
dot((-5.155934164228222,-4.02373098329519),dotstyle);
label("$S$", (-5.576218436808185,-3.649107589214952), NE * labelscalefactor);
dot((-10.776593302393856,-6.099558717869544),dotstyle);
label("$T$", (-11.489451839593192,-5.653936722350966), NE * labelscalefactor);
dot((-4.18751358472585,-3.666072878036084),dotstyle);
label("$Z$", (-4.280167280033389,-3.3048440006966464), NE * labelscalefactor);
dot((-1.8174028298105072,-2.387819639176234),dotstyle);
label("$U$", (-1.7690681637822223,-2.8795772148799164), NE * labelscalefactor);
dot((-1.9375196098602507,-5.145560440095857),dotstyle);
label("$V$", (-1.72856656513301,-5.8969463142462395), NE * labelscalefactor);
clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle);
/* end of picture */
[/asy][/asy]
Suppose the line $QR$ intersect $MN$ at $Z$. We claim $O\equiv Z$. For the proof Just take a circle with radius $\sqrt{ZM\cdot ZM}$. Therefore we get $M, N$ are inverses of each other.
Now by the PoP we have
\begin{align*}
ZS\cdot ZT=ZN\cdot ZN=ZQ\cdot ZR
\end{align*}Which means $S, T, R, Q$ are cyclic.$\square$