fork download
  1. #include<bits/stdc++.h>
  2. #include <ext/pb_ds/assoc_container.hpp>
  3. #include <ext/pb_ds/tree_policy.hpp>
  4. using namespace std;
  5. using namespace __gnu_pbds;
  6. typedef long long ll;
  7. typedef long double ld;
  8. typedef pair<int, int> pii;
  9. typedef pair<ll, ll> pll;
  10. typedef vector<int> vi;
  11. typedef vector<ll> vl;
  12. typedef vector<pii> vii;
  13. typedef vector<pll> vll;
  14. #define ordered_set tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>
  15. #define ordered_multiset tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update>
  16. #define all(x) (x).begin(),(x).end()
  17. #define pb push_back
  18. #define ff first
  19. #define ss second
  20. #define mp make_pair
  21.  
  22. const ll mod = 1e18;
  23.  
  24. void solve(){
  25. ll a, b; cin >> a >> b;
  26. __int128 x = __int128(a) * __int128(b);
  27.  
  28. if(x > mod){
  29. ll w = x % mod;
  30. x /= mod;
  31. ll y = x;
  32. cout << y << w << "\n";
  33. }else{
  34. cout << a * b << "\n";
  35. }
  36.  
  37. }
  38.  
  39. int main(){
  40. ios_base::sync_with_stdio(0);
  41. cin.tie(0);
  42.  
  43. int t; cin >> t;
  44. while(t--) solve();
  45.  
  46.  
  47.  
  48.  
  49.  
  50. return 0;
  51. }
  52.  
  53.  
Success #stdin #stdout 0.01s 5320KB
stdin
1
10000000000 12345
stdout
123450000000000