text: import math
  
  envs = [
      'dm.acrobot.swingup',
      'dm.cheetah.run',
      'dm.finger.turn_hard',
      'dm.walker.run',
      'dm.quadruped.run',
      'dm.quadruped.walk',
      'dm.hopper.hop',
  ]
  
  lff_configs = [
      (1024, 0.001),
      (64, 0.003),
      (1024, 0.001),
      (1024, 0.001),
      (1024, 0.001),
      (1024, 0.001),
      (1024, 0.001)
  ]
  
  env_dims = [
      (6, 1),
      (17, 6),
      (12, 2),
      (24, 6),
      (78, 12),
      (78, 12),
      (15, 4),
  ]
  
  # LFF: (obs+action) x fourier_dim / 2 + (fourier_dim + obs+action) x hidden_dim
  # MLP: (obs + action+1) x first dim + first_dim x hidden_dim
  # = first_dim x (hidden_dim + obs + action + 1)
  first_dims = []
  for i in range(len(env_dims)):
      input_dim = env_dims[i][0] + env_dims[i][1]
      fourier_dim = lff_configs[i][0]
      lff_params = input_dim * (fourier_dim // 2) + (fourier_dim + input_dim) * 1024
      first_dims.append(math.ceil(lff_params / (1024 + 1 + input_dim)))
  
  dropout_probs = [0.05, 0.1, 0.15]
  lr = '1e-4'
  count = 0
  for i, env in enumerate(envs):
      commands = []
      max_timesteps = '1000000'
  
      for dropout_p in dropout_probs:
          for seed in [10]:
              commands.append(f"python main.py --policy PytorchSAC --env {env} --start_timesteps 5000 --hidden_dim 1024"
                              f" --batch_size 1024 --n_hidden 3 --first_dim {first_dims[i]} --lr {lr} --seed {seed} --network_class DropoutMLP --dropout_p {dropout_p}")
  
      for command in commands:
          count += 1
          print(f'CUDA_VISIBLE_DEVICES=0 taskset -c a-b {command} --max_timesteps {max_timesteps} &')
          if count % 10 == 0:
              print(count)
  print(count)
  # ablation_envs = []
  