Brazilian police have rescued a man who neighbours said had been held in captivity by his own family for more than 20 years.
The 36-year-old was found by chance during an unrelated drug raid in a poor area of the city of Guarulhos.
Police said the man, Armando Bezerra de Andrade, was malnourished and had signs of mental health problems.
Neighbours said he was an outgoing student who was regularly beaten by his stepmother before he suddenly disappeared when he was 16.
He was taken to a local hospital in the south-eastern city and police said he was unable to talk.
Pictures of the room where the man was found showed only a bed and a dirty toilet, and there were reports that the walls had chains.
There was no-one else in the house when the police stormed it. Neighbours said the man's father, stepmother and her son used to live there.
Mr Andrade's father later went to a police station and told officers that the victim had fled the house when he was a teenager.
He returned last week, the father claimed, asking to be kept by the family in the room because he was a drug user.
Tests will now determine if there was any recent use of drugs or medicine.
Police said the father, who was not arrested, was being charged with false imprisonment.
The investigation continues.