input: from typing import List
  
  def shortest_special_subarray_length(nums: List[int], k: int) -> int:
      """
      Given an array nums of non-negative integers and an integer k,
      find the shortest subarray such that the bitwise OR of all elements in the subarray is at least k.
  
      Return the length of the smallest subarray that meets the condition, or -1 if no such subarray exists.
  
      Examples:
      >>> nums = [1,2,3], k = 2
      1
      >>> nums = [2,1,8], k = 10
      3
      >>> nums = [1,2], k = 0
      1
  
      Constraints:
      1 <= len(nums) <= 50
      0 <= nums[i] <= 50
      0 <= k < 64
      """
output:     
      n = len(nums)
      min_length = float('inf')
      
      for i in range(n):
          current_or = 0
          for j in range(i, n):
              current_or |= nums[j]
              if current_or >= k:
                  min_length = min(min_length, j - i + 1)
                  break
      
      return min_length if min_length != float('inf') else -1
  