text: # Problem I have n tickets for a train with a rabbit.Each ticket is numbered from 0 to n − 1, and you can use the k ticket to go to p⋅ak + q⋅bk station.Rabbit wants to go to the all-you-can-eat carrot shop at the station m station ahead of the current station, but wants to walk as short as possible.The stations are lined up at regular intervals.When using, how many stations can a rabbit walk to reach the store?Input 1 ≤ n, m, a, b, p, q ≤ 1 000 000 000 000 (integer) Output Output the number of rabbits that can reach the store on foot at the minimum number of stations in one line.Examples Input 6 200 2 3 4 5 Output 1 Input 6 1 2 3 4 5 Output 1 # Solution #include "bits/stdc++.h" #include<unordered_map> #include<unordered_set> #pragma warning(disable:4996) using namespace std; using ld = long double; template<class T> using Table = vector<vector<T>>; const ld eps=1e-10; //// < "D:\D_Download\Visual Studio 2015\Projects\programing_contest_c++\Debug\a.txt" int K, R, L; ld P; ld E; ld T; long long int atime(const long long int l, const long long int r) { if (l > LLONG_MAX / r) { return LLONG_MAX; } else { return l*r; } } long long int powint(long long int a, long long int b) { if (!b)return 1; else { return atime(a, powint(a, b - 1)); } } long long int aplus(const long long int l, const long long int r) { if (l > LLONG_MAX / 3 || R > LLONG_MAX)return LLONG_MAX; else return l + r; } //ld getans(const ld amin, const ld amax,const int rest,const ld per) { // if (!