code: def add_atmost(self, lits, k, no_return=True):
          
  
          if self.solver:
              res = self.solver.add_atmost(lits, k, no_return)
              if not no_return:
                  return res
docs: This method is responsible for adding a new *native* AtMostK (see
              :mod:`pysat.card`) constraint into :class:`Minicard`.
  
              **Note that none of the other solvers supports native AtMostK
              constraints**.
  
              An AtMostK constraint is :math:`\sum_{i=1}^{n}{x_i}\leq k`. A
              native AtMostK constraint should be given as a pair ``lits`` and
              ``k``, where ``lits`` is a list of literals in the sum.
  
              :param lits: a list of literals.
              :param k: upper bound on the number of satisfied literals
              :param no_return: check solver's internal formula and return the
                  result, if set to ``False``.
  
              :type lits: iterable(int)
              :type k: int
              :type no_return: bool
  
              :rtype: bool if ``no_return`` is set to ``False``.
  
              A usage example is the following:
  
              .. code-block:: python
  
                  >>> s = Solver(name='mc', bootstrap_with=[[1], [2], [3]])
                  >>> s.add_atmost(lits=[1, 2, 3], k=2, no_return=False)
                  False
                  >>> # the AtMostK constraint is in conflict with initial unit clauses