一定要考虑全面啊。。。。。
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int INF=0x3f3f3f3f;
int abs(int x)
{
return x<0?-x:x;
}
int px[4],py[4];
int main()
{
int n,m,x,y,a,b,dx,dy;
cin>>n>>m>>x>>y>>a>>b;
px[0]=1;py[0]=1;px[2]=1;py[2]=m;
px[1]=n;py[1]=1;px[3]=n;py[3]=m;
int ans=INF;
for(int i=0;i<4;i++)
{
dx=abs(px[i]-x);dy=abs(py[i]-y);
if(dx&&dy&&dx%a==0&&dy%b==0&&abs(dx/a-dy/b)%2==0) ans=min(ans,max(dx/a,dy/b));
else if(dx==0&&dy==0) {ans=0; break;}
else if(dx==0&&n-1>=a&&dy%b==0&&(dy/b)%2==0) ans=min(ans,dy/b);
else if(dy==0&&m-1>=b&&dx%a==0&&(dx/a)%2==0) ans=min(ans,dx/a);
}
if(ans==INF) puts("Poor Inna and pony!");
else cout<<ans<<endl;
return 0;
}