Orig Description
Zaeru Ninja E869120
E869120-kun is good at creating multiple copies of himself.
Here, there are $N$ members in the programming research club. However, some of them may be E869120-kun.
Therefore, you asked all $N$ members for their names. As a result, each member introduced themselves with names $S_1, S_2, S_3, \dots, S_N$.
How many copies of E869120-kun are there? Assuming that all the members answered honestly with their own names.
Input
The input is given in the following format from Standard Input:
$N$
$S_1$
$S_2$
$S_3$
$\ldots$
$S_N$
Output
Output the number of copies of E869120-kun. If there are no copies of E869120-kun, output "0".
Insert a newline character at the end of the output.
Constraints
$1 \leq N \leq 1000$
$1 \leq (\text{length of }S_i) \leq 100$
$N$ is an integer.
$S_i$ is a string consisting of numbers and uppercase letters.
Sample Input 1
5
E869120
TMJN
E869120
TAISA
YNYMXIAOLONGBAO
Sample Output 1
2
E869120-kun created two copies of himself.
Sample Input 2
3
SQUARE1001
MENCOTTON
B2563125
Sample Output 2
0
If there are no copies of E869120-kun, output 0.
Sample Input 3
6
E8691200
E869121
E869122
E869123
E869124
E869125
Sample Output 3
0
Be careful of the imposters.
Extracted Specification
Canonicalized Input Description:
An integer N (1 ≤ N ≤ 1000), representing some quantity or size.
A list of N strings S, where each string has a length between 1 and 100 and consists of numbers and uppercase letters.
### Example Input:
```
5
E869120
TMJN
E869120
TAISA
YNYMXIAOLONGBAO
```
### Function Signature:
Write a function f(N, S) that takes in the input.
```python
def f(N: int, S: List[str]):
'''
N: an integer
S: a list of strings
'''
```
Test Case Generator
Sure! Here is the test case generator for your problem statement:
```python
import random
import string
def tcgen():
N = random.randint(1, 1000)
def generate_random_name():
length = random.randint(1, 100)
return ''.join(random.choices(string.ascii_uppercase + string.digits, k=length))
# Ensure that we have at least one 'E869120' in the list sometimes
names = [generate_random_name() for _ in range(N)]
if random.choice([True, False]):
num_copies = random.randint(1, N)
indices = random.sample(range(N), num_copies)
for index in indices:
names[index] = 'E869120'
return N, names
# Example usage
N, names = tcgen()
print(N)
for name in names:
print(name)
```
### Explanation
1. **Generate `N`**: A random integer between 1 and 1000 (inclusive), which represents the number of members.
2. **Generate Names**: A list of `N` names is generated, each with a random length between 1 and 100 characters. The characters are randomly chosen from uppercase letters and digits.
3. **Random Inclusion of 'E869120'**: There is a 50% chance to include at least one 'E869120' in the list. If included, a random number of occurrences are inserted at random indices in the list.
4. **Output**: Returns `N` and the list of names.
Feel free to adjust the probabilities and constraints as needed for more specific scenarios.
Extract Arguments
def extract_arguments(fh):
N = int(fh.readline().strip())
S = [fh.readline().strip() for _ in range(N)]
return N, S