You are not allowed to perform this action

اعداد متنفّر

به دو عدد $a$ و $b$ از هم متنفر گویند اگر عدد صحیح و مثبت $k$ وجود داشته باشد به طوری که $a \times 2^k = b$. شما باید برنامه‌ای بنویسید که از بین $n$ عدد صحیح و مثبتِ داده شده، تعدادی از آن‌ها را انتخاب کند به طوری که

  • اوّلاً هیچ دو عدد انتخاب شده‌ای، از هم متنفر نباشند؛
  • ثانیاً، حاصل جمع اعداد انتخاب شده، بیشینه باشد.

ورودی

  • در سطر اول ورودی، عدد $n$ نوشته شده‌ است.
  • در $n$ سطر بعدی، در هر سطر یک عدد صحیح مثبت نوشته شده است.
  • شما باید از بین این $n$ عدد، تعدادی را انتخاب کنید به طوری که شرایط گفته شده برقرار شوند.
  • $1 \leq n \leq 5000$
  • تمامی اعداد ورودی، صحیح و مثبت بوده و در تایپ int جا می‌شوند.

خروجی

  • در سطر اوّل خروجی تعداد اعداد انتخاب شده (مثلاً $x$) را بنویسید.
  • در $x$ سطر بعد، اعداد انتخاب شده را به‌ترتیب صعودی چاپ کنید به طوری که در هر سطر دقیقاً یکی از اعداد انتخاب شده نوشته شده باشد.

محدودیت‌ها

  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
4
1
2
3
4
2
3
4