/* -*- coding: utf-8 -*- * * 2363.cc: No.2363 k-bonacci - yukicoder */ #include #include #include using namespace std; /* constant */ /* typedef */ typedef long long ll; typedef deque dql; /* global variables */ /* subroutines */ /* main */ int main() { ll n; scanf("%lld", &n); for (int k = 2; k <= 63; k++) { dql xs(k, 0); xs[k - 1] = 1; ll sum = 1; while (sum <= n) { if (sum == n) { printf("%d\n", k); return 0; } xs.push_back(sum); sum *= 2; while (xs.size() > k) { sum -= xs.front(); xs.pop_front(); } } } puts("-1"); return 0; }