#include <iostream>
#include <stdio.h>
#include <math.h>
#define PI 3.141592653589
using namespace std;
 
double x[3],y[3],rx,ry,r;
 
int trgin() {
    int i,k;
    double a,b,c,d=0;
    for (i=0; i<3; i++) {
     k=(i+1) % 3;
     a=sqrt((x[i]-x[k])*(x[i]-x[k])+(y[i]-y[k])*(y[i]-y[k]));
     b=sqrt((x[i]-rx)*(x[i]-rx)+(y[i]-ry)*(y[i]-ry));
     c=sqrt((x[k]-rx)*(x[k]-rx)+(y[k]-ry)*(y[k]-ry));
     d=d+acos((b*b+c*c-a*a)/(2*b*c));
    }
    if ((d-PI*2)<0.000001 && (d-PI*2)>-0.000001) return 1;
    return 0;
}
int line(double x1,double y1,double x2,double y2) {
    double x,y,m,d;
    if (y1==y2) { x=rx;y=y1;} else if (x1==x2) { x=x1;y=ry;}
    else {
    m=(y2-y1)/(x2-x1);
    x=(ry-y1+m*x1+rx/m)/(m+1/m);
    y=y1+m*(x-x1);
    }
    if (((x>=x1 && x<=x2) || (x>=x2 && x<=x1)) && ((y>=y1 && y<=y2) || (y>=y2 && y<=y1))){
    d=(rx-x)*(rx-x)+(ry-y)*(ry-y);
    if (d==r*r) return 1; else if (d<r*r) return 2;
    }
    return 0;
}
int main() {
    int i,j,k,f;
    while(true) {
        for (i=0;i<3;i++) {
        cin >> x[i] >> y[i];
        if (x[i]==0) break;
    }
    if (i!=3) break;
    cin >> rx >> ry >> r;
    for (i=0,f=0;i<3;i++) if ((x[i]-rx)*(x[i]-rx)+(y[i]-ry)*(y[i]-ry)<=r*r) f++;
    if (f==3) { cout << 'b' << endl; continue;} else if (f>0) { cout << 'c' << endl; continue;} 
    for (i=0,f=0,k=0;i<3;i++) {
        j=line(x[i],y[i],x[(i+1) % 3],y[(i+1) % 3]); k+=j;
        if (j>1) break;
    }
    if (i==3) if (trgin()==1) { cout << 'a' << endl; continue;} else if (k==0) {cout << 'd' << endl; continue;}
    cout << 'c' << endl;
    }
return 0;
 }