For this Question: A shop sells candies of sweetness ranging from 1 to 1000000000. Price of a candy with sweetness X is <b>A*X + B*f(X)</b> units, where f(X) returns number of digits in the decimal notation of X. Given A, B, and T, find the candy with maximum sweetness that Andy can buy if he has T units of money. If he cannot buy any candy, print 0.The first and the only line of input contains three integers A, B and T.

Constraints:
1 <= A, B <= 10^9
1 <= T <= 10^18Print the maximum sweetness that Andy can buy if he has T units of money. If he cannot buy any candy, print 0.Sample Input 1
10 7 100

Sample Output 1
9

Explanation: Cost of 9 level candy = 9*10 + 7*f(9) = 9*10 + 7*1 = 97.

Sample Input 2
1000000000 1000000000 100

Sample Output 2
0, I have written this Solution Code: #pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define VV vector
#define pb push_back
#define bitc  __builtin_popcountll
#define m_p make_pair
#define infi 1e18+1
#define eps 0.000000000001
#define fastio ios_base::sync_with_stdio(false);cin.tie(NULL);
string char_to_str(char c){string tem(1,c);return tem;}
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
template<class T>//usage rand<long long>()
T rand() {
    return uniform_int_distribution<T>()(rng);
}
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;

template<class T>
using oset = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
// string to integer stoi()
// string to long long stoll()
// string.substr(position,length);
// integer to string to_string();
 
//////////////

typedef unsigned long long ull;
auto clk=clock();
#define all(x) x.begin(),x.end()
#define S second
#define F first
#define sz(x) ((long long)x.size())
#define int long long  
#define f80 __float128
#define pii pair<int,int>
/////////////
 
signed main(){
	#ifdef ANIKET_GOYAL
		freopen("inputf.in","r",stdin);
		freopen("outputf.in","w",stdout);
	#endif
	ll A,B,X;
    cin >> A >> B >> X;
    ll lb = 0, ub = 1000000001, mid;
    while (ub - lb > 1) {
        mid = (ub + lb) / 2;
        (A*mid+B*to_string(mid).length() <= X ? lb : ub) = mid;
    }
    cout << lb << endl;
}, In this Programming Language: C++, Now tell me if this Code is compilable or not?