#include <bits/stdc++.h>
using namespace std;
const int N = 100;
long long n, m, k;
long long power(long long x, long long y) {
  long long ans = 1;
  for (int i = 1; i <= y; i++) {
    ans *= x;
    ans %= 1000000007;
  }
  return ans;
}
int main() {
  cin >> n >> m >> k;
  if (k == 1 || k > n) {
    cout << power(m, n);
    return 0;
  }
  if (k == n) {
    cout << power(m, (n + 1) / 2);
    return 0;
  }
  if (k % 2 == 1) {
    cout << m * m;
    return 0;
  }
  cout << m;
  return 0;
}
