#include <bits/stdc++.h>
using namespace std;
double PI = acos(-1);
long long int mod = 998244353;
double eps = 1e-8;
long long int exp(long long int x, long long int y) {
  if (y < 0) return 0;
  long long int ret = 1;
  for (; y; y >>= 1, x = (x * x) % mod) {
    if (y & 1) ret = (ret * x) % mod;
  }
  return ret;
}
unsigned long long int pexp(unsigned long long int x,
                            unsigned long long int y) {
  if (y < 0) return 0;
  unsigned long long int ret = 1;
  for (; y; y >>= 1, x = (x * x)) {
    if (y & 1) ret = (ret * x);
  }
  return ret;
}
long long int gcd(long long int x, long long int y) {
  if (!x || !y) return x + y;
  return x % y == 0 ? y : gcd(y, x % y);
}
long long int lcm(long long int x, long long int y) {
  return x * (y / gcd(x, y));
}
long long int bsum(long long int u, long long int b) {
  long long int ret = 0;
  if (u < b) return u;
  while (u) {
    ret += u % b;
    u /= b;
  }
  return ret;
}
long long int prival(long long int u, long long int p) {
  long long int cn = 0;
  while (u % p == 0) {
    cn++;
    u = u / p;
  }
  return cn;
}
long long int extm(long long int a, long long int b) {
  long long int ret = 0;
  while (a != 0) {
    if (a % 2 == 1) {
      ret += b;
      ret %= mod;
    }
    a >>= 1;
    b = (2 * b) % mod;
  }
  return ret;
}
long long int minv(long long int a, long long int b) {
  return 1 < a ? b - minv(b % a, a) * b / a : 1;
}
long long int eaphi(long long int x) {
  long long int t = x, ret = x, i;
  for (i = 2; i * i <= t; i++) {
    if (t % i == 0) {
      ret -= ret / i;
      while (t % i == 0) t /= i;
    }
  }
  if (t != 1) ret -= ret / t;
  return ret;
}
long long int eadivc(long long int x) {
  long long int ret = 0;
  long long int i;
  for (i = 1; i * i <= x; i++) {
    if (x % i == 0 && i * i != x) ret += 2;
    if (x % i == 0 && i * i == x) ret += 1;
  }
  return ret;
}
long long int eadivs(long long int x) {
  long long int ret = 0;
  long long int i;
  for (i = 1; i * i <= x; i++) {
    if (x % i == 0 && i * i != x) ret += i + x / i;
    if (x % i == 0 && i * i == x) ret += i;
  }
  return ret;
}
long long int ndig(long long int x, long long int b) {
  long long int ret = 0;
  while (x) {
    x /= b;
    ret++;
  }
  return ret;
}
long long int rev(long long int n, long long int b) {
  long long int ret = 0;
  while (n) {
    ret = b * ret + n % b;
    n /= b;
  }
  return ret;
}
long long int sq(long long int x) {
  long long int t = (long long int)sqrt(x);
  for (long long int i = t - 2; i <= t + 2; i++)
    if (i * i == x) return abs(i);
  return -1;
}
long long int extexp(long long int x, long long int y) {
  if (y < 0) return 0;
  long long int ret = 1;
  for (; y; y >>= 1, x = extm(x, x)) {
    if (y & 1) ret = extm(ret, x);
  }
  return ret;
}
bool isprime(long long int x) {
  if (x <= 1) return false;
  for (long long int i = 2; i * i <= x; i++) {
    if (x % i == 0) {
      return false;
    }
  }
  return true;
}
long long int val[755][755], B = 700;
long long int a[555555], q;
int main(void) {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  long long int i, t, x, y, ans;
  cin >> q;
  while (q--) {
    cin >> t >> x >> y;
    if (t == 1) {
      a[x] += y;
      for (i = 1; i <= B; i++) val[i][x % i] += y;
    }
    if (t == 2) {
      ans = 0;
      if (x <= B)
        cout << val[x][y] << "\n";
      else {
        for (i = y; i <= 500000; i += x) ans += a[i];
        cout << ans << "\n";
      }
    }
  }
  return 0;
}
