Lazy Physics Cat Gym

来源:互联网 发布:软件国画山水价格 编辑:程序博客网 时间:2024/06/07 23:02

Physics cat likes to draw shapes and figure out their area. He starts by drawing a circle. Then inside the circle, he draws the triangle XYZ - where Y is the center point of the circle, and X and Z touch the circumference of the circle. Please note that points X and Y always have the same x-coordinate.

Given L (the distance between Points X and Y) and A (the angle XYZ in degrees); help physics cat find the shaded area between the right side of the triangle and the circumference of the circle. And when we say help, we mean do all the work for him.

Input

The first line of input is T – the number of test cases.

The first line of each test case is integers L and A (1 ≤ L ≤ 1000) (1 ≤ A ≤ 180).

Output

For each test case, output on a line the area of the shaded region rounded to 6 decimal places.

Example
Input
31 902 18010 30
Output
0.2853986.2831851.179939
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;#define ll long longconst int maxn=1e5+5;const int INF=0x3f3f3f3f;#define pi 3.1415926int main(){    int T;    scanf("%d",&T);    while(T--)    {        int r,x;        scanf("%d%d",&r,&x);        double ans;        double k=(x*pi)/180;        ans=(x*pi*r*r)/360-0.5*r*r*sin(k);        printf("%.6lf\n",ans);    }    return 0;}



0 0