(def sample (list "1101;+79119989911;122" "+49231114563;1102;347" "1101;+420023334521;134" "1102;+49023334521;811" "ERR01:1234;;;0;0" "1101;+390145211212;93" "1101;+49023334521;756"))
(require '[clojure.string :as str]) ;'
(defn task [data codes]
(let [prefixes (map #(str "+" %) codes)]
(->> data
(map #(str/split % #";"))
(filter (fn [[_ phone _]] (some #(str/starts-with? phone %) prefixes)))
(group-by (fn [[id _ _]] id))
seq
(map (fn [[k v]] [k (reduce (fn [acc [_ _ sec]] (+ acc (Integer/parseInt sec))) 0 v)]))
(reduce (fn [[k1 v1] [k2 v2]] (if (> v1 v2) [k1 v1] [k2 v2])) [0 0])
((fn [[k v]] k))
)))
(println (task sample [49 39]))
KGRlZiBzYW1wbGUgIChsaXN0ICIxMTAxOys3OTExOTk4OTkxMTsxMjIiICIrNDkyMzExMTQ1NjM7MTEwMjszNDciICIxMTAxOys0MjAwMjMzMzQ1MjE7MTM0IiAiMTEwMjsrNDkwMjMzMzQ1MjE7ODExIiAiRVJSMDE6MTIzNDs7OzA7MCIgIjExMDE7KzM5MDE0NTIxMTIxMjs5MyIgIjExMDE7KzQ5MDIzMzM0NTIxOzc1NiIpKQogICAgCihyZXF1aXJlICdbY2xvanVyZS5zdHJpbmcgOmFzIHN0cl0pIDsnCgooZGVmbiB0YXNrIFtkYXRhIGNvZGVzXQogICAgKGxldCBbcHJlZml4ZXMgKG1hcCAjKHN0ciAiKyIgJSkgY29kZXMpXQogICAgICAgICgtPj4gZGF0YQogICAgICAgICAgICAobWFwICMoc3RyL3NwbGl0ICUgIyI7IikpCiAgICAgICAgICAgIChmaWx0ZXIgKGZuIFtbXyBwaG9uZSBfXV0gKHNvbWUgIyhzdHIvc3RhcnRzLXdpdGg/IHBob25lICUpIHByZWZpeGVzKSkpCiAgICAgICAgICAgIChncm91cC1ieSAoZm4gW1tpZCBfIF9dXSBpZCkpCiAgICAgICAgICAgIHNlcQogICAgICAgICAgICAobWFwIChmbiBbW2sgdl1dIFtrIChyZWR1Y2UgKGZuIFthY2MgW18gXyBzZWNdXSAoKyBhY2MgKEludGVnZXIvcGFyc2VJbnQgc2VjKSkpIDAgdildKSkKICAgICAgICAgICAgKHJlZHVjZSAoZm4gW1trMSB2MV0gW2syIHYyXV0gIChpZiAoPiB2MSB2MikgW2sxIHYxXSBbazIgdjJdKSkgWzAgMF0pCiAgICAgICAgICAgICgoZm4gW1trIHZdXSBrKSkKICAgICAgICAgICAgKSkpCgoocHJpbnRsbiAgKHRhc2sgc2FtcGxlIFs0OSAzOV0pKQo=