a encode algorihtm