fggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggfffggff