public static Point girar(Point a, Point b, int num) {
		if (num > 1)
			b = girar(a, b, num - 1);

		Point res = null;
		int rX = Math.abs(a.x - b.x);
		int rY = Math.abs(a.y - b.y);

		if (a.x >= b.x && a.y >= b.y) {
			res = new Point(a.x + rY, a.y - rX, 1);
		} else if (a.x <= b.x && a.y >= b.y) {
			res = new Point(a.x + rY, a.y + rX, 1);
		} else if (a.x <= b.x && a.y <= b.y) {
			res = new Point(a.x - rY, a.y + rX, 1);
		} else if (a.x >= b.x && a.y <= b.y) {
			res = new Point(a.x - rY, a.y - rX, 1);
		}
		return res;
	}