```python
def gen_plan(initial:BridgeState, x_offset: float, y_offset: float):
    
    import numpy as np

    actions = []
    block_names = ["block_red", "block_green", "block_blue"]
    for i, f in enumerate(block_names):
        
        angle = i/len(block_names) * np.pi*2

        pos_x = np.cos(angle) * .06 + x_offset
        pos_y = -np.sin(angle) * .06 + y_offset

        actions.append(Action("pick", [f, None]))
        actions.append(Action("place_sr", [pos_x, pos_y, None, True, angle + np.pi*.5]))

    return actions

def gen_initial_guess(initial: BridgeState):
    return {
        "x_offset": .4, # BBO initial value
        "y_offset": .0,
    }
```
