func_code_string: #include <bits/stdc++.h>   using namespace std;   map<long long, long long> m1;   long long query(long long a, long long b) {     long long ans = 0;     while (a != b) {       if (a > b) {         ans += m1[a];         a = a / 2;       } else {         ans += m1[b];         b = b / 2;       }     }     return ans;   }   void update(long long a, long long b, long long m) {     while (a != b) {       if (a > b) {         m1[a] += m;         a = a / 2;       } else {         m1[b] += m;         b = b / 2;       }     }     return;   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     long long q;     cin >> q;     while (q--) {       long long ch;       cin >> ch;       if (ch == 2) {         long long a, b;         cin >> a >> b;         cout << query(a, b) << endl;       } else {         long long a, b, m;         cin >> a >> b >> m;         update(a, b, m);       }     }     return 0;   }   