#include<stdio.h>
#include<iostream>
using namespace std;
string word_wrap(string str, int len)
{
int st=0;
int sz=str.size();
string ans;
while(st< sz)
{
int ed=st+len;
int _end=ed < str.size() ? ed : str.size()-1;
if(_end==str.size()-1)
{
_end++;
str[_end]='\n';
}
else if(str[_end]==' ')
{
str[_end]='\n';
_end++;
}
else
{
int ed1=_end;
while(_end > st and str[_end]!=' ') _end--;
if(st!=_end)
{
str[_end++]='\n';
}
else
str.insert(ed1++,1,'\n'), _end=ed1;
}
st=_end;
}
return str;
}
int main()
{
string s="i am going to cuet";
cout<<word_wrap(s,5)<<endl;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJpbmcgd29yZF93cmFwKHN0cmluZyBzdHIsIGludCBsZW4pCnsKICAgIGludCBzdD0wOwogICAgaW50IHN6PXN0ci5zaXplKCk7CiAgICBzdHJpbmcgYW5zOwoKICAgIHdoaWxlKHN0PCBzeikKICAgIHsKICAgICAgICBpbnQgZWQ9c3QrbGVuOwogICAgICAgIGludCBfZW5kPWVkIDwgc3RyLnNpemUoKSA/IGVkIDogc3RyLnNpemUoKS0xOwoKICAgICAgICBpZihfZW5kPT1zdHIuc2l6ZSgpLTEpCiAgICAgICAgewogICAgICAgICAgICBfZW5kKys7CiAgICAgICAgICAgIHN0cltfZW5kXT0nXG4nOwoKICAgICAgICB9CiAgICAgICAgZWxzZSBpZihzdHJbX2VuZF09PScgJykKICAgICAgICB7CiAgICAgICAgICAgIHN0cltfZW5kXT0nXG4nOwogICAgICAgICAgICBfZW5kKys7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGludCBlZDE9X2VuZDsKICAgICAgICAgICAgd2hpbGUoX2VuZCA+IHN0IGFuZCBzdHJbX2VuZF0hPScgJykgIF9lbmQtLTsKCiAgICAgICAgICAgIGlmKHN0IT1fZW5kKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdHJbX2VuZCsrXT0nXG4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHN0ci5pbnNlcnQoZWQxKyssMSwnXG4nKSwgX2VuZD1lZDE7CiAgICAgICAgfQogICAgICAgIHN0PV9lbmQ7CiAgICB9CiAgICByZXR1cm4gc3RyOwp9CgppbnQgbWFpbigpCnsKICAgIHN0cmluZyBzPSJpIGFtIGdvaW5nIHRvIGN1ZXQiOwogICAgY291dDw8d29yZF93cmFwKHMsNSk8PGVuZGw7Cn0K