F=
->s,m{s.chars.chunk{|x|x}.reduce(0){|x,(c,g)|l=g.size
x+(c!=m ?0:l<2||l%15<1?1:l%3*l%5<1?-1:0)}}
require 'minitest/autorun'
describe F do
def test_cases
assert_equal 1, F['a', 'a']
assert_equal -1, F['aaa', 'a']
assert_equal -1, F['aaaaa', 'a']
assert_equal 1, F['aaaaaaaaaaaaaaa', 'a']
assert_equal 0, F['aa', 'a']
assert_equal 2, F['aba', 'a']
assert_equal 1, F['aaba', 'a']
assert_equal 0, F['aaaba', 'a']
assert_equal -1, F['aaaaaa', 'a']
end
end
CkY9Ci0+cyxte3MuY2hhcnMuY2h1bmt7fHh8eH0ucmVkdWNlKDApe3x4LChjLGcpfGw9Zy5zaXplCngrKGMhPW0gPzA6bDwyfHxsJTE1PDE/MTpsJTMqbCU1PDE/LTE6MCl9fQoKcmVxdWlyZSAnbWluaXRlc3QvYXV0b3J1bicKCmRlc2NyaWJlIEYgZG8KICBkZWYgdGVzdF9jYXNlcwogICAgYXNzZXJ0X2VxdWFsIDEsIEZbJ2EnLCAnYSddCiAgICBhc3NlcnRfZXF1YWwgLTEsIEZbJ2FhYScsICdhJ10KICAgIGFzc2VydF9lcXVhbCAtMSwgRlsnYWFhYWEnLCAnYSddCiAgICBhc3NlcnRfZXF1YWwgMSwgRlsnYWFhYWFhYWFhYWFhYWFhJywgJ2EnXQogICAgYXNzZXJ0X2VxdWFsIDAsIEZbJ2FhJywgJ2EnXQoKICAgIGFzc2VydF9lcXVhbCAyLCBGWydhYmEnLCAnYSddCiAgICBhc3NlcnRfZXF1YWwgMSwgRlsnYWFiYScsICdhJ10KICAgIGFzc2VydF9lcXVhbCAwLCBGWydhYWFiYScsICdhJ10KICAgIGFzc2VydF9lcXVhbCAtMSwgRlsnYWFhYWFhJywgJ2EnXQogIGVuZAplbmQ=