Orig Description
Score : 400 points
Problem StatementWe have N+1 integers: 10^{100}, 10^{100}+1, ..., 10^{100}+N.
We will choose K or more of these integers. Find the number of possible values of the sum of the chosen numbers, modulo (10^9+7).
Constraints
1 \leq N \leq 2\times 10^5
1 \leq K \leq N+1
All values in input are integers.
InputInput is given from Standard Input in the following format:
N K
OutputPrint the number of possible values of the sum, modulo (10^9+7).
Sample Input 13 2
Sample Output 110
The sum can take 10 values, as follows:
(10^{100})+(10^{100}+1)=2\times 10^{100}+1
(10^{100})+(10^{100}+2)=2\times 10^{100}+2
(10^{100})+(10^{100}+3)=(10^{100}+1)+(10^{100}+2)=2\times 10^{100}+3
(10^{100}+1)+(10^{100}+3)=2\times 10^{100}+4
(10^{100}+2)+(10^{100}+3)=2\times 10^{100}+5
(10^{100})+(10^{100}+1)+(10^{100}+2)=3\times 10^{100}+3
(10^{100})+(10^{100}+1)+(10^{100}+3)=3\times 10^{100}+4
(10^{100})+(10^{100}+2)+(10^{100}+3)=3\times 10^{100}+5
(10^{100}+1)+(10^{100}+2)+(10^{100}+3)=3\times 10^{100}+6
(10^{100})+(10^{100}+1)+(10^{100}+2)+(10^{100}+3)=4\times 10^{100}+6
Sample Input 2200000 200001
Sample Output 21
We must choose all of the integers, so the sum can take just 1 value.
Sample Input 3141421 35623
Sample Output 3220280457
Extracted Specification
An integer N (1 ≤ N ≤ 2×10^5), representing some quantity or size.
An integer K (1 ≤ K ≤ N+1), representing another quantity or size.
### Example Input:
```
3
2
```
### Function Signature:
Write a function f(N, K) that takes in the input.
```python
def f(N: int, K: int):
'''
N: an integer
K: an integer
'''
```
Test Case Generator
Sure! Here is a test case generator for the given problem statement:
```python
import random
def tcgen():
# Generate a random value for N in the range [1, 200000]
N = random.randint(1, 2 * 10**5)
# Generate a random value for K in the range [1, N+1]
K = random.randint(1, N + 1)
return N, K
# Function to print the generated test case in the required format
def print_test_case():
N, K = tcgen()
print(N, K)
# Example usage
print_test_case()
```
This `tcgen` function generates random values for \( N \) and \( K \) based on the given constraints:
1. \( N \) is randomly chosen between 1 and 200,000.
2. \( K \) is randomly chosen between 1 and \( N + 1 \).
The `print_test_case` function calls `tcgen` to generate a test case and prints it in the required format.
You can run `print_test_case()` multiple times to generate different test cases.
Extract Arguments
def extract_arguments(fh):
N, K = map(int, fh.readline().strip().split())
return N, K