using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class MainClass
{
	public const long Giri = 1000000007;
	public const long DpInf = 99999999999999;
	
	public static void Main(string[] args)
	{
		var n = Console.ReadLine().ToInt();
		var a = Input().ToInt();
		
		var map = new Dictionary<int, int>();
		for(int i = 0; i < n; i++)
		{
			if(!map.ContainsKey(a[i]))
				map.Add(a[i], 0);
			map[a[i]]++;
		}
		
		var q = Console.ReadLine().ToInt();
		
		
		for(int i = 0; i < q; i++)
		{
			var p = Input().ToInt();
			if(map.ContainsKey(p[0]))
			{
				int size = map[p[0]];
				if(map.ContainsKey(p[1]))
				{
					map[p[1]] += size;
					map.Remove(p[0]);
				}
				else
				{
					map.Remove(p[0]);
					map.Add(p[1], size);
				}
			}
			
			
			long wa =0;
			foreach(var k in map.Keys)
			{
				wa += k * map[k];
			}
			Console.WriteLine(wa);
		}
		

	}

	
	static long GCD(long a, long b)
	{
		var v = new[] { a, b };
		while (v[1] != 0) { v = new[] { v[1], v[0] % v[1] }; }
		return v[0];
	}
	public static string[] Input() { return Console.ReadLine().Split(); }
}

public static class Smarter
{
	public static int ToInt(this string str) { return int.Parse(str); }
	public static long ToLong(this string str) { return long.Parse(str); }
	public static int[] ToInt(this string[] str, int offset = 0)
	{
		var r = new int[str.Length];
		for(int i = 0; i < str.Length; i++) r[i] = str[i].ToInt() + offset;
		return r;
	}
}