S = gets.chomp
T = gets.chomp

ss = S * (T.size / S.size.to_f).ceil

Ta = Array.new(T.size, 0)
Ta[0] = -1
i = 1
while i < T.size do
  if T[0] == T[i] then
    i, j = [i + 1, 1]
    while T[j] == T[i] && i < T.size do
      Ta[i] = j
      i, j = [i + 1, j + 1]
    end
    Ta[i] = j if i < T.size
  end
  i += 1
end

i, j, lst, sl, tl = [0, 0, [], ss.size, T.size]
while i < (3 * sl) do
  if ss[i % sl] == T[j] then
    if j == tl - 1 then
      lst << [i - j, i]
      j = Ta[j]
      i -= 1
    else
      j += 1
    end
  else
    if Ta[j] >= 0 then
      j = Ta[j]
      i -= 1
    end
  end
  i += 1
  break if 3 * sl - i - (tl - j) < 0
end

idx = 0
while idx < lst.size do
  f, t = lst[idx]
  a = lst.select{|ff, tt| ff == t + 1}
  if not a.empty? then
    lst[idx][1] = a[0][1]
    lst.delete_if{|ff, tt| f < ff && ff < a[0][1]}
    idx -= 1
  end
  idx += 1
end

ans = 0
if lst.empty? then
  ans = 0
elsif lst.size == 1 then
  ans = -1
else
  lst.each{|f, t|
    tmp = (t - f + 1) / tl
    ans = tmp if ans < tmp
  }
end

puts ans
