using System; using System.Collections.Generic; using System.Linq; namespace yukicoder { public class Program { public static void Main() { var n = long.Parse(Console.ReadLine()); var s = Prime((int)Math.Sqrt(n)); var k = new List(); foreach(var m in s) { while (n % m == 0) { k.Add(m); n /= m; } } if (n > 1) { k.Add(1); } k.Add(n); if (k.Count() > 3) { Console.WriteLine("YES"); } else { Console.WriteLine("NO"); } } static List Prime(int n) { var isPrime = new bool[n + 1]; var k = new List(); for (int i = 2; i <= n; i++) { isPrime[i] = true; } for (int i = 2; i * i <= n; i++) { if (isPrime[i]) { for (int j = i * i; j <= n; j += i) { isPrime[j] = false; } } } for (int i = 2; i <= n; i++) { if (isPrime[i]) { k.Add(i); } } return k; } } }