fun main(arr:Array) { val num = readLine()!!.toLong() val ans = if(canUse(num)) "YES" else "NO" println(ans) } fun canUse(num:Long):Boolean { var cur = 2.toLong() var target = num; val primeDivided = mutableMapOf() while (target > 1.toLong() && cur < target) { var cnt = 0 while (target % cur == 0.toLong()) { cnt++; target = target / cur } if(cnt > 0) { primeDivided[cur] = cnt } cur++ } return primeDivided.values.sum() > 2 }