โจทย์
จงเขียนโปรแกรมเพื่อรับข้อมูลชุดตัวเลขเข้ามา และตรวจสอบว่าตัวเลขแต่ละตัวจัดเป็นกำลัง k สมบูรณ์หรือไม่ และ k คือค่าใด หากค่า k เป็นไปได้มากกว่าหนึ่งค่าให้รายงานค่าที่มากที่สุด
ข้อมูลนำเข้า บรรทัดแรกของข้อมูลนำเข้าเป็นจำนวนเต็ม n (1 <= n <= 1000) ซึ่งเป็นจำนวนตัวเลขที่ต้องการตรวจสอบ
ใน n บรรทัดถัดไปในแต่ละบรรทัดเป็นตัวเลข yi ที่ต้องการตรวจสอบ โดย (2 <= yi <= 100000000)
ข้อมูลส่งออก ประกอบด้วย n บรรทัด แต่ละบรรทัด i ระบุว่าตัวเลขอินพุทในบรรทัดที่ i + 1 เป็นกำลัง k สมบูรณ์สำหรับจำนวนเต็มบวก k > 1 บางตัวหรือไม่ ถ้าใช่ให้แสดงค่า k ที่มากที่สุด ถ้าไม่ใช่ให้แสดงคำว่า "NO"