#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
#include <string>
#include <unordered_map>
#include <memory>
#include <sstream>
#include <cmath>
#include <cstdlib>
using namespace std;
#define FOR(i, n) for (int i = 0; i < (n); ++i)
#define RFOR(i, n) for (int i = (n-1); i >= 0; --i)
#define FAST_IO ios::sync_with_stdio(0); cin.tie(0);
#define endl "\\n"
#define PRINT(str) cout << (str) << endl
#define FOR_EACH(elem, container) for (auto& elem : container)
#define SORT(container) sort((container).begin(), (container).end())
#define CONST_VAL(name, value) const int name = value;
#define SWAP(a, b) { int temp = a; a = b; b = temp; }
template <typename T> void print(const T& value) { cout << value << endl; }
template <typename T> T sum(const vector<T>& vec) { return accumulate(vec.begin(), vec.end(), T(0)); }
template <typename T> T find_max(const vector<T>& vec) { return *max_element(vec.begin(), vec.end()); }
template <typename T> T find_min(const vector<T>& vec) { return *min_element(vec.begin(), vec.end()); }
template <typename T> void sort_vector(vector<T>& vec) { sort(vec.begin(), vec.end()); }
vector<string> split(const string& str, char delimiter) {
istringstream ss(str); string item; vector<string> result;
while (getline(ss, item, delimiter)) result.push_back(item);
return result;
}
size_t string_length(const string& str) { return str.length(); }
template <typename T> void print_container(const vector<T>& vec) { FOR_EACH(elem, vec) print(elem); }
template <typename T> void swap_values(T& a, T& b) { std::swap(a, b); }
bool is_prime(int num) {
if (num < 2) return false;
for (int i = 2; i <= sqrt(num); ++i) if (num % i == 0) return false;
return true;
}
vector<int> fibonacci(int n) {
vector<int> fibs = {0, 1};
FOR(i, n-2) fibs.push_back(fibs[i] + fibs[i + 1]);
return fibs;
}
bool is_palindrome(const string& str) { return str == string(str.rbegin(), str.rend()); }
template <typename T> bool find_element(const vector<T>& vec, const T& value) { return find(vec.begin(), vec.end(), value) != vec.end(); }
int random_int(int min, int max) { return min + rand() % (max - min + 1); }
int main() {
FAST_IO
return 0;
}