nnのnnは部屋に11の刑務所連続数は、各部屋には、囚人を開催しました。
そこミリメートルの宗教は、それぞれの宗教は、囚人のものであってもよいです。
囚人の部屋と同じ宗教的信念が隣接する場合は、エスケープが発生することがあります。
エスケープが発生どのように多くの状態を求めることができます。
入力形式
二つの整数ミリメートルとNNを備えた共通線、。
出力形式
100003100003以上のものを取るために状態の数の可能な脱出。
データ範囲
1≤m≤1081≤m≤108、
1≤n≤10121≤n≤1012
入力サンプル:
23
サンプル出力:
6
サンプルは、説明
(000)(001)(011)(100)(110)(111)(000)(001)(011)(100)(110)(111):すべての可能な66個の状態です。
アイデア:減算することはできないかもしれないエスケープの合計を取る
メートルの合計は、第1の選択個人がM、それを逃げられない、みんなのための選択肢を有していてもよく、M-1の選択肢の後ろに人がいます
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
const int mod = 100003;
typedef long long LL;
int qmi(int a, LL k){
int res = 1;
while(k){
if (k & 1) res = (LL)res * a % mod;
a = (LL)a * a % mod;
k >>= 1;
}
return res;
}
int main(){
int m;
LL n;
cin >> m >> n;
cout << (qmi(m, n) - (LL)m * qmi(m - 1, n - 1) % mod + mod) % mod << endl;
return 0;
}