#include <bits/stdc++.h>
using namespace std;
map<pair<long long int, long long int>, long long int> m;
int main() {
  int t, p;
  long long int v, u, w, ans;
  cin >> t;
  while (t--) {
    cin >> p;
    if (p == 1) {
      cin >> v >> u >> w;
      while (v != u) {
        if (v > u) {
          m[{v, v / 2}] += w;
          v = v / 2;
        } else {
          m[{u, u / 2}] += w;
          u = u / 2;
        }
      }
    } else {
      cin >> v >> u;
      ans = 0;
      while (v != u) {
        if (v > u) {
          ans += m[{v, v / 2}];
          v = v / 2;
        } else {
          ans += m[{u, u / 2}];
          u = u / 2;
        }
      }
      cout << ans << endl;
    }
  }
  return 0;
}
