#include<bits/stdc++.h>
#define ll long long
pair<ll, ll> ternary_search(ll l, ll r) {
// change the below get_f function to your desired function.
// by default, it finds x, f(x) in [l, r] so that f(x) = 2x^2 - 12x + 7 MIN.
auto get_f = [](ll x) {
return 2*x*x - 12*x + 7;
};
while(l < r-2) {
ll mid1 = l + (r-l)/3;
ll mid2 = l + 2*(r-l)/3;
ll f1 = get_f(mid1);
ll f2 = get_f(mid2);
if (f1 < f2)
r = mid2;
else
l = mid1;
}
ll best_value = get_f(l);
ll best_x = l;
for (ll i = l+1; i <= r; ++i)
if (get_f(i) < best_value) {
best_value = get_f(i);
best_x = i;
}
return make_pair(best_x, best_value);
}