Question: A simple but hopefully not quite trivial challenge:

Write a program or function that adds up the `k`th powers dividing a number `n`. More specifically:

* Input: two positive integers `n` and `k` (or an ordered pair of integers, etc.)
* Output: the sum of all of the positive divisors of `n` that are `k`th powers of integers

For example, 11! = 39916800 has six divisors that are cubes, namely 1, 8, 27, 64, 216, and 1728. Therefore given inputs `39916800` and `3`, the program should return their sum, `2044`.

Other test cases:

```
{40320, 1} -> 159120
{40320, 2} -> 850
{40320, 3} -> 73
{40320, 4} -> 17
{40320, 5} -> 33
{40320, 6} -> 65
{40320, 7} -> 129
{40320, 8} -> 1
{46656, 1} -> 138811
{46656, 2} -> 69700
{46656, 3} -> 55261
{46656, 4} -> 1394
{46656, 5} -> 8052
{46656, 6} -> 47450
{46656, 7} -> 1
{1, [any positive integer]} -> 1

```

This is code golf, so the shorter your code, the better. I welcome golfed code in all kinds of different languages, even if some other language can get away with fewer bytes than yours.

Answer: 
Python 2, ~~54~~ 52 bytes
=========================

```python
lambda x,n:sum(i**n*(x%i**n<1)for i in range(1,-~x))

```

Thanks @Rod for cutting off 2 bytes.
[Python 2](https://docs.python.org/2/), 50 bytes
================================================

```python
f=lambda n,k,i=1:n/i and(n%i**k<1)*i**k+f(n,k,i+1)

```

[Try it online!](https://tio.run/nexus/python2#@59mm5OYm5SSqJCnk62TaWtolaefqZCYl6KRp5qppZVtY6ipBaK10zTACrQNNf8XFGXmlSikaRjrGGpywTlmOkYInrmRpY6x5n8A "Python 2 – TIO Nexus") Large inputs may exceed the recursion depth depending on your system and implementation.