در عمل برای مشخص کردن گونهای از رشتهها از الگوهای عام استفاده میکنیم. مثلا برای نشان دادن رشتههایی که با $h$ شروع میشوند و به $bak$ ختم میشوند، میتوان از $h*bak$ بهره برد. یک الگوی عام رشتهای است که میتواند شامل * باشد. یک رشته $W$ با الگوی $P$ تطبیق مییابد اگر و تنها اگر بتوان از $P$ با جایگزین هر رشتهای به جای ستارهها $W$ را ساخت؛ میتوان رشتههای مختلفی را به جای حضورهای مختلف ستاره به کار برد. $Q$ یک الگوی مشترک برای $P_1$ و $P_2$ است اگر هر رشتهای که با $Q$ تطبیق شود، با $P_1$ و $P_2$ هم تطبیق بشود. مجموعهی $\{Q_1,Q_2,...,Q_L\}$ از الگوهای مشترک کامل است اگر هر رشتهای که با $P_1$ و $P_2$ تطبیق یابد، با دست کم یکی از این الگوها نیز تطبیق شود.
برنامهای بنویسید که با دریافت الگوهای $P_1$ و $P_2$ برخی از اعمال زیر را انجام دهد:
در هر کدام از دو سطرابتدایی فایل ورودی یکی از الگوهای $P_1$ و $P_2$ داده شده. هر کدام از این الگوها شامل حروف کوچک الفبای انگلیسی و ستاره است. طول الگوها حداکثر ۲۰ و تعداد ستارهها در یک الگو حداکثر ۶ است.
در سطر اول تعداد الگوهای مشترک و در هر یک از سطرهای دیگر یک الگو را بنویسید.