#include <bits/stdc++.h>
using
namespace
std;
int
findTriangularNumber(
int
n) {
return
n * (n + 1) / 2; }
int
findSmallestTriangularNumberInRange(
int
lower_bound,
int
upper_bound)
{
for
(
int
n = 1;; n++) {
int
triangular_number = findTriangularNumber(n);
if
(triangular_number >= lower_bound
&& triangular_number <= upper_bound) {
return
triangular_number;
}
else
if
(triangular_number > upper_bound) {
return
-1;
}
}
}
int
findLargestTriangularNumberInRange(
int
lower_bound,
int
upper_bound)
{
int
largest_triangular_number = 0;
for
(
int
n = 1;; n++) {
int
triangular_number = findTriangularNumber(n);
if
(triangular_number > upper_bound) {
return
largest_triangular_number;
}
else
if
(triangular_number >= lower_bound) {
largest_triangular_number = triangular_number;
}
}
}
int
main()
{
int
lower_bound = 100, upper_bound = 280;
int
smallest_triangular_number
= findSmallestTriangularNumberInRange(lower_bound,
upper_bound);
int
largest_triangular_number
= findLargestTriangularNumberInRange(lower_bound,
upper_bound);
if
(smallest_triangular_number == -1
|| largest_triangular_number == 0) {
cout <<
"-1"
<< endl;
}
else
{
int
result = smallest_triangular_number
^ largest_triangular_number;
cout << result << endl;
}
return
0;
}