two part product algol