




def 						lowercase		(     _lowerCAmelCase   ,     _lowerCAmelCase      ):
  UpperCAmelCase__    						=   1.0
  for i in range(1   ,     r + 1      ):
    ret *= (n + 1 - i) / i
  return round(_lowerCAmelCase      )


def 						lowercase		(     _lowerCAmelCase      ):
  return choose(8 + n   ,     _lowerCAmelCase      ) + choose(9 + n   ,     _lowerCAmelCase      ) - 10


def 						lowercase		(     _lowerCAmelCase      ):
  return sum(non_bouncy_exact(_lowerCAmelCase      ) for i in range(1   ,     n + 1      )      )


def 						lowercase		(     _lowerCAmelCase = 100      ):
  return non_bouncy_upto(_lowerCAmelCase      )


if __name__ == "__main__":
   print(F"""{solution() = }""")










import unittest

import numpy as np

from transformers import is_tf_available
from transformers.testing_utils import require_tf


if is_tf_available():
   import tensorflow as tf

   from transformers.activations_tf import get_tf_activation





@require_tf
class     snake_case  (	unittest.TestCase							):


   '''simple docstring'''







   def 	UpperCAmelCase       (					self     :	Tuple			)					->Union[str, Any]:
     '''simple docstring'''







     UpperCAmelCase__    						=   tf.constant([-100, -1.0, -0.1, 0, 0.1, 1.0, 100.0]			)
     UpperCAmelCase__    						=   get_tf_activation("""gelu"""			)
     UpperCAmelCase__    						=   get_tf_activation("""gelu_10"""			)

     UpperCAmelCase__    						=   gelu(lowerCamelCase_			)
     UpperCAmelCase__    						=   geluaa(lowerCamelCase_			)

     UpperCAmelCase__    						=   tf.where(y_gelu_aa < 10.0						,    1.0						,    0.0			)

     self.assertEqual(tf.math.reduce_max(lowerCamelCase_			).numpy().item()						,    10.0			)
     self.assertTrue(np.allclose(y_gelu * clipped_mask						,    y_gelu_aa * clipped_mask			)			)







   def 	UpperCAmelCase       (					self     :	List[Any]			)					->Any:
     '''simple docstring'''







     get_tf_activation("""gelu"""			)
     get_tf_activation("""gelu_10"""			)
     get_tf_activation("""gelu_fast"""			)
     get_tf_activation("""gelu_new"""			)
     get_tf_activation("""glu"""			)
     get_tf_activation("""mish"""			)
     get_tf_activation("""quick_gelu"""			)
     get_tf_activation("""relu"""			)
     get_tf_activation("""sigmoid"""			)
     get_tf_activation("""silu"""			)
     get_tf_activation("""swish"""			)
     get_tf_activation("""tanh"""			)
     with self.assertRaises(lowerCamelCase_			):
       get_tf_activation("""bogus"""			)
     with self.assertRaises(lowerCamelCase_			):
       get_tf_activation(lowerCamelCase_			)




