#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 10;
const long long MOD = 10;
long long _gcd(long long a, long long b) {
  if (b == 0) return a;
  return _gcd(b, a % b);
}
long long gcd(long long a, long long b) {
  a = abs(a), b = abs(b);
  if (a < b) swap(a, b);
  return _gcd(a, b);
}
long long qpow(long long a, long long n) {
  long long rt = 1;
  while (n) {
    if (n & 1) rt = (rt * a) % MOD;
    a = a * a % MOD;
    n >>= 1;
  }
  return rt;
}
long long factor[MAXN];
void cal_factor() {
  factor[0] = 1;
  for (int u = 1; u < MAXN; u++) {
    factor[u] = (factor[u - 1] * u) % MOD;
  }
}
long long C(long long n, long long k) {
  return factor[n] * qpow(factor[n - k], MOD - 2) % MOD *
         qpow(factor[k], MOD - 2) % MOD;
}
int N;
long long A[MAXN];
unordered_set<int> pos[MAXN];
void solve() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> N;
  long long sum = 0;
  for (int u = 1; u <= N; u++) {
    cin >> A[u];
    pos[A[u]].insert(u);
    sum += A[u];
  }
  int Q;
  cin >> Q;
  while (Q--) {
    int b, c;
    cin >> b >> c;
    int sz = pos[b].size();
    sum += -(long long)b * sz + (long long)c * sz;
    cout << sum << '\n';
    for (int ps : pos[b]) {
      pos[c].insert(ps);
    }
    pos[b].clear();
  }
}
int main() { solve(); }
