Codeforces Round #379 (Div. 2)(A+B)

A. Anton and Danik

time limit per test:1 second

memory limit per test:256 megabytes

input:standard input

output:standard output

Anton likes to play chess, and so does his friend Danik.

Once they have played n games in a row. For each game it’s known who was the winner — Anton or Danik. None of the games ended with a tie.

Now Anton wonders, who won more games, he or Danik? Help him determine this.

Input

The first line of the input contains a single integer n (1 ≤ n ≤ 100 000) — the number of games played.

The second line contains a string s, consisting of n uppercase English letters ‘A’ and ‘D’ — the outcome of each of the games. The i-th character of the string is equal to ‘A’ if the Anton won the i-th game and ‘D’ if Danik won the i-th game.

Output

If Anton won more games than Danik, print “Anton” (without quotes) in the only line of the output.

If Danik won more games than Anton, print “Danik” (without quotes) in the only line of the output.

If Anton and Danik won the same number of games, print “Friendship” (without quotes).

Examples

Input
6
ADAAAA

Output
Anton

Input
7
DDDAADA

Output
Danik

Input
6
DADADA

Output
Friendship

Note

In the first sample, Anton won 6 games, while Danik — only 1. Hence, the answer is “Anton”.

In the second sample, Anton won 3 games and Danik won 4 games, so the answer is “Danik”.

In the third sample, both Anton and Danik won 3 games and the answer is “Friendship”.
题意:出现’A’表示Anton加一分,出现”D’表示Danik加一分,问最后谁赢,平局输出‘Friendship’。
代码:

#include <bits/stdc++.h>
using namespace std;
string str;
int main()
{
    int n;
    cin>>n;
    cin>>str;
    int ans,sum;
    ans=sum=0;
    for(int i=0;i<n;i++)
    {
        if(str[i]=='A')
            ans++;
        else
            sum++;
    }
    if(ans>sum)
    {
        cout<<"Anton"<<endl;
    }
    else if(ans==sum)
    {
        cout<<"Friendship"<<endl;
    }
    else
        cout<<"Danik"<<endl;
}

B. Anton and Digits

time limit per test:1 second

memory limit per test:256 megabytes

input:standard input

output:standard output

Recently Anton found a box with digits in his room. There are k2 digits 2, k3 digits 3, k5 digits 5 and k6 digits 6.

Anton’s favorite integers are 32 and 256. He decided to compose this integers from digits he has. He wants to make the sum of these integers as large as possible. Help him solve this task!

Each digit can be used no more than once, i.e. the composed integers should contain no more than k2 digits 2, k3 digits 3 and so on. Of course, unused digits are not counted in the sum.

Input

The only line of the input contains four integers k2, k3, k5 and k6 — the number of digits 2, 3, 5 and 6 respectively (0 ≤ k2, k3, k5, k6 ≤ 5·106).

Output

Print one integer — maximum possible sum of Anton’s favorite integers that can be composed using digits from the box.

Examples

Input
5 1 3 4

Output
800

Input
1 1 1 1

Output
256

Note

In the first sample, there are five digits 2, one digit 3, three digits 5 and four digits 6. Anton can compose three integers 256 and one integer 32 to achieve the value 256 + 256 + 256 + 32 = 800. Note, that there is one unused integer 2 and one unused integer 6. They are not counted in the answer.

In the second sample, the optimal answer is to create on integer 256, thus the answer is 256.
题意:有写着2,3,5,6的卡片k1,k2,k3,k4张。只能能组成256和32,求和最大。
题解:都有2,所以让尽可能多的2去组成256.然后再考虑32.
代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll a,b,c,d;
ll ans;
int main()
{
    ans=0;
    cin>>a>>b>>c>>d;
    ll tmp=min(a,min(c,d));
    ans+=tmp*256;
    a-=tmp;
    tmp=min(a,b);
    ans+=tmp*32;
    cout<<ans<<endl;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值