تیم‌های توسعه منظم


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

در یک شرکت nn برنامه‌نویس مشغول به کار هستند. هر کدام از این nn نفر در برخی از زمینه‌های Front-end، Back-end یا Product Mangement تخصص دارد.

تخصص‌های هر شخص را با یک رشته شامل حروف B، F و P به صورت مرتب‌شده الفبایی به ما داده شده است.

می‌خواهیم با داشتن این تخصص‌ها، حداکثر تعدادی تیم کامل را تشکیل دهیم. منظور از یک تیم کامل تیمی است که در آن برای هر کدام از این سه زمینه حداقل یک متخصص وجود داشته باشد. هر شخص باید دقیقاً یک سمت را داشته باشد و نمی‌تواند بخاطر تخصصش در دو زمینه نیاز تیم را در هر دو زمینه برطرف کند. توجه کنید باید در این تیم‌بندی هر شخص در حداکثر یک تیم آمده باشد.

حال از شما می‌خواهیم برنامه‌ای بنویسید که این بیشترین تعداد تیم را محاسبه کند.

ورودی🔗

در سطر اول ورودی، عدد صحیح و مثبت tt آمده که تعداد تست‌ها را نشان می‌دهد.

1t100001 \leq t \leq 10 \,000

در سطر اول هر تست، عدد صحیح و مثبت nn داده می‌شود که تعداد برنامه‌نویس‌ها را نشان می‌دهد.

1n1001 \leq n \leq 100

در nn سطر بعدی در هر سطر یک رشته داده می‌شود که رشته‌ی سطر iiام تخصص برنامه‌نویس iiام را نشان می‌دهد.

خروجی🔗

در تنها سطر خروجی، یک عدد صحیح برابر بیشترین تعداد تیم کامل را چاپ کنید.

مثال‌ها🔗

ورودی نمونه ۱🔗

3
5
B F P BFP BF
6
BF BP FP B BFP P
2
B BFP
Plain text

خروجی نمونه ۱🔗

1
2
0
Plain text

در نمونه‌ی اول تیم‌بندی می‌تواند به صورت زیر باشد: {B,F,P}\{B, F, P\}

در نمونه‌ی دوم تیم‌بندی می‌تواند به صورت زیر باشد: {BF,BP,FP}{B,BFP,P}\{BF, BP, FP\} \quad \{B, BFP, P\}

در نمونه‌ی سوم سه نفری وجود ندارد که بتوانند تیم تشکیل بدهند.