import java.io.BufferedReader;
import java.io.*;
import java.util.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Collections;
import java.util.Arrays;

public class Main {
	public static void main(final String[] args){
    
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    int l = sc.nextInt();
    List<Integer> list = new ArrayList<>();
    int sum = 0;
    int min = 1000000;
    int num = 0;

    for(int i = 0; i < n ; i++){
        list.add(l+i);
    }

    //Collections.sort(list);

    for(int i = 0; i < n ; i++){
        sum += list.get(i);
    }

    for(int i = 0 ; i < n ; i++){
        if(min > Math.abs(list.get(i))){
            min = Math.abs(list.get(i));
            num = i;
        }
    }
    if(list.get(num)<=0){
        System.out.println(sum + min);
    }else{
        System.out.println(sum - min);
    }


    
    }
    public static int getNearestValue( List<Integer> list, int v )
	{
		
		int i;		
		int num;	
		int minv;	

		
		if ( 1 >list.size() ) return -1;

		
		num = 0;
		minv = Math.abs( list.get(0) - v );
		for ( i = 1; i < list.size(); ++ i ) {
			if ( Math.abs( list.get(i) - v ) < minv ) {
				num = i;
				minv = list.get(i) - v ;
			}
		}

        return minv;
        
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.*; io.* java import java.util.*; util.* java import java.util.ArrayList; ArrayList java.util import java.util.Iterator; Iterator java.util import java.util.List; List java.util import java.util.Collections; Collections java.util import java.util.Arrays; Arrays java.util public class Main {
	public static void main(final String[] args){
    
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    int l = sc.nextInt();
    List<Integer> list = new ArrayList<>();
    int sum = 0;
    int min = 1000000;
    int num = 0;

    for(int i = 0; i < n ; i++){
        list.add(l+i);
    }

    //Collections.sort(list);

    for(int i = 0; i < n ; i++){
        sum += list.get(i);
    }

    for(int i = 0 ; i < n ; i++){
        if(min > Math.abs(list.get(i))){
            min = Math.abs(list.get(i));
            num = i;
        }
    }
    if(list.get(num)<=0){
        System.out.println(sum + min);
    }else{
        System.out.println(sum - min);
    }


    
    }
    public static int getNearestValue( List<Integer> list, int v )
	{
		
		int i;		
		int num;	
		int minv;	

		
		if ( 1 >list.size() ) return -1;

		
		num = 0;
		minv = Math.abs( list.get(0) - v );
		for ( i = 1; i < list.size(); ++ i ) {
			if ( Math.abs( list.get(i) - v ) < minv ) {
				num = i;
				minv = list.get(i) - v ;
			}
		}

        return minv;
        
	}
} Main public static void main(final String[] args){
    
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    int l = sc.nextInt();
    List<Integer> list = new ArrayList<>();
    int sum = 0;
    int min = 1000000;
    int num = 0;

    for(int i = 0; i < n ; i++){
        list.add(l+i);
    }

    //Collections.sort(list);

    for(int i = 0; i < n ; i++){
        sum += list.get(i);
    }

    for(int i = 0 ; i < n ; i++){
        if(min > Math.abs(list.get(i))){
            min = Math.abs(list.get(i));
            num = i;
        }
    }
    if(list.get(num)<=0){
        System.out.println(sum + min);
    }else{
        System.out.println(sum - min);
    }


    
    } main {
    
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    int l = sc.nextInt();
    List<Integer> list = new ArrayList<>();
    int sum = 0;
    int min = 1000000;
    int num = 0;

    for(int i = 0; i < n ; i++){
        list.add(l+i);
    }

    //Collections.sort(list);

    for(int i = 0; i < n ; i++){
        sum += list.get(i);
    }

    for(int i = 0 ; i < n ; i++){
        if(min > Math.abs(list.get(i))){
            min = Math.abs(list.get(i));
            num = i;
        }
    }
    if(list.get(num)<=0){
        System.out.println(sum + min);
    }else{
        System.out.println(sum - min);
    }


    
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int l = sc.nextInt(); l sc.nextInt() sc.nextInt sc List<Integer> list = new ArrayList<>(); list new ArrayList<>() int sum = 0; sum 0 int min = 1000000; min 1000000 int num = 0; num 0 for(int i = 0; i < n ; i++){
        list.add(l+i);
    } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
        list.add(l+i);
    } {
        list.add(l+i);
    } list.add(l+i) list.add list l+i l i for(int i = 0; i < n ; i++){
        sum += list.get(i);
    } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
        sum += list.get(i);
    } {
        sum += list.get(i);
    } sum += list.get(i) sum list.get(i) list.get list i for(int i = 0 ; i < n ; i++){
        if(min > Math.abs(list.get(i))){
            min = Math.abs(list.get(i));
            num = i;
        }
    } int i = 0 ; int i = 0 ; i 0 i < n i n i++ i++ i {
        if(min > Math.abs(list.get(i))){
            min = Math.abs(list.get(i));
            num = i;
        }
    } {
        if(min > Math.abs(list.get(i))){
            min = Math.abs(list.get(i));
            num = i;
        }
    } if(min > Math.abs(list.get(i))){
            min = Math.abs(list.get(i));
            num = i;
        } min > Math.abs(list.get(i)) min Math.abs(list.get(i)) Math.abs Math list.get(i) list.get list i {
            min = Math.abs(list.get(i));
            num = i;
        } min = Math.abs(list.get(i)) min Math.abs(list.get(i)) Math.abs Math list.get(i) list.get list i num = i num i if(list.get(num)<=0){
        System.out.println(sum + min);
    }else{
        System.out.println(sum - min);
    } list.get(num)<=0 list.get(num) list.get list num 0 {
        System.out.println(sum + min);
    } System.out.println(sum + min) System.out.println System.out System System.out sum + min sum min {
        System.out.println(sum - min);
    } System.out.println(sum - min) System.out.println System.out System System.out sum - min sum min final String[] args args public static int getNearestValue( List<Integer> list, int v )
	{
		
		int i;		
		int num;	
		int minv;	

		
		if ( 1 >list.size() ) return -1;

		
		num = 0;
		minv = Math.abs( list.get(0) - v );
		for ( i = 1; i < list.size(); ++ i ) {
			if ( Math.abs( list.get(i) - v ) < minv ) {
				num = i;
				minv = list.get(i) - v ;
			}
		}

        return minv;
        
	} getNearestValue {
		
		int i;		
		int num;	
		int minv;	

		
		if ( 1 >list.size() ) return -1;

		
		num = 0;
		minv = Math.abs( list.get(0) - v );
		for ( i = 1; i < list.size(); ++ i ) {
			if ( Math.abs( list.get(i) - v ) < minv ) {
				num = i;
				minv = list.get(i) - v ;
			}
		}

        return minv;
        
	} int i; i int num; num int minv; minv if ( 1 >list.size() ) return -1; 1 >list.size() 1 list.size() list.size list return -1; -1 1 num = 0 num 0 minv = Math.abs( list.get(0) - v ) minv Math.abs( list.get(0) - v ) Math.abs Math list.get(0) - v list.get(0) list.get list 0 v for ( i = 1; i < list.size(); ++ i ) {
			if ( Math.abs( list.get(i) - v ) < minv ) {
				num = i;
				minv = list.get(i) - v ;
			}
		} i = 1; i = 1 i 1 i < list.size() i list.size() list.size list ++ i ++ i i {
			if ( Math.abs( list.get(i) - v ) < minv ) {
				num = i;
				minv = list.get(i) - v ;
			}
		} {
			if ( Math.abs( list.get(i) - v ) < minv ) {
				num = i;
				minv = list.get(i) - v ;
			}
		} if ( Math.abs( list.get(i) - v ) < minv ) {
				num = i;
				minv = list.get(i) - v ;
			} Math.abs( list.get(i) - v ) < minv Math.abs( list.get(i) - v ) Math.abs Math list.get(i) - v list.get(i) list.get list i v minv {
				num = i;
				minv = list.get(i) - v ;
			} num = i num i minv = list.get(i) - v minv list.get(i) - v list.get(i) list.get list i v return minv; minv List<Integer> list list int v v public class Main {
	public static void main(final String[] args){
    
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    int l = sc.nextInt();
    List<Integer> list = new ArrayList<>();
    int sum = 0;
    int min = 1000000;
    int num = 0;

    for(int i = 0; i < n ; i++){
        list.add(l+i);
    }

    //Collections.sort(list);

    for(int i = 0; i < n ; i++){
        sum += list.get(i);
    }

    for(int i = 0 ; i < n ; i++){
        if(min > Math.abs(list.get(i))){
            min = Math.abs(list.get(i));
            num = i;
        }
    }
    if(list.get(num)<=0){
        System.out.println(sum + min);
    }else{
        System.out.println(sum - min);
    }


    
    }
    public static int getNearestValue( List<Integer> list, int v )
	{
		
		int i;		
		int num;	
		int minv;	

		
		if ( 1 >list.size() ) return -1;

		
		num = 0;
		minv = Math.abs( list.get(0) - v );
		for ( i = 1; i < list.size(); ++ i ) {
			if ( Math.abs( list.get(i) - v ) < minv ) {
				num = i;
				minv = list.get(i) - v ;
			}
		}

        return minv;
        
	}
} public class Main {
	public static void main(final String[] args){
    
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    int l = sc.nextInt();
    List<Integer> list = new ArrayList<>();
    int sum = 0;
    int min = 1000000;
    int num = 0;

    for(int i = 0; i < n ; i++){
        list.add(l+i);
    }

    //Collections.sort(list);

    for(int i = 0; i < n ; i++){
        sum += list.get(i);
    }

    for(int i = 0 ; i < n ; i++){
        if(min > Math.abs(list.get(i))){
            min = Math.abs(list.get(i));
            num = i;
        }
    }
    if(list.get(num)<=0){
        System.out.println(sum + min);
    }else{
        System.out.println(sum - min);
    }


    
    }
    public static int getNearestValue( List<Integer> list, int v )
	{
		
		int i;		
		int num;	
		int minv;	

		
		if ( 1 >list.size() ) return -1;

		
		num = 0;
		minv = Math.abs( list.get(0) - v );
		for ( i = 1; i < list.size(); ++ i ) {
			if ( Math.abs( list.get(i) - v ) < minv ) {
				num = i;
				minv = list.get(i) - v ;
			}
		}

        return minv;
        
	}
} Main
import java.io.BufferedReader;
import java.io.*;
import java.util.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Collections;
import java.util.Arrays;

public class Main {
	public static void main(final String[] args){
    
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    int l = sc.nextInt();
    List<Integer> list = new ArrayList<>();
    int sum = 0;
    int min = 1000000;
    int num = 0;

    for(int i = 0; i < n ; i++){
        list.add(l+i);
    }

    //Collections.sort(list);

    for(int i = 0; i < n ; i++){
        sum += list.get(i);
    }

    for(int i = 0 ; i < n ; i++){
        if(min > Math.abs(list.get(i))){
            min = Math.abs(list.get(i));
            num = i;
        }
    }
    if(list.get(num)<=0){
        System.out.println(sum + min);
    }else{
        System.out.println(sum - min);
    }


    
    }
    public static int getNearestValue( List<Integer> list, int v )
	{
		
		int i;		
		int num;	
		int minv;	

		
		if ( 1 >list.size() ) return -1;

		
		num = 0;
		minv = Math.abs( list.get(0) - v );
		for ( i = 1; i < list.size(); ++ i ) {
			if ( Math.abs( list.get(i) - v ) < minv ) {
				num = i;
				minv = list.get(i) - v ;
			}
		}

        return minv;
        
	}
}