#include #include #include #define EPS 1e-12 int n,m,C,SI,SJ,FI,FJ; char MAP[15][15]; short dir[4][2] = {0,1,1,0,-1,0,0,-1}; struct Rect { int n,m; double v[110][110]; Rect():n(0),m(0) { memset(v,0,sizeof(v)); } }K,X; Rect IRect(int siz) { int i; Rect ret; ret.n = ret.m = siz; for(i=0;i EPS) for(k=0;k>=1) { if(b&1) y = y * base; base = base * base; } return y; } int id(int a,int b) { return (a-1)*(m-2) + (b-1); } void input() { int i; scanf("%d%d%d%d%d%d%d",&n,&m,&C,&SI,&SJ,&FI,&FJ); for(i=0;i