#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
#include <cmath>
#include <stack>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <list>
#include <iostream>
#include <sstream>
#include <climits>
#include <cfloat>
#include <complex>


typedef long long ll;
const double Eps = 1e-6;

using namespace std;

typedef complex<double> Point;

double dot(const Point& a, const Point& b)
{
	return a.real()*b.real() + a.imag()*b.imag();
}
double cross(const Point& a, const Point& b)
{
	return a.real()*b.imag() - a.imag()*b.real();
}
double distance_line_point(const Point& point, const Point& a, const Point& b)
{
	return abs(cross(a-b, point-b) / abs(a-b));
}
double distance_linesegment_point(const Point& point, const Point& a, const Point& b)
{
	if (dot(b-a, point-a) < Eps)
		return abs(a-point);
	else if (dot(a-b, point-b) <Eps)
		return abs(b-point);
	else
		return distance_line_point(a, b, point);
}
bool is_in_triangle(const Point& point, const Point* triangle)
{
	double t[3];
	for (int i = 0; i < 3; ++i)
		t[i] = cross(triangle[(i+1)%3] - triangle[i], point - triangle[i]);

	return t[0] >= 0 && t[1] >= 0 && t[2] >= 0
		|| t[0] <= 0 && t[1] <= 0 && t[2] <= 0;
}
bool is_in_triangle(const Point& point, const Point& a, const Point& b, const Point& c)
{
	Point t[3] = { a, b, c };
	return is_in_triangle(point, t);
}
bool is_circle_in_triangle(const Point& center, double radius, const Point* triangle)
{
	if (!is_in_triangle(center, triangle))
		return false;
	for (int i = 0; i < 3; ++i)
		if (distance_line_point(triangle[i], triangle[(i+1)%3], center) < radius)
			return false;
	return true;
}
bool is_triangle_in_circle(const Point* triangle, const Point& center, double radius)
{
	for (int i = 0; i < 3; ++i)
		if (abs(triangle[i]-center) > radius)
			return false;
	return true;
}
bool interect_triangle_circle(const Point* triangle, const Point& center, double radius)
{
	for (int i = 0; i < 3; ++i)
		if (distance_linesegment_point(center, triangle[i], triangle[(i+1)%3]) < radius)
			return true;
	return false;
}

int main()
{
	int x[4], y[4], r;
	while (true)
	{
		for (int i = 0; i < 4; ++i)
			scanf("%d %d", x+i, y+i);
		scanf("%d", &r);
		if (x[0] == 0 && y[0] == 0)
			break;
		Point p[4];
		for (int i = 0; i < 4; ++i)
			p[i] = Point(x[i], y[i]);

		if (is_circle_in_triangle(p[3], r, p))
			puts("a");
		else if (is_triangle_in_circle(p, p[3], r))
			puts("b");
		else if (interect_triangle_circle(p, p[3], r))
			puts("c");
		else
			puts("d");
	}

	return 0;
}