defmodule Main do defp bis(_, l, h) when l > h, do: :ng defp bis(n, l, h) do x = div(h + l, 2) s = div(x * (x + 1), 2) cond do s < n -> bis(n, x + 1, h) s == n -> x s > n -> bis(n, l, x - 1) end end def main do n = IO.gets("") |> String.trim |> String.to_integer ans = case bis(n, 1, n) do :ng -> "NO" m -> "YES\n#{m}" end IO.puts ans end end