Problem description

So, the New Year holidays are over. Santa Claus and his colleagues can take a rest and have guests at last. When two "New Year and Christmas Men" meet, thear assistants cut out of cardboard the letters from the guest's name and the host's name in honor of this event. Then the hung the letters above the main entrance. One night, when everyone went to bed, someone took all the letters of our characters' names. Then he may have shuffled the letters and put them in one pile in front of the door.

The next morning it was impossible to find the culprit who had made the disorder. But everybody wondered whether it is possible to restore the names of the host and his guests from the letters lying at the door? That is, we need to verify that there are no extra letters, and that nobody will need to cut more letters.

Help the "New Year and Christmas Men" and their friends to cope with this problem. You are given both inscriptions that hung over the front door the previous night, and a pile of letters that were found at the front door next morning.

Input

The input file consists of three lines: the first line contains the guest's name, the second line contains the name of the residence host and the third line contains letters in a pile that were found at the door in the morning. All lines are not empty and contain only uppercase Latin letters. The length of each line does not exceed 100.

Output

Print "YES" without the quotes, if the letters in the pile could be permuted to make the names of the "New Year and Christmas Men". Otherwise, print "NO" without the quotes.

Examples

Input

SANTACLAUS
DEDMOROZ
SANTAMOROZDEDCLAUS

Output

YES

Input

PAPAINOEL
JOULUPUKKI
JOULNAPAOILELUPUKKI

Output

NO

Input

BABBONATALE
FATHERCHRISTMAS
BABCHRISTMASBONATALLEFATHER

Output

NO

Note

In the first sample the letters written in the last line can be used to write the names and there won't be any extra letters left.

In the second sample letter "P" is missing from the pile and there's an extra letter "L".

In the third sample there's an extra letter "L".

解题思路:题目的意思就是将第一行字符串和第二行的字符串中的字母随机打乱顺序并且拼接起来和第三行的字符串比较,如果第三行的字符串刚好为前两行字符串中的字母组成,则输出"YES",否则输出"NO"。做法:采用map容器,键为字母序号,值为该字母出现的次数,如果前两行每个字母出现的次数和第三行对应字母出现的次数都相同,则输出"YES",否则输出"NO",水过。

AC代码:

 #include<bits/stdc++.h>
using namespace std;
int main(){
map<int,int> mp1,mp2;
for(int i=;i<;++i)mp1[i]=mp2[i]=;
char s1[],s2[],s3[];
cin>>s1>>s2>>s3;
for(int i=;s1[i]!='\0';++i)mp1[s1[i]-'A']++;
for(int i=;s2[i]!='\0';++i)mp1[s2[i]-'A']++;
for(int i=;s3[i]!='\0';++i)mp2[s3[i]-'A']++;
bool flag=false;
for(int i=;i<;++i)
if(mp1[i]!=mp2[i]){flag=true;break;}
if(flag)cout<<"NO"<<endl;
else cout<<"YES"<<endl;
return ;
}

T - Amusing Joke(map)的更多相关文章

  1. Codeforce 141A - Amusing Joke (sort)

    So, the New Year holidays are over. Santa Claus and his colleagues can take a rest and have guests a ...

  2. GO语言总结(4)——映射(Map)

    上一篇博客介绍了Go语言的数组和切片——GO语言总结(3)——数组和切片,本篇博客介绍Go语言的映射(Map) 映射是一种内置的数据结构,用来保存键值对的无序集合. (1)映射的创建 make ( m ...

  3. Java-集合=第五题 (Map)设计Account 对象如下: private long id; private double balance; private String password; 要求完善设计,使得该Account 对象能够自动分配id。 给定一个List 如下: List list = new ArrayList(); list.add(new A

    第五题 (Map)设计Account 对象如下: private long id; private double balance; private String password; 要求完善设计,使得 ...

  4. Java-map-第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。 附:世界杯冠军以及对应的夺冠年份,请参考本章附录。 附录

    第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队.如果该 年没有举办世界杯,则输出:没有举办世界杯. 附:世界杯冠军以及对应的夺冠年 ...

  5. 第一题 (Map)利用Map,完成下面的功能:

    从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队.如果该 年没有举办世界杯,则输出:没有举办世界杯.  附:世界杯冠军以及对应的夺冠年份,请参考本章附录. 附录  1.历届世界杯冠 ...

  6. 【机器学习基本理论】详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

    [机器学习基本理论]详解最大似然估计(MLE).最大后验概率估计(MAP),以及贝叶斯公式的理解 https://mp.csdn.net/postedit/81664644 最大似然估计(Maximu ...

  7. 【机器学习基本理论】详解最大后验概率估计(MAP)的理解

    [机器学习基本理论]详解最大后验概率估计(MAP)的理解 https://blog.csdn.net/weixin_42137700/article/details/81628065 最大似然估计(M ...

  8. GoLang基础数据类型--->字典(map)详解

    GoLang基础数据类型--->字典(map)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   可能大家刚刚接触Golang的小伙伴都会跟我一样,这个map是干嘛的,是 ...

  9. 列表生成式+过滤器(filter)+映射(map)+lambda总结

    这些都是python的特色,不仅强大,而且好用,配合起来使用更是无敌. 零.lambda lambda用于产生一个匿名表达式,组成部分为:lambda + ‘函数表达式’ ‘函数表达式’由一个冒号加上 ...

随机推荐

  1. mapbox-gl 使用ArcGISServer 发布的栅格切片

    最近使用mapbox 进行数据化展现.刚好用到了超图平台在去三维系统,顺带就用超图平台发布了栅格切片,用来做底图,但是超图平台是试用的许可,栅格切片有SuperMap 的水印,实在不雅观. 在网上搜索 ...

  2. 【VIP视频网站项目】VIP视频网站项目v1.0.3版本发布啦(程序一键安装+电影后台自动抓取+代码结构调整)

    在线体验地址:http://vip.52tech.tech/ GIthub源码:https://github.com/xiugangzhang/vip.github.io 项目预览 主页面 登录页面 ...

  3. CF997A Convert to Ones

    CF997A Convert to Ones 题目大意: 给你一个长度为 nn 的01串( n $\leq 3*10^5$ ),你有两种操作: 1.将一个子串翻转,花费 XX 2.将一个子串中的0变成 ...

  4. Cent os常见操作命令

    1.查看防火墙状态:firewall-cmd –-state 2.关闭防火墙:systemctl stop firewalld.service 3.禁止防火墙开机启动:systemctl disabl ...

  5. TypeError与ValueError的区别

    typeerror:函数或方法接受了不适当的[类型]的参数,比如sum('nick'),sum函数不接受字符串类型:valueerror:函数或方法虽然接受了正确的[类型]的参数,但是该参数的[值]不 ...

  6. Python 输出带颜色的文字方法

    输出文字带颜色 书写格式,和相关说明如下: #格式: 设置颜色:  \033[显示方式;前景色;背景色m     \033[0m 方法: 字体色 背景色 颜色 -------------------- ...

  7. Thawte

    Thawte 公司为 VeriSign(即:现更名为Symantec) 全资子公司,是全球第三大数字证书颁发机构(CA),成立于1995年,自1996年正式提供数字证书产品到1999年占领全球市场的4 ...

  8. 完全卸载VS2015的方法

    解压ISO文件夹,到根目录下运行命令行: vs_enterprise.exe /uninstall /force 注意:如果安装了Update 3时,就解压最新的ISO,不需要旧的. 卸载完成之后,删 ...

  9. HDU 4534

    AC自动机+状态DP. 虽然很明显的AC自动机+状态DP题,但要分析问题上还是欠缺一点了.一直在犹豫枚举每一个字符选或不选的状态会不会超时,以为会达到状态有2^n,但其实根本没有.因为有很多状态是可以 ...

  10. DSP、Media、AdExchanger之间的关系及交互流程

    广告商,如以下的樱花日语,淘宝卖家.其须要推广自己的产品. Zampdsp(晶赞) 是DSP平台.其与非常多广告商合作,广告商在平台上公布广告创意,并托付平台代为投放. tanx.com 是adExc ...