2080:

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int t;
    scanf("%d", &t);
    while(t--)
    {
        double x1, y1, x2, y2;
        scanf("%lf %lf %lf %lf", &x1, &y1, &x2, &y2);
        double a = sqrt(x2*x2 + y2 * y2);
        double b = sqrt(x1*x1 + y1 * y1);
        double c = sqrt((x1-x2) * (x1-x2) + (y1-y2) * (y1-y2));
        double cosc = (a*a + b*b - c*c) / (2*a*b);
        printf("%.2lf\n", acos(cosc) * 180.0 / acos(-1));
    }



    return 0;
}

2081:

#include <bits/stdc++.h>

using namespace std;


int main()
{
    int t;
    cin >> t;
    while(t--)
    {
        string s;
        cin >> s;
        cout << 6;
        for(int i = s.size() - 6+1; i<s.size(); i++)
        {
            cout << s[i];
        }
        cout << endl;
    }


    return 0;
}

2082:

// 这题不会,以后再补

2083:

#include <bits/stdc++.h>

using namespace std;
const int N = 510;

int a[N];
int check(int n, int idx)
{
    int res = 0;
    for(int i=0; i<n; i++)
    {
        if(i != idx)
            res += abs(a[i] - a[idx]);
    }
    return res;
}

int main()
{
    int m;
    scanf("%d", &m);
    while(m--)
    {
        int n;
        scanf("%d", &n);
        for(int i=0; i<n; i++)
            scanf("%d", &a[i]);
        int sum = 0x3f3f3f3f;
        for(int i=0; i<n; i++)
        {
            sum = min(sum, check(n, i));
        }
        printf("%d\n", sum);
    }

    return 0;
}

2084:

#include <bits/stdc++.h>

using namespace std;
const int N = 110;

int dp[N][N];
int a[N][N];

int main()
{
    int t;
    scanf("%d", &t);
    while(t--)
    {
        int n;
        scanf("%d", &n);
        for(int i=1; i<=n; i++)
        {
            for(int j=1; j<=i; j++)
            {
                scanf("%d", &a[i][j]);
            }
        }
        memset(dp, 0, sizeof(dp));
        for(int i=n; i > 0; i--)
        {
            for(int j=1; j <= i; j++)
            {
                dp[i][j] = max(dp[i+1][j], dp[i+1][j+1]) + a[i][j];
            }
        }
        printf("%d\n", dp[1][1]);
    }


    return 0;
}

2085:

#include <bits/stdc++.h>

using namespace std;
typedef long long LL;



int main()
{
    int n;
    while(scanf("%d", &n), n != -1)
    {
        LL ans1 = 0;
        LL ans2 = 0;
        ans1 += 1;
        for(int i=0; i<n; i++)
        {
            LL tmp1 = 0;
            LL tmp2 = 0;
            if(ans1 != 0)
            {
                tmp1 += ans1 * 3;
                tmp2 += ans1 * 1;
            }
            if(ans2 != 0)
            {
                tmp1 += ans2 * 2;
                tmp2 += ans2 * 1;
            }
            ans1 = tmp1;
            ans2 = tmp2;
        }        
        printf("%lld, %lld\n", ans1, ans2);
    }


    return 0;
}

2086:

#include <cstdio>

using namespace std;
const int N = 3010;

double c[N];

int main()
{
    int n;
    double a0, an1;
    while(scanf("%d", &n) != EOF)
    {
        scanf("%lf%lf", &a0, &an1);
        for(int i=1; i<=n; i++)
            scanf("%lf", &c[i]);
        double sum = 0;
        for(int i=1; i<=n; i++)
        {
            sum = sum - (n-i+1) * c[i];
        }
        sum *= 2;
        // printf("sum = %lf\n", sum);
        sum = sum + n * a0 + an1;
        sum = sum / (n+1);
        printf("%.2lf\n", sum);
    }



    return 0;
}

2087:

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;
const int N = 1010;

char s[N], p[N];
int nexts[N];

void getnext()
{
    int plen = strlen(p);
    nexts[0] = -1;
    int k = -1;
    int j = 0;

    while(j < plen - 1)
    {
        if(k == -1 || p[j] == p[k])
        {
            k ++;
            j ++;
            nexts[j] = k;
        }
        else 
            k = nexts[k];
    }
}

int kmp()
{
    int i = 0;
    int j = 0;
    int slen = strlen(s);
    int plen = strlen(p);
    int ans = 0;
    while(i < slen && j < plen)
    {
        if(j == -1 || s[i] == p[j])
        {
            i ++;
            j ++;
        }
        else
            j = nexts[j];

        if(j == plen)
        {
            ans ++;
            j = 0;
            // i ++;
            // printf("i = %d\n", i);
        }
    }
    return ans;

}

int main()
{
    while(scanf("%s", s))
    {
        if(strcmp(s, "#") == 0) break;
        scanf("%s", p);
        getnext();
        printf("%d\n", kmp());
        
    }


    return 0;
}

2088:

#include <cstdio>
#include <cstring>
#include <algorithm>  
 
using namespace std;
const int N = 110;
 
int a[N];
int b[N];
 
int main()
{
    int n;
    int cnt = 0;
    while(scanf("%d", &n))
    {
        if(n == 0)
            break;
        if(cnt++ != 0)
            printf("\n");
        int sum = 0;
        for(int i=0; i<n; i++)
        {
            scanf("%d", &a[i]);
            sum += a[i];
        }
        int aver = sum / n;
        for(int i=0; i<n; i++)
            b[i] = a[i] - aver;
        int ans = 0;
        for(int i=0; i<n; i++)
        {
            if(b[i] > 0)
            {
                ans += b[i];
            }
        }
        printf("%d\n", ans);
    }
    
 
    return 0;
}

2089:

#include <cstdio>
#include <stack>

using namespace std;

int check(int x)
{
    int m1, m2;
    while(x)
    {
        m1 = x % 10;
        m2 = (x/10) % 10;
        if(m1 == 4)
            return 0;
        if(m1 == 2 && m2 == 6)
            return 0;
        x /= 10;
    }
    return 1;
}

int main()
{
    int n, m;
    while(scanf("%d %d", &n, &m), n+m)
    {
        int ans = 0;
        for(int i=n; i <= m; i++)
        {
            if(check(i))
                ans ++;
        }
        printf("%d\n", ans);
    }


    return 0;
}