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

The first line contains three positive integers k, n, w (1 ≤ k, w ≤ 1000, 0 ≤ n ≤ 109), the cost of the first banana, initial number of dollars the soldier has and number of bananas he wants. 

Output

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.

Examples

Input

3 17 4


Output

13

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Scanner;
import java.util.StringTokenizer;


public class Problem304A {
    
    public static void main(String[] args) {
        MyScanner in = new MyScanner();
        out = new PrintWriter(new BufferedOutputStream(System.out)); 
        long k = in.nextLong();
        long n = in.nextLong();
        long w = in.nextLong();
        
        long price = k*w*(w+1)/2;
        long answer = price-n > 0? price-n:0;
        out.println(answer);
        out.close();
    }
    
    //-----------PrintWriter for faster output---------------------------------
       public static PrintWriter out;
          
       //-----------MyScanner class for faster input----------
       public static class MyScanner {
          BufferedReader br;
          StringTokenizer st;
     
          public MyScanner() {
             br = new BufferedReader(new InputStreamReader(System.in));
          }
     
          String next() {
              while (st == null || !st.hasMoreElements()) {
                  try {
                      st = new StringTokenizer(br.readLine());
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
              }
              return st.nextToken();
          }
     
          int nextInt() {
              return Integer.parseInt(next());
          }
     
          long nextLong() {
              return Long.parseLong(next());
          }
     
          double nextDouble() {
              return Double.parseDouble(next());
          }
     
          String nextLine(){
              String str = "";
          try {
             str = br.readLine();
          } catch (IOException e) {
             e.printStackTrace();
          }
          return str;
          }

       }
       //--------------------------------------------------------
    }



