Problem
विश्वविद्यालयों में से एक के छात्रों ने विमान के इंजन को असेंबल करने की प्रक्रिया को आंशिक रूप से स्वचालित करने के लिए एक रोबोट डिज़ाइन किया।
इंजन को असेंबल करने की प्रक्रिया में, 26 प्रकार के ऑपरेशन हो सकते हैं, जिन्हें लैटिन वर्णमाला के लोअरकेस अक्षरों द्वारा इंगित किया जाता है। असेंबली प्रक्रिया में एन ऑपरेशन होते हैं।
ऐसा माना जाता है कि एसेंबली प्रक्रिया से लगातार कुछ संचालन करने के लिए रोबोट का एक बार उपयोग किया जाना चाहिए।
रोबोट की मेमोरी में K कोशिकाएं होती हैं, जिनमें से प्रत्येक में एक ऑपरेशन होता है। संचालन को क्रमिक रूप से निष्पादित किया जाता है, पहले से शुरू होता है, जिस क्रम में वे मेमोरी में स्थित होते हैं। आखिरी को पूरा करने के बाद, रोबोट पहले वाले के साथ जारी रहता है। किसी भी ऑपरेशन के बाद रोबोट को रोका जा सकता है। रोबोट का उपयोग करना आर्थिक रूप से व्यवहार्य है यदि यह कम से कम K + 1 संचालन करता है।
आपको एक प्रोग्राम लिखने की जरूरत है, जो असेंबली प्रक्रिया को देखते हुए, रोबोट का उपयोग करने के आर्थिक रूप से व्यवहार्य तरीकों की संख्या निर्धारित करेगा।
इनपुट
पहली पंक्ति में संख्या K > 0 - संचालन की संख्या शामिल है जिसे रोबोट की स्मृति में लिखा जा सकता है।
दूसरी पंक्ति में N > K लोअरकेस लैटिन अक्षर होते हैं जो संचालन - इंजन असेंबली प्रक्रिया को दर्शाते हैं। एक ही प्रकार के संचालन एक ही अक्षर (N <= 200000) द्वारा दर्शाए जाते हैं।
आउटपुट
एक पूर्णांक प्रिंट करें - रोबोट का उपयोग करने के किफ़ायती तरीकों की संख्या।
<तालिका सीमा = "1" सेलपैडिंग = "1" सेलस्पेसिंग = "1" शैली = "चौड़ाई: 500 पीएक्स">
<शरीर>
इनपुट |
आउटपुट |
<टीडी>
2
ज़बाकबाब
टीडी>
5 |
2
एबीसी |
0 |
टेबल>