A soldier wants to buy *w* bananas in the shop. He has to pay *k* dollars for the first banana, 2*k* dollars for the second one and so on (in other words, he has to pay *i*·*k* dollars for the *i*-th banana). 

He has *n* dollars. How many dollars does he have to borrow from his friend soldier to buy *w* bananas?
The first line contains three positive integers *k*, *n*, *w* (1  ≤  *k*, *w*  ≤  1000, 0 ≤ *n* ≤ 10<sup class="upper-index">9</sup>), the cost of the first banana, initial number of dollars the soldier has and number of bananas he wants.
'''
Problem Statement:
a soldier wants to buy w bananas in the shop. He has to pay k dollars for the first banana, 
2k dollars for the second one and so on (in other words, he has to pay i*k dollars for the i-th banana).
He has n dollars. How many dollars does he have to borrow from his friend soldier to buy w bananas?
Input Format :
The first line contains Three positive integers k, n, w (1<=k, w<=1000,0<=n<=10**9),
the cost of the first banana, inital number of dollars the soldier has and number of bananas he wants.

Output Format:
Output one integer -- the amount of dollars that the soldier must borrow from his friend. 
if he doesn't have to borrow money, output 0.

given variables:
w = no-of bananas 3
k = cost of bananas 17 
n = initial balance 4
'''

def banana_shop(w, k, n):
    total_cost = 0
    for i in range(1, w + 1):
        total_cost += i * k
        
    borrowed_money = max(0, total_cost - n)
    return borrowed_money
def main():
    k, n, w = map(int, input().split())
    result = banana_shop(w, k, n)
    print(result)

if __name__ == "__main__":
    main()