Text this: CO, CO2, and SO2 detection based on functionalized graphene nanoribbons: First principles study