Limits 1s, 512 MB

ধরো, তোমাকে একটি Parenthesis Sequence এর স্ট্রিং SS দেওয়া হলো। এটা নিশ্চিত নয় যে SS ব্যালেন্সড। তোমাকে সিকোয়েন্সটিকে ব্যালেন্স করতে হবে সবচেয়ে কম সংখ্যাক অপারেশনে। একটি ধাপে তুমি SS এর উপর F(S)F(S) অথবা G(S)G(S) ফাংশন প্রয়োগ করতে পার।

F(S)F(S) == SS এর প্রথম ভুক্তিটি সরিয়ে ফেল এবং এটিকে SS এর শেষে যুক্ত করে দাও।

G(S)G(S) == SS এর শেষ ভুক্তিটি সরিয়ে ফেল এবং এটিকে SS এর শুরুতে যুক্ত করে দাও।

তুমি এই অপারেশনগুলো যতবার ইচ্ছে ব্যাবহার করতে পারবে। কিন্তু তোমার কাজ হলো ক্ষুদ্রতম সংখ্যাকবার ব্যাবহার করে সিকোয়েন্সটিকে ব্যালেন্স করা।

মনে রেখ, একটি Balanced Parenthesis নিম্নোক্ত দুইটি শর্ত মেনে চলেঃ

  • এর কোন যুগল করা সম্ভব নয় এমন ভুক্তি থাকবে না। অর্থাৎ প্রতি একটি ('(' এর জন্য পরবর্তিতে একটি )')' পাওয়া যাবে।

  • যেকোন যুগলের দ্বারা আবদ্ধ Parenthesis Subset ব্যালেন্সড হবে।

Input

ইনপুটের প্রথম লাইনে একটি পূর্ণসংখ্যা TT দেওয়া হবে যা মোট টেস্টকেসের সংখ্যা নির্দেশ করে। পরবর্তী TT সংখ্যাক লাইনের প্রতিটিতে একটি করে স্ট্রিং SS দেওয়া হবে। উল্লেখ্য SS হলো উপরোক্ত Parenthesis Sequence ।

Constraints:\textbf{Constraints:}

For 10 points:

  • 1T20001 \leq T \leq 2000

  • 1S101 \leq |S| \leq 10

For 90 points:

  • 1T1051 \leq T \leq 10^5

  • 1S1051 \leq |S| \leq 10^5

  • 1i=1TSi2×1051 \leq \sum_{i=1}^{T} |S_i| \leq 2 \times 10^5

Output

প্রতি টেস্টকেসের জন্য প্রিন্ট করো "Case x: y" (কোটেশন চিহ্ন ছাড়া)। যদি SS ব্যালেন্স করা সম্ভব না হয় তাহলে প্রিন্ট করো “Case x: impossible” । এখানে xx হলো তুমি এখন কত নম্বর টেস্টকেসের উত্তর প্রিন্ট করছো, আর yy হলো ক্ষুদ্রতম কতগুলো অপারেশনে SS কে ব্যালেন্স করা সম্ভব সেই সংখ্যা।

Sample

InputOutput
3
)((())
)((()))
((()))
Case 1: 1
Case 2: impossible
Case 3: 0

Submit

Login to submit.

Statistics

52% Solution Ratio
gokul.rajEarliest, Aug '21
ASH1901041MFastest, 0.0s
Mestu_PaulLightest, 393 kB
Hasan.987326Shortest, 835B
Toph uses cookies. By continuing you agree to our Cookie Policy.