```python
from typing import List

def menu_pick(dishes: List[tuple[str, int]], budget: int) -> List[str]:
    if not dishes or budget < 0:
        return []
    
    # Filter dishes by price and sort by name
    filtered_dishes = sorted([dish for dish in dishes if dish[1] <= budget], key=lambda x: (x[1], x[0]))
    
    return [dish[0] for dish in filtered_dishes]
```