# Given a binary string S (a string consisting only of '0' and '1's) and a positive integer N, return true if and
# only if for every integer X from 1 to N, the binary representation of X is a substring of S.
#
#
#
# Example 1:
#
# Input: S = "0110", N = 3
# Output: true
# Example 2:
#
# Input: S = "0110", N = 4
# Output: false
#
#
# Note:
#
# 1 <= S.length <= 1000
# 1 <= N <= 10^9


class Solution(object):
    def queryString(self, S, N):
        """
        :type S: str
        :type N: int
        :rtype: bool
        """
        s = 2
        while s <= N:
            if S.find('{0:b}'.format(s)) == -1:
                return False
            s += 1

        return True



if __name__ == '__main__':
    print Solution().queryString("10010111100001110010", 10)
    print Solution().queryString("0110", 4)
    print Solution().queryString("1111000101", 5)
    print Solution().queryString("0110", 3)
