#include<bits/stdc++.h>
using
namespace
std;
int
sumeven(
int
n,
int
l,
int
r)
{
int
sum = 0;
int
mid = n / 2;
if
(r <= mid)
{
int
first = (2 * l - 1);
int
last = (2 * r - 1);
int
no_of_terms = r - l + 1;
sum = ((no_of_terms) * ((first + last))) / 2;
}
else
if
(l >= mid)
{
int
first = (2 * (l - n / 2));
int
last = (2 * (r - n / 2));
int
no_of_terms = r - l + 1;
sum = ((no_of_terms) * ((first + last))) / 2;
}
else
{
int
sumleft = 0, sumright = 0;
int
first_term1 = (2 * l - 1);
int
last_term1 = (2 * (n / 2) - 1);
int
no_of_terms1 = n / 2 - l + 1;
sumleft = ((no_of_terms1) *
((first_term1 + last_term1))) / 2;
int
first_term2 = 2;
int
last_term2 = (2 * (r - n / 2));
int
no_of_terms2 = r - mid;
sumright = ((no_of_terms2) *
((first_term2 + last_term2))) / 2;
sum = (sumleft + sumright);
}
return
sum;
}
int
sumodd(
int
n,
int
l,
int
r)
{
int
mid = n / 2 + 1;
int
sum = 0;
if
(r <= mid)
{
int
first = (2 * l - 1);
int
last = (2 * r - 1);
int
no_of_terms = r - l + 1;
sum = ((no_of_terms) *
((first + last))) / 2;
}
else
if
(l > mid)
{
int
first = (2 * (l - mid));
int
last = (2 * (r - mid));
int
no_of_terms = r - l + 1;
sum = ((no_of_terms) *
((first + last))) / 2;
}
else
{
int
sumleft = 0, sumright = 0;
int
first_term1 = (2 * l - 1);
int
last_term1 = (2 * mid - 1);
int
no_of_terms1 = mid - l + 1;
sumleft = ((no_of_terms1) *
((first_term1 + last_term1))) / 2;
int
first_term2 = 2;
int
last_term2 = (2 * (r - mid));
int
no_of_terms2 = r - mid;
sumright = ((no_of_terms2) *
((first_term2 + last_term2))) / 2;
sum = (sumleft + sumright);
}
return
sum;
}
int
rangesum(
int
n,
int
l,
int
r)
{
int
sum = 0;
if
(n % 2 == 0)
return
sumeven(n, l, r);
else
return
sumodd(n, l, r);
}
int
main()
{
int
n = 12;
int
l = 1, r = 11;
cout << (rangesum(n, l, r));
}