import
java.util.*;
class
GFG{
static
class
Query
{
int
L, R;
public
Query(
int
l,
int
r)
{
super
();
L = l;
R = r;
}
};
static
void
fillPrefixArray(
int
arr[],
int
n,
int
prefixArray[])
{
prefixArray[
0
] = arr[
0
];
for
(
int
i =
1
; i < n; i++)
{
if
(i %
2
==
0
)
{
prefixArray[i] = prefixArray[i -
1
] +
arr[i];
}
else
{
prefixArray[i] = prefixArray[i -
1
] -
arr[i];
}
}
}
static
int
findResultUtil(
int
prefixArray[],
int
L,
int
R)
{
int
result;
if
(L ==
0
)
{
result = prefixArray[R];
}
else
{
result = prefixArray[R] -
prefixArray[L -
1
];
}
if
(L %
2
==
1
)
{
result = result * (-
1
);
}
return
result;
}
static
void
findResult(
int
arr[],
int
n,
Query q[],
int
m)
{
int
[]prefixArray =
new
int
[n];
fillPrefixArray(arr, n, prefixArray);
for
(
int
i =
0
; i < m; i++)
{
System.out.print(findResultUtil(
prefixArray, q[i].L,
q[i].R) +
" "
);
}
}
public
static
void
main(String[] args)
{
int
arr[] = {
10
,
13
,
15
,
2
,
45
,
31
,
22
,
3
,
27
};
int
n = arr.length;
Query q[] = {
new
Query(
2
,
5
),
new
Query(
6
,
8
),
new
Query(
1
,
7
),
new
Query(
4
,
8
),
new
Query(
0
,
5
)};
int
m = q.length;
findResult(arr, n, q, m);
}
}