from sys import stdin
import math
k,a,b = list(map(int, stdin.readline().rstrip().split(' ')))
str = stdin.readline().rstrip()
if k*a > len(str):
print('No solution')
exit()
if k > len(str):
print('No solution')
exit()
if k*b < len(str):
print('No solution')
exit()
with_even_lines = k * a
after_even_lines = len(str) - with_even_lines
l = 0
for _ in range(k):
line_size = a
if after_even_lines > 0:
line_size += after_even_lines
line_size = min(b, line_size)
after_even_lines -= (line_size - a)
print(str[l:l+line_size])
l += line_size
#include<bits/stdc++.h>
using namespace std;
int k,a,b,l,r;
string s;
int main()
{
cin>>k>>a>>b>>s;
if(s.size()<(k*a) || s.size()>(k*b))
return cout<<"No solution",0;
for(;k>0;k--)
{
r=(s.size()-l)/k;
cout<<s.substr(l,r)<<endl;
l+=r;
}
}
49A - Sleuth | 1541A - Pretty Permutations |
1632C - Strange Test | 673A - Bear and Game |
276A - Lunch Rush | 1205A - Almost Equal |
1020B - Badge | 1353A - Most Unstable Array |
770A - New Password | 1646B - Quality vs Quantity |
80A - Panoramix's Prediction | 1354B - Ternary String |
122B - Lucky Substring | 266B - Queue at the School |
1490A - Dense Array | 1650B - DIV + MOD |
1549B - Gregor and the Pawn Game | 553A - Kyoya and Colored Balls |
1364A - XXXXX | 1499B - Binary Removals |
1569C - Jury Meeting | 108A - Palindromic Times |
46A - Ball Game | 114A - Cifera |
776A - A Serial Killer | 25B - Phone numbers |
1633C - Kill the Monster | 1611A - Make Even |
1030B - Vasya and Cornfield | 1631A - Min Max Swap |