993 992 991
 100 1 10
 960 935 994
 99 8 99
 60 16 1
 759 10 258
 24 19 9
 196 169 144
 1000 999 1
 945 812 917
 1000 100 10
 500 300 300
 888 777 1000
 2 1 4
 24 12 12
 767 2 514
 2 1 2
 1000 1 1
 5 2 1
 70 32 1
 765 123 899
 17 7 10
 5 4 10
 888 777 888
 66 38 4
 1000 999 1000
 9 3 300
 244 87 4
 765 123 45
 1000 1 1000
 305 203 421
 100 10 1
 64 12 8
 894 1 999
 2 1 1
 18 14 10
 6 2 4
 888 777 1
 27 26 1
 2 1 3
 5 1 5
 7 3 200
 561 31 917
 17 10 7
 93 74 831

1
 990
 27
 1127
 3
 19325
 3
 24
 1
 151
 90
 200
 143
 4
 12
 196605
 2
 999
 2
 2
 4693
 15
 3
 127
 3
 2
 600
 8
 235
 999000
 212
 9
 35
 892107
 1
 3
 8
 1
 1
 3
 20
 267
 15678
 5
 214

import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.BufferedWriter;
import java.io.Writer;
import java.io.OutputStreamWriter;
import java.util.InputMismatchException;
import java.io.IOException;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 *
 * @author o_panda_o(emailofpanda@yahoo.com)
 */
public class Code_195A_LetsWatchFootball{
    public static void main(String[] args){
        InputStream inputStream=System.in;
        OutputStream outputStream=System.out;
        InputReader in=new InputReader(inputStream);
        OutputWriter out=new OutputWriter(outputStream);
        _195A_ solver=new _195A_();
        solver.solve(1,in,out);
        out.close();
    }

    static class _195A_{
        public void solve(int testNumber,InputReader in,OutputWriter out){
            int a=in.nextInt(), b=in.nextInt(), c=in.nextInt(), w=0, x=(int)Math.ceil((double)a/(double)b);
            for(int t=1;t<=c;++t)
                w=Math.max(w,x*t-(t*(t+1))/2);
            out.print(w);
        }

    }

    static class InputReader{
        private InputStream stream;
        private byte[] buf=new byte[1024];
        private int curChar;
        private int numChars;
        private InputReader.SpaceCharFilter filter;

        public InputReader(InputStream stream){
            this.stream=stream;
        }

        public int read(){
            if(numChars==-1){
                throw new InputMismatchException();
            }
            if(curChar>=numChars){
                curChar=0;
                try{
                    numChars=stream.read(buf);
                }catch(IOException e){
                    throw new InputMismatchException();
                }
                if(numChars<=0){
                    return -1;
                }
            }
            return buf[curChar++];
        }

        public int nextInt(){
            int c=read();
            while(isSpaceChar(c)){
                c=read();
            }
            int sgn=1;
            if(c=='-'){
                sgn=-1;
                c=read();
            }
            int res=0;
            do{
                if(c<'0'||c>'9'){
                    throw new InputMismatchException();
                }
                res*=10;
                res+=c-'0';
                c=read();
            }while(!isSpaceChar(c));
            return res*sgn;
        }

        public boolean isSpaceChar(int c){
            if(filter!=null){
                return filter.isSpaceChar(c);
            }
            return isWhitespace(c);
        }

        public static boolean isWhitespace(int c){
            return c==' '||c=='\n'||c=='\r'||c=='\t'||c==-1;
        }

        public interface SpaceCharFilter{
            public boolean isSpaceChar(int ch);

        }

    }

    static class OutputWriter{
        private final PrintWriter writer;

        public OutputWriter(OutputStream outputStream){
            writer=new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
        }

        public OutputWriter(Writer writer){
            this.writer=new PrintWriter(writer);
        }

        public void close(){
            writer.close();
        }

        public void print(int i){
            writer.print(i);
        }

    }
}

