Şablonun minimallaşdırılması
Sözlərin axtarışı üçün latın hərflərindən ibarət olan bir lüğətdə, '?' simvolu bir təsadüfi simvolu, '*' isə sıfır və ya daha çox təsadüfi simvolu ifadə edən şablonlar istifadə olunur. Bəzi şablonlar ekvivalentdir, yəni eyni sözlər toplusuna uyğun gəlir. Məsələn, "*??*a" və "?*?a" şablonları üç və ya daha çox hərfdən ibarət olan və 'a' hərfi ilə bitən sözlərə uyğun gəlir, lakin ikinci şablon daha qısadır.
Verilmiş şablona ekvivalent olan ən qısa şablonu tapan bir proqram yazın.
Giriş verilənləri
Giriş faylı, hər biri latın hərfləri və '?' və '*' simvollarından ibarət olan, uzunluğu 1 ilə 50 arasında dəyişən bir neçə şablon ehtiva edir. Hər bir şablon ayrıca bir sətirdə yazılmışdır.
Çıxış verilənləri
Çıxış faylına hər bir şablon üçün müvafiq sətirdə onun minimal ekvivalenti yazılmalıdır. Əgər bir neçə variant mövcuddursa, əlifba sırasına görə birinci variantı yazın ('*' əlifbada '?'-dən əvvəl gəlir).