```html <pre><code>دمج مع حساب الانعكاسات</code></pre> ```

TypeScript Hard sorting

مهمة «```html <pre><code>دمج مع حساب الانعكاسات</code></pre> ```»

إليك ترجمة النص مع الحفاظ على جميع وسوم HTML وعدم تغيير أي كود برمجي:

<p>مصفوفة من الأعداد الصحيحة. يجب ترتيبها تصاعدياً باستخدام خوارزمية الفرز بالدمج (Merge Sort)، بالإضافة إلى حساب عدد الانعكاسات (inversions) في المصفوفة الأصلية. الانعكاس هو زوج من المؤشرات (i, j) بحيث i < j و a[i] > a[j]. بيانات الإدخال: السطر الأول يحتوي على العدد n (1 ≤ n ≤ 10^5)، والسطر الثاني يحتوي على n من الأعداد الصحيحة، كل منها لا يتجاوز قيمته المطلقة 10^9. بيانات الإخراج: السطر الأول — عدد الانعكاسات، السطر الثاني — المصفوفة المرتبة مفصولة بمسافات.</p>

تنسيق الإدخال

أولاً عدد صحيح n. ثم n من الأعداد الصحيحة مفصولة بمسافات.

تنسيق الإخراج

سطران: الأول — عدد الانعكاسات (عدد صحيح)، الثاني — مصفوفة مرتبة مفصولة بمسافات.

أمثلة

مثال 1

الإدخال
5 3 1 4 2 5
الإخراج
3 1 2 3 4 5

مثال 2

الإدخال
4 4 3 2 1
الإخراج
6 1 2 3 4

مثال 3

الإدخال
123
الإخراج
0

مثال 4

الإدخال
0
الإخراج
0
main.ts