import unittest

class RepeatTest(unittest.TestCase):
  def testSimpleRepeat(self):
    self.assertEqual(3, getRepeatLength("3453453453"))
    self.assertEqual(2, getRepeatLength("121212121212121"))
    self.assertEqual(1, getRepeatLength("1111111111111111"))
    self.assertEqual(0, getRepeatLength("112344512343234"))
    self.assertEqual(4, getRepeatLength("0000123412341234"))

def getRepeatLength(s):
  import re
  f_len = 0
  try:
    p = re.compile('0+')
    r = p.sub('', s[-100:])
    if (len(r) == 0): return 0
    while (len(s) != 0):
      for i in xrange(1, len(s)/2+1):
        p = re.compile('(' + s[:i] + ')+')
        r = p.sub('', s)
        if (len(r) == 0 or (i < len(r) and s[:len(r)] == r)):
          #f_len = len(s[:i])
          #return f_len
          return len(s[:i])
      s = s[1:]
    return f_len
  except:
    return 0

#unittest.main()

max = 0
r = 0
for i in range(1, 1001):
  if (i % 10 == 0):
    print "try..", i
  now = getRepeatLength(str(1 * 10**100 / i))
  if (now != 0 and max < now):
    print "  max changed.. ", i, now
    max = now
    r = i
print r, max


