(1) **for** **do** |

(2) **if** () **then** |

(3) Invoke Algorithm 1 with and to construct |

a round of an PS sequence. |

(4) generate by repeating for times. |

(5) Map the column of the matrix with . |

(6) . |

(7) **else** |

(8) Invoke Algorithm 2 with and to construct |

a round of an ES sequence. |

(9) generate by repeating for times. |

(10) Map the column of the matrix with . |

(11) . |

(12) **end if** |

(13) **end for** |