A Tau number is a positive integer divisible by the count of its positive divisors.



Task
Show the first   100   Tau numbers.
The numbers shall be generated during run-time (i.e. the code may not contain string literals, sets/arrays of integers, or alike).



Related task
  Tau function


CARD FUNC DivisorCount(CARD n)
  CARD result,p,count
 
  result=1
  WHILE (n&1)=0
  DO
    result==+1
    n=n RSH 1
  OD
 
  p=3
  WHILE p*p<=n
  DO
    count=1
    WHILE n MOD p=0
    DO
      count==+1
      n==/p
    OD
    result==*count
    p==+2
  OD
 
  IF n>1 THEN
    result==*2
  FI
RETURN (result)
 
PROC Main()
  CARD n=[1],max=[100],count=[0],divCount
 
  WHILE count<max
  DO
    divCount=DivisorCount(n)
    IF n MOD divCount=0 THEN
      PrintC(n) Put(32)
      count==+1
    FI
    n==+1
  OD
RETURN