{"trustable":false,"prependHtml":"\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\" type\u003d\"text/javascript\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"MD","content":"这儿有 M 项水果销售情况的数据,其格式表示为:\n有M行,每行为一项销售数据:水果名称,产地,销售额。\n你需要将上面的 M 项数据整理在一起,表示为:\n将相同产地和名称的水果的销售额求和,再按其产地名称的字典序从小到大输出,而产地相同的水果,按其水果名称的字典序从小到大输出,并输出其销售额。\n**具体输出格式见输出样例!**\n\n字典序:\n对于字符串 s1 和字符串 s2,字符串 s1 的字典序小于 s2 当且仅当:\ns1 和 s2 的前 i (0 \u0026le; i \u0026le; min(|s1|,|s2|) , |s| 表示字符串 s 的长度)个字符相同 而 s1 的第 i+1 个字符的 在字母表中的顺序小于 s2 的第i+1个字符。\n或者 s1为s2的前缀。"}},{"title":"Input","value":{"format":"MD","content":"第一行为一个正整数 T ,表示有 T 组测试数据。其中 1 \u0026le; T \u0026le; 10 。\n对于每组测试样例,有一个整数 M (0 \u0026lt; M \u0026le;100 ),表示有 M 项水果销售情况数据 。\n之后有M行,每行的格式为:水果名称,产地,销售额,其由空格隔开。\n其中水果名称和产地均为 长度不超过 80 且仅含小写字母的字符串。销售额为正整数,且不超过100。"}},{"title":"Output","value":{"format":"MD","content":"对于第 k 组测试数据,请按题面描述并参照输出样例来输出。且要求,每两组测试数据的答案之间,要有一个空行。\n**最后一组测试数据的答案不要有空行**。"}},{"title":"Sample Input","value":{"format":"MD","content":"\u003cpre\u003e1\n5\napple shandong 3\npineapple guangdong 1\nsugarcane guangdong 1\npineapple guangdong 3\npineapple guangdong 1\u003c/pre\u003e"}},{"title":"Sample Output","value":{"format":"MD","content":"\u003cpre\u003eguangdong\n |----pineapple(5)\n |----sugarcane(1)\nshandong\n |----apple(3)\u003c/pre\u003e"}}]}