Design and implement a multi-shard data management system with shard balancing logic. The coding component involves implementing shard balancing using provided add_shard and remove_shard API functions (shards stored in a list), ensuring balanced redistribution when shards are added or removed. The system design component involves designing infrastructure to handle 100k…