input: Write a python function to implement a hash table with insert, search, and get_size methods.
  assert ht.search(10) == "No data found!"
  ht.insert(10, "data1")
  assert ht.search(10) == "data1"
  ht.insert(266, "data2")
  assert ht.search(266) == "data2"
  assert ht.get_size() == 2
output: class HashTable:
      def __init__(self, size=256):
          self.size = size
          self.table = [[] for _ in range(size)]
          self.count = 0
  
      def _hash(self, key):
          return key % self.size
  
      def insert(self, key, value):
          hash_key = self._hash(key)
          bucket = self.table[hash_key]
          for i, kv in enumerate(bucket):
              k, v = kv
              if k == key:
                  bucket[i] = (key, value)
                  return
          bucket.append((key, value))
          self.count += 1
  
      def search(self, key):
          hash_key = self._hash(key)
          bucket = self.table[hash_key]
          for k, v in bucket:
              if k == key:
                  return v
          return "No data found!"
  
      def get_size(self):
          return self.count
  
  ht = HashTable()