Problem: Let $ABC$ be an acute-angled triangle with $AB < AC$.
Let $\Omega$ be the circumcircle of $ABC$.
Let $S$ be the midpoint of the arc $CB$ of $\Omega$ containing $A$.
The perpendicular from $A$ to $BC$ meets $BS$ at $D$ and meets $\Omega$ again at $E \neq A$.
The line through $D$ parallel to $BC$ meets line $BE$ at $L$.
Denote the circumcircle of triangle $BDL$ by $\omega$.
Let $\omega$ meet $\Omega$ again at $P \neq B$.
Prove that the line tangent to $\omega$ at $P$ meets line $BS$
on the internal angle bisector of $\angle BAC$.

Solution: \begin{claim*}
  We have $LPS$ collinear.
\end{claim*}
\begin{proof}
  Because $\dang LPB = \dang LDB = \dang CBD = \dang CBS = \dang SCB = \dang SPB$.
\end{proof}

Let $F$ be the antipode of $A$, so $AMFS$ is a rectangle.
\begin{claim*}
  We have $PDF$ collinear. (This lets us erase $L$.)
\end{claim*}
\begin{proof}
   Because $\dang SPD = \dang LPD = \dang LBD = \dang SBE = \dang FCS = \dang FPS$.
\end{proof}

Let us define $X = \ol{AM} \cap \ol{BS}$ and complete chord $\ol{PXQ}$.
We aim to show that $\ol{PXQ}$ is tangent to $(PDLB)$.

\begin{center}
\begin{asy}
/*
    Converted from GeoGebra by User:Azjps using Evan's magic cleaner
    https://github.com/vEnhance/dotfiles/blob/main/py-scripts/export-ggb-clean-asy.py
*/
pair C = (0.5,0.);
pair B = (-4.5,0.);
pair A = (-3.54989,4.84867);
pair M = (-2.,-1.19129);
pair S = (-2.,5.24638);
pair X = (-3.07373,2.99308);
pair E = (-3.54989,-0.79358);
pair D = (-3.54989,1.99384);
pair L = (-6.88710,1.99384);
pair P = (-4.96929,3.27021);
pair Q = (1.20076,2.36814);
pair F = (-0.45010,-0.79358);

size(9cm);
pen qqffff = rgb(0.,1.,1.);
pen yqqqqq = rgb(0.50196,0.,0.);
pen zzttqq = rgb(0.6,0.2,0.);
pen ffxfqq = rgb(1.,0.49803,0.);
pen qqwuqq = rgb(0.,0.39215,0.);
draw(A--B--C--cycle, linewidth(0.6) + zzttqq);
draw(A--M, linewidth(0.6) + qqffff);
draw(B--S, linewidth(0.6) + qqffff);
draw(circle((-2.,2.02754), 3.21884), linewidth(0.6) + yqqqqq);
draw(A--B, linewidth(0.6) + zzttqq);
draw(B--C, linewidth(0.6) + zzttqq);
draw(C--A, linewidth(0.6) + zzttqq);
draw(circle((-5.21849,1.56567), 1.72266), linewidth(0.6) + ffxfqq);
draw(A--E, linewidth(0.6) + yqqqqq);
draw(D--L, linewidth(0.6) + qqwuqq);
draw(P--Q, linewidth(0.6) + ffxfqq);
draw(L--E, linewidth(0.6) + ffxfqq);
draw(E--Q, linewidth(0.6) + qqwuqq);
draw(E--F, linewidth(0.6) + yqqqqq);
draw(S--M, linewidth(0.6) + yqqqqq);
draw(A--F, linewidth(0.6));
draw(P--F, dashed);
draw(S--L, dashed);

dot("$C$", C, dir((2.343, -22.443)));
dot("$B$", B, dir((-19.721, -25.483)));
dot("$A$", A, dir((-11.383, 10.955)));
dot("$M$", M, dir((-8.308, -21.862)));
dot("$S$", S, dir((3.090, 6.140)));
dot("$X$", X, dir((3.315, 5.773)));
dot("$E$", E, dir((-12.903, -21.357)));
dot("$D$", D, dir(20));
dot("$L$", L, dir((-24.946, -1.451)));
dot("$P$", P, dir((-12.308, 13.017)));
dot("$Q$", Q, dir(20));
dot("$F$", F, dir((1.604, -19.837)));
\end{asy}
\end{center}

\begin{claim*}
  [Main projective claim]
  We have $XP = XA$.
\end{claim*}

\begin{proof}
  Introduce $Y = \ol{PDF} \cap \ol{AM}$.
  Note that
  \[ -1 = (SM;EF) \overset{A}{=} (S,X;D,\ol{AF} \cap \ol{ES}) \overset{F}{=} (\infty X;YA) \]
  where $\infty = \ol{AM} \cap \ol{SF}$ is at infinity (because $AMSF$ is a rectangle).
  Thus, $XY = XA$.
  \begin{center}
  \begin{asy}
  /*
      Converted from GeoGebra by User:Azjps using Evan's magic cleaner
      https://github.com/vEnhance/dotfiles/blob/main/py-scripts/export-ggb-clean-asy.py
  */
  pair C = (0.5,0.);
  pair B = (-4.5,0.);
  pair A = (-3.54989,4.84867);
  pair M = (-2.,-1.19129);
  pair S = (-2.,5.24638);
  pair X = (-3.07373,2.99308);
  pair E = (-3.54989,-0.79358);
  pair D = (-3.54989,1.99384);
  pair P = (-4.96929,3.27021);
  pair Q = (1.20076,2.36814);
  pair K = (10.67519,1.99384);
  pair F = (-0.45010,-0.79358);
  pair Y = (-2.59758,1.13749);

  import graph;
  size(9cm);
  pen qqffff = rgb(0.,1.,1.);
  pen yqqqqq = rgb(0.50196,0.,0.);
  pen zzttqq = rgb(0.6,0.2,0.);
  pen ffxfqq = rgb(1.,0.49803,0.);
  pen qqwuqq = rgb(0.,0.39215,0.);
  pen ffqqff = rgb(1.,0.,1.);
  draw(circle((-2.,2.02754), 3.21884), linewidth(0.6) + yqqqqq);
  draw(A--E, linewidth(0.6) + yqqqqq);
  draw(E--F, linewidth(0.6) + yqqqqq);
  draw(S--M, linewidth(0.6) + yqqqqq);
  draw(A--F, linewidth(0.6));

  draw(A--M, blue);
  draw(S--D, blue);
  draw(D--F, red);
  draw(D--P, gray+dotted);
  draw(P--Q, gray+dotted);

  /*
  draw(A--M, linewidth(0.6) + qqffff);
  draw(B--S, linewidth(0.6) + qqffff);
  draw(P--F, linewidth(0.6) + ffqqff);
  draw(P--Q, linewidth(0.6) + ffxfqq);
  */

  dot("$A$", A, dir((-10.485, 9.780)));
  dot("$M$", M, dir((-7.272, -19.720)));
  dot("$S$", S, dir((3.090, 5.242)));
  dot("$X$", X, dir(310));
  dot("$E$", E, dir((-11.866, -19.423)));
  dot("$D$", D, dir(20));
  dot("$P$", P, dir((-16.384, -0.247)));
  dot("$F$", F, dir((1.466, -18.041)));
  dot("$Y$", Y, dir((2.746, 5.774)));
  dot(extension(A,F,B,S));
  \end{asy}
  \end{center}
  Since $\triangle APY$ is also right, we get $XP = XA$.
\end{proof}

\begin{proof}[Alternative proof of claim without harmonic bundles,
    from Solution 9 of the marking scheme]
  With $Y = \ol{PDF} \cap \ol{AM}$ defined as before, note that
  $\ol{AE} \parallel \ol{SM}$ and $\ol{AM} \parallel \ol{SF}$ (as $AMFS$ is a rectangle)
  gives respectively the similar triangles
  \[ \triangle AXD \sim \triangle MXS, \qquad \triangle XDY \sim \triangle SDF. \]
  From this we conclude
  \[ \frac{AX}{XD} = \frac{AX+XM}{XD+SX} = \frac{AM}{SD} = \frac{SF}{SD} = \frac{XY}{XD}. \]
  So $AX = XY$ and as before we conclude $XP = XA$.
\end{proof}

From $XP = XA$, we conclude that $\arc{PM}$ and $\arc{AQ}$ have the same measure.
Since $\arc{AS}$ and $\arc{EM}$ have the same measure,
it follows $\arc{PE}$ and $\arc{SQ}$ have the same measure.
The desired tangency then follows from
\[ \dang QPL = \dang QPS = \dang PQE = \dang PFE = \dang PDL. \]

\begin{remark*}
  [Logical ordering]
  This solution is split into two phases:
  the ``synthetic phase'' where we do a bunch of angle chasing, and the
  ``projective phase'' where we use cross-ratios because I like projective.
  For logical readability (so we write in only one logical direction),
  the projective phase is squeezed in two halves of the synthetic phase,
  but during an actual solve it's expected to complete
  the whole synthetic phase first (i.e.\ to reduce the problem to show $XP=XA$).
\end{remark*}

\begin{remark*}
  There are quite a multitude of approaches for this problem;
  the marking scheme for this problem at the actual IMO had 13 different solutions.
\end{remark*}