#include <stdio.h>
#include <math.h>
#define eps 1e-10
int sig( double x )
{
return (x>eps) - (x<-eps);
}
double dis(double x1,double y1,double x2,double y2)
{
return sqrt( (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2) );
}
double angle(double x, double y)
{
return atan2(y , x);
}
int main()
{
double x1, y1, r1, x2, y2, r2;
double d1, d2, l1, l2; // l1 l2切线 d1 d2 切线的夹角
double dis1, dis2; // 圆心到原点的距离
double ag1, ag2; // 圆心的极角
double d, ag; // d圆心与原点的夹角 ag平分线与切线的角度
double ans;
while(scanf("%lf %lf %lf", &x1, &y1, &r1) != EOF)
{
scanf("%lf %lf %lf", &x2, &y2, &r2);
dis1 = dis(x1, y1, 0, 0);
dis2 = dis(x2, y2, 0, 0);
if(sig(dis1 - r1) <= 0 || sig(dis2 - r2) <= 0)
{
puts("center covered");
continue;
}
l1 = sqrt(dis1 * dis1 - r1 * r1);
l2 = sqrt(dis2 * dis2 - r2 * r2); // 勾股定理
d1 = asin( r1 / dis1 );
d2 = asin( r2 / dis2 );
d = acos( ( x1 * x2 + y1 * y2) / (dis1 * dis2) );
//余弦定理
if( sig(d - d1 - d2) <= 0 )
{
puts("no slice between them");
continue;
}
ag =( d - d1 - d2 ) / 2;
ag1 = angle(x1 , y1);
ag2 = angle(x2 , y2);
if(sig(fabs(ag1 - ag2) - M_PI) <= 0)
{
ans = sig(ag1 - ag2) < 0 ? ag1 + d1 + ag : ag2 + d2 + ag;
}
else
{
ans = sig(ag1 - ag2) > 0 ? ag1 + d1 + ag : ag2 + d2 + ag;
}
if( sig(ans - M_PI / 2) > 0) ans -= M_PI;
if( sig(ans + M_PI / 2) < 0) ans += M_PI;
printf("slice at %.2lf degrees\n",ans / M_PI * 180);
}
}