请完善下面的程序,该程序使用分治法求 x^p mod m的值。
#include <bits/stdc++.h> using namespace std; int x,p,m,i,result; int main() { cin>>x>>p>>m; result=______(1)______; while(_____(2)______) { if(p%2==1) { result=_____(3)______; } p/=2; x=______(4)_______; } cout<<_____(5)_____<<endl; return 0; }