I am trying to multiply two generators of center $Z(\mathbb{C}[S_n])$ of ring algebra of symmetric group of $n$ elements. We know that these generators are given by sums of conjugacy classes in $S_n,$ which are given by various partitions. 
E.g. for $S_3$ one gets
$$Z(\mathbb{C}[S_3])=\mathbb{C}\langle (1)(2)(3), (12)(3)+(23)(1)+(13)(2), (123)+(132) \rangle.$$
Now the **question** is: Giving two partitions $p_1$ and $p_2$ of $n$ how to get the product of the associated generators $x_{p_1}  \cdot x_{p_2}$ of $Z(\mathbb{C}[S_n])?$  
E.g, in the given example $S_3$ we get $$x_{(2,1)}\cdot x_{(2,1)}=3x_{(1,1,1)}+3x_{(3)}.$$

By saying ''to get'' I mean an algorithm that takes two partitions and spits out the partitions that appear in the product, together with the corresponding coefficients.