# Subset-Product solver
# with minor improvements
import itertools
import numpy
s = list(map(int, input('Enter numbers WITH SPACES: ').split(' ')))
print('enter target integer: ')
target = int(input())
# This chunk of code is meant to experiment with no instances
# in poly time.
for i in s:
if i < 0:
print('must only be positive integers')
quit()
check = [];
if numpy.prod(s) % target == 0:
check.append(target)
if len(check) < 1:
print(target, 'is a FALSE subset product')
quit()
if s.count(str(target)+str(' ')) > 0:
print('yes')
else:
print('no')
quit()
def findsubsets(s, n):
return list(itertools.combinations(s, n))
# Driver Code
n = len(s)
# This code snippet is a for loop. It also is intended to cut down execution
# time ounce it finds the target integer. (instead of creating all combinations)
res_2 = [];
for i in range(1, len(s)+1):
if i > 1:
var = (findsubsets(s, i))
kk = list(map(numpy.prod, var))
res_2.append(kk)
if str(res_2).count(str(target)+str(',')) > 0:
print('yes')
quit()
if str(res_2).count(str(target)) > 0:
print('yes')