WRONG ANSWER IN CHEFB in python

can anybody tell me where did my answer went wrong for subtask 2 in chef and easy problem 2 ?

Here’s Code:

from sys import stdin
a=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149
,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,
307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,
463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,
643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,
827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997]

def prime(mm):

   for iii in a:    
          if mm%iii==0:return False
   return True

t=int(stdin.readline())

for i in range(t):

   n=int(stdin.readline())
   l1=map(int,stdin.readline().split())
   c=0
   if n<=10:
          while 1 in l1: l1.remove(1)
          for d in a:
                 coi=0
                 for e in range(len(l1)):
                        m=0
                        if prime(l1[e]) and l1[e]<>1:
                               l1[e]=1
                               c+=1
                        else:
                               while l1[e]%d==0:
                                      l1[e]=l1[e]/d
                                      m+=1
                        if m>coi:
                               coi=m
                 c+=coi
          print c
   else:
          c2=l1.count(2)
          c3=l1.count(3)
          if c2<>0:c+=1
          if c3<>0:c+=1
          print c

For this case :

1

4

2 9839 9839 9839

Your output : 4
But correct answer : 2
Explanation: Just divide { a[1] } with 2 and then { a[2],a[3],a[4] } with 9839.So final answer is 1+1=2.

THANKS :slight_smile:
you helped in correcting my code.