توجد عدة نقاط في المستوى. تُرقّم النقاط بالتتابع ابتداءً من $1$، ويُعطى كل رقم لنقطتين بالضبط، أي $2$ نقطتين تشكلان زوجًا. لذلك يكون العدد الكلي للنقاط زوجيًا بالضرورة. نريد وصل نقطتين تحملان الرقم نفسه بمستطيل تكونان رأسين متقابلين فيه. نسمي هذا المستطيل مستطيل وصل. المطلوب إيجاد عدة مستطيلات وصل لا تتداخل وتحقق الشروط الثلاثة التالية.
(الشرط 1) يجب أن يكون الرأسان المتقابلان لمستطيل الوصل نقطتين تحملان الرقم نفسه. لا يجوز وصل نقطتين تحملان رقمين مختلفين بمستطيل.
(الشرط 2) يجب أن تكون جميع مستطيلات الوصل منفصلة بعضها عن بعض. الحالة المبينة في الشكل 1 غير مسموحة. كذلك لا يُسمح بتلامس أضلاع مستطيلين أو رأسيهما كما في الشكل 2، ولا باحتواء مستطيل بالكامل داخل مستطيل آخر كما في الشكل 3.
(الشرط 3) تساوي النقاط المكتسبة عند إنشاء مستطيل وصل الرقم المعطى لزوج النقطتين الخاص به.
اكتب برنامجًا يحقق أعلى مجموع من النقاط مع استيفاء الشروط السابقة.
الإدخال
يحتوي السطر الأول على عدد الأزواج.
تعطي الأسطر التالية إحداثيات النقطتين في كل زوج، بترتيب الأرقام ابتداءً من $1$.
يوجد على الأكثر $50$ زوجًا ($100$ نقطة). كل إحداثي عدد صحيح موجب لا يتجاوز $100$.
لا تقع نقطتا الزوج الواحد على خط رأسي واحد ولا على خط أفقي واحد.
الإخراج
اطبع في السطر الأول عدد الأزواج المختارة. وفي السطر التالي، اطبع أرقام مستطيلات الوصل المختارة بترتيب تصاعدي.
أمثلة
الإدخال 1
6 2 5 1 3 5 6 3 2 5 2 6 4 7 6 5 8 1 6 5 4 3 7 7 3
الإخراج 1
3 1 3 4