Calculate the complexity of an algorithm I have an algorithm here and it wants me to calculate the complexity:

for (i=1;i&lt;n;i++)
  for (j=1;j&lt;i*i;j++)
    if (j%i==0)
       for (k=0;k&lt;j;k++)
          sum++;


First of all, I think that i have different complexities for best, average and worst case but I don't know how to find them. I have one though and I said that in the best case I will have the 2 fors and count as operation the 'if'. So i have a double sum (ΣΣ 1) with bounds being the values of i,j in the for loops. That's all i did.
The number of times that the if is executed is
$$
\sum_{i=1}^{n-1} (i^2-1) = \Theta(n^3).
$$
The number of times that sum is incremented is
$$
\sum_{i=1}^{n-1} \sum_{\substack{1 \leq j &lt; i^2 \\ i \mid j}} j =
\sum_{i=1}^{n-1} \sum_{k=1}^{i-1} ki = \sum_{i=1}^{n-1} i \binom{i}{2} = \Theta(n^4).
$$
Altogether, we get a running time of $\Theta(n^4)$.