প্রোগ্রামিং সমস্যা ৩০ — যোগ্য সংখ্যা ১

প্রবলেম সেটার : Dimik Computing


সমস্যার বিবরণ

যোগ্য সংখ্যা বা perfect number হচ্ছে সেসব সংখ্যা, যেসব সংখ্যার নিজের চেয়ে ছোটো ভাজকগুলোর যোগফল সংখ্যাটির সমান। যেমন– \(6\) একটি যোগ্য সংখ্যা, কারণ এটি \(1, 2, 3\) দিয়ে বিভাজ্য এবং এই তিনটি সংখ্যার যোগফল \(6 ~(1+2+3=6)\)। তোমার কাজ হচ্ছে এমন একটি প্রোগ্রাম লেখা, যেটি একটি সংখ্যা পারফেক্ট কি না, সেটি নির্ণয় করবে।

ইনপুট

প্রোগ্রামটির প্রথম ইনপুট হবে একটি পূর্ণসংখ্যা \(T ~(1\leq T\leq 1000)\), যা টেস্ট কেসের সংখ্যা নির্দেশ করে। পরে \(T\)-সংখ্যক পূর্ণসংখ্যা \(N~ (N\leq 2^{64}-1)\) ইনপুট নিতে হবে।

আউটপুট

প্রোগ্রামটির আউটপুটে \(N\) পারফেক্ট সংখ্যা হলে Yes, N is a perfect number! অন্যথায় NO, N is not a perfect number! প্রিন্ট করতে হবে।

নমুনা ইনপুট আউটপুট

নমুনা #১

ইনপুট
3
6 28 30
আউটপুট
YES, 6 is a perfect number!
YES, 28 is a perfect number!
NO, 30 is not a perfect number!
Loading Stats...