#include<bits/stdc++.h>
using namespace std;
int n;
char s[11451];
int main(){
memset(s, 0, sizeof(s));
cin >> n;
gets(s);
gets(s);
int ans, size; ans = size = 0;
for(int i = 0; s[i];){
int j = i;
while(s[j] != '.' && s[j] != '!' && s[j] != '?') j++;
j++;
if(size+j-i > n){
size = 0;
ans++;
if(s[i] == ' ') i++;
}
size += j-i;
if(size > n){
cout << "Impossible";
return 0;
}
i = j;
}
if(size != 0) ans++;
cout << ans;
return 0;
}
90. Subsets II | 1560A - Dislike of Threes |
36. Valid Sudoku | 557. Reverse Words in a String III |
566. Reshape the Matrix | 167. Two Sum II - Input array is sorted |
387. First Unique Character in a String | 383. Ransom Note |
242. Valid Anagram | 141. Linked List Cycle |
21. Merge Two Sorted Lists | 203. Remove Linked List Elements |
733. Flood Fill | 206. Reverse Linked List |
83. Remove Duplicates from Sorted List | 116. Populating Next Right Pointers in Each Node |
145. Binary Tree Postorder Traversal | 94. Binary Tree Inorder Traversal |
101. Symmetric Tree | 77. Combinations |
46. Permutations | 226. Invert Binary Tree |
112. Path Sum | 1556A - A Variety of Operations |
136. Single Number | 169. Majority Element |
119. Pascal's Triangle II | 409. Longest Palindrome |
1574A - Regular Bracket Sequences | 1574B - Combinatorics Homework |