만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

텍스트

시간 제한2초메모리 제한1024 MB

요약
단어의 순서와 내용을 바꾸지 않고, 각 줄이 k자 이하가 되도록 텍스트를 가장 적은 줄 수로 나눕니다.
난이도

쉬움10점 중 3점

유형
그리디, 문자열
정답자
아직 제출이 없습니다

문제

아주 먼 옛날, 어떤 은하에 있는 한 학교에 바샤와 페탸라는 둘도 없는 친구가 있었습니다. 둘은 충직한 동료였고, 여러 번 서로를 절박한 상황에서 구해 주었습니다. 다만 이 이야기는 그 이야기가 아니라, 두 주인공 사이에 드물게 일어난 말다툼에 관한 것입니다.

7학년 말, 바샤는 프로그래밍에 빠져 자신만의 텍스트 편집기를 만들었습니다. 당연히 페탸는 바로 써 보고 싶어 했습니다. 그런데 바샤의 프로그램이 페탸의 집에 있는 화면과 같은 해상도에서만 제대로 동작한다는 것이 드러났을 때, 페탸가 얼마나 실망했을지는 쉽게 짐작할 수 있습니다. 바샤는 텍스트를 화면에 최적으로 출력하는 일이 어려워서 어떤 화면에서나 통하도록 만들 수 없다고 변명했습니다. 페탸는 자신은 프로그래밍 실력이 형편없지만 이 문제쯤은 쉽게 풀 수 있다고 큰소리쳤습니다.

안타깝게도 페탸는 정말로 프로그래밍을 못하기 때문에, 풀이 작성을 도와달라고 부탁합니다.

입력

입력으로 텍스트가 주어집니다. 단어는 공백, 텍스트의 시작, 또는 텍스트의 끝으로 구분되는 문자의 나열입니다. 이 문제에서는 문장부호도 단어의 일부로 봅니다. 각 줄의 길이가 kk 이하가 되도록 텍스트를 여러 줄로 나누되, 줄의 개수가 최소가 되어야 합니다. 단어의 순서와 단어 자체는 바꿀 수 없습니다.

출력

첫 줄에는 한 줄의 최대 허용 길이인 자연수 kk가 주어집니다 (1≤k≤1001 \le k \le 100). 둘째 줄에는 출력할 텍스트가 주어집니다. 텍스트는 영문자, 숫자, 공백, 쉼표(,), 마침표(.), 느낌표(!), 물음표(?)로 이루어집니다. 입력 파일의 크기는 50000바이트를 넘지 않습니다.

예제2

  1. 예제 1

    입력
    22
    This     is a sample text!
    
    예상 출력
    This is a sample text!
    
  2. 예제 2

    입력
    12
    This     is a sample text!
    
    예상 출력
    This is a
    sample text!