fggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggff




