```python
class HashTable:
def __init__(self, size):
self.size = size
self.data = [None] * size
def _hash(self, key):
hash_value = 0
for i in range(len(key)):
hash_value = (hash_value + ord(key[i]) * i) % self.size
return hash_value
def append(self, key, value):
index = self._hash(key)
if self.data[index] is None:
self.data[index] = []
self.data[index].append((key, value))
def get(self, key):
index = self._hash(key)
if self.data[index] is None:
return None
for pair in self.data[index]:
if pair[0] == key:
return pair[1]
return None
def keys(self):
keys_list = []
for i in range(self.size):
if self.data[i] is not None:
for pair in self.data[i]:
keys_list.append(pair[0])
return keys_list
```