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