+ محدودیت زمان: ۱ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
----------
در زبان برنامهنویسی گولنگستان متغیرها حافظههای ۱، ۲، ۳ یا ۴ بایتی دارند. وقتی یک شئ با $n$ متغیر به حجمهای $s_1, s_2, \dots, s_n\,$ تعریف میکنیم. حافظهها با قاعدهی زیر در بستههای ۴ بایتی، پشت سرهم قرار میگیرند.
متغیرها را به ترتیب اضافه میکنیم. اگر متغیری که نوبت اضافه شدن آن است، به انتهای بستهی قبلی میتواند اضافه شود، آن را اضافه میکنیم و به سراغ متغیر بعدی (در صورت وجود) میرویم. اما اگر این متغیر نمیتواند به انتهای بستهی آخر اضافه شود، همهی فضای خالی آن را رها میکنیم و آن بسته را میبندیم (اصطلاحاً به این حافظههای تلف شده padding space میگویند). سپس در یک بستهی ۴ بایتی جدید، حافظه مورد نیاز متغیر بعدی را به بایتهای اول آن اختصاص میدهیم.
برای مثال فرض کنید $n = 3$ متغیر داشته باشیم: $s_1 = 1$، $s_2 = 4$ و $s_3 = 1$. در این صورت متغیر $s_1$ در ابتدای یک بسته قرار میگیرد، چون متغیر $s_2$ را نمیتوان به همان بسته اضافه کرد، پس ۳ بایت باقیماندهی بستهی اول را *padding space* در نظر میگیریم. سپس متغیر $s_2$ را در یک بستهی جدید قرار داده و در نهایت $s_3$ را در بایت اول یک بسته قرار میدهیم. (در آخرین بسته *padding space* نداریم.)
به این ترتیب وضعیت نوار حافظه به صورت زیر خواهد بود و در مجموع ۳ حافظه تلف شده خواهیم داشت.
![حالت اول](https://quera.org/qbox/view/xKy3wRFCjD/B_1.png)
حال میدانیم اگر ترتیب این سه متغیر را به این صورت که $s_1 = 4$، $s_2 = 1$ و $s_3 = 1$ عوض میکردیم. وضعیت نوار حافظه به این صورت تغییر میکرد و هیچ حافظهای تلف نمیشود.
![حالت دوم](https://quera.org/qbox/view/m4xuUdNxzr/B_2.png)
حال به شما ترتیب اولیه حافظه متغیرها داده میشود از شما میخواهیم ترتیب آنها را طوری تغییر دهید که حافظههای تلف شده (*padding space*) کمینه شود و در نهایت **این کمینه مقدار** را چاپ کنید.
# ورودی
در سطر اول ورودی، عدد صحیح و مثبت $t$ آمده که تعداد سناریوها را نشان میدهد.
$$1 \leq t \leq 1000$$
در سطر اول هر سناریو، عدد صحیح $n$ که نشان دهندهی تعداد متغیرها است داده میشود.
$$1 \leq n \leq 100$$
در سطر دوم هر سناریو، $n$ عدد صحیح که مقدار حافظهی متغیرها یعنی $s_1, s_2, \dots, s_n\,$ را نشان میدهد.
$$1 \leq s_i \leq 4$$
# خروجی
در $t$ سطر برای هر سناریو، کمینه حافظهی تلف شده (*padding space*) در بین تمام ترتیبهای مختلف برای متغیرها را چاپ کنید.
# مثالها
## ورودی نمونه ۱
```
4
3
1 4 1
4
4 2 3 4
1
1
5
3 3 3 3 3
````
## خروجی نمونه ۱
```
0
1
0
4
````
سناریو اول در صورت سوال توضیح داده شده.
یک نمونه از ترتیب بهینه، برای سناریو دوم، با ۱ حافظه تلف شده، به صورت زیر است:
![توضیح نمونه ۲](https://quera.org/qbox/view/KZ4cXysyzx/B_3.png)
تنها ترتیب ممکن، برای سناریو سوم، با ۰ حافظهی تلف شده، به صورت زیر است:
![توضیح نمونه ۳](https://quera.org/qbox/view/8qCaRfhA2r/B_4.png)
تنها ترتیب ممکن، برای سناریو چهارم، با ۴ حافظهی تلف شده، به صورت زیر است:
![توضیح نمونه ۴](https://quera.org/qbox/view/qMmfF7fFfR/B_5.png)
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.