- /* package whatever; // don't place package name! */ 
-   
- import java.io.BufferedReader; 
- import java.io.InputStreamReader; 
- import java.util.ArrayList; 
- import java.util.HashMap; 
- import java.util.Map; 
-   
- /* Одинаковые слова в списке 
- Ввести с клавиатуры в список 20 слов. Нужно подсчитать количество одинаковых слов в списке. 
- Результат нужно представить в виде словаря Map<String, Integer>, где первый параметр – уникальная строка, 
- а второй – число, сколько раз данная строка встречалась в списке. 
- Вывести содержимое словаря на экран. 
- В тестах регистр (большая/маленькая буква) влияет на результат. 
- */ 
-   
- class Solution 
- { 
-     { 
-   
-         ArrayList<String> words = new ArrayList<String>(); 
-         for (int i = 0; i < 20; i++) 
-         { 
-             words.add(reader.readLine()); 
-         } 
-   
-         Map <String- , Integer >-  map  =-  countWords (- words );
-   
-         for (Map- . Entry<String- , Integer >-  pair  :-  map. entrySet())
 
-         { 
-             System- . out- . println(- pair. getKey() + " " +-  pair. getValue());
 
-         } 
-     } 
-   
-     public static-  Map <String- , Integer >-  countWords (- ArrayList <- String >-  list )
 
-     { 
-         HashMap <String- , Integer >-  result  = new-  HashMap <String- , Integer >();
-   
-         for (int z = 0; z<list.size();z++ ){ 
-             int kol = 1; 
-             if (list.size()>1) 
-             { 
-                 for (int b = z + 1; b < list.size(); ) 
-                 { 
-                     if (temp2.equals(temp)) 
-                     { 
-                         kol++; 
-                     }  
-                     else b++; 
-                 } 
-             } 
-             result.put(temp, kol); 
-         } 
-         return result; 
-     } 
- } 
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7CmltcG9ydCBqYXZhLmlvLklucHV0U3RyZWFtUmVhZGVyOwppbXBvcnQgamF2YS51dGlsLkFycmF5TGlzdDsKaW1wb3J0IGphdmEudXRpbC5IYXNoTWFwOwppbXBvcnQgamF2YS51dGlsLk1hcDsKCi8qINCe0LTQuNC90LDQutC+0LLRi9C1INGB0LvQvtCy0LAg0LIg0YHQv9C40YHQutC1CtCS0LLQtdGB0YLQuCDRgSDQutC70LDQstC40LDRgtGD0YDRiyDQsiDRgdC/0LjRgdC+0LogMjAg0YHQu9C+0LIuINCd0YPQttC90L4g0L/QvtC00YHRh9C40YLQsNGC0Ywg0LrQvtC70LjRh9C10YHRgtCy0L4g0L7QtNC40L3QsNC60L7QstGL0YUg0YHQu9C+0LIg0LIg0YHQv9C40YHQutC1LgrQoNC10LfRg9C70YzRgtCw0YIg0L3Rg9C20L3QviDQv9GA0LXQtNGB0YLQsNCy0LjRgtGMINCyINCy0LjQtNC1INGB0LvQvtCy0LDRgNGPIE1hcDxTdHJpbmcsIEludGVnZXI+LCDQs9C00LUg0L/QtdGA0LLRi9C5INC/0LDRgNCw0LzQtdGC0YAg4oCTINGD0L3QuNC60LDQu9GM0L3QsNGPINGB0YLRgNC+0LrQsCwK0LAg0LLRgtC+0YDQvtC5IOKAkyDRh9C40YHQu9C+LCDRgdC60L7Qu9GM0LrQviDRgNCw0Lcg0LTQsNC90L3QsNGPINGB0YLRgNC+0LrQsCDQstGB0YLRgNC10YfQsNC70LDRgdGMINCyINGB0L/QuNGB0LrQtS4K0JLRi9Cy0LXRgdGC0Lgg0YHQvtC00LXRgNC20LjQvNC+0LUg0YHQu9C+0LLQsNGA0Y8g0L3QsCDRjdC60YDQsNC9LgrQkiDRgtC10YHRgtCw0YUg0YDQtdCz0LjRgdGC0YAgKNCx0L7Qu9GM0YjQsNGPL9C80LDQu9C10L3RjNC60LDRjyDQsdGD0LrQstCwKSDQstC70LjRj9C10YIg0L3QsCDRgNC10LfRg9C70YzRgtCw0YIuCiovCgpjbGFzcyBTb2x1dGlvbgp7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgRXhjZXB0aW9uCiAgICB7CiAgICAgICAgQnVmZmVyZWRSZWFkZXIgcmVhZGVyID0gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKTsKCiAgICAgICAgQXJyYXlMaXN0PFN0cmluZz4gd29yZHMgPSBuZXcgQXJyYXlMaXN0PFN0cmluZz4oKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDIwOyBpKyspCiAgICAgICAgewogICAgICAgICAgICB3b3Jkcy5hZGQocmVhZGVyLnJlYWRMaW5lKCkpOwogICAgICAgIH0KCiAgICAgICAgTWFwPFN0cmluZywgSW50ZWdlcj4gbWFwID0gY291bnRXb3Jkcyh3b3Jkcyk7CgogICAgICAgIGZvciAoTWFwLkVudHJ5PFN0cmluZywgSW50ZWdlcj4gcGFpciA6IG1hcC5lbnRyeVNldCgpKQogICAgICAgIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHBhaXIuZ2V0S2V5KCkgKyAiICIgKyBwYWlyLmdldFZhbHVlKCkpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIE1hcDxTdHJpbmcsIEludGVnZXI+IGNvdW50V29yZHMoQXJyYXlMaXN0PFN0cmluZz4gbGlzdCkKICAgIHsKICAgICAgICBIYXNoTWFwPFN0cmluZywgSW50ZWdlcj4gcmVzdWx0ID0gbmV3IEhhc2hNYXA8U3RyaW5nLCBJbnRlZ2VyPigpOwoKICAgICAgICBmb3IgKGludCB6ID0gMDsgejxsaXN0LnNpemUoKTt6KysgKXsKICAgICAgICAgICAgU3RyaW5nIHRlbXAgPSBsaXN0LmdldCh6KTsKICAgICAgICAgICAgaW50IGtvbCA9IDE7CiAgICAgICAgICAgIGlmIChsaXN0LnNpemUoKT4xKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmb3IgKGludCBiID0geiArIDE7IGIgPCBsaXN0LnNpemUoKTsgKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0cmluZyB0ZW1wMiA9IGxpc3QuZ2V0KGIpOwogICAgICAgICAgICAgICAgICAgIGlmICh0ZW1wMi5lcXVhbHModGVtcCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBrb2wrKzsKICAgICAgICAgICAgICAgICAgICB9IAogICAgICAgICAgICAgICAgICAgIGVsc2UgYisrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJlc3VsdC5wdXQodGVtcCwga29sKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgIH0KfQ==
				
				
				
				
				
			 
			
				
			
			
				
0YHQu9C+0LLQvi0xCtGB0LvQvtCy0L4tMQrRgdC70L7QstC+LTMK0YHQu9C+0LLQvi00CtGB0LvQvtCy0L4tNQrRgdC70L7QstC+LTYK0YHQu9C+0LLQvi03CtGB0LvQvtCy0L4tOArRgdC70L7QstC+LTkK0YHQu9C+0LLQvi0xMArRgdC70L7QstC+LTExCtGB0LvQvtCy0L4tMTIK0YHQu9C+0LLQvi0xMwrRgdC70L7QstC+LTE0CtGB0LvQvtCy0L4tMTUK0YHQu9C+0LLQvi0xNgrRgdC70L7QstC+LTE3CtGB0LvQvtCy0L4tMTgK0YHQu9C+0LLQvi0xOQrRgdC70L7QstC+LTIwCtGB0LvQvtCy0L4tMjEK
слово-1
слово-1
слово-3
слово-4
слово-5
слово-6
слово-7
слово-8
слово-9
слово-10
слово-11
слово-12
слово-13
слово-14
слово-15
слово-16
слово-17
слово-18
слово-19
слово-20
слово-21